ITelecomService.aidl revision 5cf27847b011b115afa4a2e05f8c9aaa6c77ad01
13afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon/*
23afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * Copyright (C) 2014 The Android Open Source Project
33afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon *
43afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * Licensed under the Apache License, Version 2.0 (the "License");
53afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * you may not use this file except in compliance with the License.
63afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * You may obtain a copy of the License at
73afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon *
83afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon *      http://www.apache.org/licenses/LICENSE-2.0
93afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon *
103afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * Unless required by applicable law or agreed to in writing, software
113afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * distributed under the License is distributed on an "AS IS" BASIS,
123afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * See the License for the specific language governing permissions and
143afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * limitations under the License.
153afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon */
163afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon
17ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnpackage com.android.internal.telecom;
183afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon
196c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordonimport android.content.ComponentName;
20ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.PhoneAccountHandle;
21b2299c13037d0f7fc5276ff2b21c53cb20c054c5Nancy Chenimport android.net.Uri;
2296efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordonimport android.os.Bundle;
23ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunnimport android.telecom.PhoneAccount;
242e024708b1447b2e7e139ee523673a4c3d589493Yorke Lee
253afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon/**
26ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn * Interface used to interact with Telecom. Mostly this is used by TelephonyManager for passing
273afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * commands that were previously handled by ITelephony.
283afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * {@hide}
293afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon */
30ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunninterface ITelecomService {
313534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon    /**
323534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon     * Brings the in-call screen to the foreground if there is an active call.
333534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon     *
343534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon     * @param showDialpad if true, make the dialpad visible initially.
353534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon     */
360eb1e402c7e612887e38dc5516f11506b11fd835Nancy Chen    void showInCallScreen(boolean showDialpad);
372e024708b1447b2e7e139ee523673a4c3d589493Yorke Lee
382e024708b1447b2e7e139ee523673a4c3d589493Yorke Lee    /**
39ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#getDefaultOutgoingPhoneAccount
4094cf4bff1345f9f7ec981d0bf7f8988f3d93c7a8Ihab Awad     */
41f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn    PhoneAccountHandle getDefaultOutgoingPhoneAccount(in String uriScheme);
4294cf4bff1345f9f7ec981d0bf7f8988f3d93c7a8Ihab Awad
4394cf4bff1345f9f7ec981d0bf7f8988f3d93c7a8Ihab Awad    /**
44ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#getUserSelectedOutgoingPhoneAccount
4559cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     */
46d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee    PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
47d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee
48d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee    /**
49ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#setUserSelectedOutgoingPhoneAccount
50d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee     */
51d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee    void setUserSelectedOutgoingPhoneAccount(in PhoneAccountHandle account);
5259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee
5359cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    /**
54210ef039fbceced2485b89ae30e6d7da62f204f4Nancy Chen     * @see TelecomServiceImpl#getCallCapablePhoneAccounts
55c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad     */
56210ef039fbceced2485b89ae30e6d7da62f204f4Nancy Chen    List<PhoneAccountHandle> getCallCapablePhoneAccounts();
57c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad
58c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad    /**
59ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomManager#getPhoneAccountsSupportingScheme
60f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn     */
61f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn    List<PhoneAccountHandle> getPhoneAccountsSupportingScheme(in String uriScheme);
62f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn
63f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn    /**
64513c8921359c2b576e0713da6d649e5e7c29d179Nancy Chen     * @see TelecomManager#getPhoneAccountsForPackage
65513c8921359c2b576e0713da6d649e5e7c29d179Nancy Chen     */
66513c8921359c2b576e0713da6d649e5e7c29d179Nancy Chen    List<PhoneAccountHandle> getPhoneAccountsForPackage(in String packageName);
67513c8921359c2b576e0713da6d649e5e7c29d179Nancy Chen
68513c8921359c2b576e0713da6d649e5e7c29d179Nancy Chen    /**
69ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomManager#getPhoneAccount
70c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad     */
718c8a062f521d39ceecc99e8fc6cef9c60b773da5Evan Charlton    PhoneAccount getPhoneAccount(in PhoneAccountHandle account);
72c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad
73c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad    /**
74ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomManager#getAllPhoneAccountsCount
75a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     */
76a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    int getAllPhoneAccountsCount();
77a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn
78a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    /**
79ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomManager#getAllPhoneAccounts
80a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     */
81a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    List<PhoneAccount> getAllPhoneAccounts();
82a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn
83a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    /**
84ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomManager#getAllPhoneAccountHandles
85a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     */
86a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    List<PhoneAccountHandle> getAllPhoneAccountHandles();
87a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn
88a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    /**
89ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#getSimCallManager
9059cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     */
9159cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    PhoneAccountHandle getSimCallManager();
9259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee
9359cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    /**
94ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#setSimCallManager
9559cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     */
9659cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    void setSimCallManager(in PhoneAccountHandle account);
9759cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee
9859cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    /**
99ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#getSimCallManagers
10059cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     */
10159cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    List<PhoneAccountHandle> getSimCallManagers();
10259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee
10359cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    /**
104ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#registerPhoneAccount
105c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad     */
1068c8a062f521d39ceecc99e8fc6cef9c60b773da5Evan Charlton    void registerPhoneAccount(in PhoneAccount metadata);
1076c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordon
1086c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordon    /**
109ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#unregisterPhoneAccount
110807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad     */
1116eb262c3515c927df19340b3eee8c74bc9478d16Evan Charlton    void unregisterPhoneAccount(in PhoneAccountHandle account);
112807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad
113807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad    /**
114ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#clearAccounts
115807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad     */
116807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad    void clearAccounts(String packageName);
117807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad
118807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad    /**
119443e501c46f57b4189c4ae943d989b24366ef9d8Nancy Chen     * @see TelecomServiceImpl#isVoiceMailNumber
120443e501c46f57b4189c4ae943d989b24366ef9d8Nancy Chen     */
121443e501c46f57b4189c4ae943d989b24366ef9d8Nancy Chen    boolean isVoiceMailNumber(in PhoneAccountHandle accountHandle, String number);
122443e501c46f57b4189c4ae943d989b24366ef9d8Nancy Chen
123443e501c46f57b4189c4ae943d989b24366ef9d8Nancy Chen    /**
1248c066f7cc38a32ea6bd8138eb23eaeefcadd3b8aNancy Chen     * @see TelecomServiceImpl#hasVoiceMailNumber
1258c066f7cc38a32ea6bd8138eb23eaeefcadd3b8aNancy Chen     */
1268c066f7cc38a32ea6bd8138eb23eaeefcadd3b8aNancy Chen    boolean hasVoiceMailNumber(in PhoneAccountHandle accountHandle);
1278c066f7cc38a32ea6bd8138eb23eaeefcadd3b8aNancy Chen
1288c066f7cc38a32ea6bd8138eb23eaeefcadd3b8aNancy Chen    /**
1295cf27847b011b115afa4a2e05f8c9aaa6c77ad01Nancy Chen     * @see TelecomServiceImpl#getLine1Number
1305cf27847b011b115afa4a2e05f8c9aaa6c77ad01Nancy Chen     */
1315cf27847b011b115afa4a2e05f8c9aaa6c77ad01Nancy Chen    String getLine1Number(in PhoneAccountHandle accountHandle);
1325cf27847b011b115afa4a2e05f8c9aaa6c77ad01Nancy Chen
1335cf27847b011b115afa4a2e05f8c9aaa6c77ad01Nancy Chen    /**
134ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#getDefaultPhoneApp
1356c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordon     */
1366c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordon    ComponentName getDefaultPhoneApp();
1379eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1389eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    //
1399eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    // Internal system apis relating to call management.
1409eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    //
1419eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1429eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
143ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#silenceRinger
1449eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1459eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    void silenceRinger();
1469eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1479eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
148ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#isInCall
1499eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1500eb1e402c7e612887e38dc5516f11506b11fd835Nancy Chen    boolean isInCall();
1519eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1529eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
153ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#isRinging
1549eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1559eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    boolean isRinging();
1569eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1579eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
1582ae312e30652a4d0019b17825b58d558c4483a58Yorke Lee     * @see TelecomServiceImpl#getCallState
1592ae312e30652a4d0019b17825b58d558c4483a58Yorke Lee     */
1602ae312e30652a4d0019b17825b58d558c4483a58Yorke Lee    int getCallState();
1612ae312e30652a4d0019b17825b58d558c4483a58Yorke Lee
1622ae312e30652a4d0019b17825b58d558c4483a58Yorke Lee    /**
163ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#endCall
1649eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1659eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    boolean endCall();
1669eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1679eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
168ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#acceptRingingCall
1699eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1709eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    void acceptRingingCall();
1713c4ff9effc801525aaa6bc3fa9bf2898b32b3464Santos Cordon
1723c4ff9effc801525aaa6bc3fa9bf2898b32b3464Santos Cordon    /**
173ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#cancelMissedCallsNotification
1743c4ff9effc801525aaa6bc3fa9bf2898b32b3464Santos Cordon     */
1753c4ff9effc801525aaa6bc3fa9bf2898b32b3464Santos Cordon    void cancelMissedCallsNotification();
1760bae09fdde0905e24f6c3079d9e01c669d046289Santos Cordon
1770bae09fdde0905e24f6c3079d9e01c669d046289Santos Cordon    /**
178ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#handleMmi
1790bae09fdde0905e24f6c3079d9e01c669d046289Santos Cordon     */
1800bae09fdde0905e24f6c3079d9e01c669d046289Santos Cordon    boolean handlePinMmi(String dialString);
181001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal
182001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal    /**
18395e8a679335648388988337fcf08eac325768318Nancy Chen     * @see TelecomServiceImpl#handleMmi
18495e8a679335648388988337fcf08eac325768318Nancy Chen     */
18595e8a679335648388988337fcf08eac325768318Nancy Chen    boolean handlePinMmiForPhoneAccount(in PhoneAccountHandle accountHandle, String dialString);
18695e8a679335648388988337fcf08eac325768318Nancy Chen
18795e8a679335648388988337fcf08eac325768318Nancy Chen    /**
188b2299c13037d0f7fc5276ff2b21c53cb20c054c5Nancy Chen     * @see TelecomServiceImpl#getAdnUriForPhoneAccount
189b2299c13037d0f7fc5276ff2b21c53cb20c054c5Nancy Chen     */
190b2299c13037d0f7fc5276ff2b21c53cb20c054c5Nancy Chen    Uri getAdnUriForPhoneAccount(in PhoneAccountHandle accountHandle);
191b2299c13037d0f7fc5276ff2b21c53cb20c054c5Nancy Chen
192b2299c13037d0f7fc5276ff2b21c53cb20c054c5Nancy Chen    /**
193ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#isTtySupported
194001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal     */
195001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal    boolean isTtySupported();
196001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal
197001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal    /**
198ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#getCurrentTtyMode
199001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal     */
200001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal    int getCurrentTtyMode();
20196efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordon
20296efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordon    /**
203ef9f6f957d897ea0ed82114185b8fa3fefd4917bTyler Gunn     * @see TelecomServiceImpl#addNewIncomingCall
20496efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordon     */
20596efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordon    void addNewIncomingCall(in PhoneAccountHandle phoneAccount, in Bundle extras);
206c3cf982d18e28fc27126265422f36c5e845808dbYorke Lee
207c3cf982d18e28fc27126265422f36c5e845808dbYorke Lee    /**
208c3cf982d18e28fc27126265422f36c5e845808dbYorke Lee     * @see TelecomServiceImpl#addNewUnknownCall
209c3cf982d18e28fc27126265422f36c5e845808dbYorke Lee     */
210c3cf982d18e28fc27126265422f36c5e845808dbYorke Lee    void addNewUnknownCall(in PhoneAccountHandle phoneAccount, in Bundle extras);
2113afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon}
212