Phone.java revision ce099c3226b33b43e0dd5d1f24347b14a2223ee1
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; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.telephony.ServiceState; 26e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport android.telephony.SignalStrength; 27767a662ecde33c3979bf02b793d392aca0403162Wink Saville 28767a662ecde33c3979bf02b793d392aca0403162Wink Savilleimport com.android.internal.telephony.DataConnection; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.telephony.gsm.NetworkInfo; 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.telephony.gsm.PdpConnection; 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.telephony.test.SimulatedRadioControl; 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.List; 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Internal interface used to control the phone; SDK developers cannot 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * obtain this interface. 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@hide} 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface Phone { 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** used to enable additional debug messages */ 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final boolean DEBUG_PHONE = true; 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 47767a662ecde33c3979bf02b793d392aca0403162Wink Saville 48767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The phone state. One of the following:<p> 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>IDLE = no phone activity</li> 52767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <li>RINGING = a phone call is ringing or call waiting. 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * In the latter case, another call is active as well</li> 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>OFFHOOK = The phone is off hook. At least one call 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * exists that is dialing, active or holding and no calls are 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ringing or waiting.</li> 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project enum State { 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project IDLE, RINGING, OFFHOOK; 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The state of a data connection. 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>CONNECTED = IP traffic should be available</li> 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>CONNECTING = Currently setting up data connection</li> 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>DISCONNECTED = IP not available</li> 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>SUSPENDED = connection is created but IP traffic is 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * temperately not available. i.e. voice call is in place 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * in 2G network</li> 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project enum DataState { 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project CONNECTED, CONNECTING, DISCONNECTED, SUSPENDED; 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 78767a662ecde33c3979bf02b793d392aca0403162Wink Saville public enum DataActivityState { 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The state of a data activity. 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul> 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>NONE = No traffic</li> 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>DATAIN = Receiving IP ppp traffic</li> 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>DATAOUT = Sending IP ppp traffic</li> 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>DATAINANDOUT = Both receiving and sending IP ppp traffic</li> 86e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * <li>DORMANT = The data connection is still active, 87e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville but physical link is down</li> 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 90e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville NONE, DATAIN, DATAOUT, DATAINANDOUT, DORMANT; 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project enum SuppService { 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project UNKNOWN, SWITCH, SEPARATE, TRANSFER, CONFERENCE, REJECT, HANGUP; 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String STATE_KEY = "state"; 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String PHONE_NAME_KEY = "phoneName"; 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String FAILURE_REASON_KEY = "reason"; 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String STATE_CHANGE_REASON_KEY = "reason"; 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String DATA_APN_TYPE_KEY = "apnType"; 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String DATA_APN_KEY = "apn"; 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String DATA_IFACE_NAME_KEY = "iface"; 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String NETWORK_UNAVAILABLE_KEY = "networkUnvailable"; 105dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville static final String PHONE_IN_ECM_STATE = "phoneinECMState"; 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN types for data connections. These are usage categories for an APN 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * entry. One APN entry may support multiple APN types, eg, a single APN 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * may service regular internet traffic ("default") as well as MMS-specific 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * connections.<br/> 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN_TYPE_ALL is a special type to indicate that this APN entry can 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * service all data connections. 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String APN_TYPE_ALL = "*"; 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** APN type for default data traffic */ 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String APN_TYPE_DEFAULT = "default"; 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** APN type for MMS traffic */ 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String APN_TYPE_MMS = "mms"; 12042ad56ead40f6c5986bd2d298b1d36f42da489a1Mike Lockwood /** APN type for SUPL assisted GPS */ 12142ad56ead40f6c5986bd2d298b1d36f42da489a1Mike Lockwood static final String APN_TYPE_SUPL = "supl"; 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // "Features" accessible through the connectivity manager 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String FEATURE_ENABLE_MMS = "enableMMS"; 12542ad56ead40f6c5986bd2d298b1d36f42da489a1Mike Lockwood static final String FEATURE_ENABLE_SUPL = "enableSUPL"; 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Return codes for <code>enableApnType()</code> 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int APN_ALREADY_ACTIVE = 0; 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int APN_REQUEST_STARTED = 1; 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int APN_TYPE_NOT_AVAILABLE = 2; 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int APN_REQUEST_FAILED = 3; 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Optional reasons for disconnect and connect 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_ROAMING_ON = "roamingOn"; 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_ROAMING_OFF = "roamingOff"; 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_DATA_DISABLED = "dataDisabled"; 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_DATA_ENABLED = "dataEnabled"; 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_GPRS_ATTACHED = "gprsAttached"; 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_GPRS_DETACHED = "gprsDetached"; 145767a662ecde33c3979bf02b793d392aca0403162Wink Saville static final String REASON_CDMA_DATA_ATTACHED = "cdmaDataAttached"; 146767a662ecde33c3979bf02b793d392aca0403162Wink Saville static final String REASON_CDMA_DATA_DETACHED = "cdmaDataDetached"; 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_APN_CHANGED = "apnChanged"; 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_APN_SWITCHED = "apnSwitched"; 1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_RESTORE_DEFAULT_APN = "restoreDefaultApn"; 1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_RADIO_TURNED_OFF = "radioTurnedOff"; 1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_PDP_RESET = "pdpReset"; 1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_VOICE_CALL_ENDED = "2GVoiceCallEnded"; 1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final String REASON_VOICE_CALL_STARTED = "2GVoiceCallStarted"; 1544df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project static final String REASON_PS_RESTRICT_ENABLED = "psRestrictEnabled"; 1554df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project static final String REASON_PS_RESTRICT_DISABLED = "psRestrictDisabled"; 156ba87e3e6c985e7175152993b5efcc7dd2f0e1c93The Android Open Source Project static final String REASON_SIM_LOADED = "simLoaded"; 157e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1584df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project // Used for band mode selection methods 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_UNSPECIFIED = 0; // selected by baseband automatically 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_EURO_BAND = 1; // GSM-900 / DCS-1800 / WCDMA-IMT-2000 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_US_BAND = 2; // GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_JPN_BAND = 3; // WCDMA-800 / WCDMA-IMT-2000 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_AUS_BAND = 4; // GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_AUS2_BAND = 5; // GSM-900 / DCS-1800 / WCDMA-850 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static final int BM_BOUNDARY = 6; // upper band boundary 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Used for preferred network type 168767a662ecde33c3979bf02b793d392aca0403162Wink Saville // Note NT_* substitute RILConstants.NETWORK_MODE_* above the Phone 169ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF; 170ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ONLY; 171ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDMA_ONLY; 172ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_GSM_UMTS = RILConstants.NETWORK_MODE_GSM_UMTS; 173ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh 174ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_CDMA = RILConstants.NETWORK_MODE_CDMA; 175ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh 176ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA_NO_EVDO; 177ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO_NO_CDMA; 178ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int NT_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOBAL; 179ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh 180ee748d37b01b3affb72b701d95ba20c189887b5fJaikumar Ganesh int PREFERRED_NT_MODE = RILConstants.PREFERRED_NETWORK_MODE; 181767a662ecde33c3979bf02b793d392aca0403162Wink Saville 182767a662ecde33c3979bf02b793d392aca0403162Wink Saville 183767a662ecde33c3979bf02b793d392aca0403162Wink Saville // Used for CDMA roaming mode 184e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_RM_HOME = 0; // Home Networks only, as defined in PRL 185e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_RM_AFFILIATED = 1; // Roaming an Affiliated networks, as defined in PRL 186e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_RM_ANY = 2; // Roaming on Any Network, as defined in PRL 187767a662ecde33c3979bf02b793d392aca0403162Wink Saville 188767a662ecde33c3979bf02b793d392aca0403162Wink Saville // Used for CDMA subscription mode 189e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // RUIM/SIM (default) 190e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int CDMA_SUBSCRIPTION_NV = 1; // NV -> non-volatile memory 191e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 192e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int PREFERRED_CDMA_SUBSCRIPTION = CDMA_SUBSCRIPTION_NV; 193e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 194e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int TTY_MODE_OFF = 0; 195e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int TTY_MODE_FULL = 1; 196e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int TTY_MODE_HCO = 2; 197e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville static final int TTY_MODE_VCO = 3; 198767a662ecde33c3979bf02b793d392aca0403162Wink Saville 199dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 200dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * CDMA OTA PROVISION STATUS, the same as RIL_CDMA_OTA_Status in ril.h 201dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 202dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 203dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SPL_UNLOCKED = 0; 204dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SPC_RETRIES_EXCEEDED = 1; 205dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_A_KEY_EXCHANGED = 2; 206dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SSD_UPDATED = 3; 207dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_NAM_DOWNLOADED = 4; 208dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_MDN_DOWNLOADED = 5; 209dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_IMSI_DOWNLOADED = 6; 210dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_PRL_DOWNLOADED = 7; 211dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_COMMITTED = 8; 212dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_STARTED = 9; 213dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_STOPPED = 10; 214dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_ABORTED = 11; 215dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 216dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 217767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 218767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get the current ServiceState. Use 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>registerForServiceStateChanged</code> to be informed of 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * updates. 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ServiceState getServiceState(); 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the current CellLocation. 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project CellLocation getCellLocation(); 228767a662ecde33c3979bf02b793d392aca0403162Wink Saville 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the current DataState. No change notification exists at this 231767a662ecde33c3979bf02b793d392aca0403162Wink Saville * interface -- use 232b111554883ef3d4101c2f3fe9d630f5c1d3bbf7aMarco Nelissen * {@link com.android.telephony.PhoneStateListener PhoneStateListener} 233767a662ecde33c3979bf02b793d392aca0403162Wink Saville * instead. 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project DataState getDataConnectionState(); 2369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the current DataActivityState. No change notification exists at this 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * interface -- use 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link TelephonyManager} instead. 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project DataActivityState getDataActivityState(); 243767a662ecde33c3979bf02b793d392aca0403162Wink Saville 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets the context for the phone, as set at initialization time. 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Context getContext(); 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 249767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 250767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Disables the DNS check (i.e., allows "0.0.0.0"). 251767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Useful for lab testing environment. 252767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param b true disables the check, false enables. 253767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 254767a662ecde33c3979bf02b793d392aca0403162Wink Saville void disableDnsCheck(boolean b); 255767a662ecde33c3979bf02b793d392aca0403162Wink Saville 256767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 257767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns true if the DNS check is currently disabled. 258767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 259767a662ecde33c3979bf02b793d392aca0403162Wink Saville boolean isDnsCheckDisabled(); 260767a662ecde33c3979bf02b793d392aca0403162Wink Saville 261767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 2629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get current coarse-grained voice call state. 263767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Use {@link #registerForPhoneStateChanged(Handler, int, Object) 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * registerForPhoneStateChanged()} for change notification. <p> 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If the phone has an active call and call waiting occurs, 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * then the phone state is RINGING not OFFHOOK 267767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>Note:</strong> 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This registration point provides notification of finer-grained 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * changes.<p> 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project State getState(); 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 274767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a string identifier for this phone interface for parties 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * outside the phone app process. 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The string name. 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getPhoneName(); 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 281767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns an array of string identifiers for the APN types serviced by the 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * currently active or last connected APN. 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The string array. 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String[] getActiveApnTypes(); 287767a662ecde33c3979bf02b793d392aca0403162Wink Saville 288767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a string identifier for currently active or last connected APN. 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return The string name. 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getActiveApn(); 293767a662ecde33c3979bf02b793d392aca0403162Wink Saville 294767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 295dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Get current signal strength. No change notification available on this 296dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * interface. Use <code>PhoneStateNotifier</code> or an equivalent. 297dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * An ASU is 0-31 or -1 if unknown (for GSM, dBm = -113 - 2 * asu). 298dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * The following special values are defined:</p> 299dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <ul><li>0 means "-113 dBm or less".</li> 300dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <li>31 means "-51 dBm or greater".</li></ul> 301767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 302e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @return Current signal strength as SignalStrength 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 304e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville SignalStrength getSignalStrength(); 305767a662ecde33c3979bf02b793d392aca0403162Wink Saville 306767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when a previously untracked non-ringing/waiting connection has appeared. 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This is likely due to some other entity (eg, SIM card application) initiating a call. 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForUnknownConnection(Handler h, int what, Object obj); 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unregisters for unknown connection notifications. 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForUnknownConnection(Handler h); 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 317767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when any aspect of the voice call state changes. 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Resulting events will have an AsyncResult in <code>Message.obj</code>. 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.userData will be set to the obj argument here. 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The <em>h</em> parameter is held only by a weak reference. 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForPhoneStateChanged(Handler h, int what, Object obj); 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 326767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for voice call state change notifications. 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently. 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForPhoneStateChanged(Handler h); 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 332767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when a new ringing or waiting connection has appeared.<p> 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Messages received from this: 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will be an AsyncResult 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.userObj = obj 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.result = a Connection. <p> 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Please check Connection.isRinging() to make sure the Connection 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * has not dropped since this message was posted. 341767a662ecde33c3979bf02b793d392aca0403162Wink Saville * If Connection.isRinging() is true, then 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connection.getCall() == Phone.getRingingCall() 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForNewRingingConnection(Handler h, int what, Object obj); 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 347767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for new ringing connection notification. 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForNewRingingConnection(Handler h); 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 353767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when an incoming call rings.<p> 3559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Messages received from this: 3579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will be an AsyncResult 3589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.userObj = obj 3599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.result = a Connection. <p> 3609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForIncomingRing(Handler h, int what, Object obj); 362767a662ecde33c3979bf02b793d392aca0403162Wink Saville 3639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 364767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for ring notification. 3659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 3669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 367767a662ecde33c3979bf02b793d392aca0403162Wink Saville 3689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForIncomingRing(Handler h); 369767a662ecde33c3979bf02b793d392aca0403162Wink Saville 370767a662ecde33c3979bf02b793d392aca0403162Wink Saville 371767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 3729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Notifies when a voice connection has disconnected, either due to local 3739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or remote hangup or error. 374767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 3759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Messages received from this will have the following members:<p> 3769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <ul><li>Message.obj will be an AsyncResult</li> 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <li>AsyncResult.userObj = obj</li> 378767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <li>AsyncResult.result = a Connection object that is 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no longer connected.</li></ul> 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForDisconnect(Handler h, int what, Object obj); 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 384767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for voice disconnection notification. 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForDisconnect(Handler h); 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Register for notifications of initiation of a new MMI code request. 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * MMI codes for GSM are discussed in 3GPP TS 22.030.<p> 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Example: If Phone.dial is called with "*#31#", then the app will 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be notified here.<p> 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The returned <code>Message.obj</code> will contain an AsyncResult. 3989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>obj.result</code> will be an "MmiCode" object. 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForMmiInitiate(Handler h, int what, Object obj); 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 404767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for new MMI initiate notification. 4059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 4069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForMmiInitiate(Handler h); 4089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Register for notifications that an MMI request has completed 4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * its network activity and is in its final state. This may mean a state 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of COMPLETE, FAILED, or CANCELLED. 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>Message.obj</code> will contain an AsyncResult. 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>obj.result</code> will be an "MmiCode" object 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForMmiComplete(Handler h, int what, Object obj); 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 420767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for MMI complete notification. 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForMmiComplete(Handler h); 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a list of MMI codes that are pending. (They have initiated 4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * but have not yet completed). 4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Presently there is only ever one. 429767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Use <code>registerForMmiInitiate</code> 4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and <code>registerForMmiComplete</code> for change notification. 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public List<? extends MmiCode> getPendingMmiCodes(); 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sends user response to a USSD REQUEST message. An MmiCode instance 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * representing this response is sent to handlers registered with 4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * registerForMmiInitiate. 4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param ussdMessge Message to send in the response. 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void sendUssdResponse(String ussdMessge); 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 444767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Register for ServiceState changed. 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will contain an AsyncResult. 4469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.result will be a ServiceState instance 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForServiceStateChanged(Handler h, int what, Object obj); 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 451767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for ServiceStateChange notification. 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForServiceStateChanged(Handler h); 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Register for Supplementary Service notifications from the network. 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will contain an AsyncResult. 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * AsyncResult.result will be a SuppServiceNotification instance. 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param h Handler that receives the notification message. 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param what User-defined message code. 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param obj User object. 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForSuppServiceNotification(Handler h, int what, Object obj); 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 468767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unregisters for Supplementary Service notifications. 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 470767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param h Handler to be removed from the registrant list. 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForSuppServiceNotification(Handler h); 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Register for notifications when a supplementary service attempt fails. 4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Message.obj will contain an AsyncResult. 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param h Handler that receives the notification message. 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param what User-defined message code. 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param obj User object. 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void registerForSuppServiceFailed(Handler h, int what, Object obj); 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unregister for notifications when a supplementary service attempt fails. 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Extraneous calls are tolerated silently 488767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param h Handler to be removed from the registrant list. 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void unregisterForSuppServiceFailed(Handler h); 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 493767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 494767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Register for notifications when a sInCall VoicePrivacy is enabled 495767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 496767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param h Handler that receives the notification message. 497767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param what User-defined message code. 498767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param obj User object. 499767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 500767a662ecde33c3979bf02b793d392aca0403162Wink Saville void registerForInCallVoicePrivacyOn(Handler h, int what, Object obj); 501767a662ecde33c3979bf02b793d392aca0403162Wink Saville 502767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 503767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unegister for notifications when a sInCall VoicePrivacy is enabled 504767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 505767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param h Handler to be removed from the registrant list. 506767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 507767a662ecde33c3979bf02b793d392aca0403162Wink Saville void unregisterForInCallVoicePrivacyOn(Handler h); 508767a662ecde33c3979bf02b793d392aca0403162Wink Saville 509767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 510767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Register for notifications when a sInCall VoicePrivacy is disabled 511767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 512767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param h Handler that receives the notification message. 513767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param what User-defined message code. 514767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param obj User object. 515767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 516767a662ecde33c3979bf02b793d392aca0403162Wink Saville void registerForInCallVoicePrivacyOff(Handler h, int what, Object obj); 517767a662ecde33c3979bf02b793d392aca0403162Wink Saville 518767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 519767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Unegister for notifications when a sInCall VoicePrivacy is disabled 520767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 521767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param h Handler to be removed from the registrant list. 522767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 523767a662ecde33c3979bf02b793d392aca0403162Wink Saville void unregisterForInCallVoicePrivacyOff(Handler h); 524767a662ecde33c3979bf02b793d392aca0403162Wink Saville 525767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 526dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Register for notifications when CDMA OTA Provision status change 527e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 528e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @param h Handler that receives the notification message. 529e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @param what User-defined message code. 530e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @param obj User object. 531e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 532dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void registerForCdmaOtaStatusChange(Handler h, int what, Object obj); 533e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 534e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 535dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unegister for notifications when CDMA OTA Provision status change 536e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * @param h Handler to be removed from the registrant list. 537e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 538dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unregisterForCdmaOtaStatusChange(Handler h); 539e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 540e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 541767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns SIM record load state. Use 5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>getSimCard().registerForReady()</code> for change notification. 5439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 544767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @return true if records from the SIM have been loaded and are 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available (if applicable). If not applicable to the underlying 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * technology, returns true as well. 5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 548767a662ecde33c3979bf02b793d392aca0403162Wink Saville boolean getIccRecordsLoaded(); 5499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 551767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Returns the ICC card interface for this phone, or null 5529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if not applicable to underlying technology. 5539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 554767a662ecde33c3979bf02b793d392aca0403162Wink Saville IccCard getIccCard(); 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 557767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Answers a ringing or waiting call. Active calls, if any, go on hold. 5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Answering occurs asynchronously, and final notification occurs via 559767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #registerForPhoneStateChanged(android.os.Handler, int, 5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * java.lang.Object) registerForPhoneStateChanged()}. 5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException when no call is ringing or waiting 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void acceptCall() throws CallStateException; 5659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 566767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 567767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Reject (ignore) a ringing call. In GSM, this means UDUB 568767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (User Determined User Busy). Reject occurs asynchronously, 569767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and final notification occurs via 570767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #registerForPhoneStateChanged(android.os.Handler, int, 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * java.lang.Object) registerForPhoneStateChanged()}. 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException when no call is ringing or waiting 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void rejectCall() throws CallStateException; 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 577767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Places any active calls on hold, and makes any held calls 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * active. Switch occurs asynchronously and may fail. 580767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Final notification occurs via 581767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #registerForPhoneStateChanged(android.os.Handler, int, 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * java.lang.Object) registerForPhoneStateChanged()}. 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException if a call is ringing, waiting, or 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dialing/alerting. In these cases, this operation may not be performed. 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void switchHoldingAndActive() throws CallStateException; 5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 590767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Whether or not the phone can conference in the current phone 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * state--that is, one call holding and one call active. 592767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @return true if the phone can conference; false otherwise. 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean canConference(); 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 597767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Conferences holding and active. Conference occurs asynchronously 598767a662ecde33c3979bf02b793d392aca0403162Wink Saville * and may fail. Final notification occurs via 599767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #registerForPhoneStateChanged(android.os.Handler, int, 600767a662ecde33c3979bf02b793d392aca0403162Wink Saville * java.lang.Object) registerForPhoneStateChanged()}. 601767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException if canConference() would return false. 6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * In these cases, this operation may not be performed. 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void conference() throws CallStateException; 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 608767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Enable or disable enhanced Voice Privacy (VP). If enhanced VP is 609767a662ecde33c3979bf02b793d392aca0403162Wink Saville * disabled, normal VP is enabled. 610767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 611767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param enable whether true or false to enable or disable. 612767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param onComplete a callback message when the action is completed. 613767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 614767a662ecde33c3979bf02b793d392aca0403162Wink Saville void enableEnhancedVoicePrivacy(boolean enable, Message onComplete); 615767a662ecde33c3979bf02b793d392aca0403162Wink Saville 616767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 617767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get the currently set Voice Privacy (VP) mode. 618767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 619767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param onComplete a callback message when the action is completed. 620767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 621767a662ecde33c3979bf02b793d392aca0403162Wink Saville void getEnhancedVoicePrivacy(Message onComplete); 622767a662ecde33c3979bf02b793d392aca0403162Wink Saville 623767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Whether or not the phone can do explicit call transfer in the current 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * phone state--that is, one call holding and one call active. 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the phone can do explicit call transfer; false otherwise. 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean canTransfer(); 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connects the two calls and disconnects the subscriber from both calls 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Explicit Call Transfer occurs asynchronously 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and may fail. Final notification occurs via 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #registerForPhoneStateChanged(android.os.Handler, int, 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * java.lang.Object) registerForPhoneStateChanged()}. 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException if canTransfer() would return false. 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * In these cases, this operation may not be performed. 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void explicitCallTransfer() throws CallStateException; 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Clears all DISCONNECTED connections from Call connection lists. 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Calls that were in the DISCONNECTED state become idle. This occurs 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * synchronously. 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void clearDisconnected(); 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 650767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 651767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Gets the foreground call object, which represents all connections that 652767a662ecde33c3979bf02b793d392aca0403162Wink Saville * are dialing or active (all connections 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * that have their audio path connected).<p> 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The foreground call is a singleton object. It is constant for the life 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of this phone. It is never null.<p> 657767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The foreground call will only ever be in one of these states: 659767a662ecde33c3979bf02b793d392aca0403162Wink Saville * IDLE, ACTIVE, DIALING, ALERTING, or DISCONNECTED. 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * State change notification is available via 662767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #registerForPhoneStateChanged(android.os.Handler, int, 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * java.lang.Object) registerForPhoneStateChanged()}. 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Call getForegroundCall(); 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 667767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Gets the background call object, which represents all connections that 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are holding (all connections that have been accepted or connected, but 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * do not have their audio path connected). <p> 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The background call is a singleton object. It is constant for the life 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of this phone object . It is never null.<p> 674767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The background call will only ever be in one of these states: 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * IDLE, HOLDING or DISCONNECTED. 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * State change notification is available via 679767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #registerForPhoneStateChanged(android.os.Handler, int, 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * java.lang.Object) registerForPhoneStateChanged()}. 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Call getBackgroundCall(); 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 684767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 685767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Gets the ringing call object, which represents an incoming 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * connection (if present) that is pending answer/accept. (This connection 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * may be RINGING or WAITING, and there may be only one.)<p> 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The ringing call is a singleton object. It is constant for the life 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of this phone. It is never null.<p> 691767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The ringing call will only ever be in one of these states: 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * IDLE, INCOMING, WAITING or DISCONNECTED. 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * State change notification is available via 696767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #registerForPhoneStateChanged(android.os.Handler, int, 6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * java.lang.Object) registerForPhoneStateChanged()}. 6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Call getRingingCall(); 7009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 701767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 7029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Initiate a new voice connection. This happens asynchronously, so you 7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * cannot assume the audio path is connected (or a call index has been 7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * assigned) until PhoneStateChanged notification has occurred. 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @exception CallStateException if a new outgoing call is not currently 707767a662ecde33c3979bf02b793d392aca0403162Wink Saville * possible because no more call slots exist or a call exists that is 708767a662ecde33c3979bf02b793d392aca0403162Wink Saville * dialing, alerting, ringing, or waiting. Other errors are 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * handled asynchronously. 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Connection dial(String dialString) throws CallStateException; 7129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * without SEND (so <code>dial</code> is not appropriate). 716767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param dialString the MMI command to be executed. 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if MMI command is executed. 7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handlePinMmi(String dialString); 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Handles in-call MMI commands. While in a call, or while receiving a 7249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * call, use this to execute MMI commands. 7259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * see 3GPP 20.030, section 6.5.5.1 for specs on the allowed MMI commands. 7269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param command the MMI command to be executed. 7289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if the MMI command is executed. 7299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @throws CallStateException 7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean handleInCallMmiCommands(String command) throws CallStateException; 7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 734767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Play a DTMF tone on the active call. Ignored if there is no active call. 7359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param c should be one of 0-9, '*' or '#'. Other values will be 7369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * silently ignored. 7379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void sendDtmf(char c); 7399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Start to paly a DTMF tone on the active call. Ignored if there is no active call 7429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or there is a playing DTMF tone. 7439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param c should be one of 0-9, '*' or '#'. Other values will be 7449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * silently ignored. 7459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void startDtmf(char c); 7479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Stop the playing DTMF tone. Ignored if there is no playing DTMF 7509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * tone or no active call. 7519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void stopDtmf(); 7539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 754e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 755dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * send burst DTMF tone, it can send the string as single character or multiple character 756dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * ignore if there is no active call or not valid digits string. 757dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Valid digit means only includes characters ISO-LATIN characters 0-9, *, # 758dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * The difference between sendDtmf and sendBurstDtmf is sendDtmf only sends one character, 759dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * this api can send single character and multiple character, also, this api has response 760dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * back to caller. 761dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 762dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param dtmfString is string representing the dialing digit(s) in the active call 763dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param onCompelte is the callback message when the action is processed by BP 764dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 765e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 766dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void sendBurstDtmf(String dtmfString, Message onComplete); 7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 769767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Sets the radio power on/off state (off is sometimes 770767a662ecde33c3979bf02b793d392aca0403162Wink Saville * called "airplane mode"). Current state can be gotten via 771767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #getServiceState()}.{@link 7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * android.telephony.ServiceState#getState() getState()}. 773767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>Note: </strong>This request is asynchronous. 7749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * getServiceState().getState() will not change immediately after this call. 775767a662ecde33c3979bf02b793d392aca0403162Wink Saville * registerForServiceStateChanged() to find out when the 7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * request is complete. 7779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 778767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param power true means "on", false means "off". 7799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setRadioPower(boolean power); 7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 782767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get voice message waiting indicator status. No change notification 7849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available on this interface. Use PhoneStateNotifier or similar instead. 7859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if there is a voice message waiting 7879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getMessageWaitingIndicator(); 7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get voice call forwarding indicator status. No change notification 7929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available on this interface. Use PhoneStateNotifier or similar instead. 7939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if there is a voice call forwarding 7959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 7969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getCallForwardingIndicator(); 7979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the line 1 phone number (MSISDN).<p> 8009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return phone number. May return null if not 8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available or the SIM is not ready 8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getLine1Number(); 8059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the alpha tag associated with the msisdn number. 8089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there is no alpha tag associated or the record is not yet available, 8099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * returns a default localized string. <p> 8109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getLine1AlphaTag(); 8129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets the MSISDN phone number in the SIM card. 8159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param alphaTag the alpha tag associated with the MSISDN phone number 8179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (see getMsisdnAlphaTag) 8189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param number the new MSISDN phone number to be set on the SIM. 8199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 8209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setLine1Number(String alphaTag, String number, Message onComplete); 8229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 824767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get the voice mail access phone number. Typically dialed when the 825767a662ecde33c3979bf02b793d392aca0403162Wink Saville * user holds the "1" key in the phone app. May return null if not 8269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * available or the SIM is not ready.<p> 8279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getVoiceMailNumber(); 8299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 831dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Returns unread voicemail count. This count is shown when the voicemail 832dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * notification is expanded.<p> 833dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 834ce099c3226b33b43e0dd5d1f24347b14a2223ee1David Krause int getVoiceMessageCount(); 835dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 836dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the alpha tag associated with the voice mail number. 8389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If there is no alpha tag associated or the record is not yet available, 8399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * returns a default localized string. <p> 840767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 841767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Please use this value instead of some other localized string when 8429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * showing a name for this number in the UI. For example, call log 8439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * entries should show this alpha tag. <p> 8449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Usage of this alpha tag in the UI is a common carrier requirement. 8469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getVoiceMailAlphaTag(); 8489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * setVoiceMailNumber 8519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * sets the voicemail number in the SIM card. 8529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param alphaTag the alpha tag associated with the voice mail number 8549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (see getVoiceMailAlphaTag) 8559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param voiceMailNumber the new voicemail number to be set on the SIM. 8569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 8579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setVoiceMailNumber(String alphaTag, 8599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String voiceMailNumber, 8609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message onComplete); 8619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * getCallForwardingOptions 864767a662ecde33c3979bf02b793d392aca0403162Wink Saville * gets a call forwarding option. The return value of 865767a662ecde33c3979bf02b793d392aca0403162Wink Saville * ((AsyncResult)onComplete.obj) is an array of CallForwardInfo. 866767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 867767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param commandInterfaceCFReason is one of the valid call forwarding 868767a662ecde33c3979bf02b793d392aca0403162Wink Saville * CF_REASONS, as defined in 869dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 8709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 871767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @see com.android.internal.telephony.CallForwardInfo for details. 8729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getCallForwardingOption(int commandInterfaceCFReason, 8749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message onComplete); 875767a662ecde33c3979bf02b793d392aca0403162Wink Saville 8769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * setCallForwardingOptions 8789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * sets a call forwarding option. 879767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 880767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param commandInterfaceCFReason is one of the valid call forwarding 881767a662ecde33c3979bf02b793d392aca0403162Wink Saville * CF_REASONS, as defined in 882dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 883767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param commandInterfaceCFAction is one of the valid call forwarding 884767a662ecde33c3979bf02b793d392aca0403162Wink Saville * CF_ACTIONS, as defined in 885dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 886767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param dialingNumber is the target phone number to forward calls to 8879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param timerSeconds is used by CFNRy to indicate the timeout before 8889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * forwarding is attempted. 8899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 8909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 8919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setCallForwardingOption(int commandInterfaceCFReason, 8929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int commandInterfaceCFAction, 8939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String dialingNumber, 8949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int timerSeconds, 8959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message onComplete); 896767a662ecde33c3979bf02b793d392aca0403162Wink Saville 8979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * getOutgoingCallerIdDisplay 899767a662ecde33c3979bf02b793d392aca0403162Wink Saville * gets outgoing caller id display. The return value of 9009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ((AsyncResult)onComplete.obj) is an array of int, with a length of 2. 901767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 9029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 903767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @see com.android.internal.telephony.CommandsInterface.getCLIR for details. 9049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getOutgoingCallerIdDisplay(Message onComplete); 906767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * setOutgoingCallerIdDisplay 909767a662ecde33c3979bf02b793d392aca0403162Wink Saville * sets a call forwarding option. 910767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 911767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param commandInterfaceCLIRMode is one of the valid call CLIR 912767a662ecde33c3979bf02b793d392aca0403162Wink Saville * modes, as defined in 913767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <code>com.android.internal.telephony.CommandsInterface./code> 9149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 9159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setOutgoingCallerIdDisplay(int commandInterfaceCLIRMode, 9179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message onComplete); 918767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * getCallWaiting 921767a662ecde33c3979bf02b793d392aca0403162Wink Saville * gets call waiting activation state. The return value of 9229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ((AsyncResult)onComplete.obj) is an array of int, with a length of 1. 923767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 9249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 925767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @see com.android.internal.telephony.CommandsInterface.queryCallWaiting for details. 9269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getCallWaiting(Message onComplete); 928767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * setCallWaiting 931767a662ecde33c3979bf02b793d392aca0403162Wink Saville * sets a call forwarding option. 932767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 933767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param enable is a boolean representing the state that you are 9349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * requesting, true for enabled, false for disabled. 9359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param onComplete a callback message when the action is completed. 9369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setCallWaiting(boolean enable, Message onComplete); 938767a662ecde33c3979bf02b793d392aca0403162Wink Saville 9399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Scan available networks. This method is asynchronous; . 9419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * On completion, <code>response.obj</code> is set to an AsyncResult with 9429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * one of the following members:.<p> 9439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *<ul> 944767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <li><code>response.obj.result</code> will be a <code>List</code> of 945767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <code>com.android.internal.telephony.gsm.NetworkInfo</code> objects, or</li> 946767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <li><code>response.obj.exception</code> will be set with an exception 9479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * on failure.</li> 9489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * </ul> 9499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 950767a662ecde33c3979bf02b793d392aca0403162Wink Saville void getAvailableNetworks(Message response); 9519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Switches network selection mode to "automatic", re-scanning and 9549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * re-selecting a network if appropriate. 955767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 956767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response The message to dispatch when the network selection 9579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is complete. 958767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 959767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @see #selectNetworkManually(com.android.internal.telephony.gsm.NetworkInfo, 9609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * android.os.Message ) 9619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setNetworkSelectionModeAutomatic(Message response); 9639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 965767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Manually selects a network. <code>response</code> is 9669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * dispatched when this is complete. <code>response.obj</code> will be 9679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * an AsyncResult, and <code>response.obj.exception</code> will be non-null 9689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * on failure. 969767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 9709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #setNetworkSelectionModeAutomatic(Message) 9719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 972767a662ecde33c3979bf02b793d392aca0403162Wink Saville void selectNetworkManually(NetworkInfo network, 9739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Message response); 9749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Requests to set the preferred network type for searching and registering 9779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (CS/PS domain, RAT, and operation mode) 9789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param networkType one of NT_*_TYPE 9799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response is callback message 9809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setPreferredNetworkType(int networkType, Message response); 9829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Query the preferred network type setting 9859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 9869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response is callback message to report one of NT_*_TYPE 9879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 9889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getPreferredNetworkType(Message response); 9899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 991c06ce125408696fd49c7fa9e1189ecb61804007ajsh * Gets the default SMSC address. 992c06ce125408696fd49c7fa9e1189ecb61804007ajsh * 993c06ce125408696fd49c7fa9e1189ecb61804007ajsh * @param result Callback message contains the SMSC address. 994c06ce125408696fd49c7fa9e1189ecb61804007ajsh */ 995c06ce125408696fd49c7fa9e1189ecb61804007ajsh void getSmscAddress(Message result); 996c06ce125408696fd49c7fa9e1189ecb61804007ajsh 997c06ce125408696fd49c7fa9e1189ecb61804007ajsh /** 998c06ce125408696fd49c7fa9e1189ecb61804007ajsh * Sets the default SMSC address. 999c06ce125408696fd49c7fa9e1189ecb61804007ajsh * 1000c06ce125408696fd49c7fa9e1189ecb61804007ajsh * @param address new SMSC address 1001c06ce125408696fd49c7fa9e1189ecb61804007ajsh * @param result Callback message is empty on completion 1002c06ce125408696fd49c7fa9e1189ecb61804007ajsh */ 1003c06ce125408696fd49c7fa9e1189ecb61804007ajsh void setSmscAddress(String address, Message result); 1004c06ce125408696fd49c7fa9e1189ecb61804007ajsh 1005c06ce125408696fd49c7fa9e1189ecb61804007ajsh /** 10069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Query neighboring cell IDs. <code>response</code> is dispatched when 10079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * this is complete. <code>response.obj</code> will be an AsyncResult, 10089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and <code>response.obj.exception</code> will be non-null on failure. 10099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * On success, <code>AsyncResult.result</code> will be a <code>String[]</code> 10109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * containing the neighboring cell IDs. Index 0 will contain the count 10119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of available cell IDs. Cell IDs are in hexadecimal format. 10129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 10139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response callback message that is dispatched when the query 1014767a662ecde33c3979bf02b793d392aca0403162Wink Saville * completes. 10159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getNeighboringCids(Message response); 10179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Sets an event to be fired when the telephony system processes 10209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a post-dial character on an outgoing call.<p> 10219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 10229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Messages of type <code>what</code> will be sent to <code>h</code>. 10239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * The <code>obj</code> field of these Message's will be instances of 10249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>AsyncResult</code>. <code>Message.obj.result</code> will be 10259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a Connection object.<p> 10269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1027767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Message.arg1 will be the post dial character being processed, 10289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or 0 ('\0') if end of string.<p> 10299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1030767a662ecde33c3979bf02b793d392aca0403162Wink Saville * If Connection.getPostDialState() == WAIT, 1031767a662ecde33c3979bf02b793d392aca0403162Wink Saville * the application must call 1032767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link com.android.internal.telephony.Connection#proceedAfterWaitChar() 1033767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Connection.proceedAfterWaitChar()} or 1034767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link com.android.internal.telephony.Connection#cancelPostDial() 10359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connection.cancelPostDial()} 1036767a662ecde33c3979bf02b793d392aca0403162Wink Saville * for the telephony system to continue playing the post-dial 10379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * DTMF sequence.<p> 10389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1039767a662ecde33c3979bf02b793d392aca0403162Wink Saville * If Connection.getPostDialState() == WILD, 1040767a662ecde33c3979bf02b793d392aca0403162Wink Saville * the application must call 10419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link com.android.internal.telephony.Connection#proceedAfterWildChar 10429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connection.proceedAfterWildChar()} 1043767a662ecde33c3979bf02b793d392aca0403162Wink Saville * or 1044767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link com.android.internal.telephony.Connection#cancelPostDial() 10459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Connection.cancelPostDial()} 1046767a662ecde33c3979bf02b793d392aca0403162Wink Saville * for the telephony system to continue playing the 10479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * post-dial DTMF sequence.<p> 1048767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 10499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Only one post dial character handler may be set. <p> 10509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Calling this method with "h" equal to null unsets this handler.<p> 10519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setOnPostDialCharacter(Handler h, int what, Object obj); 10539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1056767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Mutes or unmutes the microphone for the active call. The microphone 1057767a662ecde33c3979bf02b793d392aca0403162Wink Saville * is automatically unmuted if a call is answered, dialed, or resumed 10589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * from a holding state. 1059767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1060767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param muted true to mute the microphone, 10619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * false to activate the microphone. 10629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setMute(boolean muted); 10659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1067767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Gets current mute status. Use 1068767a662ecde33c3979bf02b793d392aca0403162Wink Saville * {@link #registerForPhoneStateChanged(android.os.Handler, int, 10699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * java.lang.Object) registerForPhoneStateChanged()} 10709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * as a change notifcation, although presently phone state changed is not 10719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * fired when setMute() is called. 10729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 10739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true is muting, false is unmuting 10749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getMute(); 10769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Invokes RIL_REQUEST_OEM_HOOK_RAW on RIL implementation. 1079767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 10809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param data The data for the request. 1081767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response <strong>On success</strong>, 10829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (byte[])(((AsyncResult)response.obj).result) 1083767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>On failure</strong>, 1084767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (((AsyncResult)response.obj).result) == null and 10859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).exception) being an instance of 10869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * com.android.internal.telephony.gsm.CommandException 10879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 10889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #invokeOemRilRequestRaw(byte[], android.os.Message) 10899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void invokeOemRilRequestRaw(byte[] data, Message response); 10919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Invokes RIL_REQUEST_OEM_HOOK_Strings on RIL implementation. 1094767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 10959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param strings The strings to make available as the request data. 1096767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response <strong>On success</strong>, "response" bytes is 10979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * made available as: 10989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (String[])(((AsyncResult)response.obj).result). 1099767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>On failure</strong>, 1100767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (((AsyncResult)response.obj).result) == null and 11019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).exception) being an instance of 11029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * com.android.internal.telephony.gsm.CommandException 11039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 11049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @see #invokeOemRilRequestStrings(java.lang.String[], android.os.Message) 11059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void invokeOemRilRequestStrings(String[] strings, Message response); 11079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get the current active PDP context list 11109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1111767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @deprecated 11129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response <strong>On success</strong>, "response" bytes is 11139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * made available as: 11149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (String[])(((AsyncResult)response.obj).result). 11159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <strong>On failure</strong>, 11169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).result) == null and 11179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).exception) being an instance of 11189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * com.android.internal.telephony.gsm.CommandException 11199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void getPdpContextList(Message response); 11219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1123767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get the current active Data Call list, substitutes getPdpContextList 1124767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1125767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response <strong>On success</strong>, "response" bytes is 1126767a662ecde33c3979bf02b793d392aca0403162Wink Saville * made available as: 1127767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (String[])(((AsyncResult)response.obj).result). 1128767a662ecde33c3979bf02b793d392aca0403162Wink Saville * <strong>On failure</strong>, 1129767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (((AsyncResult)response.obj).result) == null and 1130767a662ecde33c3979bf02b793d392aca0403162Wink Saville * (((AsyncResult)response.obj).exception) being an instance of 1131767a662ecde33c3979bf02b793d392aca0403162Wink Saville * com.android.internal.telephony.gsm.CommandException 1132767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1133767a662ecde33c3979bf02b793d392aca0403162Wink Saville void getDataCallList(Message response); 1134767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1135767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 11369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Get current mutiple PDP link status 1137767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1138767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @deprecated 11399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return list of pdp link connections 11409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project List<PdpConnection> getCurrentPdpList (); 11429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1144767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Get current mutiple data connection status 1145767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1146767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @return list of data connections 1147767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1148767a662ecde33c3979bf02b793d392aca0403162Wink Saville List<DataConnection> getCurrentDataConnectionList (); 1149767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1150767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 11519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Udpate LAC and CID in service state for currnet GSM netowrk registration 11529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 11539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If get different LAC and/or CID, notifyServiceState will be sent 11549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 11559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param 11569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <strong>On failure</strong>, 11579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).result) == null and 11589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (((AsyncResult)response.obj).exception) being an instance of 11599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * com.android.internal.telephony.gsm.CommandException 11609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void updateServiceLocation(Message response); 11629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enable location update notifications. 11659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void enableLocationUpdates(); 11679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disable location update notifications. 11709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void disableLocationUpdates(); 11729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1174767a662ecde33c3979bf02b793d392aca0403162Wink Saville * For unit tests; don't send notifications to "Phone" 11759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * mailbox registrants if true. 11769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setUnitTestMode(boolean f); 1178767a662ecde33c3979bf02b793d392aca0403162Wink Saville 11799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true If unit test mode is enabled 11819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getUnitTestMode(); 11839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Assign a specified band for RF configuration. 11869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 11879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param bandMode one of BM_*_BAND 11889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response is callback message 11899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setBandMode(int bandMode, Message response); 11919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 11929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 11939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Query the list of band mode supported by RF. 11949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 11959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param response is callback message 11969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ((AsyncResult)response.obj).result is an int[] with every 11979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * element representing one avialable BM_*_BAND 11989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 11999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void queryAvailableBandMode(Message response); 12009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return true if enable data connection on roaming 12039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean getDataRoamingEnabled(); 12059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param enable set true if enable data connection on roaming 12089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void setDataRoamingEnabled(boolean enable); 12109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1212767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Query the CDMA roaming preference setting 1213767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1214767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response is callback message to report one of CDMA_RM_* 1215767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1216767a662ecde33c3979bf02b793d392aca0403162Wink Saville void queryCdmaRoamingPreference(Message response); 1217767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1218767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1219767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Requests to set the CDMA roaming preference 1220767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param cdmaRoamingType one of CDMA_RM_* 1221767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response is callback message 1222767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1223767a662ecde33c3979bf02b793d392aca0403162Wink Saville void setCdmaRoamingPreference(int cdmaRoamingType, Message response); 1224767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1225767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1226767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Requests to set the CDMA subscription mode 1227767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param cdmaSubscriptionType one of CDMA_SUBSCRIPTION_* 1228767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response is callback message 1229767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1230767a662ecde33c3979bf02b793d392aca0403162Wink Saville void setCdmaSubscription(int cdmaSubscriptionType, Message response); 1231767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1232767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 12339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If this is a simulated phone interface, returns a SimulatedRadioControl. 1234767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @ return A SimulatedRadioControl if this is a simulated interface; 12359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * otherwise, null. 12369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SimulatedRadioControl getSimulatedRadioControl(); 12389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Allow mobile data connections. 12419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return {@code true} if the operation started successfully 12429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <br/>{@code false} if it 12439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * failed immediately.<br/> 12449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Even in the {@code true} case, it may still fail later 12459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * during setup, in which case an asynchronous indication will 12469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be supplied. 12479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean enableDataConnectivity(); 12499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disallow mobile data connections, and terminate any that 12529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * are in progress. 12539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return {@code true} if the operation started successfully 12549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <br/>{@code false} if it 12559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * failed immediately.<br/> 12569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Even in the {@code true} case, it may still fail later 12579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * during setup, in which case an asynchronous indication will 12589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be supplied. 12599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean disableDataConnectivity(); 12619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Enables the specified APN type. Only works for "special" APN types, 12649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * i.e., not the default APN. 12659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param type The desired APN type. Cannot be {@link #APN_TYPE_DEFAULT}. 12669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return <code>APN_ALREADY_ACTIVE</code> if the current APN 12679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * services the requested type.<br/> 12689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_TYPE_NOT_AVAILABLE</code> if the carrier does not 12699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * support the requested APN.<br/> 12709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_REQUEST_STARTED</code> if the request has been initiated.<br/> 12719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_REQUEST_FAILED</code> if the request was invalid.<br/> 12729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code> broadcast will 12739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * indicate connection state progress. 12749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int enableApnType(String type); 12769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Disables the specified APN type, and switches back to the default APN, 12799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * if necessary. Switching to the default APN will not happen if default 12809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * data traffic has been explicitly disabled via a call to {@link #disableDataConnectivity}. 12819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p/>Only works for "special" APN types, 12829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * i.e., not the default APN. 12839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param type The desired APN type. Cannot be {@link #APN_TYPE_DEFAULT}. 12849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return <code>APN_ALREADY_ACTIVE</code> if the default APN 12859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is already active.<br/> 12869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_REQUEST_STARTED</code> if the request to switch to the default 12879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN has been initiated.<br/> 12889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <code>APN_REQUEST_FAILED</code> if the request was invalid.<br/> 12899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code> broadcast will 12909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * indicate connection state progress. 12919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int disableApnType(String type); 12939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 12959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report on whether data connectivity is allowed. 12969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 12979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean isDataConnectivityPossible(); 12989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 12999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the name of the network interface used by the specified APN type. 13019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getInterfaceName(String apnType); 13039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the IP address of the network interface used by the specified 13069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN type. 13079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getIpAddress(String apnType); 13099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the gateway for the network interface used by the specified APN 13129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * type. 13139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getGateway(String apnType); 13159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the DNS servers for the network interface used by the specified 13189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * APN type. 13199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public String[] getDnsServers(String apnType); 13219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1323767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the unique device ID, e.g., IMEI for GSM phones and MEID for CDMA phones. 13249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getDeviceId(); 13269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the software version number for the device, e.g., IMEI/SV 13299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * for GSM phones. 13309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getDeviceSvn(); 13329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 13349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Retrieves the unique sbuscriber ID, e.g., IMSI for GSM phones. 13359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 13369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project String getSubscriberId(); 13379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1339767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the serial number of the ICC, if applicable. 1340767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1341767a662ecde33c3979bf02b793d392aca0403162Wink Saville String getIccSerialNumber(); 1342767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1343767a662ecde33c3979bf02b793d392aca0403162Wink Saville //***** CDMA support methods 1344767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1345dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /* 1346dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * TODO(Moto) TODO(Teleca): can getCdmaMin, getEsn, getMeid use more generic calls 1347dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * already defined getXxxx above? 1348dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1349dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1350e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1351e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Retrieves the MIN for CDMA phones. 1352e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 1353dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville String getCdmaMin(); 1354767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1355767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 135622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Retrieves PRL Version for CDMA phones 135722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 135822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville String getCdmaPrlVersion(); 135922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 136022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 1361767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the ESN for CDMA phones. 13629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1363767a662ecde33c3979bf02b793d392aca0403162Wink Saville String getEsn(); 1364767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1365767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1366767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves MEID for CDMA phones. 1367767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1368767a662ecde33c3979bf02b793d392aca0403162Wink Saville String getMeid(); 1369767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1370767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1371767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the PhoneSubInfo of the Phone 1372767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1373767a662ecde33c3979bf02b793d392aca0403162Wink Saville public PhoneSubInfo getPhoneSubInfo(); 1374767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1375767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1376767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the IccSmsInterfaceManager of the Phone 1377767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1378767a662ecde33c3979bf02b793d392aca0403162Wink Saville public IccSmsInterfaceManager getIccSmsInterfaceManager(); 1379767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1380767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1381767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Retrieves the IccPhoneBookInterfaceManager of the Phone 1382767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1383767a662ecde33c3979bf02b793d392aca0403162Wink Saville public IccPhoneBookInterfaceManager getIccPhoneBookInterfaceManager(); 1384767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1385767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1386e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * setTTYMode 1387767a662ecde33c3979bf02b793d392aca0403162Wink Saville * sets a TTY mode option. 1388767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1389767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param enable is a boolean representing the state that you are 1390767a662ecde33c3979bf02b793d392aca0403162Wink Saville * requesting, true for enabled, false for disabled. 1391767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param onComplete a callback message when the action is completed 1392767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1393e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville void setTTYMode(int ttyMode, Message onComplete); 1394767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1395767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1396e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * queryTTYMode 1397767a662ecde33c3979bf02b793d392aca0403162Wink Saville * query the status of the TTY mode 1398767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1399767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param onComplete a callback message when the action is completed. 1400767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1401e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville void queryTTYMode(Message onComplete); 1402e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1403e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1404767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Activate or deactivate cell broadcast SMS. 1405767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1406767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param activate 1407767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 0 = activate, 1 = deactivate 1408767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response 1409767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Callback message is empty on completion 1410767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1411767a662ecde33c3979bf02b793d392aca0403162Wink Saville void activateCellBroadcastSms(int activate, Message response); 1412767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1413767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1414767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Query the current configuration of cdma cell broadcast SMS. 1415767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1416767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response 1417767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Callback message is empty on completion 1418767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1419767a662ecde33c3979bf02b793d392aca0403162Wink Saville void getCellBroadcastSmsConfig(Message response); 1420767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1421767a662ecde33c3979bf02b793d392aca0403162Wink Saville /** 1422767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Configure cell broadcast SMS. 1423767a662ecde33c3979bf02b793d392aca0403162Wink Saville * 1424e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * TODO: Change the configValuesArray to a RIL_BroadcastSMSConfig 1425e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1426767a662ecde33c3979bf02b793d392aca0403162Wink Saville * @param response 1427767a662ecde33c3979bf02b793d392aca0403162Wink Saville * Callback message is empty on completion 1428767a662ecde33c3979bf02b793d392aca0403162Wink Saville */ 1429767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void setCellBroadcastSmsConfig(int[] configValuesArray, Message response); 1430767a662ecde33c3979bf02b793d392aca0403162Wink Saville 1431767a662ecde33c3979bf02b793d392aca0403162Wink Saville public void notifyDataActivity(); 1432e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1433e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1434e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon index to display 1435e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 1436e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getCdmaEriIconIndex(); 1437e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1438e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1439e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI icon mode, 1440e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 0 - ON 1441e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * 1 - FLASHING 1442e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 1443e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public int getCdmaEriIconMode(); 1444e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1445e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville /** 1446e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville * Returns the CDMA ERI text, 1447e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville */ 1448e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville public String getCdmaEriText(); 1449e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 1450dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1451dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * request to exit emergency call back mode 1452dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * the caller should use setOnECMModeExitResponse 1453dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * to receive the emergency callback mode exit response 1454dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1455dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void exitEmergencyCallbackMode(); 1456dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1457dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1458dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * this decides if the dial number is OTA(Over the air provision) number or not 1459dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param dialStr is string representing the dialing digit(s) 1460dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @return true means the dialStr is OTA number, and false means the dialStr is not OTA number 1461dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1462dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville boolean isOtaSpNumber(String dialStr); 1463dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1464dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1465dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Register for notifications when CDMA call waiting comes 1466dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1467dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler that receives the notification message. 1468dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param what User-defined message code. 1469dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param obj User object. 1470dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1471dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void registerForCallWaiting(Handler h, int what, Object obj); 1472dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1473dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1474dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unegister for notifications when CDMA Call waiting comes 1475dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler to be removed from the registrant list. 1476dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1477dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unregisterForCallWaiting(Handler h); 1478dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1479dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1480dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1481dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Register for signal information notifications from the network. 1482dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Message.obj will contain an AsyncResult. 1483dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * AsyncResult.result will be a SuppServiceNotification instance. 1484dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1485dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler that receives the notification message. 1486dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param what User-defined message code. 1487dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param obj User object. 1488dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1489dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1490dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void registerForSignalInfo(Handler h, int what, Object obj) ; 1491dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1492dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unregisters for signal information notifications. 1493dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Extraneous calls are tolerated silently 1494dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1495dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler to be removed from the registrant list. 1496dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1497dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unregisterForSignalInfo(Handler h); 1498dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1499dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1500dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Register for display information notifications from the network. 1501dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Message.obj will contain an AsyncResult. 1502dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * AsyncResult.result will be a SuppServiceNotification instance. 1503dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1504dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler that receives the notification message. 1505dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param what User-defined message code. 1506dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param obj User object. 1507dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1508dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void registerForDisplayInfo(Handler h, int what, Object obj); 1509dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1510dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1511dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unregisters for display information notifications. 1512dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Extraneous calls are tolerated silently 1513dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1514dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler to be removed from the registrant list. 1515dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1516dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unregisterForDisplayInfo(Handler h) ; 1517dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 151822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 151922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA number information record notification from the network. 152022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 152122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaNumberInfoRec 152222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 152322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 152422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 152522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 152622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 152722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 152822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerForNumberInfo(Handler h, int what, Object obj); 152922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 153022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 153122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for number information record notifications. 153222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 153322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 153422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 153522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 153622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForNumberInfo(Handler h); 153722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 153822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 153922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA redirected number information record notification 154022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * from the network. 154122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 154222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaRedirectingNumberInfoRec 154322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 154422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 154522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 154622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 154722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 154822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 154922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerForRedirectedNumberInfo(Handler h, int what, Object obj); 155022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 155122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 155222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for redirected number information record notification. 155322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 155422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 155522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 155622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 155722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForRedirectedNumberInfo(Handler h); 155822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 155922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 156022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA line control information record notification 156122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * from the network. 156222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 156322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaLineControlInfoRec 156422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 156522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 156622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 156722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 156822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 156922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 157022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerForLineControlInfo(Handler h, int what, Object obj); 157122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 157222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 157322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for line control information notifications. 157422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 157522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 157622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 157722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 157822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForLineControlInfo(Handler h); 157922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 158022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 158122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA T53 CLIR information record notifications 158222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * from the network. 158322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 158422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaT53ClirInfoRec 158522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 158622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 158722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 158822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 158922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 159022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 159122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerFoT53ClirlInfo(Handler h, int what, Object obj); 159222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 159322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 159422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for T53 CLIR information record notification 159522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 159622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 159722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 159822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 159922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForT53ClirInfo(Handler h); 160022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 160122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 160222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Register for CDMA T53 audio control information record notifications 160322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * from the network. 160422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Message.obj will contain an AsyncResult. 160522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaT53AudioControlInfoRec 160622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * instance. 160722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 160822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler that receives the notification message. 160922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param what User-defined message code. 161022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param obj User object. 161122ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 161222ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void registerForT53AudioControlInfo(Handler h, int what, Object obj); 161322ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville 161422ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville /** 161522ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Unregisters for T53 audio control information record notifications. 161622ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * Extraneous calls are tolerated silently 161722ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * 161822ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville * @param h Handler to be removed from the registrant list. 161922ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville */ 162022ccaf5321cf9d2df57cf0d686d1abcd74acb193Wink Saville void unregisterForT53AudioControlInfo(Handler h); 1621dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1622dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1623dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * registers for exit emergency call back mode request response 1624dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1625dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler that receives the notification message. 1626dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param what User-defined message code. 1627dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param obj User object. 1628dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1629dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1630dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void setOnEcbModeExitResponse(Handler h, int what, Object obj); 1631dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1632dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville /** 1633dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * Unregisters for exit emergency call back mode request response 1634dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * 1635dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville * @param h Handler to be removed from the registrant list. 1636dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville */ 1637dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville void unsetOnEcbModeExitResponse(Handler h); 1638dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 1639dda5391d5079537e275c9f4ed2637a1484d0e4e8Wink Saville 16409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1641