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