ITelephony.aidl revision 5c728994311c40821604c6711171e860776659a6
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage com.android.internal.telephony; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1963c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawalimport android.content.Intent; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle; 21ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordonimport android.telecom.PhoneAccount; 22fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Savilleimport android.telephony.CellInfo; 23a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport android.telephony.IccOpenLogicalChannelResponse; 24a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport android.telephony.NeighboringCellInfo; 252af2d57d578e0c3a2740628e7c6336b19961cc49Wink Savilleimport android.telephony.RadioAccessFamily; 265c728994311c40821604c6711171e860776659a6Prerepa Viswanadhamimport android.telephony.ModemActivityInfo; 27a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawalimport java.util.List; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 29aae9216320328e6b865725219a31a029ea46c1b0Sailesh Nepal 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 31767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Interface used to interact with the phone. Mostly this is used by the 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TelephonyManager class. A few places are still using this directly. 334a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Please clean them up if possible and use TelephonyManager instead. 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface ITelephony { 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Dial a number. This doesn't place the call. It displays 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the Dialer screen. 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be dialed. If null, this 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * would display the Dialer screen with no number pre-filled. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void dial(String number); 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Place a call to the specified number. 4916a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be called. 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 52f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn void call(String callingPackage, String number); 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 554d396052deb54399cbadbeb8abd873df6f3af342Jeff Brown * End call if there is a call in progress, otherwise does nothing. 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether it hung up 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean endCall(); 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 62fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * End call on particular subId or go to the Home screen 63fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 64fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether it hung up 65fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 6663f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean endCallForSubscriber(int subId); 67fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 68fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Answer the currently-ringing call. 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there's already a current active call, that call will be 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * automatically put on hold. If both lines are currently in use, the 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * current active call will be ended. 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: provide a flag to let the caller specify what policy to use 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if both lines are in use. (The current behavior is hardwired to 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * "answer incoming, end ongoing", which is how the CALL button 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is specced to behave.) 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call (especially since it's called 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * directly from the key queue thread). 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void answerRingingCall(); 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8605e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * Answer the currently-ringing call on particular subId . 8705e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 8805e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * If there's already a current active call, that call will be 8905e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * automatically put on hold. If both lines are currently in use, the 9005e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * current active call will be ended. 9105e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 9205e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * TODO: provide a flag to let the caller specify what policy to use 9305e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * if both lines are in use. (The current behavior is hardwired to 9405e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * "answer incoming, end ongoing", which is how the CALL button 9505e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * is specced to behave.) 9605e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * 9705e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * TODO: this should be a oneway call (especially since it's called 9805e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville * directly from the key queue thread). 9905e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville */ 10063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void answerRingingCallForSubscriber(int subId); 10105e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville 10205e6dde3a0b9ba1eb3d13d511fe2e27a0d10c851Wink Saville /** 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Silence the ringer if an incoming call is currently ringing. 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (If vibrating, stop the vibrator also.) 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * It's safe to call this if the ringer has already been silenced, or 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * even if there's no incoming call. (If so, this method will do nothing.) 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call too (see above). 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (Actually *all* the methods here that return void can 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * probably be oneway.) 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void silenceRinger(); 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if we are in either an active or holding call 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is OFFHOOK. 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isOffhook(); 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 122fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if a particular subId has an active or holding call 123fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 124fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 125fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is OFFHOOK. 126fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 12763f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean isOffhookForSubscriber(int subId); 128fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 129fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 130fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if an incoming phone call is ringing or call waiting 131fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * on a particular subId. 132fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 133fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 134fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is RINGING. 135fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 13663f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean isRingingForSubscriber(int subId); 137fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 138fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if an incoming phone call is ringing or call waiting. 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is RINGING. 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isRinging(); 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the phone is idle. 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is IDLE. 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isIdle(); 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 151fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check if the phone is idle on a particular subId. 152fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 153fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 154fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if the phone state is IDLE. 155fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 15663f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean isIdleForSubscriber(int subId); 157fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 158fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check to see if the radio is on or not. 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return returns true if the radio is on. 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isRadioOn(); 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 165fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Check to see if the radio is on or not on particular subId. 166fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 167fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return returns true if the radio is on. 168fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 16963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean isRadioOnForSubscriber(int subId); 170fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 171fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the SIM pin lock is enabled. 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the SIM pin lock is enabled. 17416a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 17616a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov boolean isSimPinEnabled(String callingPackage); 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Supply a pin to unlock the SIM. Blocks until a result is determined. 1809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param pin The pin to check. 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether the operation was a success. 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean supplyPin(String pin); 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 186fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM for particular subId. 187fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 188fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param pin The pin to check. 189fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 190fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 191fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 19263f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean supplyPinForSubscriber(int subId, String pin); 193fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 194fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 19598c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Supply puk to unlock the SIM and set SIM pin to new pin. 19698c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Blocks until a result is determined. 19798c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @param puk The puk to check. 19898c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * pin The new pin to be set in SIM 19998c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @return whether the operation was a success. 20098c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang */ 20198c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang boolean supplyPuk(String puk, String pin); 20298c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 20398c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang /** 204fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 205fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 206fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check. 207fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The new pin to be set in SIM 208fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 209fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return whether the operation was a success. 210fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 21163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean supplyPukForSubscriber(int subId, String puk, String pin); 212fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 213fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 214b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 215b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code. 216b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param pin The pin to check. 217b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 218b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 219b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 220b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPinReportResult(String pin); 221b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 222b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 223fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 224fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code. 225fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param 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 */ 22963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int[] supplyPinReportResultForSubscriber(int subId, String pin); 230fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 231fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 232b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 233b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Blocks until a result is determined. 234b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code 235b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param puk The puk to check 236b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * pin The pin to check. 237b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 238b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 239b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 240b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPukReportResult(String puk, String pin); 241b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 242b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 243fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 244fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Blocks until a result is determined. 245fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns a specific success/error code 246fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param puk The puk to check 247fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * pin The pin to check. 248fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 249fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 250fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 25163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int[] supplyPukReportResultForSubscriber(int subId, String puk, String pin); 252fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 253fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without SEND (so <code>dial</code> is not appropriate). 256767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialString the MMI command to be executed. 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if MMI command is executed. 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handlePinMmi(String dialString); 2619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 263fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 264fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * without SEND (so <code>dial</code> is not appropriate) for 265fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * a particular subId. 266fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param dialString the MMI command to be executed. 267fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 268fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return true if MMI command is executed. 269fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 27063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean handlePinMmiForSubscriber(int subId, String dialString); 271fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 272fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Toggles the radio on or off. 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void toggleRadioOnOff(); 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 278fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Toggles the radio on or off on particular subId. 279fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 280fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 28163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void toggleRadioOnOffForSubscriber(int subId); 282fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 283fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the radio to on or off 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setRadio(boolean turnOn); 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 289fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set the radio to on or off on particular subId. 290fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 291fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 29263f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean setRadioForSubscriber(int subId, boolean turnOn); 293fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 294fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 29545ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville * Set the radio to on or off unconditionally 29645ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville */ 29745ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville boolean setRadioPower(boolean turnOn); 29845ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville 29945ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville /** 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Request to update location information in service state 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void updateServiceLocation(); 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 305fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Request to update location information for a subscrition in service state 306fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 307fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 30863f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void updateServiceLocationForSubscriber(int subId); 309fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 310fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable location update notifications. 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void enableLocationUpdates(); 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 316fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Enable location update notifications. 317fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 318fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 31963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void enableLocationUpdatesForSubscriber(int subId); 320fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 321fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable location update notifications. 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableLocationUpdates(); 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 327fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Disable location update notifications. 328fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 329fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 33063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville void disableLocationUpdatesForSubscriber(int subId); 331fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 332fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Allow mobile data connections. 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean enableDataConnectivity(); 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disallow mobile data connections. 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean disableDataConnectivity(); 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report whether data connectivity is possible. 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDataConnectivityPossible(); 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 347275b5635ad98a411d511894e98f80e8b8bc41799Svetoslav Bundle getCellLocation(String callingPkg); 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the neighboring cell information of the device. 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 352f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn List<NeighboringCellInfo> getNeighboringCellInfo(String callingPkg); 3539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getCallState(); 355fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 356fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 357fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the call state for a subId. 358fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 35963f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getCallStateForSubscriber(int subId); 360fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataActivity(); 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataState(); 363767a662ecde33c3979bf02b793d392aca0403162Wink Saville 364767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 365767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns the current active phone type as integer. 366767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 367767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 368767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 369767a662ecde33c3979bf02b793d392aca0403162Wink Saville int getActivePhoneType(); 370767a662ecde33c3979bf02b793d392aca0403162Wink Saville 371e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 372fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the current active phone type as integer for particular subId. 373fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 374fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 375fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 376fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 37763f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getActivePhoneTypeForSubscriber(int subId); 378fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 379fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 380e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon index to display 381e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 382e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int getCdmaEriIconIndex(); 383e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 384e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 385fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon index to display on particular subId. 386fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 387fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 38863f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getCdmaEriIconIndexForSubscriber(int subId); 389fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 390fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 391e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon mode, 392e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 0 - ON 393e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1 - FLASHING 394e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 395e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int getCdmaEriIconMode(); 396e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 397e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 398fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI icon mode on particular subId, 399fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 0 - ON 400fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 1 - FLASHING 401fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 402fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 40363f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getCdmaEriIconModeForSubscriber(int subId); 404fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 405fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 406e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI text, 407e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 408e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville String getCdmaEriText(); 409e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 410dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 411fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the CDMA ERI text for particular subId, 412fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 413fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 41463f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville String getCdmaEriTextForSubscriber(int subId); 415fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 416fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4174d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Returns true if OTA service provisioning needs to run. 4184d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Only relevant on some technologies, others will always 4194d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * return false. 420767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller */ 4214d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville boolean needsOtaServiceProvisioning(); 422767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller 423767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller /** 4245c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal * Sets the voicemail number for a particular subscriber. 4255c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal */ 4265c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal boolean setVoiceMailNumber(int subId, String alphaTag, String number); 4275c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal 4285c1a63c2235c36ce0b520fa88a9d21ffe255756eShishir Agrawal /** 429dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Returns the unread count of voicemails 430dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 431ce099c3226b33b43e0dd5d1f24347b14a2223ee1David Krause int getVoiceMessageCount(); 432dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 433ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** 434fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails for a subId. 435fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 436fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the unread count of voicemails 437fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 43863f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getVoiceMessageCountForSubscriber(int subId); 439fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 440fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4410dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for data transmission 442ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe */ 443ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe int getNetworkType(); 44498c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 445e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville /** 446fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type of a subId. 447fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 448fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 449fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 45063f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getNetworkTypeForSubscriber(int subId); 451fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 452fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4530dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for data transmission 4540dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 4550dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville int getDataNetworkType(); 4560dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 4570dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 458fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the data network type of a subId 459fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 460fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 461fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 46263f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getDataNetworkTypeForSubscriber(int subId); 463fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 464fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4650dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for voice 4660dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 4670dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville int getVoiceNetworkType(); 4680dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 4690dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 470fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the voice network type of a subId 471fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param subId user preferred subId. 472fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Returns the network type 473fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 47463f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getVoiceNetworkTypeForSubscriber(int subId); 475fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 476fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 477e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville * Return true if an ICC card is present 478e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville */ 479e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville boolean hasIccCard(); 4805e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville 4815e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville /** 482fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present for a subId. 483fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @param slotId user preferred slotId. 484fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return true if an ICC card is present 485fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 48663f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville boolean hasIccCardUsingSlotId(int slotId); 487fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 488fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 4895e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * Return if the current radio is LTE on CDMA. This 4905e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * is a tri-state return value as for a period of time 4915e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * the mode may be unknown. 4925e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * 4935e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 4945e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 4955e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville */ 4965e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville int getLteOnCdmaMode(); 497963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 498963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 499fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Return if the current radio is LTE on CDMA. This 500fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * is a tri-state return value as for a period of time 501fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * the mode may be unknown. 502fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * 503fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 504fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 505fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 50663f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville int getLteOnCdmaModeForSubscriber(int subId); 507fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 508fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 509963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Returns the all observed cell information of the device. 510963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 511275b5635ad98a411d511894e98f80e8b8bc41799Svetoslav List<CellInfo> getAllCellInfo(String callingPkg); 512094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville 513094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville /** 514094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville * Sets minimum time in milli-seconds between onCellInfoChanged 515094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville */ 516094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville void setCellInfoListRate(int rateInMillis); 517767a662ecde33c3979bf02b793d392aca0403162Wink Saville 51857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 519fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * get default sim 520fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * @return sim id 521fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 522fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville int getDefaultSim(); 523fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 524fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 52557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Opens a logical channel to the ICC card. 52657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 52757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHO command. 52857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 52957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param AID Application id. See ETSI 102.221 and 101.220. 530a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return an IccOpenLogicalChannelResponse object. 53157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 532a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal IccOpenLogicalChannelResponse iccOpenLogicalChannel(String AID); 53357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 53457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 53557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Closes a previously opened logical channel to the ICC card. 53657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 53757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CCHC command. 53857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 53957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 54057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 54157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return true if the channel was closed successfully. 54257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 54357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal boolean iccCloseLogicalChannel(int channel); 54457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal 54557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal /** 54657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Transmit an APDU to the ICC card over a logical channel. 54757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 54857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CGLA command. 54957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * 55057f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param channel is the channel id to be closed as retruned by a 55157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * successful iccOpenLogicalChannel. 55257f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param cla Class of the APDU command. 55357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param instruction Instruction of the APDU command. 55457f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p1 P1 value of the APDU command. 55557f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p2 P2 value of the APDU command. 55657f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 55757f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * is sent to the SIM. 55857f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @param data Data to be sent with the APDU. 55957f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal * @return The APDU response from the ICC card with the status appended at 56043d94347a6feb14870a4ffd7682a816210e5e676Shishir Agrawal * the end. 56157f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal */ 562375890841df7aad36a042861f6a70f11e1f32766Shishir Agrawal String iccTransmitApduLogicalChannel(int channel, int cla, int instruction, 56357f656b9f6271cf857b5ecec5f8c7eacb321ec0bShishir Agrawal int p1, int p2, int p3, String data); 5648f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 5658f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 566a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Transmit an APDU to the ICC card over the basic channel. 567a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 568a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Input parameters equivalent to TS 27.007 AT+CSIM command. 569a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 570a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param cla Class of the APDU command. 571a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param instruction Instruction of the APDU command. 572a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p1 P1 value of the APDU command. 573a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p2 P2 value of the APDU command. 574a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU 575a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * is sent to the SIM. 576a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param data Data to be sent with the APDU. 577a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return The APDU response from the ICC card with the status appended at 57843d94347a6feb14870a4ffd7682a816210e5e676Shishir Agrawal * the end. 579a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal */ 580a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal String iccTransmitApduBasicChannel(int cla, int instruction, 581a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal int p1, int p2, int p3, String data); 582a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal 583a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal /** 584a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * Returns the response APDU for a command APDU sent through SIM_IO. 585a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * 586a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param fileID 587a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param command 588a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p1 P1 value of the APDU command. 589a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p2 P2 value of the APDU command. 590a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param p3 P3 value of the APDU command. 591a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @param filePath 592a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal * @return The APDU response. 593a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal */ 594a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal byte[] iccExchangeSimIO(int fileID, int command, int p1, int p2, int p3, 595a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal String filePath); 596a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal 597a122e8df741456ea34e4a57d205411b8371a16dbShishir Agrawal /** 598b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * Send ENVELOPE to the SIM and returns the response. 599210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * 600210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * @param contents String containing SAT/USAT response in hexadecimal 601210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * format starting with command tag. See TS 102 223 for 602210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton * details. 603b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * @return The APDU response from the ICC card, with the last 4 bytes 604b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * being the status word. If the command fails, returns an empty 605b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton * string. 606210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton */ 607b8894ab1aec9c9ffa749f9369e412a51b942de27Evan Charlton String sendEnvelopeWithStatus(String content); 608210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton 609210889e91cb2da74e0323292ca156d17df03fe08Evan Charlton /** 6108f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Read one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 6118f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6128f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6138f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 6148f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return the NV item as a String, or null on any failure. 6158f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6168f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby String nvReadItem(int itemID); 6178f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6188f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 6198f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Write one of the NV items defined in {@link RadioNVItems} / {@code ril_nv_items.h}. 6208f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6218f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6228f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemID the ID of the item to read. 6238f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param itemValue the value to write, as a String. 6248f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6258f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6268f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteItem(int itemID, String itemValue); 6278f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6288f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 6298f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. 6308f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * Used for device configuration by some CDMA operators. 6318f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6328f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param preferredRoamingList byte array containing the new PRL. 6338f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6348f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6358f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvWriteCdmaPrl(in byte[] preferredRoamingList); 6368f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6378f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby /** 638786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * Perform the specified type of NV config reset. The radio will be taken offline 639786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * and the device must be rebooted after the operation. Used for device 640786e71ab11f2d89afffc9db7473f16206395c813Jake Hamby * configuration by some CDMA operators. 6418f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * 6428f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @param resetType the type of reset to perform (1 == factory reset; 2 == NV-only reset). 6438f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby * @return true on success; false on any failure. 6448f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby */ 6458f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby boolean nvResetConfig(int resetType); 6468f9b33e77686de8e917ba61c5e2f2e31a1e0e49bJake Hamby 6479bbb37116d2c5b597f9b5e3094ff328971e03c0bEvan Charlton /* 6481365703d4964466472904dc84117a0946d9e1a44Junda Liu * Get the calculated preferred network type. 6491365703d4964466472904dc84117a0946d9e1a44Junda Liu * Used for device configuration by some CDMA operators. 65016a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 6511365703d4964466472904dc84117a0946d9e1a44Junda Liu * 6521365703d4964466472904dc84117a0946d9e1a44Junda Liu * @return the calculated preferred network type, defined in RILConstants.java. 6531365703d4964466472904dc84117a0946d9e1a44Junda Liu */ 65416a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov int getCalculatedPreferredNetworkType(String callingPackage); 6551365703d4964466472904dc84117a0946d9e1a44Junda Liu 6561365703d4964466472904dc84117a0946d9e1a44Junda Liu /* 6574a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Get the preferred network type. 6584a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 6594a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 660984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to query. 6614a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return the preferred network type, defined in RILConstants.java. 6624a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 663984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott int getPreferredNetworkType(int subId); 6644a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby 6654a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby /** 66638531581fc19f9172fabe56047b326e5dab88625Junda Liu * Check TETHER_DUN_REQUIRED and TETHER_DUN_APN settings, net.tethering.noprovisioning 66738531581fc19f9172fabe56047b326e5dab88625Junda Liu * SystemProperty, and config_tether_apndata to decide whether DUN APN is required for 66838531581fc19f9172fabe56047b326e5dab88625Junda Liu * tethering. 66938531581fc19f9172fabe56047b326e5dab88625Junda Liu * 67038531581fc19f9172fabe56047b326e5dab88625Junda Liu * @return 0: Not required. 1: required. 2: Not set. 67138531581fc19f9172fabe56047b326e5dab88625Junda Liu */ 67238531581fc19f9172fabe56047b326e5dab88625Junda Liu int getTetherApnRequired(); 67338531581fc19f9172fabe56047b326e5dab88625Junda Liu 67438531581fc19f9172fabe56047b326e5dab88625Junda Liu /** 675984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * Set the network selection mode to automatic. 676984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * 677984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to update. 678984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott */ 679984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott void setNetworkSelectionModeAutomatic(int subId); 680984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott 681984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott /** 6824a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Set the preferred network type. 6834a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * Used for device configuration by some CDMA operators. 6844a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * 685984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott * @param subId the id of the subscription to update. 6864a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @param networkType the preferred network type, defined in RILConstants.java. 6874a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby * @return true on success; false on any failure. 6884a2fa35a6ad03d5ee1cd03ae94b4e7d70b50811cJake Hamby */ 689984dc850b4caeb4470e52bce773935be5305cf8eStuart Scott boolean setPreferredNetworkType(int subId, int networkType); 690afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 691afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 692afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * User enable/disable Mobile Data. 693afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 694afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @param enable true to turn on, else false 695afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 69636ffb0494dd1045c164b7479b68165e206f8c759Wink Saville void setDataEnabled(int subId, boolean enable); 697afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt 698afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt /** 699afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * Get the user enabled state of Mobile Data. 700afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * 701afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt * @return true on enabled 702afa05c0b43cbc065181d5c2d6ee368a08bb00c3bRobert Greenwalt */ 70336ffb0494dd1045c164b7479b68165e206f8c759Wink Saville boolean getDataEnabled(int subId); 704fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 705fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 706fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Get P-CSCF address from PCO after data connection is established or modified. 707e647099e14114475e9a2827a10dab2d2e36308c4ram * @param apnType the apnType, "ims" for IMS APN, "emergency" for EMERGENCY APN 70816a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 709fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 71016a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String[] getPcscfAddress(String apnType, String callingPackage); 711fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 712fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville /** 713fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville * Set IMS registration state 714fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville */ 715fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville void setImsRegistrationState(boolean registered); 716fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 717762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal /** 7182b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * Return MDN string for CDMA phone. 7192b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * @param subId user preferred subId. 7202b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu */ 72163f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville String getCdmaMdn(int subId); 7222b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu 7232b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu /** 7242b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * Return MIN string for CDMA phone. 7252b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu * @param subId user preferred subId. 7262b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu */ 72763f03dd94c43c22f2c77306059b5748e5e1e0e3cWink Saville String getCdmaMin(int subId); 7282b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu 7292b2469b07d6ea9410bdb8d1234aa2320b02bdaa9Junda Liu /** 730762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * Has the calling application been granted special privileges by the carrier. 731762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 732762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * If any of the packages in the calling UID has carrier privileges, the 733762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * call will return true. This access is granted by the owner of the UICC 734762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * card and does not depend on the registered carrier. 735762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 736762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * TODO: Add a link to documentation. 737762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal * 738fc3646f58e5851e7a483b8388bdd826078166d10Shishir Agrawal * @return carrier privilege status defined in TelephonyManager. 739762d5a091f5e19b568bb0ff81a2cb6785b69075fShishir Agrawal */ 740ab57c29092eb9185375de86d82ff32e6079f5cecShishir Agrawal int getCarrierPrivilegeStatus(); 741142529702dad9a6612271f487d500db80173ba7bJunda Liu 742142529702dad9a6612271f487d500db80173ba7bJunda Liu /** 743142529702dad9a6612271f487d500db80173ba7bJunda Liu * Similar to above, but check for pkg whose name is pkgname. 744142529702dad9a6612271f487d500db80173ba7bJunda Liu */ 74556be215bcc5df95447c49d99915c299965b44207Shishir Agrawal int checkCarrierPrivilegesForPackage(String pkgname); 746f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan 747f9aefdb534c6cb2af22dfb7614a1c15c2d67dd9cDerek Tan /** 748f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * Returns list of the package names of the carrier apps that should handle the input intent 749f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * and have carrier privileges for the given phoneId. 75063c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * 7513892fc0349a91097f53152eaf2801dfebb2066caDiego Pontoriero * @param intent Intent that will be sent. 752f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * @param phoneId The phoneId on which the carrier app has carrier privileges. 753f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu * @return list of carrier app package names that can handle the intent on phoneId. 75463c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * Returns null if there is an error and an empty list if there 75563c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal * are no matching packages. 75663c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal */ 757f3c7bf432dc5c21fdecbb44865c037313d21b4cfJunda Liu List<String> getCarrierPackageNamesForIntentAndPhone(in Intent intent, int phoneId); 75863c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal 75963c4c06be44fe8bd4506e6f9f57361d31e947c21Shishir Agrawal /** 7602bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * Set the line 1 phone number string and its alphatag for the current ICCID 7612bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * for display purpose only, for example, displayed in Phone Status. It won't 7622bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * change the actual MSISDN/MDN. To unset alphatag or number, pass in a null 7632bae510ccef2da7dd767f8148d4e3539037f4aaaDerek Tan * value. 764818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 765818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId the subscriber that the alphatag and dialing number belongs to. 766818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param alphaTag alpha-tagging of the dailing nubmer 767818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param number The dialing number 7680201a6f6f16a872405a5f9ee65026e948eb162d0Shishir Agrawal * @return true if the operation was executed correctly. 769818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 7700201a6f6f16a872405a5f9ee65026e948eb162d0Shishir Agrawal boolean setLine1NumberForDisplayForSubscriber(int subId, String alphaTag, String number); 771818631b679171ffb49eaa641bee06b9c953651daDerek Tan 772818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 773818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Returns the displayed dialing number string if it was set previously via 774818631b679171ffb49eaa641bee06b9c953651daDerek Tan * {@link #setLine1NumberForDisplay}. Otherwise returns null. 775818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 776818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId whose dialing number for line 1 is returned. 77716a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 778818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @return the displayed dialing number if set, or null if not set. 779818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 78016a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getLine1NumberForDisplay(int subId, String callingPackage); 781818631b679171ffb49eaa641bee06b9c953651daDerek Tan 782818631b679171ffb49eaa641bee06b9c953651daDerek Tan /** 783818631b679171ffb49eaa641bee06b9c953651daDerek Tan * Returns the displayed alphatag of the dialing number if it was set 784818631b679171ffb49eaa641bee06b9c953651daDerek Tan * previously via {@link #setLine1NumberForDisplay}. Otherwise returns null. 785818631b679171ffb49eaa641bee06b9c953651daDerek Tan * 786818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @param subId whose alphatag associated with line 1 is returned. 78716a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 788818631b679171ffb49eaa641bee06b9c953651daDerek Tan * @return the displayed alphatag of the dialing number if set, or null if 789818631b679171ffb49eaa641bee06b9c953651daDerek Tan * not set. 790818631b679171ffb49eaa641bee06b9c953651daDerek Tan */ 79116a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getLine1AlphaTagForDisplay(int subId, String callingPackage); 79286578cca383562c72751d747905280afdeb2bdfbShishir Agrawal 7933256601f5e4d94713f59e97b9d4912875c1bdcafJeff Sharkey String[] getMergedSubscriberIds(); 7943256601f5e4d94713f59e97b9d4912875c1bdcafJeff Sharkey 79586578cca383562c72751d747905280afdeb2bdfbShishir Agrawal /** 796d2cfa92146ecfa5e00d4a3ce8e63b1a588845fe2Shishir Agrawal * Override the operator branding for the current ICCID. 79786578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 798d2cfa92146ecfa5e00d4a3ce8e63b1a588845fe2Shishir Agrawal * Once set, whenever the SIM is present in the device, the service 79986578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * provider name (SPN) and the operator name will both be replaced by the 80086578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * brand value input. To unset the value, the same function should be 80186578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * called with a null brand value. 80286578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 80386578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * <p>Requires Permission: 80486578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} 80586578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * or has to be carrier app - see #hasCarrierPrivileges. 80686578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * 80786578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @param brand The brand name to display/set. 80886578cca383562c72751d747905280afdeb2bdfbShishir Agrawal * @return true if the operation was executed correctly. 80986578cca383562c72751d747905280afdeb2bdfbShishir Agrawal */ 810d2cfa92146ecfa5e00d4a3ce8e63b1a588845fe2Shishir Agrawal boolean setOperatorBrandOverride(String brand); 8113099c831441e861328cd4965011c854e060ce56aSteven Liu 8123099c831441e861328cd4965011c854e060ce56aSteven Liu /** 8135fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * Override the roaming indicator for the current ICCID. 8145fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8155fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * Using this call, the carrier app (see #hasCarrierPrivileges) can override 8165fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * the platform's notion of a network operator being considered roaming or not. 8175fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * The change only affects the ICCID that was active when this call was made. 8185fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8195fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * If null is passed as any of the input, the corresponding value is deleted. 8205fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8215fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * <p>Requires that the caller have carrier privilege. See #hasCarrierPrivileges. 8225fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * 8235fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param gsmRoamingList - List of MCCMNCs to be considered roaming for 3GPP RATs. 8245fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param gsmNonRoamingList - List of MCCMNCs to be considered not roaming for 3GPP RATs. 8255fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param cdmaRoamingList - List of SIDs to be considered roaming for 3GPP2 RATs. 8265fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @param cdmaNonRoamingList - List of SIDs to be considered not roaming for 3GPP2 RATs. 8275fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal * @return true if the operation was executed correctly. 8285fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal */ 8295fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal boolean setRoamingOverride(in List<String> gsmRoamingList, 8305fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal in List<String> gsmNonRoamingList, in List<String> cdmaRoamingList, 8315fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal in List<String> cdmaNonRoamingList); 8325fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal 8335fb1118d8c8a19bbbf4abc679b55f08cdfb79ba8Shishir Agrawal /** 8343099c831441e861328cd4965011c854e060ce56aSteven Liu * Returns the result and response from RIL for oem request 8353099c831441e861328cd4965011c854e060ce56aSteven Liu * 8363099c831441e861328cd4965011c854e060ce56aSteven Liu * @param oemReq the data is sent to ril. 8373099c831441e861328cd4965011c854e060ce56aSteven Liu * @param oemResp the respose data from RIL. 8383099c831441e861328cd4965011c854e060ce56aSteven Liu * @return negative value request was not handled or get error 8393099c831441e861328cd4965011c854e060ce56aSteven Liu * 0 request was handled succesfully, but no response data 8403099c831441e861328cd4965011c854e060ce56aSteven Liu * positive value success, data length of response 8413099c831441e861328cd4965011c854e060ce56aSteven Liu */ 8423099c831441e861328cd4965011c854e060ce56aSteven Liu int invokeOemRilRequestRaw(in byte[] oemReq, out byte[] oemResp); 843fb40dd4d00bd3361b2535bc866e6c21eadc52558Wink Saville 844bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla /** 845bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * Check if any mobile Radios need to be shutdown. 846bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * 847bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * @return true is any mobile radio needs to be shutdown 848bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla */ 849bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla boolean needMobileRadioShutdown(); 850bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla 851bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla /** 852bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla * Shutdown Mobile Radios 853bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla */ 854bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla void shutdownMobileRadios(); 8552af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville 8562af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville /** 8572af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * Set phone radio type and access technology. 8582af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * 8592af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @param rafs an RadioAccessFamily array to indicate all phone's 8602af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * new radio access family. The length of RadioAccessFamily 8612af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * must equ]]al to phone count. 8622af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville */ 8632af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville void setRadioCapability(in RadioAccessFamily[] rafs); 8642af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville 8652af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville /** 8662af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * Get phone radio type and access technology. 8672af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * 8682af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @param phoneId which phone you want to get 8692af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville * @return phone radio type and access technology 8702af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville */ 8712af2d57d578e0c3a2740628e7c6336b19961cc49Wink Saville int getRadioAccessFamily(in int phoneId); 8724a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee 8734a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee /** 8744a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Enables or disables video calling. 8754a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * 8764a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * @param enable Whether to enable video calling. 8774a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee */ 8784a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee void enableVideoCalling(boolean enable); 8794a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee 8804a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee /** 8814a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * Whether video calling has been enabled by the user. 8824a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee * 88316a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 88467fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the user has enabled video calling, {@code false} otherwise. 8854a3084a46d80383c528198a48da5c327d7d08a00Andrew Lee */ 88616a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov boolean isVideoCallingEnabled(String callingPackage); 8870b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe 8880303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com /** 88967fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * Whether the DTMF tone length can be changed. 89067fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * 89167fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the DTMF tone length can be changed. 89267fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee */ 89367fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee boolean canChangeDtmfToneLength(); 89467fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee 89567fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee /** 89667fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * Whether the device is a world phone. 89767fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * 89867fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee * @return {@code true} if the devices is a world phone. 89967fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee */ 90067fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee boolean isWorldPhone(); 90167fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee 90267fc92bd444e4d8eee0aa7703980aff9185ea1bdAndrew Lee /** 903f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * Whether the phone supports TTY mode. 904f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * 905f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * @return {@code true} if the device supports TTY mode. 906f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee */ 907f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee boolean isTtyModeSupported(); 908f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee 909f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee /** 910f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * Whether the phone supports hearing aid compatibility. 911f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * 912f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee * @return {@code true} if the device supports hearing aid compatibility. 913f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee */ 914f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee boolean isHearingAidCompatibilitySupported(); 915f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee 916f3c10020e2b76f20adb90d250ab4ed4e20e348d2Andrew Lee /** 9170303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com * Get IMS Registration Status 9180303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com */ 9190303be4a8ac109e52b2581b7c6a94b27c581f84fLibin.Tang@motorola.com boolean isImsRegistered(); 9200b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe 9210b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe /** 92242eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold * Returns the Status of Wi-Fi Calling 92342eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold *@hide 92442eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold */ 92542eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold boolean isWifiCallingEnabled(); 92642eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold 92742eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold /** 92842eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold * Returns the Status of Volte 92942eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold *@hide 93042eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold */ 93142eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold boolean isVolteEnabled(); 93242eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold 93342eadcdf3432e9fd6662ee07316db7726c1eabbfNathan Harold /** 9340b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * Returns the unique device ID of phone, for example, the IMEI for 9350b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * GSM and the MEID for CDMA phones. Return null if device ID is not available. 9360b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * 93716a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov * @param callingPackage The package making the call. 9380b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * <p>Requires Permission: 9390b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe * {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE} 9400b7f5e81ba06f694df8c8cccaea9e009e3200b4cSanket Padawe */ 94116a16899505ec0a9ede5b76650bfb8817b3227c7Svet Ganov String getDeviceId(String callingPackage); 942ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon 943ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon /** 944ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon * Returns the subscription ID associated with the specified PhoneAccount. 945ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon */ 946ed4ca5ca2c40ed2c838aaf483fcd58abdfa0ff08Santos Cordon int getSubIdForPhoneAccount(in PhoneAccount phoneAccount); 947f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott 948f1fb39763d87dabe254b6ed64ac8f20145035bc0Stuart Scott void factoryReset(int subId); 9497ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath 9507ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath /** 9517ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * An estimate of the users's current locale based on the default SIM. 9527ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * 9537ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * The returned string will be a well formed BCP-47 language tag, or {@code null} 9547ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath * if no locale could be derived. 9557ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath */ 9567ff76d637f5ad49838e9d4a1570c762a187ed4d1Narayan Kamath String getLocaleFromDefaultSim(); 9575c728994311c40821604c6711171e860776659a6Prerepa Viswanadham 9585c728994311c40821604c6711171e860776659a6Prerepa Viswanadham /** 9595c728994311c40821604c6711171e860776659a6Prerepa Viswanadham * Return the modem activity info. 9605c728994311c40821604c6711171e860776659a6Prerepa Viswanadham *@hide 9615c728994311c40821604c6711171e860776659a6Prerepa Viswanadham */ 9625c728994311c40821604c6711171e860776659a6Prerepa Viswanadham ModemActivityInfo getModemActivityInfo(); 963bd7723637b14d1895c043c2257f1cd9560322d4eNaveen Kalla} 964