ITelephony.aidl revision 2b2469b07d6ea9410bdb8d1234aa2320b02bdaa9
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; 21fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleimport android.telephony.CellInfo; 22a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport android.telephony.IccOpenLogicalChannelResponse; 23a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport android.telephony.NeighboringCellInfo; 24a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport java.util.List; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 26aae9216320328e6b865725219a31a029ea46c1b0Sailesh Nepal 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 28767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Interface used to interact with the phone. Mostly this is used by the 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TelephonyManager class. A few places are still using this directly. 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Please clean them up if possible and use TelephonyManager insteadl. 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface ITelephony { 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Dial a number. This doesn't place the call. It displays 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the Dialer screen. 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be dialed. If null, this 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * would display the Dialer screen with no number pre-filled. 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void dial(String number); 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Place a call to the specified number. 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be called. 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 48f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn void call(String callingPackage, String number); 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 514d396052deb54399cbadbeb8abd873df6f3af342Jeff Brown * End call if there is a call in progress, otherwise does nothing. 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether it hung up 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean endCall(); 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 58fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * End call on particular subId or go to the Home screen 59fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 60fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether it hung up 61fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 62fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean endCallUsingSubId(long subId); 63fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 64fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Answer the currently-ringing call. 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there's already a current active call, that call will be 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * automatically put on hold. If both lines are currently in use, the 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * current active call will be ended. 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: provide a flag to let the caller specify what policy to use 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if both lines are in use. (The current behavior is hardwired to 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * "answer incoming, end ongoing", which is how the CALL button 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is specced to behave.) 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call (especially since it's called 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * directly from the key queue thread). 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void answerRingingCall(); 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Silence the ringer if an incoming call is currently ringing. 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (If vibrating, stop the vibrator also.) 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * It's safe to call this if the ringer has already been silenced, or 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * even if there's no incoming call. (If so, this method will do nothing.) 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call too (see above). 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (Actually *all* the methods here that return void can 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * probably be oneway.) 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void silenceRinger(); 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if we are in either an active or holding call 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is OFFHOOK. 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isOffhook(); 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 101fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if a particular subId has an active or holding call 102fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 103fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 104fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is OFFHOOK. 105fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 106fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean isOffhookUsingSubId(long subId); 107fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 108fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 109fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if an incoming phone call is ringing or call waiting 110fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * on a particular subId. 111fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 112fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 113fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is RINGING. 114fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 115fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean isRingingUsingSubId(long subId); 116fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 117fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if an incoming phone call is ringing or call waiting. 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is RINGING. 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isRinging(); 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the phone is idle. 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is IDLE. 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isIdle(); 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 130fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if the phone is idle on a particular subId. 131fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 132fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 133fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is IDLE. 134fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 135fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean isIdleUsingSubId(long subId); 136fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 137fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check to see if the radio is on or not. 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return returns true if the radio is on. 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isRadioOn(); 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 144fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check to see if the radio is on or not on particular subId. 145fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 146fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return returns true if the radio is on. 147fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 148fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean isRadioOnUsingSubId(long subId); 149fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 150fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the SIM pin lock is enabled. 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the SIM pin lock is enabled. 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isSimPinEnabled(); 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Supply a pin to unlock the SIM. Blocks until a result is determined. 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param pin The pin to check. 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether the operation was a success. 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean supplyPin(String pin); 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 164fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM for particular subId. 165fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 166fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 167fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 168fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 169fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 170fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean supplyPinUsingSubId(long subId, String pin); 171fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 172fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 17398c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Supply puk to unlock the SIM and set SIM pin to new pin. 17498c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Blocks until a result is determined. 17598c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @param puk The puk to check. 17698c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * pin The new pin to be set in SIM 17798c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @return whether the operation was a success. 17898c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang */ 17998c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang boolean supplyPuk(String puk, String pin); 18098c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 18198c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang /** 182fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 183fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 184fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check. 185fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The new pin to be set in SIM 186fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 187fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 188fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 189fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean supplyPukUsingSubId(long subId, String puk, String pin); 190fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 191fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 192b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 193b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code. 194b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param pin The pin to check. 195b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 196b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 197b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 198b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPinReportResult(String pin); 199b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 200b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 201fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 202fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code. 203fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 204fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 205fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 206fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 207fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int[] supplyPinReportResultUsingSubId(long subId, String pin); 208fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 209fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 210b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 211b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Blocks until a result is determined. 212b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code 213b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param puk The puk to check 214b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * pin The pin to check. 215b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 216b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 217b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 218b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPukReportResult(String puk, String pin); 219b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 220b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 221fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 222fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 223fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code 224fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check 225fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The pin to check. 226fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 227fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 228fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 229fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int[] supplyPukReportResultUsingSubId(long subId, String puk, String pin); 230fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 231fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without SEND (so <code>dial</code> is not appropriate). 234767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialString the MMI command to be executed. 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if MMI command is executed. 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handlePinMmi(String dialString); 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 241fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 242fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * without SEND (so <code>dial</code> is not appropriate) for 243fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * a particular subId. 244fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param dialString the MMI command to be executed. 245fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 246fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if MMI command is executed. 247fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 248fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean handlePinMmiUsingSubId(long subId, String dialString); 249fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 250fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Toggles the radio on or off. 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void toggleRadioOnOff(); 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 256fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Toggles the radio on or off on particular subId. 257fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 258fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 259fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void toggleRadioOnOffUsingSubId(long subId); 260fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 261fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the radio to on or off 2639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setRadio(boolean turnOn); 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 267fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set the radio to on or off on particular subId. 268fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 269fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 270fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean setRadioUsingSubId(long subId, boolean turnOn); 271fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 272fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 27345ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville * Set the radio to on or off unconditionally 27445ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville */ 27545ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville boolean setRadioPower(boolean turnOn); 27645ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville 27745ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville /** 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Request to update location information in service state 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void updateServiceLocation(); 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 283fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Request to update location information for a subscrition in service state 284fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 285fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 286fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void updateServiceLocationUsingSubId(long subId); 287fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 288fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable location update notifications. 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void enableLocationUpdates(); 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 294fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Enable location update notifications. 295fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 296fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 297fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void enableLocationUpdatesUsingSubId(long subId); 298fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 299fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable location update notifications. 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableLocationUpdates(); 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 305fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Disable location update notifications. 306fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 307fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 308fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void disableLocationUpdatesUsingSubId(long subId); 309fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 310fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Allow mobile data connections. 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean enableDataConnectivity(); 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disallow mobile data connections. 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean disableDataConnectivity(); 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report whether data connectivity is possible. 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDataConnectivityPossible(); 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Bundle getCellLocation(); 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the neighboring cell information of the device. 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 330f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn List<NeighboringCellInfo> getNeighboringCellInfo(String callingPkg); 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getCallState(); 333fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 334fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 335fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the call state for a subId. 336fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 337fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getCallStateUsingSubId(long subId); 338fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataActivity(); 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataState(); 341767a662ecde33c3979bf02b793d392aca0403162Wink Saville 342767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 343767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns the current active phone type as integer. 344767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 345767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 346767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 347767a662ecde33c3979bf02b793d392aca0403162Wink Saville int getActivePhoneType(); 348767a662ecde33c3979bf02b793d392aca0403162Wink Saville 349e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 350fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the current active phone type as integer for particular subId. 351fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 352fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 353fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 354fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 355fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getActivePhoneTypeUsingSubId(long subId); 356fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 357fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 358e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon index to display 359e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 360e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int getCdmaEriIconIndex(); 361e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 362e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 363fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon index to display on particular subId. 364fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 365fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 366fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getCdmaEriIconIndexUsingSubId(long subId); 367fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 368fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 369e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon mode, 370e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 0 - ON 371e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1 - FLASHING 372e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 373e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int getCdmaEriIconMode(); 374e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 375e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 376fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon mode on particular subId, 377fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 0 - ON 378fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 1 - FLASHING 379fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 380fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 381fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getCdmaEriIconModeUsingSubId(long subId); 382fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 383fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 384e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI text, 385e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 386e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville String getCdmaEriText(); 387e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 388dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 389fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI text for particular subId, 390fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 391fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 392fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville String getCdmaEriTextUsingSubId(long subId); 393fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 394fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3954d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Returns true if OTA service provisioning needs to run. 3964d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Only relevant on some technologies, others will always 3974d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * return false. 398767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller */ 3994d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville boolean needsOtaServiceProvisioning(); 400767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller 401767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller /** 402dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Returns the unread count of voicemails 403dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 404ce099c3226b33b43e0dd5d1f24347b14a2223ee1David Krause int getVoiceMessageCount(); 405dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 406ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** 407fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails for a subId. 408fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 409fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails 410fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 411fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getVoiceMessageCountUsingSubId(long subId); 412fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 413fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4140dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for data transmission 415ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe */ 416ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe int getNetworkType(); 41798c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 418e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville /** 419fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type of a subId. 420fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 421fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 422fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 423fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getNetworkTypeUsingSubId(long subId); 424fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 425fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4260dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for data transmission 4270dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 4280dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville int getDataNetworkType(); 4290dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 4300dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 431fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the data network type of a subId 432fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 433fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 434fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 435fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getDataNetworkTypeUsingSubId(long subId); 436fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 437fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4380dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for voice 4390dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 4400dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville int getVoiceNetworkType(); 4410dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 4420dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 443fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the voice network type of a subId 444fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 445fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 446fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 447fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getVoiceNetworkTypeUsingSubId(long subId); 448fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 449fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 450e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville * Return true if an ICC card is present 451e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville */ 452e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville boolean hasIccCard(); 4535e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville 4545e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville /** 455fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present for a subId. 456fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param slotId user preferred slotId. 457fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present 458fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 459fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean hasIccCardUsingSlotId(long slotId); 460fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 461fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4625e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * Return if the current radio is LTE on CDMA. This 4635e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * is a tri-state return value as for a period of time 4645e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * the mode may be unknown. 4655e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * 4665e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 4675e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 4685e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville */ 4695e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville int getLteOnCdmaMode(); 470963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 471963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 472fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return if the current radio is LTE on CDMA. This 473fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * is a tri-state return value as for a period of time 474fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * the mode may be unknown. 475fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 476fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 477fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 478fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 479fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getLteOnCdmaModeUsingSubId(long subId); 480fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 481fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 482963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Returns the all observed cell information of the device. 483963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 484963db55d59a170f4b17ff907c96615a19ef6fe17John Wang List<CellInfo> getAllCellInfo(); 485094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville 486094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville /** 487094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville * Sets minimum time in milli-seconds between onCellInfoChanged 488094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville */ 489094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville void setCellInfoListRate(int rateInMillis); 490767a662ecde33c3979bf02b793d392aca0403162Wink Saville 49157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 492fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * get default sim 493fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return sim id 494fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 495fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getDefaultSim(); 496fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 497fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 49857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Opens a logical channel to the ICC card. 49957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 50057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHO command. 50157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 50257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param AID Application id. See ETSI 102.221 and 101.220. 503a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return an IccOpenLogicalChannelResponse object. 50457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 505a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal IccOpenLogicalChannelResponse iccOpenLogicalChannel(String AID); 50657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 50757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 50857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Closes a previously opened logical channel to the ICC card. 50957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 51057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHC command. 51157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 51257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 51357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 51457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return true if the channel was closed successfully. 51557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 51657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal boolean iccCloseLogicalChannel(int channel); 51757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 51857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 51957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Transmit an APDU to the ICC card over a logical channel. 52057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 52157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CGLA command. 52257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 52357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 52457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 52557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param cla Class of the APDU command. 52657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param instruction Instruction of the APDU command. 52757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p1 P1 value of the APDU command. 52857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p2 P2 value of the APDU command. 52957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 53057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * is sent to the SIM. 53157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param data Data to be sent with the APDU. 53257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return The APDU response from the ICC card with the status appended at 53343d94347a6feb14870a4ffd7682a816210e5e676Shishir Agrawal * the end. 53457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 535375890841df7aad36a042861f6a70f11e1f32766Shishir Agrawal String iccTransmitApduLogicalChannel(int channel, int cla, int instruction, 53657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal int p1, int p2, int p3, String data); 5378f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5388f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 539a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Transmit an APDU to the ICC card over the basic channel. 540a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 541a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CSIM command. 542a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 543a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param cla Class of the APDU command. 544a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param instruction Instruction of the APDU command. 545a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p1 P1 value of the APDU command. 546a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p2 P2 value of the APDU command. 547a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 548a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * is sent to the SIM. 549a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param data Data to be sent with the APDU. 550a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return The APDU response from the ICC card with the status appended at 55143d94347a6feb14870a4ffd7682a816210e5e676Shishir Agrawal * the end. 552a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal */ 553a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal String iccTransmitApduBasicChannel(int cla, int instruction, 554a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal int p1, int p2, int p3, String data); 555a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal 556a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal /** 557a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Returns the response APDU for a command APDU sent through SIM_IO. 558a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 559a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param fileID 560a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param command 561a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p1 P1 value of the APDU command. 562a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p2 P2 value of the APDU command. 563a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p3 P3 value of the APDU command. 564a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param filePath 565a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return The APDU response. 566a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal */ 567a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal byte[] iccExchangeSimIO(int fileID, int command, int p1, int p2, int p3, 568a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal String filePath); 569a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal 570a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal /** 571b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * Send ENVELOPE to the SIM and returns the response. 572210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * 573210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * @param contents String containing SAT/USAT response in hexadecimal 574210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * format starting with command tag. See TS 102 223 for 575210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * details. 576b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * @return The APDU response from the ICC card, with the last 4 bytes 577b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * being the status word. If the command fails, returns an empty 578b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * string. 579210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton */ 580b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton String sendEnvelopeWithStatus(String content); 581210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton 582210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton /** 5838f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 5848f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 5858f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 5868f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 5878f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return the NV item as a String, or null on any failure. 5888f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 5898f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby String nvReadItem(int itemID); 5908f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5918f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 5928f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Write one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 5938f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 5948f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 5958f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 5968f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemValue the value to write, as a String. 5978f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 5988f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 5998f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteItem(int itemID, String itemValue); 6008f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6018f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 6028f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. 6038f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6048f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6058f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param preferredRoamingList byte array containing the new PRL. 6068f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6078f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6088f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteCdmaPrl(in byte[] preferredRoamingList); 6098f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6108f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 611786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * Perform the specified type of NV config reset. The radio will be taken offline 612786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * and the device must be rebooted after the operation. Used for device 613786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * configuration by some CDMA operators. 6148f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6158f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param resetType the type of reset to perform (1 == factory reset; 2 == NV-only reset). 6168f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6178f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6188f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvResetConfig(int resetType); 6198f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6209bbb37116d2c5b597f9b5e3094ff328971e03c0bEvan Charlton /* 6211365703d4964466472904dc84117a0946d9e1a44Junda Liu * Get the calculated preferred network type. 6221365703d4964466472904dc84117a0946d9e1a44Junda Liu * Used for device configuration by some CDMA operators. 6231365703d4964466472904dc84117a0946d9e1a44Junda Liu * 6241365703d4964466472904dc84117a0946d9e1a44Junda Liu * @return the calculated preferred network type, defined in RILConstants.java. 6251365703d4964466472904dc84117a0946d9e1a44Junda Liu */ 6261365703d4964466472904dc84117a0946d9e1a44Junda Liu int getCalculatedPreferredNetworkType(); 6271365703d4964466472904dc84117a0946d9e1a44Junda Liu 6281365703d4964466472904dc84117a0946d9e1a44Junda Liu /* 6294a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Get the preferred network type. 6304a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 6314a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 6324a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return the preferred network type, defined in RILConstants.java. 6334a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 6344a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby int getPreferredNetworkType(); 6354a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby 6364a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby /** 6374a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Set the preferred network type. 6384a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 6394a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 6404a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @param networkType the preferred network type, defined in RILConstants.java. 6414a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return true on success; false on any failure. 6424a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 6434a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby boolean setPreferredNetworkType(int networkType); 644afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 645afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 646ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * Set the CDMA subscription source. 647ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * Used for device supporting both NV and RUIM for CDMA. 648ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * 649ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * @param subscriptionType the subscription type, 0 for RUIM, 1 for NV. 650ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * @return true on success; false on any failure. 651ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu */ 652ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu boolean setCdmaSubscription(int subscriptionType); 653ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu 654ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu /** 655afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * User enable/disable Mobile Data. 656afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 657afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @param enable true to turn on, else false 658afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 659afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt void setDataEnabled(boolean enable); 660afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 661afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 662afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * Get the user enabled state of Mobile Data. 663afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 664afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @return true on enabled 665afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 666afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt boolean getDataEnabled(); 667fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 668fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 669fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Get P-CSCF address from PCO after data connection is established or modified. 670e647099e14114475e9a2827a10dab2d2e36308c4ram * @param apnType the apnType, "ims" for IMS APN, "emergency" for EMERGENCY APN 671fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 672e647099e14114475e9a2827a10dab2d2e36308c4ram String[] getPcscfAddress(String apnType); 673fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 674fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 675fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set IMS registration state 676fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 677fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void setImsRegistrationState(boolean registered); 678fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 679762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal /** 6802b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * Return MDN string for CDMA phone. 6812b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * @param subId user preferred subId. 6822b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu */ 6832b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu String getCdmaMdn(long subId); 6842b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu 6852b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu /** 6862b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * Return MIN string for CDMA phone. 6872b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * @param subId user preferred subId. 6882b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu */ 6892b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu String getCdmaMin(long subId); 6902b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu 6912b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu /** 692762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * Has the calling application been granted special privileges by the carrier. 693762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 694762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * If any of the packages in the calling UID has carrier privileges, the 695762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * call will return true. This access is granted by the owner of the UICC 696762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * card and does not depend on the registered carrier. 697762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 698762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * TODO: Add a link to documentation. 699762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 700fc3646f58e5851e7a483b8388bdd826078166d10Shishir Agrawal * @return carrier privilege status defined in TelephonyManager. 701762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal */ 702762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal int hasCarrierPrivileges(); 703142529702dad9a6612271f487d500db80173ba7bJunda Liu 704142529702dad9a6612271f487d500db80173ba7bJunda Liu /** 705142529702dad9a6612271f487d500db80173ba7bJunda Liu * Similar to above, but check for pkg whose name is pkgname. 706142529702dad9a6612271f487d500db80173ba7bJunda Liu */ 70756be215bcc5df95447c49d99915c299965b44207Shishir Agrawal int checkCarrierPrivilegesForPackage(String pkgname); 708f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan 709f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan /** 71063c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * Returns the package name of the carrier apps that should handle the input intent. 71163c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * 71263c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * @param packageManager PackageManager for getting receivers. 71363c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * @param intent Intent that will be broadcast. 71463c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * @return list of carrier app package names that can handle the intent. 71563c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * Returns null if there is an error and an empty list if there 71663c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * are no matching packages. 71763c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal */ 71863c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal List<String> getCarrierPackageNamesForBroadcastIntent(in Intent intent); 71963c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal 72063c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal /** 721f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * Set whether Android should display a simplified Mobile Network Settings UI. 722f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * The setting won't be persisted during power cycle. 723f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * 724f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * @param subId for which the simplified UI should be enabled or disabled. 725f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * @param enable true means enabling the simplified UI. 726f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan */ 727f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan void enableSimplifiedNetworkSettings(long subId, boolean enable); 728f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan 729f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan /** 730f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * Get whether a simplified Mobile Network Settings UI is enabled. 731f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * 732f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * @param subId for which the simplified UI should be enabled or disabled. 733f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan * @return true if the simplified UI is enabled. 734f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan */ 735f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan boolean getSimplifiedNetworkSettingsEnabled(long subId); 736818631b679171ffb49eaa641bee06b9c953651daDerek Tan 737818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 738818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Set the phone number string and its alphatag for line 1 for display 739818631b679171ffb49eaa641bee06b9c953651daDerek Tan * purpose only, for example, displayed in Phone Status. It won't change 740818631b679171ffb49eaa641bee06b9c953651daDerek Tan * the actual MSISDN/MDN. This setting won't be persisted during power cycle 741818631b679171ffb49eaa641bee06b9c953651daDerek Tan * and it should be set again after reboot. 742818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 743818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId the subscriber that the alphatag and dialing number belongs to. 744818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param alphaTag alpha-tagging of the dailing nubmer 745818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param number The dialing number 746818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 747818631b679171ffb49eaa641bee06b9c953651daDerek Tan void setLine1NumberForDisplay(long subId, String alphaTag, String number); 748818631b679171ffb49eaa641bee06b9c953651daDerek Tan 749818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 750818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Returns the displayed dialing number string if it was set previously via 751818631b679171ffb49eaa641bee06b9c953651daDerek Tan * {@link #setLine1NumberForDisplay}. Otherwise returns null. 752818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 753818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId whose dialing number for line 1 is returned. 754818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @return the displayed dialing number if set, or null if not set. 755818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 756818631b679171ffb49eaa641bee06b9c953651daDerek Tan String getLine1NumberForDisplay(long subId); 757818631b679171ffb49eaa641bee06b9c953651daDerek Tan 758818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 759818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Returns the displayed alphatag of the dialing number if it was set 760818631b679171ffb49eaa641bee06b9c953651daDerek Tan * previously via {@link #setLine1NumberForDisplay}. Otherwise returns null. 761818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 762818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId whose alphatag associated with line 1 is returned. 763818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @return the displayed alphatag of the dialing number if set, or null if 764818631b679171ffb49eaa641bee06b9c953651daDerek Tan * not set. 765818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 766818631b679171ffb49eaa641bee06b9c953651daDerek Tan String getLine1AlphaTagForDisplay(long subId); 76786578cca383562c72751d747905280afdeb2bdfbShishir Agrawal 76886578cca383562c72751d747905280afdeb2bdfbShishir Agrawal /** 76986578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * Override the operator branding for the input ICCID. 77086578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 77186578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * Once set, whenever the ICCID is inserted into the device, the service 77286578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * provider name (SPN) and the operator name will both be replaced by the 77386578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * brand value input. To unset the value, the same function should be 77486578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * called with a null brand value. 77586578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 77686578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * <p>Requires Permission: 77786578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} 77886578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * or has to be carrier app - see #hasCarrierPrivileges. 77986578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 78086578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @param iccid The ICCID of that the branding applies to. 78186578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @param brand The brand name to display/set. 78286578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @return true if the operation was executed correctly. 78386578cca383562c72751d747905280afdeb2bdfbShishir Agrawal */ 78486578cca383562c72751d747905280afdeb2bdfbShishir Agrawal boolean setOperatorBrandOverride(String iccId, String brand); 7853099c831441e861328cd4965011c854e060ce56aSteven Liu 7863099c831441e861328cd4965011c854e060ce56aSteven Liu /** 7873099c831441e861328cd4965011c854e060ce56aSteven Liu * Returns the result and response from RIL for oem request 7883099c831441e861328cd4965011c854e060ce56aSteven Liu * 7893099c831441e861328cd4965011c854e060ce56aSteven Liu * @param oemReq the data is sent to ril. 7903099c831441e861328cd4965011c854e060ce56aSteven Liu * @param oemResp the respose data from RIL. 7913099c831441e861328cd4965011c854e060ce56aSteven Liu * @return negative value request was not handled or get error 7923099c831441e861328cd4965011c854e060ce56aSteven Liu * 0 request was handled succesfully, but no response data 7933099c831441e861328cd4965011c854e060ce56aSteven Liu * positive value success, data length of response 7943099c831441e861328cd4965011c854e060ce56aSteven Liu */ 7953099c831441e861328cd4965011c854e060ce56aSteven Liu int invokeOemRilRequestRaw(in byte[] oemReq, out byte[] oemResp); 79657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal} 797fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 798