ITelephony.aidl revision 9bc8299ca0b2e8396b9f2f027c440cda164ba75e
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; 21ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordonimport android.telecom.PhoneAccount; 22fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleimport android.telephony.CellInfo; 23a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport android.telephony.IccOpenLogicalChannelResponse; 24a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport android.telephony.NeighboringCellInfo; 252af2d57d578e0c3a2740628e7c6336b19961cc49Wink Savilleimport android.telephony.RadioAccessFamily; 265c728994311c40821604c6711171e860776659a6Prerepa Viswanadhamimport android.telephony.ModemActivityInfo; 27d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawalimport com.android.internal.telephony.CellNetworkScanResult; 28d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawalimport com.android.internal.telephony.OperatorInfo; 29a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport java.util.List; 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 31aae9216320328e6b865725219a31a029ea46c1b0Sailesh Nepal 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 33767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Interface used to interact with the phone. Mostly this is used by the 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TelephonyManager class. A few places are still using this directly. 354a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Please clean them up if possible and use TelephonyManager instead. 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface ITelephony { 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Dial a number. This doesn't place the call. It displays 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the Dialer screen. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be dialed. If null, this 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * would display the Dialer screen with no number pre-filled. 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void dial(String number); 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Place a call to the specified number. 5116a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be called. 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 54f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn void call(String callingPackage, String number); 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 574d396052deb54399cbadbeb8abd873df6f3af342Jeff Brown * End call if there is a call in progress, otherwise does nothing. 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether it hung up 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean endCall(); 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 64fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * End call on particular subId or go to the Home screen 65fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 66fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether it hung up 67fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 6863f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean endCallForSubscriber(int subId); 69fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 70fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Answer the currently-ringing call. 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there's already a current active call, that call will be 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * automatically put on hold. If both lines are currently in use, the 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * current active call will be ended. 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: provide a flag to let the caller specify what policy to use 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if both lines are in use. (The current behavior is hardwired to 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * "answer incoming, end ongoing", which is how the CALL button 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is specced to behave.) 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call (especially since it's called 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * directly from the key queue thread). 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void answerRingingCall(); 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8805e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * Answer the currently-ringing call on particular subId . 8905e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 9005e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * If there's already a current active call, that call will be 9105e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * automatically put on hold. If both lines are currently in use, the 9205e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * current active call will be ended. 9305e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 9405e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * TODO: provide a flag to let the caller specify what policy to use 9505e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * if both lines are in use. (The current behavior is hardwired to 9605e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * "answer incoming, end ongoing", which is how the CALL button 9705e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * is specced to behave.) 9805e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 9905e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * TODO: this should be a oneway call (especially since it's called 10005e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * directly from the key queue thread). 10105e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville */ 10263f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void answerRingingCallForSubscriber(int subId); 10305e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville 10405e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville /** 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Silence the ringer if an incoming call is currently ringing. 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (If vibrating, stop the vibrator also.) 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * It's safe to call this if the ringer has already been silenced, or 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * even if there's no incoming call. (If so, this method will do nothing.) 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call too (see above). 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (Actually *all* the methods here that return void can 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * probably be oneway.) 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void silenceRinger(); 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if we are in either an active or holding call 1196e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is OFFHOOK. 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1226e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isOffhook(String callingPackage); 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 125fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if a particular subId has an active or holding call 126fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 127fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 1286e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 129fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is OFFHOOK. 130fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 1316e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isOffhookForSubscriber(int subId, String callingPackage); 132fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 133fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 134fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if an incoming phone call is ringing or call waiting 135fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * on a particular subId. 136fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 137fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 1386e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 139fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is RINGING. 140fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 1416e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isRingingForSubscriber(int subId, String callingPackage); 142fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 143fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if an incoming phone call is ringing or call waiting. 1456e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is RINGING. 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1486e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isRinging(String callingPackage); 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the phone is idle. 1526e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is IDLE. 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1556e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isIdle(String callingPackage); 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 158fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if the phone is idle on a particular subId. 159fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 160fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 1616e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 162fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is IDLE. 163fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 1646e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isIdleForSubscriber(int subId, String callingPackage); 165fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 166fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check to see if the radio is on or not. 1686e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return returns true if the radio is on. 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1716e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isRadioOn(String callingPackage); 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 174fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check to see if the radio is on or not on particular subId. 175fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 1766e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call. 177fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return returns true if the radio is on. 178fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 1796e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt boolean isRadioOnForSubscriber(int subId, String callingPackage); 180fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 181fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the SIM pin lock is enabled. 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the SIM pin lock is enabled. 18416a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 18616a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov boolean isSimPinEnabled(String callingPackage); 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Supply a pin to unlock the SIM. Blocks until a result is determined. 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param pin The pin to check. 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether the operation was a success. 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean supplyPin(String pin); 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 196fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM for particular subId. 197fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 198fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 199fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 200fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 201fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 20263f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean supplyPinForSubscriber(int subId, String pin); 203fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 204fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 20598c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Supply puk to unlock the SIM and set SIM pin to new pin. 20698c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Blocks until a result is determined. 20798c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @param puk The puk to check. 20898c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * pin The new pin to be set in SIM 20998c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @return whether the operation was a success. 21098c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang */ 21198c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang boolean supplyPuk(String puk, String pin); 21298c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 21398c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang /** 214fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 215fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 216fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check. 217fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The new pin to be set in SIM 218fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 219fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 220fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 22163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean supplyPukForSubscriber(int subId, String puk, String pin); 222fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 223fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 224b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 225b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code. 226b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param pin The pin to check. 227b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 228b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 229b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 230b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPinReportResult(String pin); 231b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 232b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 233fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 234fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code. 235fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 236fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 237fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 238fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 23963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int[] supplyPinReportResultForSubscriber(int subId, String pin); 240fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 241fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 242b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 243b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Blocks until a result is determined. 244b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code 245b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param puk The puk to check 246b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * pin The pin to check. 247b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 248b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 249b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 250b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPukReportResult(String puk, String pin); 251b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 252b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 253fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 254fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 255fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code 256fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check 257fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The pin to check. 258fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 259fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 260fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 26163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int[] supplyPukReportResultForSubscriber(int subId, String puk, String pin); 262fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 263fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without SEND (so <code>dial</code> is not appropriate). 266767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialString the MMI command to be executed. 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if MMI command is executed. 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handlePinMmi(String dialString); 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 273fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 274fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * without SEND (so <code>dial</code> is not appropriate) for 275fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * a particular subId. 276fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param dialString the MMI command to be executed. 277fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 278fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if MMI command is executed. 279fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 28063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean handlePinMmiForSubscriber(int subId, String dialString); 281fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 282fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Toggles the radio on or off. 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void toggleRadioOnOff(); 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 288fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Toggles the radio on or off on particular subId. 289fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 290fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 29163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void toggleRadioOnOffForSubscriber(int subId); 292fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 293fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the radio to on or off 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setRadio(boolean turnOn); 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 299fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set the radio to on or off on particular subId. 300fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 301fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 30263f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean setRadioForSubscriber(int subId, boolean turnOn); 303fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 304fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 30545ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville * Set the radio to on or off unconditionally 30645ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville */ 30745ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville boolean setRadioPower(boolean turnOn); 30845ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville 30945ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville /** 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Request to update location information in service state 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void updateServiceLocation(); 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 315fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Request to update location information for a subscrition in service state 316fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 317fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 31863f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void updateServiceLocationForSubscriber(int subId); 319fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 320fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable location update notifications. 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void enableLocationUpdates(); 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 326fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Enable location update notifications. 327fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 328fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 32963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void enableLocationUpdatesForSubscriber(int subId); 330fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 331fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable location update notifications. 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableLocationUpdates(); 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 337fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Disable location update notifications. 338fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 339fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 34063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void disableLocationUpdatesForSubscriber(int subId); 341fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 342fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Allow mobile data connections. 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean enableDataConnectivity(); 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disallow mobile data connections. 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean disableDataConnectivity(); 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report whether data connectivity is possible. 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDataConnectivityPossible(); 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 357275b5635ad98a411d511894e98f80e8b8bc41799Svetoslav Bundle getCellLocation(String callingPkg); 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the neighboring cell information of the device. 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 362f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn List<NeighboringCellInfo> getNeighboringCellInfo(String callingPkg); 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getCallState(); 365fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 366fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 367fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the call state for a subId. 368fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 36963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getCallStateForSubscriber(int subId); 370fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataActivity(); 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataState(); 373767a662ecde33c3979bf02b793d392aca0403162Wink Saville 374767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 375767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns the current active phone type as integer. 376767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 377767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 378767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 379767a662ecde33c3979bf02b793d392aca0403162Wink Saville int getActivePhoneType(); 380767a662ecde33c3979bf02b793d392aca0403162Wink Saville 381e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 382fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the current active phone type as integer for particular subId. 383fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 384fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 385fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 386fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 38763f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getActivePhoneTypeForSubscriber(int subId); 388fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 389fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 390e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon index to display 3916e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 392e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 3936e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getCdmaEriIconIndex(String callingPackage); 394e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 395e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 396fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon index to display on particular subId. 397fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 3986e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 399fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 4006e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getCdmaEriIconIndexForSubscriber(int subId, String callingPackage); 401fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 402fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 403e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon mode, 404e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 0 - ON 405e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1 - FLASHING 4066e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 407e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 4086e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getCdmaEriIconMode(String callingPackage); 409e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 410e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 411fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon mode on particular subId, 412fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 0 - ON 413fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 1 - FLASHING 414fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 4156e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 416fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 4176e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getCdmaEriIconModeForSubscriber(int subId, String callingPackage); 418fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 419fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 420e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI text, 4216e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 422e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 4236e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt String getCdmaEriText(String callingPackage); 424e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 425dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 426fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI text for particular subId, 427fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 4286e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 429fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 4306e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt String getCdmaEriTextForSubscriber(int subId, String callingPackage); 431fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 432fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4334d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Returns true if OTA service provisioning needs to run. 4344d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Only relevant on some technologies, others will always 4354d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * return false. 436767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller */ 4374d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville boolean needsOtaServiceProvisioning(); 438767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller 439767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller /** 4405c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal * Sets the voicemail number for a particular subscriber. 4415c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal */ 4425c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal boolean setVoiceMailNumber(int subId, String alphaTag, String number); 4435c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal 4445c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal /** 445dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Returns the unread count of voicemails 446dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 447ce099c3226b33b43e0dd5d1f24347b14a2223ee1David Krause int getVoiceMessageCount(); 448dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 449ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** 450fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails for a subId. 451fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 452fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails 453fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 45463f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getVoiceMessageCountForSubscriber(int subId); 455fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 456fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4576e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * Returns the network type for data transmission 4589bc8299ca0b2e8396b9f2f027c440cda164ba75eRobert Greenwalt * Legacy call, permission-free 4596e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt */ 4609bc8299ca0b2e8396b9f2f027c440cda164ba75eRobert Greenwalt int getNetworkType(); 46198c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 462e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville /** 463fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type of a subId. 464fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 4656e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 466fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 4676e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getNetworkTypeForSubscriber(int subId, String callingPackage); 468fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 469fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4706e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * Returns the network type for data transmission 4716e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 4726e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt */ 4736e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getDataNetworkType(String callingPackage); 4740dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 4750dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 4766e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * Returns the data network type of a subId 4776e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param subId user preferred subId. 4786e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage package making the call. 4796e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt */ 4806e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getDataNetworkTypeForSubscriber(int subId, String callingPackage); 481fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 482fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 483fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the voice network type of a subId 484fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 4859bc8299ca0b2e8396b9f2f027c440cda164ba75eRobert Greenwalt * @param callingPackage package making the call. 486fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 487fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 4889bc8299ca0b2e8396b9f2f027c440cda164ba75eRobert Greenwalt int getVoiceNetworkTypeForSubscriber(int subId, String callingPackage); 489fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 490fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 491e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville * Return true if an ICC card is present 492e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville */ 493e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville boolean hasIccCard(); 4945e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville 4955e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville /** 496fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present for a subId. 497fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param slotId user preferred slotId. 498fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present 499fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 50063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean hasIccCardUsingSlotId(int slotId); 501fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 502fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 5035e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * Return if the current radio is LTE on CDMA. This 5045e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * is a tri-state return value as for a period of time 5055e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * the mode may be unknown. 5065e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * 5076e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the calling package 5085e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 5095e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 5105e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville */ 5116e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getLteOnCdmaMode(String callingPackage); 512963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 513963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 514fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return if the current radio is LTE on CDMA. This 515fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * is a tri-state return value as for a period of time 516fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * the mode may be unknown. 517fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 5186e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the calling package 519fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 520fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 521fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 5226e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getLteOnCdmaModeForSubscriber(int subId, String callingPackage); 523fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 524fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 525963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Returns the all observed cell information of the device. 526963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 527275b5635ad98a411d511894e98f80e8b8bc41799Svetoslav List<CellInfo> getAllCellInfo(String callingPkg); 528094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville 529094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville /** 530094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville * Sets minimum time in milli-seconds between onCellInfoChanged 531094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville */ 532094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville void setCellInfoListRate(int rateInMillis); 533767a662ecde33c3979bf02b793d392aca0403162Wink Saville 53457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 535fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * get default sim 536fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return sim id 537fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 538fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getDefaultSim(); 539fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 540fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 54157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Opens a logical channel to the ICC card. 54257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 54357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHO command. 54457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 54557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param AID Application id. See ETSI 102.221 and 101.220. 546a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return an IccOpenLogicalChannelResponse object. 54757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 548a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal IccOpenLogicalChannelResponse iccOpenLogicalChannel(String AID); 54957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 55057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 55157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Closes a previously opened logical channel to the ICC card. 55257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 55357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHC command. 55457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 55557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 55657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 55757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return true if the channel was closed successfully. 55857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 55957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal boolean iccCloseLogicalChannel(int channel); 56057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 56157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 56257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Transmit an APDU to the ICC card over a logical channel. 56357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 56457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CGLA command. 56557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 56657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 56757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 56857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param cla Class of the APDU command. 56957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param instruction Instruction of the APDU command. 57057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p1 P1 value of the APDU command. 57157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p2 P2 value of the APDU command. 57257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 57357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * is sent to the SIM. 57457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param data Data to be sent with the APDU. 57557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return The APDU response from the ICC card with the status appended at 57643d94347a6feb14870a4ffd7682a816210e5e676Shishir Agrawal * the end. 57757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 578375890841df7aad36a042861f6a70f11e1f32766Shishir Agrawal String iccTransmitApduLogicalChannel(int channel, int cla, int instruction, 57957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal int p1, int p2, int p3, String data); 5808f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5818f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 582a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Transmit an APDU to the ICC card over the basic channel. 583a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 584a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CSIM command. 585a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 586a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param cla Class of the APDU command. 587a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param instruction Instruction of the APDU command. 588a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p1 P1 value of the APDU command. 589a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p2 P2 value of the APDU command. 590a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 591a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * is sent to the SIM. 592a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param data Data to be sent with the APDU. 593a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return The APDU response from the ICC card with the status appended at 59443d94347a6feb14870a4ffd7682a816210e5e676Shishir Agrawal * the end. 595a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal */ 596a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal String iccTransmitApduBasicChannel(int cla, int instruction, 597a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal int p1, int p2, int p3, String data); 598a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal 599a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal /** 600a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Returns the response APDU for a command APDU sent through SIM_IO. 601a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 602a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param fileID 603a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param command 604a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p1 P1 value of the APDU command. 605a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p2 P2 value of the APDU command. 606a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p3 P3 value of the APDU command. 607a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param filePath 608a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return The APDU response. 609a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal */ 610a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal byte[] iccExchangeSimIO(int fileID, int command, int p1, int p2, int p3, 611a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal String filePath); 612a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal 613a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal /** 614b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * Send ENVELOPE to the SIM and returns the response. 615210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * 616210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * @param contents String containing SAT/USAT response in hexadecimal 617210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * format starting with command tag. See TS 102 223 for 618210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * details. 619b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * @return The APDU response from the ICC card, with the last 4 bytes 620b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * being the status word. If the command fails, returns an empty 621b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * string. 622210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton */ 623b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton String sendEnvelopeWithStatus(String content); 624210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton 625210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton /** 6268f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 6278f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6288f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6298f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 6308f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return the NV item as a String, or null on any failure. 6318f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6328f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby String nvReadItem(int itemID); 6338f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6348f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 6358f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Write one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 6368f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6378f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6388f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 6398f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemValue the value to write, as a String. 6408f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6418f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6428f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteItem(int itemID, String itemValue); 6438f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6448f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 6458f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. 6468f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6478f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6488f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param preferredRoamingList byte array containing the new PRL. 6498f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6508f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6518f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteCdmaPrl(in byte[] preferredRoamingList); 6528f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6538f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 654786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * Perform the specified type of NV config reset. The radio will be taken offline 655786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * and the device must be rebooted after the operation. Used for device 656786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * configuration by some CDMA operators. 6578f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6588f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param resetType the type of reset to perform (1 == factory reset; 2 == NV-only reset). 6598f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6608f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6618f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvResetConfig(int resetType); 6628f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6639bbb37116d2c5b597f9b5e3094ff328971e03c0bEvan Charlton /* 6641365703d4964466472904dc84117a0946d9e1a44Junda Liu * Get the calculated preferred network type. 6651365703d4964466472904dc84117a0946d9e1a44Junda Liu * Used for device configuration by some CDMA operators. 66616a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 6671365703d4964466472904dc84117a0946d9e1a44Junda Liu * 6681365703d4964466472904dc84117a0946d9e1a44Junda Liu * @return the calculated preferred network type, defined in RILConstants.java. 6691365703d4964466472904dc84117a0946d9e1a44Junda Liu */ 67016a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov int getCalculatedPreferredNetworkType(String callingPackage); 6711365703d4964466472904dc84117a0946d9e1a44Junda Liu 6721365703d4964466472904dc84117a0946d9e1a44Junda Liu /* 6734a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Get the preferred network type. 6744a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 6754a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 676984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to query. 6774a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return the preferred network type, defined in RILConstants.java. 6784a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 679984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott int getPreferredNetworkType(int subId); 6804a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby 6814a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby /** 68238531581fc19f9172fabe56047b326e5dab88625Junda Liu * Check TETHER_DUN_REQUIRED and TETHER_DUN_APN settings, net.tethering.noprovisioning 68338531581fc19f9172fabe56047b326e5dab88625Junda Liu * SystemProperty, and config_tether_apndata to decide whether DUN APN is required for 68438531581fc19f9172fabe56047b326e5dab88625Junda Liu * tethering. 68538531581fc19f9172fabe56047b326e5dab88625Junda Liu * 68638531581fc19f9172fabe56047b326e5dab88625Junda Liu * @return 0: Not required. 1: required. 2: Not set. 68738531581fc19f9172fabe56047b326e5dab88625Junda Liu */ 68838531581fc19f9172fabe56047b326e5dab88625Junda Liu int getTetherApnRequired(); 68938531581fc19f9172fabe56047b326e5dab88625Junda Liu 69038531581fc19f9172fabe56047b326e5dab88625Junda Liu /** 691984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * Set the network selection mode to automatic. 692984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * 693984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to update. 694984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott */ 695984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott void setNetworkSelectionModeAutomatic(int subId); 696984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott 697984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott /** 698d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * Perform a radio scan and return the list of avialble networks. 699d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * 700d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @param subId the id of the subscription. 701d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @return CellNetworkScanResult containing status of scan and networks. 702d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal */ 703d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal CellNetworkScanResult getCellNetworkScanResults(int subId); 704d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal 705d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal /** 706d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * Ask the radio to connect to the input network and change selection mode to manual. 707d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * 708d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @param subId the id of the subscription. 709d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @param operatorInfo the operator to attach to. 710d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal * @return true if the request suceeded. 711d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal */ 712d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal boolean setNetworkSelectionModeManual(int subId, in OperatorInfo operator); 713d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal 714d4f2bcdab5a43e6439babfd5eefeaff908b73870Shishir Agrawal /** 7154a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Set the preferred network type. 7164a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 7174a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 718984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to update. 7194a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @param networkType the preferred network type, defined in RILConstants.java. 7204a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return true on success; false on any failure. 7214a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 722984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott boolean setPreferredNetworkType(int subId, int networkType); 723afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 724afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 725afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * User enable/disable Mobile Data. 726afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 727afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @param enable true to turn on, else false 728afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 72936ffb0494dd1045c164b7479b68165e206f8c759Wink Saville void setDataEnabled(int subId, boolean enable); 730afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 731afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 732afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * Get the user enabled state of Mobile Data. 733afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 734afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @return true on enabled 735afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 73636ffb0494dd1045c164b7479b68165e206f8c759Wink Saville boolean getDataEnabled(int subId); 737fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 738fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 739fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Get P-CSCF address from PCO after data connection is established or modified. 740e647099e14114475e9a2827a10dab2d2e36308c4ram * @param apnType the apnType, "ims" for IMS APN, "emergency" for EMERGENCY APN 74116a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 742fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 74316a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String[] getPcscfAddress(String apnType, String callingPackage); 744fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 745fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 746fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set IMS registration state 747fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 748fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void setImsRegistrationState(boolean registered); 749fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 750762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal /** 7512b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * Return MDN string for CDMA phone. 7522b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * @param subId user preferred subId. 7532b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu */ 75463f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville String getCdmaMdn(int subId); 7552b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu 7562b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu /** 7572b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * Return MIN string for CDMA phone. 7582b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * @param subId user preferred subId. 7592b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu */ 76063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville String getCdmaMin(int subId); 7612b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu 7622b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu /** 763762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * Has the calling application been granted special privileges by the carrier. 764762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 765762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * If any of the packages in the calling UID has carrier privileges, the 766762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * call will return true. This access is granted by the owner of the UICC 767762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * card and does not depend on the registered carrier. 768762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 769762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * TODO: Add a link to documentation. 770762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 771fc3646f58e5851e7a483b8388bdd826078166d10Shishir Agrawal * @return carrier privilege status defined in TelephonyManager. 772762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal */ 773ab57c29092eb9185375de86d82ff32e6079f5cecShishir Agrawal int getCarrierPrivilegeStatus(); 774142529702dad9a6612271f487d500db80173ba7bJunda Liu 775142529702dad9a6612271f487d500db80173ba7bJunda Liu /** 776b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson * Similar to above, but check for the package whose name is pkgName. 777142529702dad9a6612271f487d500db80173ba7bJunda Liu */ 778b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson int checkCarrierPrivilegesForPackage(String pkgName); 779b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson 780b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson /** 781b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson * Similar to above, but check across all phones. 782b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson */ 783b4b9ca7580c75f07330e5222cbd9ccc93b12935eZach Johnson int checkCarrierPrivilegesForPackageAnyPhone(String pkgName); 784f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan 785f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan /** 786f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * Returns list of the package names of the carrier apps that should handle the input intent 787f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * and have carrier privileges for the given phoneId. 78863c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * 7893892fc0349a91097f53152eaf2801dfebb2066caDiego Pontoriero * @param intent Intent that will be sent. 790f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * @param phoneId The phoneId on which the carrier app has carrier privileges. 791f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * @return list of carrier app package names that can handle the intent on phoneId. 79263c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * Returns null if there is an error and an empty list if there 79363c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * are no matching packages. 79463c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal */ 795f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu List<String> getCarrierPackageNamesForIntentAndPhone(in Intent intent, int phoneId); 79663c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal 79763c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal /** 7982bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * Set the line 1 phone number string and its alphatag for the current ICCID 7992bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * for display purpose only, for example, displayed in Phone Status. It won't 8002bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * change the actual MSISDN/MDN. To unset alphatag or number, pass in a null 8012bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * value. 802818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 803818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId the subscriber that the alphatag and dialing number belongs to. 804818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param alphaTag alpha-tagging of the dailing nubmer 805818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param number The dialing number 8060201a6f6f16a872405a5f9ee65026e948eb162d0Shishir Agrawal * @return true if the operation was executed correctly. 807818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 8080201a6f6f16a872405a5f9ee65026e948eb162d0Shishir Agrawal boolean setLine1NumberForDisplayForSubscriber(int subId, String alphaTag, String number); 809818631b679171ffb49eaa641bee06b9c953651daDerek Tan 810818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 811818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Returns the displayed dialing number string if it was set previously via 812818631b679171ffb49eaa641bee06b9c953651daDerek Tan * {@link #setLine1NumberForDisplay}. Otherwise returns null. 813818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 814818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId whose dialing number for line 1 is returned. 81516a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 816818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @return the displayed dialing number if set, or null if not set. 817818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 81816a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getLine1NumberForDisplay(int subId, String callingPackage); 819818631b679171ffb49eaa641bee06b9c953651daDerek Tan 820818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 821818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Returns the displayed alphatag of the dialing number if it was set 822818631b679171ffb49eaa641bee06b9c953651daDerek Tan * previously via {@link #setLine1NumberForDisplay}. Otherwise returns null. 823818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 824818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId whose alphatag associated with line 1 is returned. 82516a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 826818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @return the displayed alphatag of the dialing number if set, or null if 827818631b679171ffb49eaa641bee06b9c953651daDerek Tan * not set. 828818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 82916a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getLine1AlphaTagForDisplay(int subId, String callingPackage); 83086578cca383562c72751d747905280afdeb2bdfbShishir Agrawal 831d24e4eafdb3e42de5a8fd080fcd50ebf4c7bcb71Fyodor Kupolov String[] getMergedSubscriberIds(String callingPackage); 8323256601f5e4d94713f59e97b9d4912875c1bdcafJeff Sharkey 83386578cca383562c72751d747905280afdeb2bdfbShishir Agrawal /** 834d2cfa92146ecfa5e00d4a3ce8e63b1a588845fe2Shishir Agrawal * Override the operator branding for the current ICCID. 83586578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 836d2cfa92146ecfa5e00d4a3ce8e63b1a588845fe2Shishir Agrawal * Once set, whenever the SIM is present in the device, the service 83786578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * provider name (SPN) and the operator name will both be replaced by the 83886578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * brand value input. To unset the value, the same function should be 83986578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * called with a null brand value. 84086578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 84186578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * <p>Requires Permission: 84286578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} 84386578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * or has to be carrier app - see #hasCarrierPrivileges. 84486578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 84586578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @param brand The brand name to display/set. 84686578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @return true if the operation was executed correctly. 84786578cca383562c72751d747905280afdeb2bdfbShishir Agrawal */ 848d2cfa92146ecfa5e00d4a3ce8e63b1a588845fe2Shishir Agrawal boolean setOperatorBrandOverride(String brand); 8493099c831441e861328cd4965011c854e060ce56aSteven Liu 8503099c831441e861328cd4965011c854e060ce56aSteven Liu /** 8515fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * Override the roaming indicator for the current ICCID. 8525fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8535fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * Using this call, the carrier app (see #hasCarrierPrivileges) can override 8545fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * the platform's notion of a network operator being considered roaming or not. 8555fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * The change only affects the ICCID that was active when this call was made. 8565fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8575fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * If null is passed as any of the input, the corresponding value is deleted. 8585fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8595fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * <p>Requires that the caller have carrier privilege. See #hasCarrierPrivileges. 8605fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8615fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param gsmRoamingList - List of MCCMNCs to be considered roaming for 3GPP RATs. 8625fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param gsmNonRoamingList - List of MCCMNCs to be considered not roaming for 3GPP RATs. 8635fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param cdmaRoamingList - List of SIDs to be considered roaming for 3GPP2 RATs. 8645fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param cdmaNonRoamingList - List of SIDs to be considered not roaming for 3GPP2 RATs. 8655fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @return true if the operation was executed correctly. 8665fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal */ 8675fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal boolean setRoamingOverride(in List<String> gsmRoamingList, 8685fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal in List<String> gsmNonRoamingList, in List<String> cdmaRoamingList, 8695fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal in List<String> cdmaNonRoamingList); 8705fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal 8715fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal /** 8723099c831441e861328cd4965011c854e060ce56aSteven Liu * Returns the result and response from RIL for oem request 8733099c831441e861328cd4965011c854e060ce56aSteven Liu * 8743099c831441e861328cd4965011c854e060ce56aSteven Liu * @param oemReq the data is sent to ril. 8753099c831441e861328cd4965011c854e060ce56aSteven Liu * @param oemResp the respose data from RIL. 8763099c831441e861328cd4965011c854e060ce56aSteven Liu * @return negative value request was not handled or get error 8773099c831441e861328cd4965011c854e060ce56aSteven Liu * 0 request was handled succesfully, but no response data 8783099c831441e861328cd4965011c854e060ce56aSteven Liu * positive value success, data length of response 8793099c831441e861328cd4965011c854e060ce56aSteven Liu */ 8803099c831441e861328cd4965011c854e060ce56aSteven Liu int invokeOemRilRequestRaw(in byte[] oemReq, out byte[] oemResp); 881fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 882bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla /** 883bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * Check if any mobile Radios need to be shutdown. 884bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * 885bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * @return true is any mobile radio needs to be shutdown 886bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla */ 887bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla boolean needMobileRadioShutdown(); 888bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla 889bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla /** 890bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * Shutdown Mobile Radios 891bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla */ 892bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla void shutdownMobileRadios(); 8932af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville 8942af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville /** 8952af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * Set phone radio type and access technology. 8962af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * 8972af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @param rafs an RadioAccessFamily array to indicate all phone's 8982af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * new radio access family. The length of RadioAccessFamily 8992af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * must equ]]al to phone count. 9002af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville */ 9012af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville void setRadioCapability(in RadioAccessFamily[] rafs); 9022af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville 9032af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville /** 9042af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * Get phone radio type and access technology. 9052af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * 9062af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @param phoneId which phone you want to get 9076e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt * @param callingPackage the name of the package making the call 9082af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @return phone radio type and access technology 9092af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville */ 9106e4a98f8707f759fa9f47a458683a3627e42b0b6Robert Greenwalt int getRadioAccessFamily(in int phoneId, String callingPackage); 9114a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee 9124a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee /** 9134a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Enables or disables video calling. 9144a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * 9154a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * @param enable Whether to enable video calling. 9164a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee */ 9174a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee void enableVideoCalling(boolean enable); 9184a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee 9194a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee /** 9204a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Whether video calling has been enabled by the user. 9214a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * 92216a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 92367fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the user has enabled video calling, {@code false} otherwise. 9244a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee */ 92516a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov boolean isVideoCallingEnabled(String callingPackage); 9260b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe 9270303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com /** 92867fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * Whether the DTMF tone length can be changed. 92967fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * 93067fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the DTMF tone length can be changed. 93167fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee */ 93267fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee boolean canChangeDtmfToneLength(); 93367fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee 93467fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee /** 93567fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * Whether the device is a world phone. 93667fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * 93767fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the devices is a world phone. 93867fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee */ 93967fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee boolean isWorldPhone(); 94067fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee 94167fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee /** 942f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * Whether the phone supports TTY mode. 943f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * 944f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * @return {@code true} if the device supports TTY mode. 945f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee */ 946f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee boolean isTtyModeSupported(); 947f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee 948f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee /** 949f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * Whether the phone supports hearing aid compatibility. 950f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * 951f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * @return {@code true} if the device supports hearing aid compatibility. 952f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee */ 953f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee boolean isHearingAidCompatibilitySupported(); 954f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee /** 9550303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com * Get IMS Registration Status 9560303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com */ 9570303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com boolean isImsRegistered(); 9580b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe 9590b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe /** 96042eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold * Returns the Status of Wi-Fi Calling 96142eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold *@hide 96242eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold */ 96342eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold boolean isWifiCallingEnabled(); 96442eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold 96542eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold /** 96642eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold * Returns the Status of Volte 96742eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold *@hide 96842eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold */ 96942eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold boolean isVolteEnabled(); 97042eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold 97142eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold /** 9720b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * Returns the unique device ID of phone, for example, the IMEI for 9730b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * GSM and the MEID for CDMA phones. Return null if device ID is not available. 9740b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * 97516a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 9760b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * <p>Requires Permission: 9770b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} 9780b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe */ 97916a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getDeviceId(String callingPackage); 980ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon 981ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon /** 982ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon * Returns the subscription ID associated with the specified PhoneAccount. 983ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon */ 984ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon int getSubIdForPhoneAccount(in PhoneAccount phoneAccount); 985f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott 986f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott void factoryReset(int subId); 9877ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath 9887ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath /** 9897ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * An estimate of the users's current locale based on the default SIM. 9907ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * 9917ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * The returned string will be a well formed BCP-47 language tag, or {@code null} 9927ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * if no locale could be derived. 9937ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath */ 9947ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath String getLocaleFromDefaultSim(); 9955c728994311c40821604c6711171e860776659a6Prerepa Viswanadham 9965c728994311c40821604c6711171e860776659a6Prerepa Viswanadham /** 9975c728994311c40821604c6711171e860776659a6Prerepa Viswanadham * Return the modem activity info. 9985c728994311c40821604c6711171e860776659a6Prerepa Viswanadham *@hide 9995c728994311c40821604c6711171e860776659a6Prerepa Viswanadham */ 10005c728994311c40821604c6711171e860776659a6Prerepa Viswanadham ModemActivityInfo getModemActivityInfo(); 1001bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla} 1002