ITelephony.aidl revision 06e1ae1a51b9fb8c65e610c22f86380c60a803a0
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage com.android.internal.telephony; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1963c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawalimport android.content.Intent; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle; 21010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinskiimport android.os.ResultReceiver; 22740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chenimport android.net.Uri; 23ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordonimport android.telecom.PhoneAccount; 24740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chenimport android.telecom.PhoneAccountHandle; 25fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleimport android.telephony.CellInfo; 26a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport android.telephony.IccOpenLogicalChannelResponse; 2739daf8d6f14a01d2854352fe08d14195f7a2056bJack Yuimport android.telephony.ModemActivityInfo; 28a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport android.telephony.NeighboringCellInfo; 292af2d57d578e0c3a2740628e7c6336b19961cc49Wink Savilleimport android.telephony.RadioAccessFamily; 3039daf8d6f14a01d2854352fe08d14195f7a2056bJack Yuimport android.telephony.ServiceState; 3106e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padaweimport android.telephony.TelephonyHistogram; 32d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawalimport com.android.internal.telephony.CellNetworkScanResult; 33d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawalimport com.android.internal.telephony.OperatorInfo; 3406e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe 35a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport java.util.List; 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 37aae9216320328e6b865725219a31a029ea46c1b0Sailesh Nepal 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 39767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Interface used to interact with the phone. Mostly this is used by the 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TelephonyManager class. A few places are still using this directly. 414a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Please clean them up if possible and use TelephonyManager instead. 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface ITelephony { 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Dial a number. This doesn't place the call. It displays 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the Dialer screen. 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be dialed. If null, this 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * would display the Dialer screen with no number pre-filled. 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void dial(String number); 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Place a call to the specified number. 5716a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be called. 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 60f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn void call(String callingPackage, String number); 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 634d396052deb54399cbadbeb8abd873df6f3af342Jeff Brown * End call if there is a call in progress, otherwise does nothing. 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether it hung up 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean endCall(); 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 70fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * End call on particular subId or go to the Home screen 71fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 72fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether it hung up 73fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 7463f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean endCallForSubscriber(int subId); 75fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 76fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Answer the currently-ringing call. 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there's already a current active call, that call will be 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * automatically put on hold. If both lines are currently in use, the 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * current active call will be ended. 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: provide a flag to let the caller specify what policy to use 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if both lines are in use. (The current behavior is hardwired to 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * "answer incoming, end ongoing", which is how the CALL button 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is specced to behave.) 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call (especially since it's called 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * directly from the key queue thread). 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void answerRingingCall(); 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9405e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * Answer the currently-ringing call on particular subId . 9505e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 9605e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * If there's already a current active call, that call will be 9705e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * automatically put on hold. If both lines are currently in use, the 9805e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * current active call will be ended. 9905e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 10005e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * TODO: provide a flag to let the caller specify what policy to use 10105e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * if both lines are in use. (The current behavior is hardwired to 10205e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * "answer incoming, end ongoing", which is how the CALL button 10305e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * is specced to behave.) 10405e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 10505e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * TODO: this should be a oneway call (especially since it's called 10605e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * directly from the key queue thread). 10705e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville */ 10863f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void answerRingingCallForSubscriber(int subId); 10905e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville 11005e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville /** 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Silence the ringer if an incoming call is currently ringing. 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (If vibrating, stop the vibrator also.) 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * It's safe to call this if the ringer has already been silenced, or 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * even if there's no incoming call. (If so, this method will do nothing.) 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call too (see above). 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (Actually *all* the methods here that return void can 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * probably be oneway.) 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void silenceRinger(); 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if we are in either an active or holding call 1256e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is OFFHOOK. 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1286e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isOffhook(String callingPackage); 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 131fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if a particular subId has an active or holding call 132fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 133fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 1346e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 135fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is OFFHOOK. 136fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 1376e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isOffhookForSubscriber(int subId, String callingPackage); 138fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 139fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 140fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if an incoming phone call is ringing or call waiting 141fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * on a particular subId. 142fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 143fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 1446e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 145fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is RINGING. 146fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 1476e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isRingingForSubscriber(int subId, String callingPackage); 148fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 149fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if an incoming phone call is ringing or call waiting. 1516e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is RINGING. 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1546e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isRinging(String callingPackage); 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the phone is idle. 1586e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is IDLE. 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1616e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isIdle(String callingPackage); 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 164fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if the phone is idle on a particular subId. 165fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 166fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 1676e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 168fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is IDLE. 169fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 1706e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isIdleForSubscriber(int subId, String callingPackage); 171fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 172fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check to see if the radio is on or not. 1746e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return returns true if the radio is on. 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1776e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isRadioOn(String callingPackage); 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 180fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check to see if the radio is on or not on particular subId. 181fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 1826e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 183fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return returns true if the radio is on. 184fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 1856e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isRadioOnForSubscriber(int subId, String callingPackage); 186fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 187fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Supply a pin to unlock the SIM. Blocks until a result is determined. 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param pin The pin to check. 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether the operation was a success. 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean supplyPin(String pin); 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 195fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM for particular subId. 196fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 197fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 198fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 199fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 200fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 20163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean supplyPinForSubscriber(int subId, String pin); 202fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 203fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 20498c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Supply puk to unlock the SIM and set SIM pin to new pin. 20598c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Blocks until a result is determined. 20698c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @param puk The puk to check. 20798c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * pin The new pin to be set in SIM 20898c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @return whether the operation was a success. 20998c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang */ 21098c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang boolean supplyPuk(String puk, String pin); 21198c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 21298c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang /** 213fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 214fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 215fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check. 216fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The new pin to be set in SIM 217fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 218fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 219fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 22063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean supplyPukForSubscriber(int subId, String puk, String pin); 221fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 222fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 223b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 224b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code. 225b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param pin The pin to check. 226b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 227b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 228b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 229b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPinReportResult(String pin); 230b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 231b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 232fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 233fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code. 234fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 235fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 236fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 237fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 23863f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int[] supplyPinReportResultForSubscriber(int subId, String pin); 239fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 240fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 241b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 242b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Blocks until a result is determined. 243b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code 244b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param puk The puk to check 245b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * pin The pin to check. 246b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 247b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 248b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 249b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPukReportResult(String puk, String pin); 250b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 251b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 252fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 253fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 254fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code 255fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check 256fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The pin to check. 257fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 258fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 259fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 26063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int[] supplyPukReportResultForSubscriber(int subId, String puk, String pin); 261fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 262fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without SEND (so <code>dial</code> is not appropriate). 265767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialString the MMI command to be executed. 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if MMI command is executed. 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handlePinMmi(String dialString); 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 272fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 273fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * without SEND (so <code>dial</code> is not appropriate) for 274fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * a particular subId. 275fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param dialString the MMI command to be executed. 276fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 277fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if MMI command is executed. 278fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 27963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean handlePinMmiForSubscriber(int subId, String dialString); 280fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 281fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Toggles the radio on or off. 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void toggleRadioOnOff(); 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 287fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Toggles the radio on or off on particular subId. 288fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 289fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 29063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void toggleRadioOnOffForSubscriber(int subId); 291fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 292fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the radio to on or off 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setRadio(boolean turnOn); 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 298fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set the radio to on or off on particular subId. 299fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 300fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 30163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean setRadioForSubscriber(int subId, boolean turnOn); 302fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 303fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 30445ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville * Set the radio to on or off unconditionally 30545ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville */ 30645ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville boolean setRadioPower(boolean turnOn); 30745ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville 30845ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville /** 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Request to update location information in service state 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void updateServiceLocation(); 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 314fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Request to update location information for a subscrition in service state 315fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 316fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 31763f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void updateServiceLocationForSubscriber(int subId); 318fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 319fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable location update notifications. 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void enableLocationUpdates(); 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 325fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Enable location update notifications. 326fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 327fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 32863f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void enableLocationUpdatesForSubscriber(int subId); 329fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 330fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable location update notifications. 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableLocationUpdates(); 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 336fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Disable location update notifications. 337fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 338fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 33963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void disableLocationUpdatesForSubscriber(int subId); 340fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 341fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Allow mobile data connections. 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean enableDataConnectivity(); 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disallow mobile data connections. 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean disableDataConnectivity(); 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report whether data connectivity is possible. 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDataConnectivityPossible(); 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 356275b5635ad98a411d511894e98f80e8b8bc41799Svetoslav Bundle getCellLocation(String callingPkg); 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the neighboring cell information of the device. 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 361f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn List<NeighboringCellInfo> getNeighboringCellInfo(String callingPkg); 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getCallState(); 364fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 365fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 366dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * Returns the call state for a slot. 367fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 368dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal int getCallStateForSlot(int slotId); 369fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataActivity(); 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataState(); 372767a662ecde33c3979bf02b793d392aca0403162Wink Saville 373767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 374767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns the current active phone type as integer. 375767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 376767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 377767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 378767a662ecde33c3979bf02b793d392aca0403162Wink Saville int getActivePhoneType(); 379767a662ecde33c3979bf02b793d392aca0403162Wink Saville 380e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 381dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * Returns the current active phone type as integer for particular slot. 382fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 383fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 384dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * @param slotId - slot to query. 385fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 386dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal int getActivePhoneTypeForSlot(int slotId); 387fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 388fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 389e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon index to display 3906e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 391e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 3926e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getCdmaEriIconIndex(String callingPackage); 393e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 394e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 395fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon index to display on particular subId. 396fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 3976e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 398fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 3996e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getCdmaEriIconIndexForSubscriber(int subId, String callingPackage); 400fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 401fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 402e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon mode, 403e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 0 - ON 404e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1 - FLASHING 4056e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 406e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 4076e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getCdmaEriIconMode(String callingPackage); 408e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 409e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 410fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon mode on particular subId, 411fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 0 - ON 412fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 1 - FLASHING 413fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 4146e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 415fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 4166e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getCdmaEriIconModeForSubscriber(int subId, String callingPackage); 417fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 418fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 419e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI text, 4206e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 421e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 4226e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt String getCdmaEriText(String callingPackage); 423e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 424dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 425fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI text for particular subId, 426fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 4276e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 428fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 4296e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt String getCdmaEriTextForSubscriber(int subId, String callingPackage); 430fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 431fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4324d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Returns true if OTA service provisioning needs to run. 4334d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Only relevant on some technologies, others will always 4344d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * return false. 435767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller */ 4364d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville boolean needsOtaServiceProvisioning(); 437767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller 438767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller /** 4395c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal * Sets the voicemail number for a particular subscriber. 4405c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal */ 4415c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal boolean setVoiceMailNumber(int subId, String alphaTag, String number); 4425c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal 4435c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal /** 444dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Returns the unread count of voicemails 445dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 446ce099c3226b33b43e0dd5d1f24347b14a2223ee1David Krause int getVoiceMessageCount(); 447dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 448ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** 449fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails for a subId. 450fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 451fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails 452fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 45363f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getVoiceMessageCountForSubscriber(int subId); 454fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 455349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen // Not oneway, caller needs to make sure the vaule is set before receiving a SMS 456349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen void setVisualVoicemailSmsFilterEnabled(int subId, boolean value); 457349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen 458349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen boolean isVisualVoicemailSmsFilterEnabled(String packageName, int subId); 459349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen 460349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen // Not oneway, caller needs to make sure the vaule is set before receiving a SMS 461349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen void setVisualVoicemailSmsFilterClientPrefix(int subId, String prefix); 462349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen 463349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen String getVisualVoicemailSmsFilterClientPrefix(String packageName, int subId); 464349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen 465349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen // Not oneway, caller needs to make sure the vaule is set before receiving a SMS 466349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen void setVisualVoicemailSmsFilterOriginatingNumbers(int subId, in String[] numbers); 467349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen 468349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen String[] getVisualVoicemailSmsFilterOriginatingNumbers(String packageName, int subId); 469349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen 470349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen // Not oneway, caller needs to make sure the vaule is set before receiving a SMS 471349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen void setVisualVoicemailSmsFilterDestinationPort(int subId, int port); 472349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen 473349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen int getVisualVoicemailSmsFilterDestinationPort(String packageName, int subId); 474349f4eddf76d1f16966a7ae7b599e984f599cf2eTa-wei Yen 475fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4766e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * Returns the network type for data transmission 4779bc8299ca0b2e8396b9f2f027c440cda164ba75eRobert Greenwalt * Legacy call, permission-free 4786e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt */ 4799bc8299ca0b2e8396b9f2f027c440cda164ba75eRobert Greenwalt int getNetworkType(); 48098c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 481e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville /** 482fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type of a subId. 483fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 4846e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 485fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 4866e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getNetworkTypeForSubscriber(int subId, String callingPackage); 487fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 488fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4896e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * Returns the network type for data transmission 4906e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 4916e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt */ 4926e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getDataNetworkType(String callingPackage); 4930dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 4940dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 4956e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * Returns the data network type of a subId 4966e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param subId user preferred subId. 4976e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 4986e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt */ 4996e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getDataNetworkTypeForSubscriber(int subId, String callingPackage); 500fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 501fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 502fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the voice network type of a subId 503fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 5049bc8299ca0b2e8396b9f2f027c440cda164ba75eRobert Greenwalt * @param callingPackage package making the call. 505fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 506fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 5079bc8299ca0b2e8396b9f2f027c440cda164ba75eRobert Greenwalt int getVoiceNetworkTypeForSubscriber(int subId, String callingPackage); 508fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 509fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 510e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville * Return true if an ICC card is present 511e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville */ 512e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville boolean hasIccCard(); 5135e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville 5145e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville /** 515fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present for a subId. 516fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param slotId user preferred slotId. 517fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present 518fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 51963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean hasIccCardUsingSlotId(int slotId); 520fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 521fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 5225e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * Return if the current radio is LTE on CDMA. This 5235e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * is a tri-state return value as for a period of time 5245e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * the mode may be unknown. 5255e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * 5266e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the calling package 5275e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 5285e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 5295e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville */ 5306e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getLteOnCdmaMode(String callingPackage); 531963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 532963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 533fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return if the current radio is LTE on CDMA. This 534fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * is a tri-state return value as for a period of time 535fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * the mode may be unknown. 536fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 5376e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the calling package 538fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 539fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 540fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 5416e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getLteOnCdmaModeForSubscriber(int subId, String callingPackage); 542fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 543fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 544963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Returns the all observed cell information of the device. 545963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 546275b5635ad98a411d511894e98f80e8b8bc41799Svetoslav List<CellInfo> getAllCellInfo(String callingPkg); 547094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville 548094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville /** 549094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville * Sets minimum time in milli-seconds between onCellInfoChanged 550094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville */ 551094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville void setCellInfoListRate(int rateInMillis); 552767a662ecde33c3979bf02b793d392aca0403162Wink Saville 55357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 554fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * get default sim 555fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return sim id 556fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 557fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getDefaultSim(); 558fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 559fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 56057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Opens a logical channel to the ICC card. 56157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 56257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHO command. 56357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 56452103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId The subscription to use. 56557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param AID Application id. See ETSI 102.221 and 101.220. 566a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return an IccOpenLogicalChannelResponse object. 56757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 56852103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal IccOpenLogicalChannelResponse iccOpenLogicalChannel(int subId, String AID); 56957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 57057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 57157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Closes a previously opened logical channel to the ICC card. 57257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 57357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHC command. 57457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 57552103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId The subscription to use. 57657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 57757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 57857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return true if the channel was closed successfully. 57957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 58052103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal boolean iccCloseLogicalChannel(int subId, int channel); 58157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 58257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 58357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Transmit an APDU to the ICC card over a logical channel. 58457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 58557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CGLA command. 58657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 58752103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId The subscription to use. 58857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 58957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 59057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param cla Class of the APDU command. 59157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param instruction Instruction of the APDU command. 59257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p1 P1 value of the APDU command. 59357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p2 P2 value of the APDU command. 59457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 59557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * is sent to the SIM. 59657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param data Data to be sent with the APDU. 59757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return The APDU response from the ICC card with the status appended at 59843d94347a6feb14870a4ffd7682a816210e5e676Shishir Agrawal * the end. 59957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 60052103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal String iccTransmitApduLogicalChannel(int subId, int channel, int cla, int instruction, 60157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal int p1, int p2, int p3, String data); 6028f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6038f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 604a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Transmit an APDU to the ICC card over the basic channel. 605a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 606a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CSIM command. 607a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 60852103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId The subscription to use. 609a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param cla Class of the APDU command. 610a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param instruction Instruction of the APDU command. 611a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p1 P1 value of the APDU command. 612a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p2 P2 value of the APDU command. 613a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 614a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * is sent to the SIM. 615a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param data Data to be sent with the APDU. 616a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return The APDU response from the ICC card with the status appended at 61743d94347a6feb14870a4ffd7682a816210e5e676Shishir Agrawal * the end. 618a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal */ 61952103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal String iccTransmitApduBasicChannel(int subId, int cla, int instruction, 620a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal int p1, int p2, int p3, String data); 621a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal 622a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal /** 623a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Returns the response APDU for a command APDU sent through SIM_IO. 624a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 62552103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId The subscription to use. 626a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param fileID 627a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param command 628a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p1 P1 value of the APDU command. 629a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p2 P2 value of the APDU command. 630a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p3 P3 value of the APDU command. 631a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param filePath 632a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return The APDU response. 633a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal */ 63452103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal byte[] iccExchangeSimIO(int subId, int fileID, int command, int p1, int p2, int p3, 635a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal String filePath); 636a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal 637a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal /** 638b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * Send ENVELOPE to the SIM and returns the response. 639210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * 64052103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId The subscription to use. 641210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * @param contents String containing SAT/USAT response in hexadecimal 642210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * format starting with command tag. See TS 102 223 for 643210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * details. 644b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * @return The APDU response from the ICC card, with the last 4 bytes 645b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * being the status word. If the command fails, returns an empty 646b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * string. 647210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton */ 64852103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal String sendEnvelopeWithStatus(int subId, String content); 649210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton 650210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton /** 6518f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 6528f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6538f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6548f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 6558f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return the NV item as a String, or null on any failure. 6568f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6578f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby String nvReadItem(int itemID); 6588f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6598f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 6608f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Write one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 6618f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6628f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6638f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 6648f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemValue the value to write, as a String. 6658f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6668f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6678f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteItem(int itemID, String itemValue); 6688f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6698f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 6708f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. 6718f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6728f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6738f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param preferredRoamingList byte array containing the new PRL. 6748f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6758f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6768f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteCdmaPrl(in byte[] preferredRoamingList); 6778f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6788f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 679786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * Perform the specified type of NV config reset. The radio will be taken offline 680786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * and the device must be rebooted after the operation. Used for device 681786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * configuration by some CDMA operators. 6828f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6838f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param resetType the type of reset to perform (1 == factory reset; 2 == NV-only reset). 6848f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6858f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6868f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvResetConfig(int resetType); 6878f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6889bbb37116d2c5b597f9b5e3094ff328971e03c0bEvan Charlton /* 6891365703d4964466472904dc84117a0946d9e1a44Junda Liu * Get the calculated preferred network type. 6901365703d4964466472904dc84117a0946d9e1a44Junda Liu * Used for device configuration by some CDMA operators. 69116a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 6921365703d4964466472904dc84117a0946d9e1a44Junda Liu * 6931365703d4964466472904dc84117a0946d9e1a44Junda Liu * @return the calculated preferred network type, defined in RILConstants.java. 6941365703d4964466472904dc84117a0946d9e1a44Junda Liu */ 69516a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov int getCalculatedPreferredNetworkType(String callingPackage); 6961365703d4964466472904dc84117a0946d9e1a44Junda Liu 6971365703d4964466472904dc84117a0946d9e1a44Junda Liu /* 6984a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Get the preferred network type. 6994a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 7004a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 701984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to query. 7024a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return the preferred network type, defined in RILConstants.java. 7034a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 704984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott int getPreferredNetworkType(int subId); 7054a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby 7064a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby /** 70738531581fc19f9172fabe56047b326e5dab88625Junda Liu * Check TETHER_DUN_REQUIRED and TETHER_DUN_APN settings, net.tethering.noprovisioning 70838531581fc19f9172fabe56047b326e5dab88625Junda Liu * SystemProperty, and config_tether_apndata to decide whether DUN APN is required for 70938531581fc19f9172fabe56047b326e5dab88625Junda Liu * tethering. 71038531581fc19f9172fabe56047b326e5dab88625Junda Liu * 71138531581fc19f9172fabe56047b326e5dab88625Junda Liu * @return 0: Not required. 1: required. 2: Not set. 71238531581fc19f9172fabe56047b326e5dab88625Junda Liu */ 71338531581fc19f9172fabe56047b326e5dab88625Junda Liu int getTetherApnRequired(); 71438531581fc19f9172fabe56047b326e5dab88625Junda Liu 71538531581fc19f9172fabe56047b326e5dab88625Junda Liu /** 716984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * Set the network selection mode to automatic. 717984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * 718984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to update. 719984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott */ 720984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott void setNetworkSelectionModeAutomatic(int subId); 721984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott 722984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott /** 723d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * Perform a radio scan and return the list of avialble networks. 724d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * 725d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @param subId the id of the subscription. 726d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @return CellNetworkScanResult containing status of scan and networks. 727d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal */ 728d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal CellNetworkScanResult getCellNetworkScanResults(int subId); 729d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal 730d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal /** 731d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * Ask the radio to connect to the input network and change selection mode to manual. 732d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * 733d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @param subId the id of the subscription. 734d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @param operatorInfo the operator to attach to. 735e25bd01ad662d1a5b19592c98fac0a3035081375Shishir Agrawal * @param persistSelection should the selection persist till reboot or its 736e25bd01ad662d1a5b19592c98fac0a3035081375Shishir Agrawal * turned off? Will also result in notification being not shown to 737e25bd01ad662d1a5b19592c98fac0a3035081375Shishir Agrawal * the user if the signal is lost. 738d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @return true if the request suceeded. 739d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal */ 740e25bd01ad662d1a5b19592c98fac0a3035081375Shishir Agrawal boolean setNetworkSelectionModeManual(int subId, in OperatorInfo operator, 741e25bd01ad662d1a5b19592c98fac0a3035081375Shishir Agrawal boolean persistSelection); 742d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal 743d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal /** 7444a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Set the preferred network type. 7454a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 7464a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 747984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to update. 7484a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @param networkType the preferred network type, defined in RILConstants.java. 7494a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return true on success; false on any failure. 7504a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 751984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott boolean setPreferredNetworkType(int subId, int networkType); 752afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 753afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 754afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * User enable/disable Mobile Data. 755afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 756afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @param enable true to turn on, else false 757afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 75836ffb0494dd1045c164b7479b68165e206f8c759Wink Saville void setDataEnabled(int subId, boolean enable); 759afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 760afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 761afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * Get the user enabled state of Mobile Data. 762afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 763afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @return true on enabled 764afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 76536ffb0494dd1045c164b7479b68165e206f8c759Wink Saville boolean getDataEnabled(int subId); 766fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 767fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 768fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Get P-CSCF address from PCO after data connection is established or modified. 769e647099e14114475e9a2827a10dab2d2e36308c4ram * @param apnType the apnType, "ims" for IMS APN, "emergency" for EMERGENCY APN 77016a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 771fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 77216a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String[] getPcscfAddress(String apnType, String callingPackage); 773fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 774fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 775fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set IMS registration state 776fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 777fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void setImsRegistrationState(boolean registered); 778fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 779762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal /** 7802b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * Return MDN string for CDMA phone. 7812b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * @param subId user preferred subId. 7822b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu */ 78363f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville String getCdmaMdn(int subId); 7842b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu 7852b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu /** 7862b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * Return MIN string for CDMA phone. 7872b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * @param subId user preferred subId. 7882b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu */ 78963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville String getCdmaMin(int subId); 7902b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu 7912b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu /** 792762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * Has the calling application been granted special privileges by the carrier. 793762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 794762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * If any of the packages in the calling UID has carrier privileges, the 795762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * call will return true. This access is granted by the owner of the UICC 796762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * card and does not depend on the registered carrier. 797762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 798762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * TODO: Add a link to documentation. 799762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 80052103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId The subscription to use. 801fc3646f58e5851e7a483b8388bdd826078166d10Shishir Agrawal * @return carrier privilege status defined in TelephonyManager. 802762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal */ 80352103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal int getCarrierPrivilegeStatus(int subId); 804142529702dad9a6612271f487d500db80173ba7bJunda Liu 805142529702dad9a6612271f487d500db80173ba7bJunda Liu /** 806b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson * Similar to above, but check for the package whose name is pkgName. 807142529702dad9a6612271f487d500db80173ba7bJunda Liu */ 808b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson int checkCarrierPrivilegesForPackage(String pkgName); 809b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson 810b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson /** 811b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson * Similar to above, but check across all phones. 812b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson */ 813b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson int checkCarrierPrivilegesForPackageAnyPhone(String pkgName); 814f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan 815f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan /** 816f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * Returns list of the package names of the carrier apps that should handle the input intent 817f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * and have carrier privileges for the given phoneId. 81863c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * 8193892fc0349a91097f53152eaf2801dfebb2066caDiego Pontoriero * @param intent Intent that will be sent. 820f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * @param phoneId The phoneId on which the carrier app has carrier privileges. 821f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * @return list of carrier app package names that can handle the intent on phoneId. 82263c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * Returns null if there is an error and an empty list if there 82363c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * are no matching packages. 82463c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal */ 825f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu List<String> getCarrierPackageNamesForIntentAndPhone(in Intent intent, int phoneId); 82663c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal 82763c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal /** 8282bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * Set the line 1 phone number string and its alphatag for the current ICCID 8292bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * for display purpose only, for example, displayed in Phone Status. It won't 8302bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * change the actual MSISDN/MDN. To unset alphatag or number, pass in a null 8312bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * value. 832818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 833818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId the subscriber that the alphatag and dialing number belongs to. 834818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param alphaTag alpha-tagging of the dailing nubmer 835818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param number The dialing number 8360201a6f6f16a872405a5f9ee65026e948eb162d0Shishir Agrawal * @return true if the operation was executed correctly. 837818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 8380201a6f6f16a872405a5f9ee65026e948eb162d0Shishir Agrawal boolean setLine1NumberForDisplayForSubscriber(int subId, String alphaTag, String number); 839818631b679171ffb49eaa641bee06b9c953651daDerek Tan 840818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 841818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Returns the displayed dialing number string if it was set previously via 842818631b679171ffb49eaa641bee06b9c953651daDerek Tan * {@link #setLine1NumberForDisplay}. Otherwise returns null. 843818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 844818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId whose dialing number for line 1 is returned. 84516a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 846818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @return the displayed dialing number if set, or null if not set. 847818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 84816a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getLine1NumberForDisplay(int subId, String callingPackage); 849818631b679171ffb49eaa641bee06b9c953651daDerek Tan 850818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 851818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Returns the displayed alphatag of the dialing number if it was set 852818631b679171ffb49eaa641bee06b9c953651daDerek Tan * previously via {@link #setLine1NumberForDisplay}. Otherwise returns null. 853818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 854818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId whose alphatag associated with line 1 is returned. 85516a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 856818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @return the displayed alphatag of the dialing number if set, or null if 857818631b679171ffb49eaa641bee06b9c953651daDerek Tan * not set. 858818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 85916a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getLine1AlphaTagForDisplay(int subId, String callingPackage); 86086578cca383562c72751d747905280afdeb2bdfbShishir Agrawal 861d24e4eafdb3e42de5a8fd080fcd50ebf4c7bcb71Fyodor Kupolov String[] getMergedSubscriberIds(String callingPackage); 8623256601f5e4d94713f59e97b9d4912875c1bdcafJeff Sharkey 86386578cca383562c72751d747905280afdeb2bdfbShishir Agrawal /** 864d2cfa92146ecfa5e00d4a3ce8e63b1a588845fe2Shishir Agrawal * Override the operator branding for the current ICCID. 86586578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 866d2cfa92146ecfa5e00d4a3ce8e63b1a588845fe2Shishir Agrawal * Once set, whenever the SIM is present in the device, the service 86786578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * provider name (SPN) and the operator name will both be replaced by the 86886578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * brand value input. To unset the value, the same function should be 86986578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * called with a null brand value. 87086578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 87186578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * <p>Requires Permission: 87286578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} 87386578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * or has to be carrier app - see #hasCarrierPrivileges. 87486578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 87552103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId The subscription to use. 87686578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @param brand The brand name to display/set. 87786578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @return true if the operation was executed correctly. 87886578cca383562c72751d747905280afdeb2bdfbShishir Agrawal */ 87952103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal boolean setOperatorBrandOverride(int subId, String brand); 8803099c831441e861328cd4965011c854e060ce56aSteven Liu 8813099c831441e861328cd4965011c854e060ce56aSteven Liu /** 8825fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * Override the roaming indicator for the current ICCID. 8835fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8845fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * Using this call, the carrier app (see #hasCarrierPrivileges) can override 8855fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * the platform's notion of a network operator being considered roaming or not. 8865fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * The change only affects the ICCID that was active when this call was made. 8875fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8885fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * If null is passed as any of the input, the corresponding value is deleted. 8895fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8905fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * <p>Requires that the caller have carrier privilege. See #hasCarrierPrivileges. 8915fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 89252103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal * @param subId for which the roaming overrides apply. 8935fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param gsmRoamingList - List of MCCMNCs to be considered roaming for 3GPP RATs. 8945fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param gsmNonRoamingList - List of MCCMNCs to be considered not roaming for 3GPP RATs. 8955fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param cdmaRoamingList - List of SIDs to be considered roaming for 3GPP2 RATs. 8965fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param cdmaNonRoamingList - List of SIDs to be considered not roaming for 3GPP2 RATs. 8975fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @return true if the operation was executed correctly. 8985fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal */ 89952103938915205cfd1febe09e2cae58060a8ef74Shishir Agrawal boolean setRoamingOverride(int subId, in List<String> gsmRoamingList, 9005fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal in List<String> gsmNonRoamingList, in List<String> cdmaRoamingList, 9015fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal in List<String> cdmaNonRoamingList); 9025fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal 9035fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal /** 9043099c831441e861328cd4965011c854e060ce56aSteven Liu * Returns the result and response from RIL for oem request 9053099c831441e861328cd4965011c854e060ce56aSteven Liu * 9063099c831441e861328cd4965011c854e060ce56aSteven Liu * @param oemReq the data is sent to ril. 9073099c831441e861328cd4965011c854e060ce56aSteven Liu * @param oemResp the respose data from RIL. 9083099c831441e861328cd4965011c854e060ce56aSteven Liu * @return negative value request was not handled or get error 9093099c831441e861328cd4965011c854e060ce56aSteven Liu * 0 request was handled succesfully, but no response data 9103099c831441e861328cd4965011c854e060ce56aSteven Liu * positive value success, data length of response 9113099c831441e861328cd4965011c854e060ce56aSteven Liu */ 9123099c831441e861328cd4965011c854e060ce56aSteven Liu int invokeOemRilRequestRaw(in byte[] oemReq, out byte[] oemResp); 913fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 914bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla /** 915bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * Check if any mobile Radios need to be shutdown. 916bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * 917bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * @return true is any mobile radio needs to be shutdown 918bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla */ 919bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla boolean needMobileRadioShutdown(); 920bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla 921bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla /** 922bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * Shutdown Mobile Radios 923bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla */ 924bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla void shutdownMobileRadios(); 9252af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville 9262af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville /** 9272af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * Set phone radio type and access technology. 9282af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * 9292af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @param rafs an RadioAccessFamily array to indicate all phone's 9302af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * new radio access family. The length of RadioAccessFamily 9312af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * must equ]]al to phone count. 9322af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville */ 9332af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville void setRadioCapability(in RadioAccessFamily[] rafs); 9342af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville 9352af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville /** 9362af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * Get phone radio type and access technology. 9372af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * 9382af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @param phoneId which phone you want to get 9396e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call 9402af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @return phone radio type and access technology 9412af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville */ 9426e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getRadioAccessFamily(in int phoneId, String callingPackage); 9434a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee 9444a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee /** 9454a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Enables or disables video calling. 9464a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * 9474a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * @param enable Whether to enable video calling. 9484a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee */ 9494a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee void enableVideoCalling(boolean enable); 9504a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee 9514a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee /** 9524a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Whether video calling has been enabled by the user. 9534a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * 95416a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 95567fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the user has enabled video calling, {@code false} otherwise. 9564a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee */ 95716a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov boolean isVideoCallingEnabled(String callingPackage); 9580b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe 9590303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com /** 96067fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * Whether the DTMF tone length can be changed. 96167fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * 96267fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the DTMF tone length can be changed. 96367fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee */ 96467fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee boolean canChangeDtmfToneLength(); 96567fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee 96667fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee /** 96767fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * Whether the device is a world phone. 96867fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * 96967fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the devices is a world phone. 97067fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee */ 97167fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee boolean isWorldPhone(); 97267fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee 97367fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee /** 974f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * Whether the phone supports TTY mode. 975f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * 976f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * @return {@code true} if the device supports TTY mode. 977f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee */ 978f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee boolean isTtyModeSupported(); 979f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee 980f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee /** 981f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * Whether the phone supports hearing aid compatibility. 982f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * 983f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * @return {@code true} if the device supports hearing aid compatibility. 984f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee */ 985f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee boolean isHearingAidCompatibilitySupported(); 986b304fc0aafe067e422ce219ba5edb4bc7a68924cEtan Cohen 987f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee /** 9880303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com * Get IMS Registration Status 9890303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com */ 9900303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com boolean isImsRegistered(); 9910b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe 9920b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe /** 99342eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold * Returns the Status of Wi-Fi Calling 99442eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold */ 995b304fc0aafe067e422ce219ba5edb4bc7a68924cEtan Cohen boolean isWifiCallingAvailable(); 996740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen 997b304fc0aafe067e422ce219ba5edb4bc7a68924cEtan Cohen /** 998b304fc0aafe067e422ce219ba5edb4bc7a68924cEtan Cohen * Returns the Status of Volte 999b304fc0aafe067e422ce219ba5edb4bc7a68924cEtan Cohen */ 1000b304fc0aafe067e422ce219ba5edb4bc7a68924cEtan Cohen boolean isVolteAvailable(); 100142eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold 100242eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold /** 1003b304fc0aafe067e422ce219ba5edb4bc7a68924cEtan Cohen * Returns the Status of VT (video telephony) 100442eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold */ 1005b304fc0aafe067e422ce219ba5edb4bc7a68924cEtan Cohen boolean isVideoTelephonyAvailable(); 100642eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold 100742eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold /** 10080b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * Returns the unique device ID of phone, for example, the IMEI for 10090b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * GSM and the MEID for CDMA phones. Return null if device ID is not available. 10100b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * 101116a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 10120b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * <p>Requires Permission: 10130b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} 10140b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe */ 101516a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getDeviceId(String callingPackage); 1016ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon 1017ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon /** 1018dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * Returns the IMEI for the given slot. 1019dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * 1020dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * @param slotId - device slot. 1021dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * @param callingPackage The package making the call. 1022dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * <p>Requires Permission: 1023dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} 1024dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal */ 1025dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal String getImeiForSlot(int slotId, String callingPackage); 1026dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal 1027dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal /** 1028dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * Returns the device software version. 1029dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * 1030dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * @param slotId - device slot. 1031dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * @param callingPackage The package making the call. 1032dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * <p>Requires Permission: 1033dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} 1034dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal */ 1035dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal String getDeviceSoftwareVersionForSlot(int slotId, String callingPackage); 1036dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal 1037dc50a87495c23068b4150a0fc197e51ace2ae47bShishir Agrawal /** 1038ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon * Returns the subscription ID associated with the specified PhoneAccount. 1039ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon */ 1040ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon int getSubIdForPhoneAccount(in PhoneAccount phoneAccount); 1041f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott 1042f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott void factoryReset(int subId); 10437ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath 10447ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath /** 10457ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * An estimate of the users's current locale based on the default SIM. 10467ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * 10477ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * The returned string will be a well formed BCP-47 language tag, or {@code null} 10487ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * if no locale could be derived. 10497ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath */ 10507ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath String getLocaleFromDefaultSim(); 10515c728994311c40821604c6711171e860776659a6Prerepa Viswanadham 10525c728994311c40821604c6711171e860776659a6Prerepa Viswanadham /** 1053010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski * Requests the modem activity info asynchronously. 1054010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski * The implementor is expected to reply with the 1055010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski * {@link android.telephony.ModemActivityInfo} object placed into the Bundle with the key 1056010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski * {@link android.telephony.TelephonyManager#MODEM_ACTIVITY_RESULT_KEY}. 1057010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski * The result code is ignored. 10585c728994311c40821604c6711171e860776659a6Prerepa Viswanadham */ 1059010bf374d8145528f8733dfa6ef101b15de23a8dAdam Lesinski oneway void requestModemActivityInfo(in ResultReceiver result); 106039daf8d6f14a01d2854352fe08d14195f7a2056bJack Yu 106139daf8d6f14a01d2854352fe08d14195f7a2056bJack Yu /** 106239daf8d6f14a01d2854352fe08d14195f7a2056bJack Yu * Get the service state on specified subscription 106339daf8d6f14a01d2854352fe08d14195f7a2056bJack Yu * @param subId Subscription id 106439daf8d6f14a01d2854352fe08d14195f7a2056bJack Yu * @param callingPackage The package making the call 106539daf8d6f14a01d2854352fe08d14195f7a2056bJack Yu * @return Service state on specified subscription. 106639daf8d6f14a01d2854352fe08d14195f7a2056bJack Yu */ 106739daf8d6f14a01d2854352fe08d14195f7a2056bJack Yu ServiceState getServiceStateForSubscriber(int subId, String callingPackage); 1068740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen 1069740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen /** 1070740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * Returns the URI for the per-account voicemail ringtone set in Phone settings. 1071740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * 1072740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * @param accountHandle The handle for the {@link PhoneAccount} for which to retrieve the 1073740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * voicemail ringtone. 1074740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * @return The URI for the ringtone to play when receiving a voicemail from a specific 1075740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * PhoneAccount. 1076740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen */ 1077740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen Uri getVoicemailRingtoneUri(in PhoneAccountHandle accountHandle); 1078740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen 1079740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen /** 1080740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * Returns whether vibration is set for voicemail notification in Phone settings. 1081740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * 1082740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * @param accountHandle The handle for the {@link PhoneAccount} for which to retrieve the 1083740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * voicemail vibration setting. 1084740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen * @return {@code true} if the vibration is set for this PhoneAccount, {@code false} otherwise. 1085740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen */ 1086740fb3bcca1366e20783dd7656d3ffe6ea3a744eNancy Chen boolean isVoicemailVibrationEnabled(in PhoneAccountHandle accountHandle); 10874ec6368f13a53906757283d50a17ed3ed43eccc4Amith Yamasani 10884ec6368f13a53906757283d50a17ed3ed43eccc4Amith Yamasani /** 10894ec6368f13a53906757283d50a17ed3ed43eccc4Amith Yamasani * Returns a list of packages that have carrier privileges. 10904ec6368f13a53906757283d50a17ed3ed43eccc4Amith Yamasani */ 10914ec6368f13a53906757283d50a17ed3ed43eccc4Amith Yamasani List<String> getPackagesWithCarrierPrivileges(); 10922da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang 10932da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang /** 10942da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang * Return the application ID for the app type. 10952da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang * 10962da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang * @param subId the subscription ID that this request applies to. 10972da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang * @param appType the uicc app type, 10982da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang * @return Application ID for specificied app type or null if no uicc or error. 10992da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang */ 11002da9b2b8bfb01744d53c14a65a80035d3c8d7b2fYouhan Wang String getAidForAppType(int subId, int appType); 11017717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang 11027717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang /** 11037717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang * Return the Electronic Serial Number. 11047717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang * 11057717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang * Requires that the calling app has READ_PRIVILEGED_PHONE_STATE permission 11067717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang * 11077717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang * @param subId the subscription ID that this request applies to. 11087717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang * @return ESN or null if error. 11097717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang * @hide 11107717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang */ 11117717acd174795936756226a4bc367fdcb7b49c5dYouhan Wang String getEsn(int subId); 111206e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe 111306e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe /** 111406e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe * Get snapshot of Telephony histograms 111506e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe * @return List of Telephony histograms 111606e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe * Requires Permission: 111706e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} 111806e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe * Or the calling app has carrier privileges. 111906e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe */ 112006e1ae1a51b9fb8c65e610c22f86380c60a803a0Sanket Padawe List<TelephonyHistogram> getTelephonyHistograms(); 1121bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla} 1122