ITelecomService.aidl revision a1ed7d10942cea97147dee8d79cee737766e539a
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
173afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordonpackage com.android.internal.telecomm;
183afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon
196c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordonimport android.content.ComponentName;
206eb262c3515c927df19340b3eee8c74bc9478d16Evan Charltonimport android.telecomm.PhoneAccountHandle;
2196efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordonimport android.os.Bundle;
228c8a062f521d39ceecc99e8fc6cef9c60b773da5Evan Charltonimport android.telecomm.PhoneAccount;
232e024708b1447b2e7e139ee523673a4c3d589493Yorke Lee
243afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon/**
253afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * Interface used to interact with Telecomm. Mostly this is used by TelephonyManager for passing
263afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * commands that were previously handled by ITelephony.
273afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon * {@hide}
283afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon */
293534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordoninterface ITelecommService {
303534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon    /**
313534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon     * Brings the in-call screen to the foreground if there is an active call.
323534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon     *
333534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon     * @param showDialpad if true, make the dialpad visible initially.
343534ede5722b98c5be1526ba0bc2cd8acfbe0e55Santos Cordon     */
350eb1e402c7e612887e38dc5516f11506b11fd835Nancy Chen    void showInCallScreen(boolean showDialpad);
362e024708b1447b2e7e139ee523673a4c3d589493Yorke Lee
372e024708b1447b2e7e139ee523673a4c3d589493Yorke Lee    /**
3859cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#getDefaultOutgoingPhoneAccount
3994cf4bff1345f9f7ec981d0bf7f8988f3d93c7a8Ihab Awad     */
40f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn    PhoneAccountHandle getDefaultOutgoingPhoneAccount(in String uriScheme);
4194cf4bff1345f9f7ec981d0bf7f8988f3d93c7a8Ihab Awad
4294cf4bff1345f9f7ec981d0bf7f8988f3d93c7a8Ihab Awad    /**
43d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee     * @see TelecommServiceImpl#getUserSelectedOutgoingPhoneAccount
4459cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     */
45d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee    PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
46d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee
47d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee    /**
48d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee     * @see TelecommServiceImpl#setUserSelectedOutgoingPhoneAccount
49d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee     */
50d4abbfbcc16ae3e9bae77573496161ff561f8cedAndrew Lee    void setUserSelectedOutgoingPhoneAccount(in PhoneAccountHandle account);
5159cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee
5259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    /**
53a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     * @see TelecommServiceImpl#getEnabledPhoneAccounts
54c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad     */
55a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    List<PhoneAccountHandle> getEnabledPhoneAccounts();
56c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad
57c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad    /**
58f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn     * @see TelecommManager#getPhoneAccountsSupportingScheme
59f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn     */
60f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn    List<PhoneAccountHandle> getPhoneAccountsSupportingScheme(in String uriScheme);
61f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn
62f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn    /**
63f5b29dc8cb7ec19232c6499ac41e5cd267ebd6f1Tyler Gunn     * @see TelecommManager#getPhoneAccount
64c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad     */
658c8a062f521d39ceecc99e8fc6cef9c60b773da5Evan Charlton    PhoneAccount getPhoneAccount(in PhoneAccountHandle account);
66c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad
67c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad    /**
68a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     * @see TelecommManager#getAllPhoneAccountsCount
69a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     */
70a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    int getAllPhoneAccountsCount();
71a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn
72a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    /**
73a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     * @see TelecommManager#getAllPhoneAccounts
74a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     */
75a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    List<PhoneAccount> getAllPhoneAccounts();
76a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn
77a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    /**
78a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     * @see TelecommManager#getAllPhoneAccountHandles
79a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     */
80a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    List<PhoneAccountHandle> getAllPhoneAccountHandles();
81a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn
82a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    /**
8359cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#getSimCallManager
8459cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     */
8559cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    PhoneAccountHandle getSimCallManager();
8659cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee
8759cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    /**
8859cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#setSimCallManager
8959cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     */
9059cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    void setSimCallManager(in PhoneAccountHandle account);
9159cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee
9259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    /**
9359cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#getSimCallManagers
9459cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     */
9559cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    List<PhoneAccountHandle> getSimCallManagers();
9659cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee
9759cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee    /**
98a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     * @see TelecommServiceImpl#setPhoneAccountEnabled
99a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn     */
100a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    void setPhoneAccountEnabled(in PhoneAccountHandle account, in boolean isEnabled);
101a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn
102a1ed7d10942cea97147dee8d79cee737766e539aTyler Gunn    /**
10359cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#registerPhoneAccount
104c35ad0252d1ad9ae50e2dadd670783d4a6259df6Ihab Awad     */
1058c8a062f521d39ceecc99e8fc6cef9c60b773da5Evan Charlton    void registerPhoneAccount(in PhoneAccount metadata);
1066c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordon
1076c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordon    /**
10859cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#unregisterPhoneAccount
109807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad     */
1106eb262c3515c927df19340b3eee8c74bc9478d16Evan Charlton    void unregisterPhoneAccount(in PhoneAccountHandle account);
111807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad
112807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad    /**
11359cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#clearAccounts
114807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad     */
115807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad    void clearAccounts(String packageName);
116807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad
117807fe0a19a710ae4e053e80f610807ff5718f1a1Ihab Awad    /**
11859cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#getDefaultPhoneApp
1196c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordon     */
1206c7a38817c46e35277599ebb4aa4c73b14a18cffSantos Cordon    ComponentName getDefaultPhoneApp();
1219eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1229eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    //
1239eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    // Internal system apis relating to call management.
1249eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    //
1259eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1269eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
12759cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#silenceRinger
1289eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1299eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    void silenceRinger();
1309eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1319eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
13259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#isInCall
1339eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1340eb1e402c7e612887e38dc5516f11506b11fd835Nancy Chen    boolean isInCall();
1359eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1369eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
13759cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#isRinging
1389eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1399eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    boolean isRinging();
1409eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1419eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
14259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#endCall
1439eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1449eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    boolean endCall();
1459eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon
1469eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    /**
14759cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#acceptRingingCall
1489eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon     */
1499eb45934c582a0bf5060125690de8bce4f10ca76Santos Cordon    void acceptRingingCall();
1503c4ff9effc801525aaa6bc3fa9bf2898b32b3464Santos Cordon
1513c4ff9effc801525aaa6bc3fa9bf2898b32b3464Santos Cordon    /**
15259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#cancelMissedCallsNotification
1533c4ff9effc801525aaa6bc3fa9bf2898b32b3464Santos Cordon     */
1543c4ff9effc801525aaa6bc3fa9bf2898b32b3464Santos Cordon    void cancelMissedCallsNotification();
1550bae09fdde0905e24f6c3079d9e01c669d046289Santos Cordon
1560bae09fdde0905e24f6c3079d9e01c669d046289Santos Cordon    /**
15759cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#handleMmi
1580bae09fdde0905e24f6c3079d9e01c669d046289Santos Cordon     */
1590bae09fdde0905e24f6c3079d9e01c669d046289Santos Cordon    boolean handlePinMmi(String dialString);
160001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal
161001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal    /**
16259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#isTtySupported
163001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal     */
164001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal    boolean isTtySupported();
165001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal
166001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal    /**
16759cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#getCurrentTtyMode
168001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal     */
169001bbbb239d4ef1005a87039c7c53e26d8f13ad6Sailesh Nepal    int getCurrentTtyMode();
17096efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordon
17196efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordon    /**
17259cac3a88178b0b25d1aeba49a42204a9add3892Andrew Lee     * @see TelecommServiceImpl#addNewIncomingCall
17396efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordon     */
17496efb488affcb89dafe83dfa5f5addb378c2102eSantos Cordon    void addNewIncomingCall(in PhoneAccountHandle phoneAccount, in Bundle extras);
1753afed57a7d8a6e9d9fcaaa483a3c3e3652e2199aSantos Cordon}
176