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; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.List; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.telephony.NeighboringCellInfo; 22963db55d59a170f4b17ff907c96615a19ef6fe17John Wangimport android.telephony.CellInfo; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 25767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Interface used to interact with the phone. Mostly this is used by the 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TelephonyManager class. A few places are still using this directly. 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Please clean them up if possible and use TelephonyManager insteadl. 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface ITelephony { 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Dial a number. This doesn't place the call. It displays 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the Dialer screen. 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be dialed. If null, this 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * would display the Dialer screen with no number pre-filled. 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void dial(String number); 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Place a call to the specified number. 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the number to be called. 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 45f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn void call(String callingPackage, String number); 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there is currently a call in progress, show the call screen. 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The DTMF dialpad may or may not be visible initially, depending on 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * whether it was up when the user last exited the InCallScreen. 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the call screen was shown. 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean showCallScreen(); 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of showCallScreen() that also specifies whether the 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * DTMF dialpad should be initially visible when the InCallScreen 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * comes up. 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param showDialpad if true, make the dialpad visible initially, 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * otherwise hide the dialpad initially. 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the call screen was shown. 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see showCallScreen 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean showCallScreenWithDialpad(boolean showDialpad); 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 704d396052deb54399cbadbeb8abd873df6f3af342Jeff Brown * End call if there is a call in progress, otherwise does nothing. 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether it hung up 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean endCall(); 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Answer the currently-ringing call. 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there's already a current active call, that call will be 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * automatically put on hold. If both lines are currently in use, the 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * current active call will be ended. 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: provide a flag to let the caller specify what policy to use 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if both lines are in use. (The current behavior is hardwired to 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * "answer incoming, end ongoing", which is how the CALL button 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is specced to behave.) 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call (especially since it's called 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * directly from the key queue thread). 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void answerRingingCall(); 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Silence the ringer if an incoming call is currently ringing. 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (If vibrating, stop the vibrator also.) 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * It's safe to call this if the ringer has already been silenced, or 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * even if there's no incoming call. (If so, this method will do nothing.) 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * TODO: this should be a oneway call too (see above). 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (Actually *all* the methods here that return void can 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * probably be oneway.) 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void silenceRinger(); 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if we are in either an active or holding call 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is OFFHOOK. 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isOffhook(); 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if an incoming phone call is ringing or call waiting. 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is RINGING. 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isRinging(); 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the phone is idle. 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone state is IDLE. 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isIdle(); 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check to see if the radio is on or not. 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return returns true if the radio is on. 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isRadioOn(); 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Check if the SIM pin lock is enabled. 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the SIM pin lock is enabled. 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isSimPinEnabled(); 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Cancels the missed calls notification. 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 139767a662ecde33c3979bf02b793d392aca0403162Wink Saville void cancelMissedCallsNotification(); 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Supply a pin to unlock the SIM. Blocks until a result is determined. 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param pin The pin to check. 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return whether the operation was a success. 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean supplyPin(String pin); 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 14998c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Supply puk to unlock the SIM and set SIM pin to new pin. 15098c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * Blocks until a result is determined. 15198c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @param puk The puk to check. 15298c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * pin The new pin to be set in SIM 15398c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang * @return whether the operation was a success. 15498c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang */ 15598c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang boolean supplyPuk(String puk, String pin); 15698c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 15798c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang /** 158b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply a pin to unlock the SIM. Blocks until a result is determined. 159b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code. 160b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param pin The pin to check. 161b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 162b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 163b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 164b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPinReportResult(String pin); 165b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 166b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 167b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Supply puk to unlock the SIM and set SIM pin to new pin. 168b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Blocks until a result is determined. 169b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * Returns a specific success/error code 170b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @param puk The puk to check 171b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * pin The pin to check. 172b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * @return retValue[0] = Phone.PIN_RESULT_SUCCESS on success. Otherwise error code 173b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville * retValue[1] = number of attempts remaining if known otherwise -1 174b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville */ 175b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville int[] supplyPukReportResult(String puk, String pin); 176b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville 177b896b9f74225d61af67c2661f44eceadb9e22013Wink Saville /** 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without SEND (so <code>dial</code> is not appropriate). 180767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialString the MMI command to be executed. 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if MMI command is executed. 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handlePinMmi(String dialString); 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Toggles the radio on or off. 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void toggleRadioOnOff(); 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Set the radio to on or off 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean setRadio(boolean turnOn); 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 19745ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville * Set the radio to on or off unconditionally 19845ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville */ 19945ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville boolean setRadioPower(boolean turnOn); 20045ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville 20145ac9645da0ceafbae8c00b0dd0a09800fdcefdfWink Saville /** 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Request to update location information in service state 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void updateServiceLocation(); 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable location update notifications. 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void enableLocationUpdates(); 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable location update notifications. 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableLocationUpdates(); 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable a specific APN type. 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int enableApnType(String type); 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable a specific APN type. 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int disableApnType(String type); 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Allow mobile data connections. 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean enableDataConnectivity(); 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disallow mobile data connections. 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean disableDataConnectivity(); 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report whether data connectivity is possible. 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDataConnectivityPossible(); 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Bundle getCellLocation(); 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the neighboring cell information of the device. 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 246f265ea9d8307282ff1da3915978625a94fc2859eDianne Hackborn List<NeighboringCellInfo> getNeighboringCellInfo(String callingPkg); 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getCallState(); 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataActivity(); 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int getDataState(); 251767a662ecde33c3979bf02b793d392aca0403162Wink Saville 252767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 253767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns the current active phone type as integer. 254767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns TelephonyManager.PHONE_TYPE_CDMA if RILConstants.CDMA_PHONE 255767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and TelephonyManager.PHONE_TYPE_GSM if RILConstants.GSM_PHONE 256767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 257767a662ecde33c3979bf02b793d392aca0403162Wink Saville int getActivePhoneType(); 258767a662ecde33c3979bf02b793d392aca0403162Wink Saville 259e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 260e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon index to display 261e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 262e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int getCdmaEriIconIndex(); 263e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 264e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 265e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon mode, 266e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 0 - ON 267e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1 - FLASHING 268e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 269e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville int getCdmaEriIconMode(); 270e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 271e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 272e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI text, 273e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 274e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville String getCdmaEriText(); 275e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 276dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 2774d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Returns true if OTA service provisioning needs to run. 2784d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * Only relevant on some technologies, others will always 2794d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville * return false. 280767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller */ 2814d8ae85b5de8a90a597e4b649c6ee7208e446e3bWink Saville boolean needsOtaServiceProvisioning(); 282767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller 283767be5f0b929cc1eeb8a7d5aa7a02e228053e9bbJim Miller /** 284dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Returns the unread count of voicemails 285dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 286ce099c3226b33b43e0dd5d1f24347b14a2223ee1David Krause int getVoiceMessageCount(); 287dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 288ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe /** 2890dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for data transmission 290ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe */ 291ebe66345e7099ca6fc95e8aa4d31a5b5cbbd6224Li Zhe int getNetworkType(); 29298c7781ca89348992e3cb455e83cbc774bbe4d3eJohn Wang 293e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville /** 2940dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for data transmission 2950dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 2960dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville int getDataNetworkType(); 2970dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 2980dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 2990dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville * Returns the network type for voice 3000dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville */ 3010dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville int getVoiceNetworkType(); 3020dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville 3030dde2c20a07770bc2f1b21e49222c968f3d8b39aWink Saville /** 304e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville * Return true if an ICC card is present 305e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville */ 306e40f66ffc11cfc7e1bbe3e4c2ae1cf6dbc24cc17Wink Saville boolean hasIccCard(); 3075e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville 3085e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville /** 3095e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * Return if the current radio is LTE on CDMA. This 3105e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * is a tri-state return value as for a period of time 3115e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * the mode may be unknown. 3125e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * 3135e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * @return {@link Phone#LTE_ON_CDMA_UNKNOWN}, {@link Phone#LTE_ON_CDMA_FALSE} 3145e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville * or {@link PHone#LTE_ON_CDMA_TRUE} 3155e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville */ 3165e9270bfd566c32a60dfeb34435a158eb4ceb9a9Wink Saville int getLteOnCdmaMode(); 317963db55d59a170f4b17ff907c96615a19ef6fe17John Wang 318963db55d59a170f4b17ff907c96615a19ef6fe17John Wang /** 319963db55d59a170f4b17ff907c96615a19ef6fe17John Wang * Returns the all observed cell information of the device. 320963db55d59a170f4b17ff907c96615a19ef6fe17John Wang */ 321963db55d59a170f4b17ff907c96615a19ef6fe17John Wang List<CellInfo> getAllCellInfo(); 322094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville 323094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville /** 324094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville * Sets minimum time in milli-seconds between onCellInfoChanged 325094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville */ 326094beeccf5bf6e68d73f94a1aeaeda6690f4bf06Wink Saville void setCellInfoListRate(int rateInMillis); 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 328767a662ecde33c3979bf02b793d392aca0403162Wink Saville 329