• 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()48     PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
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()100     PhoneAccountHandle getSimCallManager();
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      */
getCallState()185     int getCallState();
186 
187     /**
188      * @see TelecomServiceImpl#endCall
189      */
endCall()190     boolean endCall();
191 
192     /**
193      * @see TelecomServiceImpl#acceptRingingCall
194      */
acceptRingingCall(String callingPackage)195     void acceptRingingCall(String callingPackage);
196 
197     /**
198      * @see TelecomServiceImpl#acceptRingingCallWithVideoState(int)
199      */
acceptRingingCallWithVideoState(String callingPackage, int videoState)200     void acceptRingingCallWithVideoState(String callingPackage, int videoState);
201 
202     /**
203      * @see TelecomServiceImpl#cancelMissedCallsNotification
204      */
cancelMissedCallsNotification(String callingPackage)205     void cancelMissedCallsNotification(String callingPackage);
206 
207     /**
208      * @see TelecomServiceImpl#handleMmi
209      */
handlePinMmi(String dialString, String callingPackage)210     boolean handlePinMmi(String dialString, String callingPackage);
211 
212     /**
213      * @see TelecomServiceImpl#handleMmi
214      */
handlePinMmiForPhoneAccount(in PhoneAccountHandle accountHandle, String dialString, String callingPackage)215     boolean handlePinMmiForPhoneAccount(in PhoneAccountHandle accountHandle, String dialString,
216             String callingPackage);
217 
218     /**
219      * @see TelecomServiceImpl#getAdnUriForPhoneAccount
220      */
getAdnUriForPhoneAccount(in PhoneAccountHandle accountHandle, String callingPackage)221     Uri getAdnUriForPhoneAccount(in PhoneAccountHandle accountHandle, String callingPackage);
222 
223     /**
224      * @see TelecomServiceImpl#isTtySupported
225      */
isTtySupported(String callingPackage)226     boolean isTtySupported(String callingPackage);
227 
228     /**
229      * @see TelecomServiceImpl#getCurrentTtyMode
230      */
getCurrentTtyMode(String callingPackage)231     int getCurrentTtyMode(String callingPackage);
232 
233     /**
234      * @see TelecomServiceImpl#addNewIncomingCall
235      */
addNewIncomingCall(in PhoneAccountHandle phoneAccount, in Bundle extras)236     void addNewIncomingCall(in PhoneAccountHandle phoneAccount, in Bundle extras);
237 
238     /**
239      * @see TelecomServiceImpl#addNewUnknownCall
240      */
addNewUnknownCall(in PhoneAccountHandle phoneAccount, in Bundle extras)241     void addNewUnknownCall(in PhoneAccountHandle phoneAccount, in Bundle extras);
242 
243     /**
244      * @see TelecomServiceImpl#placeCall
245      */
placeCall(in Uri handle, in Bundle extras, String callingPackage)246     void placeCall(in Uri handle, in Bundle extras, String callingPackage);
247 
248     /**
249      * @see TelecomServiceImpl#enablePhoneAccount
250      */
enablePhoneAccount(in PhoneAccountHandle accountHandle, boolean isEnabled)251     boolean enablePhoneAccount(in PhoneAccountHandle accountHandle, boolean isEnabled);
252 
253     /**
254      * @see TelecomServiceImpl#setDefaultDialer
255      */
setDefaultDialer(in String packageName)256     boolean setDefaultDialer(in String packageName);
257 
258     /**
259     * @see TelecomServiceImpl#createManageBlockedNumbersIntent
260     **/
createManageBlockedNumbersIntent()261     Intent createManageBlockedNumbersIntent();
262 
263     /**
264      * @see TelecomServiceImpl#isIncomingCallPermitted
265      */
isIncomingCallPermitted(in PhoneAccountHandle phoneAccountHandle)266     boolean isIncomingCallPermitted(in PhoneAccountHandle phoneAccountHandle);
267 
268     /**
269      * @see TelecomServiceImpl#isOutgoingCallPermitted
270      */
isOutgoingCallPermitted(in PhoneAccountHandle phoneAccountHandle)271     boolean isOutgoingCallPermitted(in PhoneAccountHandle phoneAccountHandle);
272 
273     /**
274      * @see TelecomServiceImpl#waitOnHandler
275      */
waitOnHandlers()276     void waitOnHandlers();
277 }
278