Phone.java revision 89bd269975cae2d44c871c997b4eb0d42ba1f43c
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.content.Context; 20767a662ecde33c3979bf02b793d392aca0403162Wink Savilleimport android.content.SharedPreferences; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Handler; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Message; 23767a662ecde33c3979bf02b793d392aca0403162Wink Savilleimport android.preference.PreferenceManager; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.telephony.CellLocation; 251c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganeshimport android.telephony.PhoneStateListener; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.telephony.ServiceState; 27e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport android.telephony.SignalStrength; 28767a662ecde33c3979bf02b793d392aca0403162Wink Saville 29767a662ecde33c3979bf02b793d392aca0403162Wink Savilleimport com.android.internal.telephony.DataConnection; 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.telephony.gsm.NetworkInfo; 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.telephony.gsm.PdpConnection; 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.telephony.test.SimulatedRadioControl; 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.List; 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Internal interface used to control the phone; SDK developers cannot 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * obtain this interface. 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface Phone { 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** used to enable additional debug messages */ 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final boolean DEBUG_PHONE = true; 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 48767a662ecde33c3979bf02b793d392aca0403162Wink Saville 49767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The phone state. One of the following:<p> 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>IDLE = no phone activity</li> 53767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <li>RINGING = a phone call is ringing or call waiting. 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * In the latter case, another call is active as well</li> 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>OFFHOOK = The phone is off hook. At least one call 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * exists that is dialing, active or holding and no calls are 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ringing or waiting.</li> 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project enum State { 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IDLE, RINGING, OFFHOOK; 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The state of a data connection. 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>CONNECTED = IP traffic should be available</li> 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>CONNECTING = Currently setting up data connection</li> 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>DISCONNECTED = IP not available</li> 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>SUSPENDED = connection is created but IP traffic is 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * temperately not available. i.e. voice call is in place 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * in 2G network</li> 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project enum DataState { 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project CONNECTED, CONNECTING, DISCONNECTED, SUSPENDED; 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 79767a662ecde33c3979bf02b793d392aca0403162Wink Saville public enum DataActivityState { 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The state of a data activity. 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>NONE = No traffic</li> 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>DATAIN = Receiving IP ppp traffic</li> 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>DATAOUT = Sending IP ppp traffic</li> 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>DATAINANDOUT = Both receiving and sending IP ppp traffic</li> 87e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * <li>DORMANT = The data connection is still active, 88e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville but physical link is down</li> 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 91e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville NONE, DATAIN, DATAOUT, DATAINANDOUT, DORMANT; 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project enum SuppService { 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project UNKNOWN, SWITCH, SEPARATE, TRANSFER, CONFERENCE, REJECT, HANGUP; 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String STATE_KEY = "state"; 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String PHONE_NAME_KEY = "phoneName"; 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String FAILURE_REASON_KEY = "reason"; 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String STATE_CHANGE_REASON_KEY = "reason"; 10242acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt static final String DATA_APN_TYPES_KEY = "apnType"; 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String DATA_APN_KEY = "apn"; 10442acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String DATA_IFACE_NAME_KEY = "iface"; 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String NETWORK_UNAVAILABLE_KEY = "networkUnvailable"; 107dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville static final String PHONE_IN_ECM_STATE = "phoneinECMState"; 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN types for data connections. These are usage categories for an APN 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * entry. One APN entry may support multiple APN types, eg, a single APN 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * may service regular internet traffic ("default") as well as MMS-specific 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * connections.<br/> 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN_TYPE_ALL is a special type to indicate that this APN entry can 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * service all data connections. 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String APN_TYPE_ALL = "*"; 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** APN type for default data traffic */ 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String APN_TYPE_DEFAULT = "default"; 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** APN type for MMS traffic */ 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String APN_TYPE_MMS = "mms"; 12242ad56ead40f6c5986bd2d298b1d36f42da489a1Mike Lockwood /** APN type for SUPL assisted GPS */ 12342ad56ead40f6c5986bd2d298b1d36f42da489a1Mike Lockwood static final String APN_TYPE_SUPL = "supl"; 12442acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt /** APN type for DUN traffic */ 12542acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt static final String APN_TYPE_DUN = "dun"; 12642acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt /** APN type for HiPri traffic */ 12742acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt static final String APN_TYPE_HIPRI = "hipri"; 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // "Features" accessible through the connectivity manager 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String FEATURE_ENABLE_MMS = "enableMMS"; 13142ad56ead40f6c5986bd2d298b1d36f42da489a1Mike Lockwood static final String FEATURE_ENABLE_SUPL = "enableSUPL"; 13242acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt static final String FEATURE_ENABLE_DUN = "enableDUN"; 13342acef37339afe6ac608c842f1637870ee9c4f6cRobert Greenwalt static final String FEATURE_ENABLE_HIPRI = "enableHIPRI"; 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Return codes for <code>enableApnType()</code> 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int APN_ALREADY_ACTIVE = 0; 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int APN_REQUEST_STARTED = 1; 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int APN_TYPE_NOT_AVAILABLE = 2; 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int APN_REQUEST_FAILED = 3; 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Optional reasons for disconnect and connect 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_ROAMING_ON = "roamingOn"; 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_ROAMING_OFF = "roamingOff"; 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_DATA_DISABLED = "dataDisabled"; 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_DATA_ENABLED = "dataEnabled"; 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_GPRS_ATTACHED = "gprsAttached"; 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_GPRS_DETACHED = "gprsDetached"; 153767a662ecde33c3979bf02b793d392aca0403162Wink Saville static final String REASON_CDMA_DATA_ATTACHED = "cdmaDataAttached"; 154767a662ecde33c3979bf02b793d392aca0403162Wink Saville static final String REASON_CDMA_DATA_DETACHED = "cdmaDataDetached"; 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_APN_CHANGED = "apnChanged"; 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_APN_SWITCHED = "apnSwitched"; 15789bd269975cae2d44c871c997b4eb0d42ba1f43cRobert Greenwalt static final String REASON_APN_FAILED = "apnFailed"; 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_RESTORE_DEFAULT_APN = "restoreDefaultApn"; 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_RADIO_TURNED_OFF = "radioTurnedOff"; 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_PDP_RESET = "pdpReset"; 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_VOICE_CALL_ENDED = "2GVoiceCallEnded"; 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_VOICE_CALL_STARTED = "2GVoiceCallStarted"; 1634df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project static final String REASON_PS_RESTRICT_ENABLED = "psRestrictEnabled"; 1644df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project static final String REASON_PS_RESTRICT_DISABLED = "psRestrictDisabled"; 165ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project static final String REASON_SIM_LOADED = "simLoaded"; 166e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1674df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project // Used for band mode selection methods 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_UNSPECIFIED = 0; // selected by baseband automatically 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_EURO_BAND = 1; // GSM-900 / DCS-1800 / WCDMA-IMT-2000 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_US_BAND = 2; // GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_JPN_BAND = 3; // WCDMA-800 / WCDMA-IMT-2000 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_AUS_BAND = 4; // GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_AUS2_BAND = 5; // GSM-900 / DCS-1800 / WCDMA-850 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_BOUNDARY = 6; // upper band boundary 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Used for preferred network type 177767a662ecde33c3979bf02b793d392aca0403162Wink Saville // Note NT_* substitute RILConstants.NETWORK_MODE_* above the Phone 178ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF; 179ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ONLY; 180ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDMA_ONLY; 181ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_GSM_UMTS = RILConstants.NETWORK_MODE_GSM_UMTS; 182ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh 183ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_CDMA = RILConstants.NETWORK_MODE_CDMA; 184ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh 185ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA_NO_EVDO; 186ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO_NO_CDMA; 187ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOBAL; 188ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh 189ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int PREFERRED_NT_MODE = RILConstants.PREFERRED_NETWORK_MODE; 190767a662ecde33c3979bf02b793d392aca0403162Wink Saville 191767a662ecde33c3979bf02b793d392aca0403162Wink Saville 192767a662ecde33c3979bf02b793d392aca0403162Wink Saville // Used for CDMA roaming mode 193e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_RM_HOME = 0; // Home Networks only, as defined in PRL 194e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_RM_AFFILIATED = 1; // Roaming an Affiliated networks, as defined in PRL 195e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_RM_ANY = 2; // Roaming on Any Network, as defined in PRL 196767a662ecde33c3979bf02b793d392aca0403162Wink Saville 197767a662ecde33c3979bf02b793d392aca0403162Wink Saville // Used for CDMA subscription mode 198e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // RUIM/SIM (default) 199e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_SUBSCRIPTION_NV = 1; // NV -> non-volatile memory 200e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 201e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int PREFERRED_CDMA_SUBSCRIPTION = CDMA_SUBSCRIPTION_NV; 202e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 203e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int TTY_MODE_OFF = 0; 204e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int TTY_MODE_FULL = 1; 205e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int TTY_MODE_HCO = 2; 206e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int TTY_MODE_VCO = 3; 207767a662ecde33c3979bf02b793d392aca0403162Wink Saville 208dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 209dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * CDMA OTA PROVISION STATUS, the same as RIL_CDMA_OTA_Status in ril.h 210dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 211dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 212dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SPL_UNLOCKED = 0; 213dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SPC_RETRIES_EXCEEDED = 1; 214dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_A_KEY_EXCHANGED = 2; 215dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SSD_UPDATED = 3; 216dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_NAM_DOWNLOADED = 4; 217dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_MDN_DOWNLOADED = 5; 218dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_IMSI_DOWNLOADED = 6; 219dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_PRL_DOWNLOADED = 7; 220dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_COMMITTED = 8; 221dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_STARTED = 9; 222dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_STOPPED = 10; 223dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_ABORTED = 11; 224dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 225dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 226767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 227767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get the current ServiceState. Use 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>registerForServiceStateChanged</code> to be informed of 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * updates. 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ServiceState getServiceState(); 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the current CellLocation. 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project CellLocation getCellLocation(); 237767a662ecde33c3979bf02b793d392aca0403162Wink Saville 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the current DataState. No change notification exists at this 240767a662ecde33c3979bf02b793d392aca0403162Wink Saville * interface -- use 241b111554883ef3d4101c2f3fe9d630f5c1d3bbf7aMarco Nelissen * {@link com.android.telephony.PhoneStateListener PhoneStateListener} 242767a662ecde33c3979bf02b793d392aca0403162Wink Saville * instead. 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project DataState getDataConnectionState(); 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the current DataActivityState. No change notification exists at this 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * interface -- use 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link TelephonyManager} instead. 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project DataActivityState getDataActivityState(); 252767a662ecde33c3979bf02b793d392aca0403162Wink Saville 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets the context for the phone, as set at initialization time. 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Context getContext(); 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 258767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 259767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Disables the DNS check (i.e., allows "0.0.0.0"). 260767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Useful for lab testing environment. 261767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param b true disables the check, false enables. 262767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 263767a662ecde33c3979bf02b793d392aca0403162Wink Saville void disableDnsCheck(boolean b); 264767a662ecde33c3979bf02b793d392aca0403162Wink Saville 265767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 266767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns true if the DNS check is currently disabled. 267767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 268767a662ecde33c3979bf02b793d392aca0403162Wink Saville boolean isDnsCheckDisabled(); 269767a662ecde33c3979bf02b793d392aca0403162Wink Saville 270767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get current coarse-grained voice call state. 2721c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * Use {@link #registerForPreciseCallStateChanged(Handler, int, Object) 2731c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * registerForPreciseCallStateChanged()} for change notification. <p> 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If the phone has an active call and call waiting occurs, 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * then the phone state is RINGING not OFFHOOK 276767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>Note:</strong> 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This registration point provides notification of finer-grained 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * changes.<p> 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project State getState(); 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 283767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a string identifier for this phone interface for parties 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * outside the phone app process. 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The string name. 2879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getPhoneName(); 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 290767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns an array of string identifiers for the APN types serviced by the 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * currently active or last connected APN. 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The string array. 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String[] getActiveApnTypes(); 296767a662ecde33c3979bf02b793d392aca0403162Wink Saville 297767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 2989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a string identifier for currently active or last connected APN. 2999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The string name. 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getActiveApn(); 302767a662ecde33c3979bf02b793d392aca0403162Wink Saville 303767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 304dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Get current signal strength. No change notification available on this 305dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * interface. Use <code>PhoneStateNotifier</code> or an equivalent. 306dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * An ASU is 0-31 or -1 if unknown (for GSM, dBm = -113 - 2 * asu). 307dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * The following special values are defined:</p> 308dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <ul><li>0 means "-113 dBm or less".</li> 309dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <li>31 means "-51 dBm or greater".</li></ul> 310767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 311e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @return Current signal strength as SignalStrength 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 313e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville SignalStrength getSignalStrength(); 314767a662ecde33c3979bf02b793d392aca0403162Wink Saville 315767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when a previously untracked non-ringing/waiting connection has appeared. 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This is likely due to some other entity (eg, SIM card application) initiating a call. 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForUnknownConnection(Handler h, int what, Object obj); 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unregisters for unknown connection notifications. 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForUnknownConnection(Handler h); 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 326767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3271c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * Register for getting notifications for change in the Call State {@link Call.State} 3281c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * This is called PreciseCallState because the call state is more precise than the 3291c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link Phone.State} which can be obtained using the {@link PhoneStateListener} 3301c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Resulting events will have an AsyncResult in <code>Message.obj</code>. 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.userData will be set to the obj argument here. 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The <em>h</em> parameter is held only by a weak reference. 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3351c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh void registerForPreciseCallStateChanged(Handler h, int what, Object obj); 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 338767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for voice call state change notifications. 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently. 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3411c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh void unregisterForPreciseCallStateChanged(Handler h); 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 344767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when a new ringing or waiting connection has appeared.<p> 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Messages received from this: 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will be an AsyncResult 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.userObj = obj 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.result = a Connection. <p> 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Please check Connection.isRinging() to make sure the Connection 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * has not dropped since this message was posted. 353767a662ecde33c3979bf02b793d392aca0403162Wink Saville * If Connection.isRinging() is true, then 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connection.getCall() == Phone.getRingingCall() 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForNewRingingConnection(Handler h, int what, Object obj); 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 359767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for new ringing connection notification. 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForNewRingingConnection(Handler h); 3649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 365767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when an incoming call rings.<p> 3679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Messages received from this: 3699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will be an AsyncResult 3709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.userObj = obj 3719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.result = a Connection. <p> 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForIncomingRing(Handler h, int what, Object obj); 374767a662ecde33c3979bf02b793d392aca0403162Wink Saville 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 376767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for ring notification. 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 379767a662ecde33c3979bf02b793d392aca0403162Wink Saville 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForIncomingRing(Handler h); 381767a662ecde33c3979bf02b793d392aca0403162Wink Saville 382767a662ecde33c3979bf02b793d392aca0403162Wink Saville 383767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when a voice connection has disconnected, either due to local 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or remote hangup or error. 386767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Messages received from this will have the following members:<p> 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul><li>Message.obj will be an AsyncResult</li> 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>AsyncResult.userObj = obj</li> 390767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <li>AsyncResult.result = a Connection object that is 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no longer connected.</li></ul> 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForDisconnect(Handler h, int what, Object obj); 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 396767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for voice disconnection notification. 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForDisconnect(Handler h); 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Register for notifications of initiation of a new MMI code request. 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * MMI codes for GSM are discussed in 3GPP TS 22.030.<p> 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Example: If Phone.dial is called with "*#31#", then the app will 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be notified here.<p> 4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The returned <code>Message.obj</code> will contain an AsyncResult. 4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>obj.result</code> will be an "MmiCode" object. 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForMmiInitiate(Handler h, int what, Object obj); 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 416767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for new MMI initiate notification. 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForMmiInitiate(Handler h); 4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Register for notifications that an MMI request has completed 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * its network activity and is in its final state. This may mean a state 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of COMPLETE, FAILED, or CANCELLED. 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>Message.obj</code> will contain an AsyncResult. 4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>obj.result</code> will be an "MmiCode" object 4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForMmiComplete(Handler h, int what, Object obj); 4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 432767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for MMI complete notification. 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForMmiComplete(Handler h); 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 43895a1d1a89e383dab893750638c2393dec54833ffWink Saville * Registration point for Ecm timer reset 43995a1d1a89e383dab893750638c2393dec54833ffWink Saville * @param h handler to notify 44095a1d1a89e383dab893750638c2393dec54833ffWink Saville * @param what user-defined message code 44195a1d1a89e383dab893750638c2393dec54833ffWink Saville * @param obj placed in Message.obj 44295a1d1a89e383dab893750638c2393dec54833ffWink Saville */ 44395a1d1a89e383dab893750638c2393dec54833ffWink Saville public void registerForEcmTimerReset(Handler h, int what, Object obj); 44495a1d1a89e383dab893750638c2393dec54833ffWink Saville 44595a1d1a89e383dab893750638c2393dec54833ffWink Saville /** 44695a1d1a89e383dab893750638c2393dec54833ffWink Saville * Unregister for notification for Ecm timer reset 44795a1d1a89e383dab893750638c2393dec54833ffWink Saville * @param h Handler to be removed from the registrant list. 44895a1d1a89e383dab893750638c2393dec54833ffWink Saville */ 44995a1d1a89e383dab893750638c2393dec54833ffWink Saville public void unregisterForEcmTimerReset(Handler h); 45095a1d1a89e383dab893750638c2393dec54833ffWink Saville 45195a1d1a89e383dab893750638c2393dec54833ffWink Saville /** 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a list of MMI codes that are pending. (They have initiated 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * but have not yet completed). 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Presently there is only ever one. 455767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Use <code>registerForMmiInitiate</code> 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and <code>registerForMmiComplete</code> for change notification. 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public List<? extends MmiCode> getPendingMmiCodes(); 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sends user response to a USSD REQUEST message. An MmiCode instance 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * representing this response is sent to handlers registered with 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * registerForMmiInitiate. 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param ussdMessge Message to send in the response. 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void sendUssdResponse(String ussdMessge); 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 470767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Register for ServiceState changed. 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will contain an AsyncResult. 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.result will be a ServiceState instance 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForServiceStateChanged(Handler h, int what, Object obj); 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 477767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for ServiceStateChange notification. 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForServiceStateChanged(Handler h); 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Register for Supplementary Service notifications from the network. 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will contain an AsyncResult. 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.result will be a SuppServiceNotification instance. 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param h Handler that receives the notification message. 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param what User-defined message code. 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param obj User object. 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForSuppServiceNotification(Handler h, int what, Object obj); 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 494767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for Supplementary Service notifications. 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 496767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param h Handler to be removed from the registrant list. 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForSuppServiceNotification(Handler h); 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Register for notifications when a supplementary service attempt fails. 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will contain an AsyncResult. 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param h Handler that receives the notification message. 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param what User-defined message code. 5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param obj User object. 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForSuppServiceFailed(Handler h, int what, Object obj); 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unregister for notifications when a supplementary service attempt fails. 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 514767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param h Handler to be removed from the registrant list. 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForSuppServiceFailed(Handler h); 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 519767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 520767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Register for notifications when a sInCall VoicePrivacy is enabled 521767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 522767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param h Handler that receives the notification message. 523767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param what User-defined message code. 524767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param obj User object. 525767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 526767a662ecde33c3979bf02b793d392aca0403162Wink Saville void registerForInCallVoicePrivacyOn(Handler h, int what, Object obj); 527767a662ecde33c3979bf02b793d392aca0403162Wink Saville 528767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 529767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unegister for notifications when a sInCall VoicePrivacy is enabled 530767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 531767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param h Handler to be removed from the registrant list. 532767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 533767a662ecde33c3979bf02b793d392aca0403162Wink Saville void unregisterForInCallVoicePrivacyOn(Handler h); 534767a662ecde33c3979bf02b793d392aca0403162Wink Saville 535767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 536767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Register for notifications when a sInCall VoicePrivacy is disabled 537767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 538767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param h Handler that receives the notification message. 539767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param what User-defined message code. 540767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param obj User object. 541767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 542767a662ecde33c3979bf02b793d392aca0403162Wink Saville void registerForInCallVoicePrivacyOff(Handler h, int what, Object obj); 543767a662ecde33c3979bf02b793d392aca0403162Wink Saville 544767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 545767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unegister for notifications when a sInCall VoicePrivacy is disabled 546767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 547767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param h Handler to be removed from the registrant list. 548767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 549767a662ecde33c3979bf02b793d392aca0403162Wink Saville void unregisterForInCallVoicePrivacyOff(Handler h); 550767a662ecde33c3979bf02b793d392aca0403162Wink Saville 551767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 552dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Register for notifications when CDMA OTA Provision status change 553e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 554e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @param h Handler that receives the notification message. 555e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @param what User-defined message code. 556e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @param obj User object. 557e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 558dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void registerForCdmaOtaStatusChange(Handler h, int what, Object obj); 559e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 560e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 561dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unegister for notifications when CDMA OTA Provision status change 562e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @param h Handler to be removed from the registrant list. 563e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 564dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unregisterForCdmaOtaStatusChange(Handler h); 565e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 566e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 5679e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * Registration point for subscription info ready 5689e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * @param h handler to notify 5699e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * @param what what code of message when delivered 5709e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * @param obj placed in Message.obj 5719e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo */ 5729e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo public void registerForSubscriptionInfoReady(Handler h, int what, Object obj); 5739e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo 5749e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo /** 5759e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * Unregister for notifications for subscription info 5769e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * @param h Handler to be removed from the registrant list. 5779e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo */ 5789e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo public void unregisterForSubscriptionInfoReady(Handler h); 5799e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo 5809e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo /** 581767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns SIM record load state. Use 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>getSimCard().registerForReady()</code> for change notification. 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 584767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @return true if records from the SIM have been loaded and are 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available (if applicable). If not applicable to the underlying 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * technology, returns true as well. 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 588767a662ecde33c3979bf02b793d392aca0403162Wink Saville boolean getIccRecordsLoaded(); 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 591767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns the ICC card interface for this phone, or null 5929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if not applicable to underlying technology. 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 594767a662ecde33c3979bf02b793d392aca0403162Wink Saville IccCard getIccCard(); 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 597767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Answers a ringing or waiting call. Active calls, if any, go on hold. 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Answering occurs asynchronously, and final notification occurs via 5991c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6001c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()}. 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException when no call is ringing or waiting 6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void acceptCall() throws CallStateException; 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 606767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 607767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Reject (ignore) a ringing call. In GSM, this means UDUB 608767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (User Determined User Busy). Reject occurs asynchronously, 609767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and final notification occurs via 6101c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6111c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()}. 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException when no call is ringing or waiting 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void rejectCall() throws CallStateException; 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 617767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Places any active calls on hold, and makes any held calls 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * active. Switch occurs asynchronously and may fail. 620767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Final notification occurs via 6211c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6221c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()}. 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException if a call is ringing, waiting, or 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dialing/alerting. In these cases, this operation may not be performed. 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void switchHoldingAndActive() throws CallStateException; 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 630767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Whether or not the phone can conference in the current phone 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * state--that is, one call holding and one call active. 632767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @return true if the phone can conference; false otherwise. 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean canConference(); 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 637767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Conferences holding and active. Conference occurs asynchronously 638767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and may fail. Final notification occurs via 6391c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6401c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()}. 641767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException if canConference() would return false. 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * In these cases, this operation may not be performed. 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void conference() throws CallStateException; 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 648767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Enable or disable enhanced Voice Privacy (VP). If enhanced VP is 649767a662ecde33c3979bf02b793d392aca0403162Wink Saville * disabled, normal VP is enabled. 650767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 651767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param enable whether true or false to enable or disable. 652767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param onComplete a callback message when the action is completed. 653767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 654767a662ecde33c3979bf02b793d392aca0403162Wink Saville void enableEnhancedVoicePrivacy(boolean enable, Message onComplete); 655767a662ecde33c3979bf02b793d392aca0403162Wink Saville 656767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 657767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get the currently set Voice Privacy (VP) mode. 658767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 659767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param onComplete a callback message when the action is completed. 660767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 661767a662ecde33c3979bf02b793d392aca0403162Wink Saville void getEnhancedVoicePrivacy(Message onComplete); 662767a662ecde33c3979bf02b793d392aca0403162Wink Saville 663767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Whether or not the phone can do explicit call transfer in the current 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * phone state--that is, one call holding and one call active. 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone can do explicit call transfer; false otherwise. 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean canTransfer(); 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connects the two calls and disconnects the subscriber from both calls 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Explicit Call Transfer occurs asynchronously 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and may fail. Final notification occurs via 6741c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6751c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()}. 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException if canTransfer() would return false. 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * In these cases, this operation may not be performed. 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void explicitCallTransfer() throws CallStateException; 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Clears all DISCONNECTED connections from Call connection lists. 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Calls that were in the DISCONNECTED state become idle. This occurs 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * synchronously. 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void clearDisconnected(); 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 690767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 691767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Gets the foreground call object, which represents all connections that 692767a662ecde33c3979bf02b793d392aca0403162Wink Saville * are dialing or active (all connections 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * that have their audio path connected).<p> 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The foreground call is a singleton object. It is constant for the life 6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of this phone. It is never null.<p> 697767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The foreground call will only ever be in one of these states: 699767a662ecde33c3979bf02b793d392aca0403162Wink Saville * IDLE, ACTIVE, DIALING, ALERTING, or DISCONNECTED. 7009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * State change notification is available via 7021c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 7031c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()}. 7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Call getForegroundCall(); 7069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 707767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets the background call object, which represents all connections that 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are holding (all connections that have been accepted or connected, but 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * do not have their audio path connected). <p> 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The background call is a singleton object. It is constant for the life 7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of this phone object . It is never null.<p> 714767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The background call will only ever be in one of these states: 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * IDLE, HOLDING or DISCONNECTED. 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * State change notification is available via 7191c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 7201c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()}. 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Call getBackgroundCall(); 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 724767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 725767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Gets the ringing call object, which represents an incoming 7269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * connection (if present) that is pending answer/accept. (This connection 7279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * may be RINGING or WAITING, and there may be only one.)<p> 7289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The ringing call is a singleton object. It is constant for the life 7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of this phone. It is never null.<p> 731767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The ringing call will only ever be in one of these states: 7339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * IDLE, INCOMING, WAITING or DISCONNECTED. 7349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * State change notification is available via 7361c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 7371c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()}. 7389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Call getRingingCall(); 7409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 741767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 7429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Initiate a new voice connection. This happens asynchronously, so you 7439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * cannot assume the audio path is connected (or a call index has been 7449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * assigned) until PhoneStateChanged notification has occurred. 7459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException if a new outgoing call is not currently 747767a662ecde33c3979bf02b793d392aca0403162Wink Saville * possible because no more call slots exist or a call exists that is 748767a662ecde33c3979bf02b793d392aca0403162Wink Saville * dialing, alerting, ringing, or waiting. Other errors are 7499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * handled asynchronously. 7509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Connection dial(String dialString) throws CallStateException; 7529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 7559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without SEND (so <code>dial</code> is not appropriate). 756767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 7579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialString the MMI command to be executed. 7589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if MMI command is executed. 7599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handlePinMmi(String dialString); 7619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles in-call MMI commands. While in a call, or while receiving a 7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * call, use this to execute MMI commands. 7659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * see 3GPP 20.030, section 6.5.5.1 for specs on the allowed MMI commands. 7669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param command the MMI command to be executed. 7689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the MMI command is executed. 7699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @throws CallStateException 7709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handleInCallMmiCommands(String command) throws CallStateException; 7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 774767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Play a DTMF tone on the active call. Ignored if there is no active call. 7759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param c should be one of 0-9, '*' or '#'. Other values will be 7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * silently ignored. 7779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void sendDtmf(char c); 7799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Start to paly a DTMF tone on the active call. Ignored if there is no active call 7829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or there is a playing DTMF tone. 7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param c should be one of 0-9, '*' or '#'. Other values will be 7849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * silently ignored. 7859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void startDtmf(char c); 7879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Stop the playing DTMF tone. Ignored if there is no playing DTMF 7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * tone or no active call. 7919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void stopDtmf(); 7939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 794e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 795dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * send burst DTMF tone, it can send the string as single character or multiple character 796dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * ignore if there is no active call or not valid digits string. 797dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Valid digit means only includes characters ISO-LATIN characters 0-9, *, # 798dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * The difference between sendDtmf and sendBurstDtmf is sendDtmf only sends one character, 799dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * this api can send single character and multiple character, also, this api has response 800dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * back to caller. 801dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 802dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param dtmfString is string representing the dialing digit(s) in the active call 803dafa22a3ef9328c72319aeec605f6a6d20e46080jsh * @param on the DTMF ON length in milliseconds, or 0 for default 804dafa22a3ef9328c72319aeec605f6a6d20e46080jsh * @param off the DTMF OFF length in milliseconds, or 0 for default 805dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param onCompelte is the callback message when the action is processed by BP 806dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 807e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 808dafa22a3ef9328c72319aeec605f6a6d20e46080jsh void sendBurstDtmf(String dtmfString, int on, int off, Message onComplete); 8099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 811767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Sets the radio power on/off state (off is sometimes 812767a662ecde33c3979bf02b793d392aca0403162Wink Saville * called "airplane mode"). Current state can be gotten via 813767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #getServiceState()}.{@link 8149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * android.telephony.ServiceState#getState() getState()}. 815767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>Note: </strong>This request is asynchronous. 8169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * getServiceState().getState() will not change immediately after this call. 817767a662ecde33c3979bf02b793d392aca0403162Wink Saville * registerForServiceStateChanged() to find out when the 8189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * request is complete. 8199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 820767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param power true means "on", false means "off". 8219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setRadioPower(boolean power); 8239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 824767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 8259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get voice message waiting indicator status. No change notification 8269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available on this interface. Use PhoneStateNotifier or similar instead. 8279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if there is a voice message waiting 8299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getMessageWaitingIndicator(); 8319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get voice call forwarding indicator status. No change notification 8349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available on this interface. Use PhoneStateNotifier or similar instead. 8359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if there is a voice call forwarding 8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getCallForwardingIndicator(); 8399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the line 1 phone number (MSISDN).<p> 8429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return phone number. May return null if not 8449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available or the SIM is not ready 8459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getLine1Number(); 8479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the alpha tag associated with the msisdn number. 8509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there is no alpha tag associated or the record is not yet available, 8519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * returns a default localized string. <p> 8529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getLine1AlphaTag(); 8549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the MSISDN phone number in the SIM card. 8579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param alphaTag the alpha tag associated with the MSISDN phone number 8599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (see getMsisdnAlphaTag) 8609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the new MSISDN phone number to be set on the SIM. 8619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setLine1Number(String alphaTag, String number, Message onComplete); 8649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 866767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get the voice mail access phone number. Typically dialed when the 867767a662ecde33c3979bf02b793d392aca0403162Wink Saville * user holds the "1" key in the phone app. May return null if not 8689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available or the SIM is not ready.<p> 8699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getVoiceMailNumber(); 8719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 873dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Returns unread voicemail count. This count is shown when the voicemail 874dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * notification is expanded.<p> 875dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 876ce099c3226b33b43e0dd5d1f24347b14a2223ee1David Krause int getVoiceMessageCount(); 877dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 878dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 8799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the alpha tag associated with the voice mail number. 8809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there is no alpha tag associated or the record is not yet available, 8819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * returns a default localized string. <p> 882767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 883767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Please use this value instead of some other localized string when 8849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * showing a name for this number in the UI. For example, call log 8859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * entries should show this alpha tag. <p> 8869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Usage of this alpha tag in the UI is a common carrier requirement. 8889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getVoiceMailAlphaTag(); 8909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * setVoiceMailNumber 8939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * sets the voicemail number in the SIM card. 8949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param alphaTag the alpha tag associated with the voice mail number 8969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (see getVoiceMailAlphaTag) 8979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param voiceMailNumber the new voicemail number to be set on the SIM. 8989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 8999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setVoiceMailNumber(String alphaTag, 9019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String voiceMailNumber, 9029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message onComplete); 9039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * getCallForwardingOptions 906767a662ecde33c3979bf02b793d392aca0403162Wink Saville * gets a call forwarding option. The return value of 907767a662ecde33c3979bf02b793d392aca0403162Wink Saville * ((AsyncResult)onComplete.obj) is an array of CallForwardInfo. 908767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 909767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param commandInterfaceCFReason is one of the valid call forwarding 910767a662ecde33c3979bf02b793d392aca0403162Wink Saville * CF_REASONS, as defined in 911dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 9129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 913767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @see com.android.internal.telephony.CallForwardInfo for details. 9149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getCallForwardingOption(int commandInterfaceCFReason, 9169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message onComplete); 917767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * setCallForwardingOptions 9209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * sets a call forwarding option. 921767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 922767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param commandInterfaceCFReason is one of the valid call forwarding 923767a662ecde33c3979bf02b793d392aca0403162Wink Saville * CF_REASONS, as defined in 924dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 925767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param commandInterfaceCFAction is one of the valid call forwarding 926767a662ecde33c3979bf02b793d392aca0403162Wink Saville * CF_ACTIONS, as defined in 927dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 928767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param dialingNumber is the target phone number to forward calls to 9299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param timerSeconds is used by CFNRy to indicate the timeout before 9309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * forwarding is attempted. 9319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 9329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setCallForwardingOption(int commandInterfaceCFReason, 9349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int commandInterfaceCFAction, 9359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String dialingNumber, 9369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int timerSeconds, 9379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message onComplete); 938767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * getOutgoingCallerIdDisplay 941767a662ecde33c3979bf02b793d392aca0403162Wink Saville * gets outgoing caller id display. The return value of 9429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ((AsyncResult)onComplete.obj) is an array of int, with a length of 2. 943767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 9449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 945767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @see com.android.internal.telephony.CommandsInterface.getCLIR for details. 9469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getOutgoingCallerIdDisplay(Message onComplete); 948767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * setOutgoingCallerIdDisplay 951767a662ecde33c3979bf02b793d392aca0403162Wink Saville * sets a call forwarding option. 952767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 953767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param commandInterfaceCLIRMode is one of the valid call CLIR 954767a662ecde33c3979bf02b793d392aca0403162Wink Saville * modes, as defined in 955767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <code>com.android.internal.telephony.CommandsInterface./code> 9569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 9579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setOutgoingCallerIdDisplay(int commandInterfaceCLIRMode, 9599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message onComplete); 960767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * getCallWaiting 963767a662ecde33c3979bf02b793d392aca0403162Wink Saville * gets call waiting activation state. The return value of 9649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ((AsyncResult)onComplete.obj) is an array of int, with a length of 1. 965767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 9669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 967767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @see com.android.internal.telephony.CommandsInterface.queryCallWaiting for details. 9689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getCallWaiting(Message onComplete); 970767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * setCallWaiting 973767a662ecde33c3979bf02b793d392aca0403162Wink Saville * sets a call forwarding option. 974767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 975767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param enable is a boolean representing the state that you are 9769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * requesting, true for enabled, false for disabled. 9779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 9789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setCallWaiting(boolean enable, Message onComplete); 980767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Scan available networks. This method is asynchronous; . 9839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * On completion, <code>response.obj</code> is set to an AsyncResult with 9849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * one of the following members:.<p> 9859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *<ul> 986767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <li><code>response.obj.result</code> will be a <code>List</code> of 987767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <code>com.android.internal.telephony.gsm.NetworkInfo</code> objects, or</li> 988767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <li><code>response.obj.exception</code> will be set with an exception 9899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * on failure.</li> 9909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 9919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 992767a662ecde33c3979bf02b793d392aca0403162Wink Saville void getAvailableNetworks(Message response); 9939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Switches network selection mode to "automatic", re-scanning and 9969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * re-selecting a network if appropriate. 997767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 998767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response The message to dispatch when the network selection 9999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is complete. 1000767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1001767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @see #selectNetworkManually(com.android.internal.telephony.gsm.NetworkInfo, 10029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * android.os.Message ) 10039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setNetworkSelectionModeAutomatic(Message response); 10059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1007767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Manually selects a network. <code>response</code> is 10089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dispatched when this is complete. <code>response.obj</code> will be 10099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * an AsyncResult, and <code>response.obj.exception</code> will be non-null 10109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * on failure. 1011767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 10129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #setNetworkSelectionModeAutomatic(Message) 10139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1014767a662ecde33c3979bf02b793d392aca0403162Wink Saville void selectNetworkManually(NetworkInfo network, 10159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message response); 10169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Requests to set the preferred network type for searching and registering 10199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (CS/PS domain, RAT, and operation mode) 10209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param networkType one of NT_*_TYPE 10219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response is callback message 10229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setPreferredNetworkType(int networkType, Message response); 10249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Query the preferred network type setting 10279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 10289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response is callback message to report one of NT_*_TYPE 10299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getPreferredNetworkType(Message response); 10319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1033c06ce125408696fd49c7fa9e1189ecb61804007ajsh * Gets the default SMSC address. 1034c06ce125408696fd49c7fa9e1189ecb61804007ajsh * 1035c06ce125408696fd49c7fa9e1189ecb61804007ajsh * @param result Callback message contains the SMSC address. 1036c06ce125408696fd49c7fa9e1189ecb61804007ajsh */ 1037c06ce125408696fd49c7fa9e1189ecb61804007ajsh void getSmscAddress(Message result); 1038c06ce125408696fd49c7fa9e1189ecb61804007ajsh 1039c06ce125408696fd49c7fa9e1189ecb61804007ajsh /** 1040c06ce125408696fd49c7fa9e1189ecb61804007ajsh * Sets the default SMSC address. 1041c06ce125408696fd49c7fa9e1189ecb61804007ajsh * 1042c06ce125408696fd49c7fa9e1189ecb61804007ajsh * @param address new SMSC address 1043c06ce125408696fd49c7fa9e1189ecb61804007ajsh * @param result Callback message is empty on completion 1044c06ce125408696fd49c7fa9e1189ecb61804007ajsh */ 1045c06ce125408696fd49c7fa9e1189ecb61804007ajsh void setSmscAddress(String address, Message result); 1046c06ce125408696fd49c7fa9e1189ecb61804007ajsh 1047c06ce125408696fd49c7fa9e1189ecb61804007ajsh /** 10489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Query neighboring cell IDs. <code>response</code> is dispatched when 10499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * this is complete. <code>response.obj</code> will be an AsyncResult, 10509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and <code>response.obj.exception</code> will be non-null on failure. 10519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * On success, <code>AsyncResult.result</code> will be a <code>String[]</code> 10529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * containing the neighboring cell IDs. Index 0 will contain the count 10539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of available cell IDs. Cell IDs are in hexadecimal format. 10549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 10559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response callback message that is dispatched when the query 1056767a662ecde33c3979bf02b793d392aca0403162Wink Saville * completes. 10579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getNeighboringCids(Message response); 10599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets an event to be fired when the telephony system processes 10629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a post-dial character on an outgoing call.<p> 10639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 10649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Messages of type <code>what</code> will be sent to <code>h</code>. 10659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The <code>obj</code> field of these Message's will be instances of 10669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>AsyncResult</code>. <code>Message.obj.result</code> will be 10679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a Connection object.<p> 10689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1069767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Message.arg1 will be the post dial character being processed, 10709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or 0 ('\0') if end of string.<p> 10719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1072767a662ecde33c3979bf02b793d392aca0403162Wink Saville * If Connection.getPostDialState() == WAIT, 1073767a662ecde33c3979bf02b793d392aca0403162Wink Saville * the application must call 1074767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link com.android.internal.telephony.Connection#proceedAfterWaitChar() 1075767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Connection.proceedAfterWaitChar()} or 1076767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link com.android.internal.telephony.Connection#cancelPostDial() 10779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connection.cancelPostDial()} 1078767a662ecde33c3979bf02b793d392aca0403162Wink Saville * for the telephony system to continue playing the post-dial 10799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * DTMF sequence.<p> 10809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1081767a662ecde33c3979bf02b793d392aca0403162Wink Saville * If Connection.getPostDialState() == WILD, 1082767a662ecde33c3979bf02b793d392aca0403162Wink Saville * the application must call 10839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link com.android.internal.telephony.Connection#proceedAfterWildChar 10849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connection.proceedAfterWildChar()} 1085767a662ecde33c3979bf02b793d392aca0403162Wink Saville * or 1086767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link com.android.internal.telephony.Connection#cancelPostDial() 10879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connection.cancelPostDial()} 1088767a662ecde33c3979bf02b793d392aca0403162Wink Saville * for the telephony system to continue playing the 10899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * post-dial DTMF sequence.<p> 1090767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 10919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Only one post dial character handler may be set. <p> 10929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Calling this method with "h" equal to null unsets this handler.<p> 10939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setOnPostDialCharacter(Handler h, int what, Object obj); 10959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1098767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Mutes or unmutes the microphone for the active call. The microphone 1099767a662ecde33c3979bf02b793d392aca0403162Wink Saville * is automatically unmuted if a call is answered, dialed, or resumed 11009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * from a holding state. 1101767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1102767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param muted true to mute the microphone, 11039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * false to activate the microphone. 11049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setMute(boolean muted); 11079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1109767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Gets current mute status. Use 11101c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 11111c42769339d8fe98ecb2698c64e7dc6672e3d59dJaikumar Ganesh * java.lang.Object) registerForPreciseCallStateChanged()} 11129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * as a change notifcation, although presently phone state changed is not 11139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * fired when setMute() is called. 11149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 11159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true is muting, false is unmuting 11169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getMute(); 11189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Invokes RIL_REQUEST_OEM_HOOK_RAW on RIL implementation. 1121767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 11229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param data The data for the request. 1123767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response <strong>On success</strong>, 11249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (byte[])(((AsyncResult)response.obj).result) 1125767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>On failure</strong>, 1126767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (((AsyncResult)response.obj).result) == null and 11279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).exception) being an instance of 11289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * com.android.internal.telephony.gsm.CommandException 11299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 11309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #invokeOemRilRequestRaw(byte[], android.os.Message) 11319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void invokeOemRilRequestRaw(byte[] data, Message response); 11339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Invokes RIL_REQUEST_OEM_HOOK_Strings on RIL implementation. 1136767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 11379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param strings The strings to make available as the request data. 1138767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response <strong>On success</strong>, "response" bytes is 11399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * made available as: 11409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (String[])(((AsyncResult)response.obj).result). 1141767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>On failure</strong>, 1142767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (((AsyncResult)response.obj).result) == null and 11439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).exception) being an instance of 11449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * com.android.internal.telephony.gsm.CommandException 11459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 11469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #invokeOemRilRequestStrings(java.lang.String[], android.os.Message) 11479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void invokeOemRilRequestStrings(String[] strings, Message response); 11499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the current active PDP context list 11529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1153767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @deprecated 11549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response <strong>On success</strong>, "response" bytes is 11559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * made available as: 11569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (String[])(((AsyncResult)response.obj).result). 11579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <strong>On failure</strong>, 11589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).result) == null and 11599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).exception) being an instance of 11609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * com.android.internal.telephony.gsm.CommandException 11619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getPdpContextList(Message response); 11639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1165767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get the current active Data Call list, substitutes getPdpContextList 1166767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1167767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response <strong>On success</strong>, "response" bytes is 1168767a662ecde33c3979bf02b793d392aca0403162Wink Saville * made available as: 1169767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (String[])(((AsyncResult)response.obj).result). 1170767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>On failure</strong>, 1171767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (((AsyncResult)response.obj).result) == null and 1172767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (((AsyncResult)response.obj).exception) being an instance of 1173767a662ecde33c3979bf02b793d392aca0403162Wink Saville * com.android.internal.telephony.gsm.CommandException 1174767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1175767a662ecde33c3979bf02b793d392aca0403162Wink Saville void getDataCallList(Message response); 1176767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1177767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 11789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get current mutiple PDP link status 1179767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1180767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @deprecated 11819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return list of pdp link connections 11829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<PdpConnection> getCurrentPdpList (); 11849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1186767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get current mutiple data connection status 1187767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1188767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @return list of data connections 1189767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1190767a662ecde33c3979bf02b793d392aca0403162Wink Saville List<DataConnection> getCurrentDataConnectionList (); 1191767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1192767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 11937a043b351b43e963605afef6ab76a52ae3a9270eTammo Spalink * Update the ServiceState CellLocation for current network registration. 11949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11957a043b351b43e963605afef6ab76a52ae3a9270eTammo Spalink void updateServiceLocation(); 11969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable location update notifications. 11999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void enableLocationUpdates(); 12019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable location update notifications. 12049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableLocationUpdates(); 12069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1208767a662ecde33c3979bf02b793d392aca0403162Wink Saville * For unit tests; don't send notifications to "Phone" 12099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * mailbox registrants if true. 12109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setUnitTestMode(boolean f); 1212767a662ecde33c3979bf02b793d392aca0403162Wink Saville 12139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true If unit test mode is enabled 12159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getUnitTestMode(); 12179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Assign a specified band for RF configuration. 12209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 12219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param bandMode one of BM_*_BAND 12229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response is callback message 12239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setBandMode(int bandMode, Message response); 12259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Query the list of band mode supported by RF. 12289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 12299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response is callback message 12309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ((AsyncResult)response.obj).result is an int[] with every 12319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * element representing one avialable BM_*_BAND 12329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void queryAvailableBandMode(Message response); 12349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if enable data connection on roaming 12379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getDataRoamingEnabled(); 12399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param enable set true if enable data connection on roaming 12429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setDataRoamingEnabled(boolean enable); 12449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1246767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Query the CDMA roaming preference setting 1247767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1248767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response is callback message to report one of CDMA_RM_* 1249767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1250767a662ecde33c3979bf02b793d392aca0403162Wink Saville void queryCdmaRoamingPreference(Message response); 1251767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1252767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1253767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Requests to set the CDMA roaming preference 1254767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param cdmaRoamingType one of CDMA_RM_* 1255767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response is callback message 1256767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1257767a662ecde33c3979bf02b793d392aca0403162Wink Saville void setCdmaRoamingPreference(int cdmaRoamingType, Message response); 1258767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1259767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1260767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Requests to set the CDMA subscription mode 1261767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param cdmaSubscriptionType one of CDMA_SUBSCRIPTION_* 1262767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response is callback message 1263767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1264767a662ecde33c3979bf02b793d392aca0403162Wink Saville void setCdmaSubscription(int cdmaSubscriptionType, Message response); 1265767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1266767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 12679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If this is a simulated phone interface, returns a SimulatedRadioControl. 1268767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @ return A SimulatedRadioControl if this is a simulated interface; 12699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * otherwise, null. 12709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SimulatedRadioControl getSimulatedRadioControl(); 12729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Allow mobile data connections. 12759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return {@code true} if the operation started successfully 12769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <br/>{@code false} if it 12779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * failed immediately.<br/> 12789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Even in the {@code true} case, it may still fail later 12799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * during setup, in which case an asynchronous indication will 12809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be supplied. 12819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean enableDataConnectivity(); 12839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disallow mobile data connections, and terminate any that 12869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are in progress. 12879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return {@code true} if the operation started successfully 12889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <br/>{@code false} if it 12899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * failed immediately.<br/> 12909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Even in the {@code true} case, it may still fail later 12919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * during setup, in which case an asynchronous indication will 12929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be supplied. 12939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean disableDataConnectivity(); 12959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1297c6d6b687af385d2a4e5f5210a9111d7b1acc233cWink Saville * Report the current state of data connectivity (enabled or disabled) 1298c6d6b687af385d2a4e5f5210a9111d7b1acc233cWink Saville * @return {@code false} if data connectivity has been explicitly disabled, 1299c6d6b687af385d2a4e5f5210a9111d7b1acc233cWink Saville * {@code true} otherwise. 1300c6d6b687af385d2a4e5f5210a9111d7b1acc233cWink Saville */ 1301c6d6b687af385d2a4e5f5210a9111d7b1acc233cWink Saville boolean isDataConnectivityEnabled(); 1302c6d6b687af385d2a4e5f5210a9111d7b1acc233cWink Saville 1303c6d6b687af385d2a4e5f5210a9111d7b1acc233cWink Saville /** 13049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enables the specified APN type. Only works for "special" APN types, 13059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * i.e., not the default APN. 13069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param type The desired APN type. Cannot be {@link #APN_TYPE_DEFAULT}. 13079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return <code>APN_ALREADY_ACTIVE</code> if the current APN 13089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * services the requested type.<br/> 13099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_TYPE_NOT_AVAILABLE</code> if the carrier does not 13109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * support the requested APN.<br/> 13119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_REQUEST_STARTED</code> if the request has been initiated.<br/> 13129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_REQUEST_FAILED</code> if the request was invalid.<br/> 13139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code> broadcast will 13149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * indicate connection state progress. 13159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int enableApnType(String type); 13179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disables the specified APN type, and switches back to the default APN, 13209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if necessary. Switching to the default APN will not happen if default 13219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * data traffic has been explicitly disabled via a call to {@link #disableDataConnectivity}. 13229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p/>Only works for "special" APN types, 13239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * i.e., not the default APN. 13249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param type The desired APN type. Cannot be {@link #APN_TYPE_DEFAULT}. 13259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return <code>APN_ALREADY_ACTIVE</code> if the default APN 13269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is already active.<br/> 13279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_REQUEST_STARTED</code> if the request to switch to the default 13289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN has been initiated.<br/> 13299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_REQUEST_FAILED</code> if the request was invalid.<br/> 13309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code> broadcast will 13319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * indicate connection state progress. 13329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int disableApnType(String type); 13349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report on whether data connectivity is allowed. 13379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDataConnectivityPossible(); 13399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the name of the network interface used by the specified APN type. 13429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getInterfaceName(String apnType); 13449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the IP address of the network interface used by the specified 13479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN type. 13489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getIpAddress(String apnType); 13509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the gateway for the network interface used by the specified APN 13539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * type. 13549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getGateway(String apnType); 13569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the DNS servers for the network interface used by the specified 13599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN type. 13609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String[] getDnsServers(String apnType); 13629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1364767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the unique device ID, e.g., IMEI for GSM phones and MEID for CDMA phones. 13659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getDeviceId(); 13679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the software version number for the device, e.g., IMEI/SV 13709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for GSM phones. 13719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getDeviceSvn(); 13739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the unique sbuscriber ID, e.g., IMSI for GSM phones. 13769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getSubscriberId(); 13789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1380767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the serial number of the ICC, if applicable. 1381767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1382767a662ecde33c3979bf02b793d392aca0403162Wink Saville String getIccSerialNumber(); 1383767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1384a3659232ba9f7f3ba87ff036d17e08a46cf1be62Wink Saville /* CDMA support methods */ 1385767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1386dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /* 1387dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * TODO(Moto) TODO(Teleca): can getCdmaMin, getEsn, getMeid use more generic calls 1388dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * already defined getXxxx above? 1389dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1390dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1391e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1392e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Retrieves the MIN for CDMA phones. 1393e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 1394dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville String getCdmaMin(); 1395767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1396767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 13979e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * Check if subscription data has been assigned to mMin 13989e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * 13999e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo * return true if MIN info is ready; false otherwise. 14009e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo */ 14019e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo boolean isMinInfoReady(); 14029e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo 14039e652dcc213b96087ccadc730b1e6b1891cd02aeJinghui Guo /** 140422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Retrieves PRL Version for CDMA phones 140522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 140622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville String getCdmaPrlVersion(); 140722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 140822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 1409767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the ESN for CDMA phones. 14109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1411767a662ecde33c3979bf02b793d392aca0403162Wink Saville String getEsn(); 1412767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1413767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1414767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves MEID for CDMA phones. 1415767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1416767a662ecde33c3979bf02b793d392aca0403162Wink Saville String getMeid(); 1417767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1418767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1419767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the PhoneSubInfo of the Phone 1420767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1421767a662ecde33c3979bf02b793d392aca0403162Wink Saville public PhoneSubInfo getPhoneSubInfo(); 1422767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1423767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1424767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the IccSmsInterfaceManager of the Phone 1425767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1426767a662ecde33c3979bf02b793d392aca0403162Wink Saville public IccSmsInterfaceManager getIccSmsInterfaceManager(); 1427767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1428767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1429767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the IccPhoneBookInterfaceManager of the Phone 1430767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1431767a662ecde33c3979bf02b793d392aca0403162Wink Saville public IccPhoneBookInterfaceManager getIccPhoneBookInterfaceManager(); 1432767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1433767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1434e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * setTTYMode 1435767a662ecde33c3979bf02b793d392aca0403162Wink Saville * sets a TTY mode option. 1436767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1437767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param enable is a boolean representing the state that you are 1438767a662ecde33c3979bf02b793d392aca0403162Wink Saville * requesting, true for enabled, false for disabled. 1439767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param onComplete a callback message when the action is completed 1440767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1441e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville void setTTYMode(int ttyMode, Message onComplete); 1442767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1443767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1444e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * queryTTYMode 1445767a662ecde33c3979bf02b793d392aca0403162Wink Saville * query the status of the TTY mode 1446767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1447767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param onComplete a callback message when the action is completed. 1448767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1449e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville void queryTTYMode(Message onComplete); 1450e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1451e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1452767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Activate or deactivate cell broadcast SMS. 1453767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1454767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param activate 1455767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 0 = activate, 1 = deactivate 1456767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response 1457767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Callback message is empty on completion 1458767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1459767a662ecde33c3979bf02b793d392aca0403162Wink Saville void activateCellBroadcastSms(int activate, Message response); 1460767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1461767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1462767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Query the current configuration of cdma cell broadcast SMS. 1463767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1464767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response 1465767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Callback message is empty on completion 1466767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1467767a662ecde33c3979bf02b793d392aca0403162Wink Saville void getCellBroadcastSmsConfig(Message response); 1468767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1469767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1470767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Configure cell broadcast SMS. 1471767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1472e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * TODO: Change the configValuesArray to a RIL_BroadcastSMSConfig 1473e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1474767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response 1475767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Callback message is empty on completion 1476767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1477767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void setCellBroadcastSmsConfig(int[] configValuesArray, Message response); 1478767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1479767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void notifyDataActivity(); 1480e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1481e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1482e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon index to display 1483e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 1484e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getCdmaEriIconIndex(); 1485e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1486e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1487e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon mode, 1488e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 0 - ON 1489e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1 - FLASHING 1490e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 1491e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getCdmaEriIconMode(); 1492e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1493e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1494e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI text, 1495e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 1496e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public String getCdmaEriText(); 1497e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1498dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1499dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * request to exit emergency call back mode 1500dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * the caller should use setOnECMModeExitResponse 1501dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * to receive the emergency callback mode exit response 1502dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1503dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void exitEmergencyCallbackMode(); 1504dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1505dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1506dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * this decides if the dial number is OTA(Over the air provision) number or not 1507dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param dialStr is string representing the dialing digit(s) 1508dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @return true means the dialStr is OTA number, and false means the dialStr is not OTA number 1509dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1510dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville boolean isOtaSpNumber(String dialStr); 1511dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1512dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1513dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Register for notifications when CDMA call waiting comes 1514dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1515dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler that receives the notification message. 1516dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param what User-defined message code. 1517dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param obj User object. 1518dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1519dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void registerForCallWaiting(Handler h, int what, Object obj); 1520dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1521dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1522dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unegister for notifications when CDMA Call waiting comes 1523dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler to be removed from the registrant list. 1524dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1525dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unregisterForCallWaiting(Handler h); 1526dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1527dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1528dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1529dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Register for signal information notifications from the network. 1530dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Message.obj will contain an AsyncResult. 1531dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * AsyncResult.result will be a SuppServiceNotification instance. 1532dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1533dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler that receives the notification message. 1534dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param what User-defined message code. 1535dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param obj User object. 1536dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1537dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1538dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void registerForSignalInfo(Handler h, int what, Object obj) ; 1539dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1540dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unregisters for signal information notifications. 1541dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Extraneous calls are tolerated silently 1542dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1543dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler to be removed from the registrant list. 1544dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1545dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unregisterForSignalInfo(Handler h); 1546dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1547dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1548dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Register for display information notifications from the network. 1549dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Message.obj will contain an AsyncResult. 1550dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * AsyncResult.result will be a SuppServiceNotification instance. 1551dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1552dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler that receives the notification message. 1553dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param what User-defined message code. 1554dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param obj User object. 1555dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1556dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void registerForDisplayInfo(Handler h, int what, Object obj); 1557dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1558dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1559dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unregisters for display information notifications. 1560dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Extraneous calls are tolerated silently 1561dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1562dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler to be removed from the registrant list. 1563dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1564dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unregisterForDisplayInfo(Handler h) ; 1565dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 156622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 156722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA number information record notification from the network. 156822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 156922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaNumberInfoRec 157022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 157122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 157222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 157322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 157422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 157522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 157622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerForNumberInfo(Handler h, int what, Object obj); 157722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 157822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 157922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for number information record notifications. 158022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 158122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 158222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 158322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 158422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForNumberInfo(Handler h); 158522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 158622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 158722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA redirected number information record notification 158822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * from the network. 158922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 159022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaRedirectingNumberInfoRec 159122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 159222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 159322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 159422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 159522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 159622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 159722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerForRedirectedNumberInfo(Handler h, int what, Object obj); 159822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 159922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 160022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for redirected number information record notification. 160122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 160222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 160322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 160422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 160522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForRedirectedNumberInfo(Handler h); 160622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 160722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 160822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA line control information record notification 160922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * from the network. 161022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 161122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaLineControlInfoRec 161222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 161322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 161422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 161522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 161622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 161722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 161822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerForLineControlInfo(Handler h, int what, Object obj); 161922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 162022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 162122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for line control information notifications. 162222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 162322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 162422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 162522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 162622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForLineControlInfo(Handler h); 162722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 162822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 162922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA T53 CLIR information record notifications 163022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * from the network. 163122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 163222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaT53ClirInfoRec 163322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 163422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 163522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 163622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 163722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 163822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 163922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerFoT53ClirlInfo(Handler h, int what, Object obj); 164022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 164122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 164222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for T53 CLIR information record notification 164322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 164422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 164522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 164622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 164722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForT53ClirInfo(Handler h); 164822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 164922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 165022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA T53 audio control information record notifications 165122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * from the network. 165222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 165322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaT53AudioControlInfoRec 165422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 165522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 165622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 165722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 165822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 165922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 166022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerForT53AudioControlInfo(Handler h, int what, Object obj); 166122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 166222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 166322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for T53 audio control information record notifications. 166422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 166522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 166622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 166722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 166822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForT53AudioControlInfo(Handler h); 1669dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1670dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1671dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * registers for exit emergency call back mode request response 1672dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1673dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler that receives the notification message. 1674dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param what User-defined message code. 1675dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param obj User object. 1676dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1677dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1678dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void setOnEcbModeExitResponse(Handler h, int what, Object obj); 1679dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1680dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1681dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unregisters for exit emergency call back mode request response 1682dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1683dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler to be removed from the registrant list. 1684dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1685dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unsetOnEcbModeExitResponse(Handler h); 1686dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1687dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 16889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1689