ITelephony.aidl revision ddb74d8eb05bf50ebae673fda87730b80e52a758
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 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle; 20f1e1e7714375b3b83f2cc3956b112293face56a1Gabriel Pealimport java.util.List; 21fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleimport android.telephony.NeighboringCellInfo; 22fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleimport android.telephony.CellInfo; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 24aae9216320328e6b865725219a31a029ea46c1b0Sailesh Nepal 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 26767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Interface used to interact with the phone. Mostly this is used by the 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TelephonyManager class. A few places are still using this directly. 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Please clean them up if possible and use TelephonyManager insteadl. 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface ITelephony { 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Dial a number. This doesn't place the call. It displays 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the Dialer screen. 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be dialed. If null, this 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * would display the Dialer screen with no number pre-filled. 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void dial(String number); 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Place a call to the specified number. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be called. 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 46f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn void call(String callingPackage, String number); 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 494d396052deb54399cbadbeb8abd873df6f3af342Jeff Brown * End call if there is a call in progress, otherwise does nothing. 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether it hung up 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean endCall(); 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 56fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * End call on particular subId or go to the Home screen 57fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 58fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether it hung up 59fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 60fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean endCallUsingSubId(long subId); 61fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 62fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Answer the currently-ringing call. 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there's already a current active call, that call will be 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * automatically put on hold. If both lines are currently in use, the 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * current active call will be ended. 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: provide a flag to let the caller specify what policy to use 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if both lines are in use. (The current behavior is hardwired to 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * "answer incoming, end ongoing", which is how the CALL button 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is specced to behave.) 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call (especially since it's called 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * directly from the key queue thread). 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void answerRingingCall(); 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Silence the ringer if an incoming call is currently ringing. 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (If vibrating, stop the vibrator also.) 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * It's safe to call this if the ringer has already been silenced, or 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * even if there's no incoming call. (If so, this method will do nothing.) 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call too (see above). 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (Actually *all* the methods here that return void can 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * probably be oneway.) 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void silenceRinger(); 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if we are in either an active or holding call 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is OFFHOOK. 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isOffhook(); 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 99fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if a particular subId has an active or holding call 100fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 101fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 102fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is OFFHOOK. 103fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 104fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean isOffhookUsingSubId(long subId); 105fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 106fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 107fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if an incoming phone call is ringing or call waiting 108fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * on a particular subId. 109fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 110fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 111fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is RINGING. 112fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 113fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean isRingingUsingSubId(long subId); 114fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 115fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if an incoming phone call is ringing or call waiting. 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is RINGING. 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isRinging(); 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the phone is idle. 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is IDLE. 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isIdle(); 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 128fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if the phone is idle on a particular subId. 129fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 130fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 131fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is IDLE. 132fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 133fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean isIdleUsingSubId(long subId); 134fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 135fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check to see if the radio is on or not. 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return returns true if the radio is on. 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isRadioOn(); 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 142fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check to see if the radio is on or not on particular subId. 143fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 144fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return returns true if the radio is on. 145fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 146fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean isRadioOnUsingSubId(long subId); 147fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 148fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the SIM pin lock is enabled. 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the SIM pin lock is enabled. 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isSimPinEnabled(); 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Cancels the missed calls notification. 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 157767a662ecde33c3979bf02b793d392aca0403162Wink Saville void cancelMissedCallsNotification(); 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Supply a pin to unlock the SIM. Blocks until a result is determined. 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param pin The pin to check. 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether the operation was a success. 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean supplyPin(String pin); 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 167fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM for particular subId. 168fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 169fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 170fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 171fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 172fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 173fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean supplyPinUsingSubId(long subId, String pin); 174fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 175fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 17698c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Supply puk to unlock the SIM and set SIM pin to new pin. 17798c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Blocks until a result is determined. 17898c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @param puk The puk to check. 17998c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * pin The new pin to be set in SIM 18098c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @return whether the operation was a success. 18198c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang */ 18298c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang boolean supplyPuk(String puk, String pin); 18398c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 18498c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang /** 185fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 186fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 187fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check. 188fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The new pin to be set in SIM 189fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 190fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 191fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 192fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean supplyPukUsingSubId(long subId, String puk, String pin); 193fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 194fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 195b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 196b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code. 197b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param pin The pin to check. 198b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 199b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 200b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 201b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPinReportResult(String pin); 202b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 203b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 204fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 205fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code. 206fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 207fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 208fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 209fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 210fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int[] supplyPinReportResultUsingSubId(long subId, String pin); 211fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 212fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 213b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 214b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Blocks until a result is determined. 215b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code 216b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param puk The puk to check 217b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * pin The pin to check. 218b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 219b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 220b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 221b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPukReportResult(String puk, String pin); 222b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 223b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 224fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 225fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 226fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code 227fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check 228fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The pin to check. 229fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 230fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 231fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 232fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int[] supplyPukReportResultUsingSubId(long subId, String puk, String pin); 233fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 234fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without SEND (so <code>dial</code> is not appropriate). 237767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialString the MMI command to be executed. 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if MMI command is executed. 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handlePinMmi(String dialString); 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 244fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 245fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * without SEND (so <code>dial</code> is not appropriate) for 246fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * a particular subId. 247fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param dialString the MMI command to be executed. 248fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 249fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if MMI command is executed. 250fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 251fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean handlePinMmiUsingSubId(long subId, String dialString); 252fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 253fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Toggles the radio on or off. 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void toggleRadioOnOff(); 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 259fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Toggles the radio on or off on particular subId. 260fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 261fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 262fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void toggleRadioOnOffUsingSubId(long subId); 263fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 264fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the radio to on or off 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setRadio(boolean turnOn); 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 270fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set the radio to on or off on particular subId. 271fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 272fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 273fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean setRadioUsingSubId(long subId, boolean turnOn); 274fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 275fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 27645ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville * Set the radio to on or off unconditionally 27745ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville */ 27845ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville boolean setRadioPower(boolean turnOn); 27945ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville 28045ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville /** 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Request to update location information in service state 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void updateServiceLocation(); 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 286fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Request to update location information for a subscrition in service state 287fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 288fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 289fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void updateServiceLocationUsingSubId(long subId); 290fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 291fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable location update notifications. 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void enableLocationUpdates(); 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 297fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Enable location update notifications. 298fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 299fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 300fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void enableLocationUpdatesUsingSubId(long subId); 301fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 302fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable location update notifications. 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableLocationUpdates(); 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 308fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Disable location update notifications. 309fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 310fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 311fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void disableLocationUpdatesUsingSubId(long subId); 312fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 313fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Allow mobile data connections. 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean enableDataConnectivity(); 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disallow mobile data connections. 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean disableDataConnectivity(); 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report whether data connectivity is possible. 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDataConnectivityPossible(); 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Bundle getCellLocation(); 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the neighboring cell information of the device. 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 333f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn List<NeighboringCellInfo> getNeighboringCellInfo(String callingPkg); 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getCallState(); 336fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 337fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 338fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the call state for a subId. 339fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 340fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getCallStateUsingSubId(long subId); 341fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataActivity(); 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataState(); 344767a662ecde33c3979bf02b793d392aca0403162Wink Saville 345767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 346767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns the current active phone type as integer. 347767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 348767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 349767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 350767a662ecde33c3979bf02b793d392aca0403162Wink Saville int getActivePhoneType(); 351767a662ecde33c3979bf02b793d392aca0403162Wink Saville 352e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 353fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the current active phone type as integer for particular subId. 354fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 355fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 356fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 357fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 358fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getActivePhoneTypeUsingSubId(long subId); 359fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 360fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 361e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon index to display 362e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 363e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int getCdmaEriIconIndex(); 364e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 365e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 366fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon index to display on particular subId. 367fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 368fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 369fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getCdmaEriIconIndexUsingSubId(long subId); 370fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 371fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 372e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon mode, 373e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 0 - ON 374e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1 - FLASHING 375e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 376e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int getCdmaEriIconMode(); 377e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 378e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 379fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon mode on particular subId, 380fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 0 - ON 381fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 1 - FLASHING 382fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 383fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 384fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getCdmaEriIconModeUsingSubId(long subId); 385fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 386fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 387e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI text, 388e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 389e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville String getCdmaEriText(); 390e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 391dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 392fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI text for particular subId, 393fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 394fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 395fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville String getCdmaEriTextUsingSubId(long subId); 396fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 397fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3984d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Returns true if OTA service provisioning needs to run. 3994d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Only relevant on some technologies, others will always 4004d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * return false. 401767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller */ 4024d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville boolean needsOtaServiceProvisioning(); 403767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller 404767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller /** 405dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Returns the unread count of voicemails 406dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 407ce099c3226b33b43e0dd5d1f24347b14a2223ee1David Krause int getVoiceMessageCount(); 408dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 409ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** 410fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails for a subId. 411fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 412fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails 413fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 414fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getVoiceMessageCountUsingSubId(long subId); 415fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 416fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4170dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for data transmission 418ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe */ 419ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe int getNetworkType(); 42098c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 421e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville /** 422fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type of a subId. 423fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 424fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 425fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 426fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getNetworkTypeUsingSubId(long subId); 427fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 428fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4290dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for data transmission 4300dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 4310dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville int getDataNetworkType(); 4320dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 4330dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 434fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the data network type of a subId 435fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 436fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 437fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 438fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getDataNetworkTypeUsingSubId(long subId); 439fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 440fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4410dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for voice 4420dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 4430dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville int getVoiceNetworkType(); 4440dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 4450dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 446fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the voice network type of a subId 447fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 448fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 449fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 450fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getVoiceNetworkTypeUsingSubId(long subId); 451fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 452fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 453e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville * Return true if an ICC card is present 454e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville */ 455e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville boolean hasIccCard(); 4565e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville 4575e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville /** 458fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present for a subId. 459fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param slotId user preferred slotId. 460fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present 461fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 462fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville boolean hasIccCardUsingSlotId(long slotId); 463fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 464fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4655e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * Return if the current radio is LTE on CDMA. This 4665e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * is a tri-state return value as for a period of time 4675e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * the mode may be unknown. 4685e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * 4695e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 4705e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 4715e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville */ 4725e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville int getLteOnCdmaMode(); 473963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 474963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 475fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return if the current radio is LTE on CDMA. This 476fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * is a tri-state return value as for a period of time 477fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * the mode may be unknown. 478fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 479fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 480fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 481fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 482fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getLteOnCdmaModeUsingSubId(long subId); 483fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 484fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 485963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Returns the all observed cell information of the device. 486963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 487963db55d59a170f4b17ff907c96615a19ef6fe17John Wang List<CellInfo> getAllCellInfo(); 488094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville 489094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville /** 490094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville * Sets minimum time in milli-seconds between onCellInfoChanged 491094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville */ 492094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville void setCellInfoListRate(int rateInMillis); 493767a662ecde33c3979bf02b793d392aca0403162Wink Saville 49457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 495fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * get default sim 496fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return sim id 497fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 498fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getDefaultSim(); 499fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 500fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 50157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Opens a logical channel to the ICC card. 50257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 50357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHO command. 50457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 50557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param AID Application id. See ETSI 102.221 and 101.220. 50657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return The logical channel id which is set to -1 on error. 50757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 50857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal int iccOpenLogicalChannel(String AID); 50957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 51057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 51157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Closes a previously opened logical channel to the ICC card. 51257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 51357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHC command. 51457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 51557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 51657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 51757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return true if the channel was closed successfully. 51857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 51957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal boolean iccCloseLogicalChannel(int channel); 52057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 52157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 52257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Transmit an APDU to the ICC card over a logical channel. 52357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 52457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CGLA command. 52557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 52657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 52757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 52857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param cla Class of the APDU command. 52957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param instruction Instruction of the APDU command. 53057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p1 P1 value of the APDU command. 53157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p2 P2 value of the APDU command. 53257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 53357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * is sent to the SIM. 53457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param data Data to be sent with the APDU. 53557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return The APDU response from the ICC card with the status appended at 53657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * the end. If an error occurs, an empty string is returned. 53757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 538375890841df7aad36a042861f6a70f11e1f32766Shishir Agrawal String iccTransmitApduLogicalChannel(int channel, int cla, int instruction, 53957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal int p1, int p2, int p3, String data); 5408f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5418f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 542b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * Send ENVELOPE to the SIM and returns the response. 543210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * 544210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * @param contents String containing SAT/USAT response in hexadecimal 545210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * format starting with command tag. See TS 102 223 for 546210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * details. 547b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * @return The APDU response from the ICC card, with the last 4 bytes 548b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * being the status word. If the command fails, returns an empty 549b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * string. 550210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton */ 551b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton String sendEnvelopeWithStatus(String content); 552210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton 553210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton /** 5548f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 5558f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 5568f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 5578f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 5588f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return the NV item as a String, or null on any failure. 5598f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 5608f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby String nvReadItem(int itemID); 5618f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5628f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 5638f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Write one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 5648f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 5658f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 5668f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 5678f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemValue the value to write, as a String. 5688f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 5698f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 5708f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteItem(int itemID, String itemValue); 5718f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5728f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 5738f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. 5748f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 5758f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 5768f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param preferredRoamingList byte array containing the new PRL. 5778f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 5788f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 5798f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteCdmaPrl(in byte[] preferredRoamingList); 5808f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5818f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 582786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * Perform the specified type of NV config reset. The radio will be taken offline 583786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * and the device must be rebooted after the operation. Used for device 584786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * configuration by some CDMA operators. 5858f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 5868f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param resetType the type of reset to perform (1 == factory reset; 2 == NV-only reset). 5878f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 5888f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 5898f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvResetConfig(int resetType); 5908f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5919bbb37116d2c5b597f9b5e3094ff328971e03c0bEvan Charlton /* 5924a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Get the preferred network type. 5934a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 5944a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 5954a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return the preferred network type, defined in RILConstants.java. 5964a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 5974a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby int getPreferredNetworkType(); 5984a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby 5994a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby /** 6004a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Set the preferred network type. 6014a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 6024a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 6034a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @param networkType the preferred network type, defined in RILConstants.java. 6044a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return true on success; false on any failure. 6054a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 6064a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby boolean setPreferredNetworkType(int networkType); 607afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 608afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 609ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * Set the CDMA subscription source. 610ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * Used for device supporting both NV and RUIM for CDMA. 611ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * 612ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * @param subscriptionType the subscription type, 0 for RUIM, 1 for NV. 613ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu * @return true on success; false on any failure. 614ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu */ 615ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu boolean setCdmaSubscription(int subscriptionType); 616ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu 617ddb74d8eb05bf50ebae673fda87730b80e52a758Junda Liu /** 618afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * User enable/disable Mobile Data. 619afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 620afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @param enable true to turn on, else false 621afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 622afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt void setDataEnabled(boolean enable); 623afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 624afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 625afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * Get the user enabled state of Mobile Data. 626afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 627afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @return true on enabled 628afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 629afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt boolean getDataEnabled(); 630fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 631fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 632fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Get P-CSCF address from PCO after data connection is established or modified. 633fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 634fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville String[] getPcscfAddress(); 635fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 636fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 637fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set IMS registration state 638fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 639fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void setImsRegistrationState(boolean registered); 640fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 64157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal} 642fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 643