• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2014 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.internal.telecom;
18 
19 import android.content.ComponentName;
20 import android.content.Intent;
21 import android.telecom.TelecomAnalytics;
22 import android.telecom.PhoneAccountHandle;
23 import android.net.Uri;
24 import android.os.Bundle;
25 import android.telecom.PhoneAccount;
26 
27 /**
28  * Interface used to interact with Telecom. Mostly this is used by TelephonyManager for passing
29  * commands that were previously handled by ITelephony.
30  * {@hide}
31  */
32 interface ITelecomService {
33     /**
34      * Brings the in-call screen to the foreground if there is an active call.
35      *
36      * @param showDialpad if true, make the dialpad visible initially.
37      */
showInCallScreen(boolean showDialpad, String callingPackage)38     void showInCallScreen(boolean showDialpad, String callingPackage);
39 
40     /**
41      * @see TelecomServiceImpl#getDefaultOutgoingPhoneAccount
42      */
getDefaultOutgoingPhoneAccount(in String uriScheme, String callingPackage)43     PhoneAccountHandle getDefaultOutgoingPhoneAccount(in String uriScheme, String callingPackage);
44 
45     /**
46      * @see TelecomServiceImpl#getUserSelectedOutgoingPhoneAccount
47      */
getUserSelectedOutgoingPhoneAccount(String callingPackage)48     PhoneAccountHandle getUserSelectedOutgoingPhoneAccount(String callingPackage);
49 
50     /**
51      * @see TelecomServiceImpl#setUserSelectedOutgoingPhoneAccount
52      */
setUserSelectedOutgoingPhoneAccount(in PhoneAccountHandle account)53     void setUserSelectedOutgoingPhoneAccount(in PhoneAccountHandle account);
54 
55     /**
56      * @see TelecomServiceImpl#getCallCapablePhoneAccounts
57      */
getCallCapablePhoneAccounts( boolean includeDisabledAccounts, String callingPackage)58     List<PhoneAccountHandle> getCallCapablePhoneAccounts(
59             boolean includeDisabledAccounts, String callingPackage);
60 
61     /**
62      * @see TelecomServiceImpl#getSelfManagedPhoneAccounts
63      */
getSelfManagedPhoneAccounts(String callingPackage)64     List<PhoneAccountHandle> getSelfManagedPhoneAccounts(String callingPackage);
65 
66     /**
67      * @see TelecomManager#getPhoneAccountsSupportingScheme
68      */
getPhoneAccountsSupportingScheme(in String uriScheme, String callingPackage)69     List<PhoneAccountHandle> getPhoneAccountsSupportingScheme(in String uriScheme,
70             String callingPackage);
71 
72     /**
73      * @see TelecomManager#getPhoneAccountsForPackage
74      */
getPhoneAccountsForPackage(in String packageName)75     List<PhoneAccountHandle> getPhoneAccountsForPackage(in String packageName);
76 
77     /**
78      * @see TelecomManager#getPhoneAccount
79      */
getPhoneAccount(in PhoneAccountHandle account)80     PhoneAccount getPhoneAccount(in PhoneAccountHandle account);
81 
82     /**
83      * @see TelecomManager#getAllPhoneAccountsCount
84      */
getAllPhoneAccountsCount()85     int getAllPhoneAccountsCount();
86 
87     /**
88      * @see TelecomManager#getAllPhoneAccounts
89      */
getAllPhoneAccounts()90     List<PhoneAccount> getAllPhoneAccounts();
91 
92     /**
93      * @see TelecomManager#getAllPhoneAccountHandles
94      */
getAllPhoneAccountHandles()95     List<PhoneAccountHandle> getAllPhoneAccountHandles();
96 
97     /**
98      * @see TelecomServiceImpl#getSimCallManager
99      */
getSimCallManager(int subId)100     PhoneAccountHandle getSimCallManager(int subId);
101 
102     /**
103      * @see TelecomServiceImpl#getSimCallManagerForUser
104      */
getSimCallManagerForUser(int userId)105     PhoneAccountHandle getSimCallManagerForUser(int userId);
106 
107     /**
108      * @see TelecomServiceImpl#registerPhoneAccount
109      */
registerPhoneAccount(in PhoneAccount metadata)110     void registerPhoneAccount(in PhoneAccount metadata);
111 
112     /**
113      * @see TelecomServiceImpl#unregisterPhoneAccount
114      */
unregisterPhoneAccount(in PhoneAccountHandle account)115     void unregisterPhoneAccount(in PhoneAccountHandle account);
116 
117     /**
118      * @see TelecomServiceImpl#clearAccounts
119      */
clearAccounts(String packageName)120     void clearAccounts(String packageName);
121 
122     /**
123      * @see TelecomServiceImpl#isVoiceMailNumber
124      */
isVoiceMailNumber(in PhoneAccountHandle accountHandle, String number, String callingPackage)125     boolean isVoiceMailNumber(in PhoneAccountHandle accountHandle, String number,
126             String callingPackage);
127 
128     /**
129      * @see TelecomServiceImpl#getVoiceMailNumber
130      */
getVoiceMailNumber(in PhoneAccountHandle accountHandle, String callingPackage)131     String getVoiceMailNumber(in PhoneAccountHandle accountHandle, String callingPackage);
132 
133     /**
134      * @see TelecomServiceImpl#getLine1Number
135      */
getLine1Number(in PhoneAccountHandle accountHandle, String callingPackage)136     String getLine1Number(in PhoneAccountHandle accountHandle, String callingPackage);
137 
138     /**
139      * @see TelecomServiceImpl#getDefaultPhoneApp
140      */
getDefaultPhoneApp()141     ComponentName getDefaultPhoneApp();
142 
143     /**
144      * @see TelecomServiceImpl#getDefaultDialerPackage
145      */
getDefaultDialerPackage()146     String getDefaultDialerPackage();
147 
148     /**
149      * @see TelecomServiceImpl#getSystemDialerPackage
150      */
getSystemDialerPackage()151     String getSystemDialerPackage();
152 
153     /**
154     * @see TelecomServiceImpl#dumpCallAnalytics
155     */
dumpCallAnalytics()156     TelecomAnalytics dumpCallAnalytics();
157 
158     //
159     // Internal system apis relating to call management.
160     //
161 
162     /**
163      * @see TelecomServiceImpl#silenceRinger
164      */
silenceRinger(String callingPackage)165     void silenceRinger(String callingPackage);
166 
167     /**
168      * @see TelecomServiceImpl#isInCall
169      */
isInCall(String callingPackage)170     boolean isInCall(String callingPackage);
171 
172     /**
173      * @see TelecomServiceImpl#isInManagedCall
174      */
isInManagedCall(String callingPackage)175     boolean isInManagedCall(String callingPackage);
176 
177     /**
178      * @see TelecomServiceImpl#isRinging
179      */
isRinging(String callingPackage)180     boolean isRinging(String callingPackage);
181 
182     /**
183      * @see TelecomServiceImpl#getCallState
184      */
185     @UnsupportedAppUsage
getCallState()186     int getCallState();
187 
188     /**
189      * @see TelecomServiceImpl#endCall
190      */
endCall(String callingPackage)191     boolean endCall(String callingPackage);
192 
193     /**
194      * @see TelecomServiceImpl#acceptRingingCall
195      */
acceptRingingCall(String callingPackage)196     void acceptRingingCall(String callingPackage);
197 
198     /**
199      * @see TelecomServiceImpl#acceptRingingCallWithVideoState(int)
200      */
acceptRingingCallWithVideoState(String callingPackage, int videoState)201     void acceptRingingCallWithVideoState(String callingPackage, int videoState);
202 
203     /**
204      * @see TelecomServiceImpl#cancelMissedCallsNotification
205      */
cancelMissedCallsNotification(String callingPackage)206     void cancelMissedCallsNotification(String callingPackage);
207 
208     /**
209      * @see TelecomServiceImpl#handleMmi
210      */
handlePinMmi(String dialString, String callingPackage)211     boolean handlePinMmi(String dialString, String callingPackage);
212 
213     /**
214      * @see TelecomServiceImpl#handleMmi
215      */
handlePinMmiForPhoneAccount(in PhoneAccountHandle accountHandle, String dialString, String callingPackage)216     boolean handlePinMmiForPhoneAccount(in PhoneAccountHandle accountHandle, String dialString,
217             String callingPackage);
218 
219     /**
220      * @see TelecomServiceImpl#getAdnUriForPhoneAccount
221      */
getAdnUriForPhoneAccount(in PhoneAccountHandle accountHandle, String callingPackage)222     Uri getAdnUriForPhoneAccount(in PhoneAccountHandle accountHandle, String callingPackage);
223 
224     /**
225      * @see TelecomServiceImpl#isTtySupported
226      */
isTtySupported(String callingPackage)227     boolean isTtySupported(String callingPackage);
228 
229     /**
230      * @see TelecomServiceImpl#getCurrentTtyMode
231      */
getCurrentTtyMode(String callingPackage)232     int getCurrentTtyMode(String callingPackage);
233 
234     /**
235      * @see TelecomServiceImpl#addNewIncomingCall
236      */
addNewIncomingCall(in PhoneAccountHandle phoneAccount, in Bundle extras)237     void addNewIncomingCall(in PhoneAccountHandle phoneAccount, in Bundle extras);
238 
239     /**
240      * @see TelecomServiceImpl#addNewUnknownCall
241      */
addNewUnknownCall(in PhoneAccountHandle phoneAccount, in Bundle extras)242     void addNewUnknownCall(in PhoneAccountHandle phoneAccount, in Bundle extras);
243 
244     /**
245      * @see TelecomServiceImpl#placeCall
246      */
placeCall(in Uri handle, in Bundle extras, String callingPackage)247     void placeCall(in Uri handle, in Bundle extras, String callingPackage);
248 
249     /**
250      * @see TelecomServiceImpl#enablePhoneAccount
251      */
enablePhoneAccount(in PhoneAccountHandle accountHandle, boolean isEnabled)252     boolean enablePhoneAccount(in PhoneAccountHandle accountHandle, boolean isEnabled);
253 
254     /**
255      * @see TelecomServiceImpl#setDefaultDialer
256      */
setDefaultDialer(in String packageName)257     boolean setDefaultDialer(in String packageName);
258 
259     /**
260     * @see TelecomServiceImpl#createManageBlockedNumbersIntent
261     **/
createManageBlockedNumbersIntent()262     Intent createManageBlockedNumbersIntent();
263 
264     /**
265      * @see TelecomServiceImpl#isIncomingCallPermitted
266      */
isIncomingCallPermitted(in PhoneAccountHandle phoneAccountHandle)267     boolean isIncomingCallPermitted(in PhoneAccountHandle phoneAccountHandle);
268 
269     /**
270      * @see TelecomServiceImpl#isOutgoingCallPermitted
271      */
isOutgoingCallPermitted(in PhoneAccountHandle phoneAccountHandle)272     boolean isOutgoingCallPermitted(in PhoneAccountHandle phoneAccountHandle);
273 
274     /**
275      * @see TelecomServiceImpl#waitOnHandler
276      */
waitOnHandlers()277     void waitOnHandlers();
278 
279     /**
280      * @see TelecomServiceImpl#acceptHandover
281      */
acceptHandover(in Uri srcAddr, int videoState, in PhoneAccountHandle destAcct)282     void acceptHandover(in Uri srcAddr, int videoState, in PhoneAccountHandle destAcct);
283 
284     /**
285      * @see TelecomServiceImpl#isInEmergencyCall
286      */
isInEmergencyCall()287     boolean isInEmergencyCall();
288 
289     /**
290      * @see TelecomServiceImpl#handleCallIntent
291      */
handleCallIntent(in Intent intent)292     void handleCallIntent(in Intent intent);
293 
setTestDefaultCallRedirectionApp(String packageName)294     void setTestDefaultCallRedirectionApp(String packageName);
295 
setTestPhoneAcctSuggestionComponent(String flattenedComponentName)296     void setTestPhoneAcctSuggestionComponent(String flattenedComponentName);
297 
setTestDefaultCallScreeningApp(String packageName)298     void setTestDefaultCallScreeningApp(String packageName);
299 
addOrRemoveTestCallCompanionApp(String packageName, boolean isAdded)300     void addOrRemoveTestCallCompanionApp(String packageName, boolean isAdded);
301 
setTestAutoModeApp(String packageName)302     void setTestAutoModeApp(String packageName);
303 
304     /**
305      * @see TelecomServiceImpl#setTestDefaultDialer
306      */
setTestDefaultDialer(in String packageName)307     void setTestDefaultDialer(in String packageName);
308 
309 }
310