10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/* 20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2007 The Android Open Source Project 30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License"); 50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License. 60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at 70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * http://www.apache.org/licenses/LICENSE-2.0 90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software 110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS, 120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and 140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License. 150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony; 180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.content.Context; 200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.net.LinkCapabilities; 210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.net.LinkProperties; 220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Handler; 230825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Message; 240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.SystemProperties; 25ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Savilleimport android.telephony.CellInfo; 260825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.CellLocation; 270825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.PhoneStateListener; 280825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.ServiceState; 290825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.telephony.SignalStrength; 300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 310825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.DataConnection; 320825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.gsm.UsimServiceTable; 330825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.ims.IsimRecords; 340825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.test.SimulatedRadioControl; 350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 360825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.PhoneConstants.*; // ???? 370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 380825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport java.util.List; 390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/** 410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Internal interface used to control the phone; SDK developers cannot 420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * obtain this interface. 430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide} 450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 470825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic interface Phone { 480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** used to enable additional debug messages */ 500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final boolean DEBUG_PHONE = true; 510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public enum DataActivityState { 530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The state of a data activity. 550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul> 560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li>NONE = No traffic</li> 570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li>DATAIN = Receiving IP ppp traffic</li> 580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li>DATAOUT = Sending IP ppp traffic</li> 590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li>DATAINANDOUT = Both receiving and sending IP ppp traffic</li> 600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li>DORMANT = The data connection is still active, 610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville but physical link is down</li> 620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville NONE, DATAIN, DATAOUT, DATAINANDOUT, DORMANT; 650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville }; 660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville enum SuppService { 680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville UNKNOWN, SWITCH, SEPARATE, TRANSFER, CONFERENCE, REJECT, HANGUP; 690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville }; 700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // "Features" accessible through the connectivity manager 720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String FEATURE_ENABLE_MMS = "enableMMS"; 730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String FEATURE_ENABLE_SUPL = "enableSUPL"; 740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String FEATURE_ENABLE_DUN = "enableDUN"; 750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String FEATURE_ENABLE_HIPRI = "enableHIPRI"; 760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String FEATURE_ENABLE_DUN_ALWAYS = "enableDUNAlways"; 770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String FEATURE_ENABLE_FOTA = "enableFOTA"; 780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String FEATURE_ENABLE_IMS = "enableIMS"; 790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String FEATURE_ENABLE_CBS = "enableCBS"; 800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Optional reasons for disconnect and connect 830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_ROAMING_ON = "roamingOn"; 850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_ROAMING_OFF = "roamingOff"; 860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_DATA_DISABLED = "dataDisabled"; 870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_DATA_ENABLED = "dataEnabled"; 880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_DATA_ATTACHED = "dataAttached"; 890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_DATA_DETACHED = "dataDetached"; 900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_CDMA_DATA_ATTACHED = "cdmaDataAttached"; 910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_CDMA_DATA_DETACHED = "cdmaDataDetached"; 920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_APN_CHANGED = "apnChanged"; 930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_APN_SWITCHED = "apnSwitched"; 940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_APN_FAILED = "apnFailed"; 950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_RESTORE_DEFAULT_APN = "restoreDefaultApn"; 960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_RADIO_TURNED_OFF = "radioTurnedOff"; 970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_PDP_RESET = "pdpReset"; 980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_VOICE_CALL_ENDED = "2GVoiceCallEnded"; 990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_VOICE_CALL_STARTED = "2GVoiceCallStarted"; 1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_PS_RESTRICT_ENABLED = "psRestrictEnabled"; 1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_PS_RESTRICT_DISABLED = "psRestrictDisabled"; 1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_SIM_LOADED = "simLoaded"; 1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_NW_TYPE_CHANGED = "nwTypeChanged"; 1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_DATA_DEPENDENCY_MET = "dependencyMet"; 1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final String REASON_DATA_DEPENDENCY_UNMET = "dependencyUnmet"; 1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Used for band mode selection methods 1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int BM_UNSPECIFIED = 0; // selected by baseband automatically 1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int BM_EURO_BAND = 1; // GSM-900 / DCS-1800 / WCDMA-IMT-2000 1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int BM_US_BAND = 2; // GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900 1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int BM_JPN_BAND = 3; // WCDMA-800 / WCDMA-IMT-2000 1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int BM_AUS_BAND = 4; // GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000 1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int BM_AUS2_BAND = 5; // GSM-900 / DCS-1800 / WCDMA-850 1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int BM_BOUNDARY = 6; // upper band boundary 1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Used for preferred network type 1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Note NT_* substitute RILConstants.NETWORK_MODE_* above the Phone 1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDMA_PREF; 1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ONLY; 1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDMA_ONLY; 1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_GSM_UMTS = RILConstants.NETWORK_MODE_GSM_UMTS; 1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_CDMA = RILConstants.NETWORK_MODE_CDMA; 1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA_NO_EVDO; 1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO_NO_CDMA; 1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOBAL; 1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int NT_MODE_LTE_ONLY = RILConstants.NETWORK_MODE_LTE_ONLY; 1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int PREFERRED_NT_MODE = RILConstants.PREFERRED_NETWORK_MODE; 1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Used for CDMA roaming mode 1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int CDMA_RM_HOME = 0; // Home Networks only, as defined in PRL 1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int CDMA_RM_AFFILIATED = 1; // Roaming an Affiliated networks, as defined in PRL 1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int CDMA_RM_ANY = 2; // Roaming on Any Network, as defined in PRL 1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville // Used for CDMA subscription mode 139be3dc4b04cd65e576d250cf68f310d47637167ffWink Saville static final int CDMA_SUBSCRIPTION_UNKNOWN =-1; // Unknown 1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // RUIM/SIM (default) 1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int CDMA_SUBSCRIPTION_NV = 1; // NV -> non-volatile memory 1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int PREFERRED_CDMA_SUBSCRIPTION = CDMA_SUBSCRIPTION_NV; 1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int TTY_MODE_OFF = 0; 1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int TTY_MODE_FULL = 1; 1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int TTY_MODE_HCO = 2; 1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville static final int TTY_MODE_VCO = 3; 1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CDMA OTA PROVISION STATUS, the same as RIL_CDMA_OTA_Status in ril.h 1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SPL_UNLOCKED = 0; 1550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SPC_RETRIES_EXCEEDED = 1; 1560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_A_KEY_EXCHANGED = 2; 1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_SSD_UPDATED = 3; 1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_NAM_DOWNLOADED = 4; 1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_MDN_DOWNLOADED = 5; 1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_IMSI_DOWNLOADED = 6; 1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_PRL_DOWNLOADED = 7; 1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_COMMITTED = 8; 1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_STARTED = 9; 1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_STOPPED = 10; 1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_ABORTED = 11; 1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the current ServiceState. Use 1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>registerForServiceStateChanged</code> to be informed of 1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * updates. 1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville ServiceState getServiceState(); 1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the current CellLocation. 1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville CellLocation getCellLocation(); 1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 181ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Saville * @return all available cell information or null if none. 182ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Saville */ 183ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Saville public List<CellInfo> getAllCellInfo(); 184ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Saville 185ef1d4bff9bbf7d967dbcace73f08910e14e367d0Wink Saville /** 1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the current for the default apn DataState. No change notification 1870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * exists at this interface -- use 1880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link android.telephony.PhoneStateListener} instead. 1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville DataState getDataConnectionState(); 1910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 1930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the current DataState. No change notification exists at this 1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * interface -- use 1950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link android.telephony.PhoneStateListener} instead. 1960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param apnType specify for which apn to get connection state info. 1970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville DataState getDataConnectionState(String apnType); 1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the current DataActivityState. No change notification exists at this 2020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * interface -- use 2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link android.telephony.TelephonyManager} instead. 2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville DataActivityState getDataActivityState(); 2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Gets the context for the phone, as set at initialization time. 2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Context getContext(); 2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Disables the DNS check (i.e., allows "0.0.0.0"). 2140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Useful for lab testing environment. 2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param b true disables the check, false enables. 2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void disableDnsCheck(boolean b); 2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns true if the DNS check is currently disabled. 2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean isDnsCheckDisabled(); 2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get current coarse-grained voice call state. 2260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Use {@link #registerForPreciseCallStateChanged(Handler, int, Object) 2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * registerForPreciseCallStateChanged()} for change notification. <p> 2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * If the phone has an active call and call waiting occurs, 2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * then the phone state is RINGING not OFFHOOK 2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <strong>Note:</strong> 2310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * This registration point provides notification of finer-grained 2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * changes.<p> 2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville State getState(); 2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns a string identifier for this phone interface for parties 2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * outside the phone app process. 2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return The string name. 2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getPhoneName(); 2430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Return a numerical identifier for the phone radio interface. 2460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return PHONE_TYPE_XXX as defined above. 2470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int getPhoneType(); 2490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns an array of string identifiers for the APN types serviced by the 2520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * currently active. 2530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return The string array will always return at least one entry, Phone.APN_TYPE_DEFAULT. 2540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * TODO: Revisit if we always should return at least one entry. 2550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String[] getActiveApnTypes(); 2570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns string for the active APN host. 2600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return type as a string or null if none. 2610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getActiveApnHost(String apnType); 2630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Return the LinkProperties for the named apn or null if not available 2660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LinkProperties getLinkProperties(String apnType); 2680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Return the LinkCapabilities 2710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville LinkCapabilities getLinkCapabilities(String apnType); 2730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get current signal strength. No change notification available on this 2760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * interface. Use <code>PhoneStateNotifier</code> or an equivalent. 2770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * An ASU is 0-31 or -1 if unknown (for GSM, dBm = -113 - 2 * asu). 2780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The following special values are defined:</p> 2790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul><li>0 means "-113 dBm or less".</li> 2800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li>31 means "-51 dBm or greater".</li></ul> 2810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 2820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return Current signal strength as SignalStrength 2830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SignalStrength getSignalStrength(); 2850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Notifies when a previously untracked non-ringing/waiting connection has appeared. 2880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * This is likely due to some other entity (eg, SIM card application) initiating a call. 2890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForUnknownConnection(Handler h, int what, Object obj); 2910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for unknown connection notifications. 2940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 2950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForUnknownConnection(Handler h); 2960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 2970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 2980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for getting notifications for change in the Call State {@link Call.State} 2990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * This is called PreciseCallState because the call state is more precise than the 3000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link Phone.State} which can be obtained using the {@link PhoneStateListener} 3010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Resulting events will have an AsyncResult in <code>Message.obj</code>. 3030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.userData will be set to the obj argument here. 3040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The <em>h</em> parameter is held only by a weak reference. 3050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForPreciseCallStateChanged(Handler h, int what, Object obj); 3070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for voice call state change notifications. 3100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently. 3110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForPreciseCallStateChanged(Handler h); 3130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Notifies when a new ringing or waiting connection has appeared.<p> 3170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Messages received from this: 3190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will be an AsyncResult 3200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.userObj = obj 3210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result = a Connection. <p> 3220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Please check Connection.isRinging() to make sure the Connection 3230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * has not dropped since this message was posted. 3240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * If Connection.isRinging() is true, then 3250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Connection.getCall() == Phone.getRingingCall() 3260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForNewRingingConnection(Handler h, int what, Object obj); 3280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for new ringing connection notification. 3310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 3320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForNewRingingConnection(Handler h); 3350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Notifies when an incoming call rings.<p> 3380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Messages received from this: 3400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will be an AsyncResult 3410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.userObj = obj 3420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result = a Connection. <p> 3430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForIncomingRing(Handler h, int what, Object obj); 3450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for ring notification. 3480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 3490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForIncomingRing(Handler h); 3520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Notifies when out-band ringback tone is needed.<p> 3550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Messages received from this: 3570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will be an AsyncResult 3580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.userObj = obj 3590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result = boolean, true to start play ringback tone 3600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and false to stop. <p> 3610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForRingbackTone(Handler h, int what, Object obj); 3630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for ringback tone notification. 3660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForRingbackTone(Handler h); 3690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Registers the handler to reset the uplink mute state to get 3720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * uplink audio. 3730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForResendIncallMute(Handler h, int what, Object obj); 3750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for resend incall mute notifications. 3780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForResendIncallMute(Handler h); 3800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Notifies when a voice connection has disconnected, either due to local 3830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * or remote hangup or error. 3840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 3850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Messages received from this will have the following members:<p> 3860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <ul><li>Message.obj will be an AsyncResult</li> 3870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li>AsyncResult.userObj = obj</li> 3880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li>AsyncResult.result = a Connection object that is 3890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * no longer connected.</li></ul> 3900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForDisconnect(Handler h, int what, Object obj); 3920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 3940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for voice disconnection notification. 3950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 3960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 3970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForDisconnect(Handler h); 3980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 3990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for notifications of initiation of a new MMI code request. 4020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * MMI codes for GSM are discussed in 3GPP TS 22.030.<p> 4030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Example: If Phone.dial is called with "*#31#", then the app will 4050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * be notified here.<p> 4060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The returned <code>Message.obj</code> will contain an AsyncResult. 4080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>obj.result</code> will be an "MmiCode" object. 4100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForMmiInitiate(Handler h, int what, Object obj); 4120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for new MMI initiate notification. 4150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 4160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForMmiInitiate(Handler h); 4180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for notifications that an MMI request has completed 4210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * its network activity and is in its final state. This may mean a state 4220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * of COMPLETE, FAILED, or CANCELLED. 4230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>Message.obj</code> will contain an AsyncResult. 4250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>obj.result</code> will be an "MmiCode" object 4260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForMmiComplete(Handler h, int what, Object obj); 4280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for MMI complete notification. 4310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 4320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForMmiComplete(Handler h); 4340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Registration point for Ecm timer reset 4370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h handler to notify 4380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what user-defined message code 4390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj placed in Message.obj 4400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForEcmTimerReset(Handler h, int what, Object obj); 4420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregister for notification for Ecm timer reset 4450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 4460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForEcmTimerReset(Handler h); 4480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns a list of MMI codes that are pending. (They have initiated 4510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * but have not yet completed). 4520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Presently there is only ever one. 4530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Use <code>registerForMmiInitiate</code> 4540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and <code>registerForMmiComplete</code> for change notification. 4550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public List<? extends MmiCode> getPendingMmiCodes(); 4570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Sends user response to a USSD REQUEST message. An MmiCode instance 4600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * representing this response is sent to handlers registered with 4610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * registerForMmiInitiate. 4620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param ussdMessge Message to send in the response. 4640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void sendUssdResponse(String ussdMessge); 4660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for ServiceState changed. 4690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 4700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a ServiceState instance 4710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForServiceStateChanged(Handler h, int what, Object obj); 4730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for ServiceStateChange notification. 4760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 4770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForServiceStateChanged(Handler h); 4790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for Supplementary Service notifications from the network. 4820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 4830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a SuppServiceNotification instance. 4840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 4860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 4870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 4880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForSuppServiceNotification(Handler h, int what, Object obj); 4900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 4920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for Supplementary Service notifications. 4930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 4940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 4950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 4960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 4970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForSuppServiceNotification(Handler h); 4980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 4990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for notifications when a supplementary service attempt fails. 5010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 5020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 5040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 5050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 5060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForSuppServiceFailed(Handler h, int what, Object obj); 5080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregister for notifications when a supplementary service attempt fails. 5110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 5120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 5140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForSuppServiceFailed(Handler h); 5160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for notifications when a sInCall VoicePrivacy is enabled 5190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 5210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 5220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 5230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForInCallVoicePrivacyOn(Handler h, int what, Object obj); 5250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unegister for notifications when a sInCall VoicePrivacy is enabled 5280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 5300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForInCallVoicePrivacyOn(Handler h); 5320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for notifications when a sInCall VoicePrivacy is disabled 5350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 5370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 5380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 5390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForInCallVoicePrivacyOff(Handler h, int what, Object obj); 5410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unegister for notifications when a sInCall VoicePrivacy is disabled 5440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 5460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForInCallVoicePrivacyOff(Handler h); 5480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for notifications when CDMA OTA Provision status change 5510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 5530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 5540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 5550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForCdmaOtaStatusChange(Handler h, int what, Object obj); 5570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unegister for notifications when CDMA OTA Provision status change 5600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 5610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForCdmaOtaStatusChange(Handler h); 5630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Registration point for subscription info ready 5660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h handler to notify 5670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what what code of message when delivered 5680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj placed in Message.obj 5690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void registerForSubscriptionInfoReady(Handler h, int what, Object obj); 5710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregister for notifications for subscription info 5740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 5750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void unregisterForSubscriptionInfoReady(Handler h); 5770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns SIM record load state. Use 5800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>getSimCard().registerForReady()</code> for change notification. 5810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 5820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if records from the SIM have been loaded and are 5830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * available (if applicable). If not applicable to the underlying 5840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * technology, returns true as well. 5850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean getIccRecordsLoaded(); 5870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns the ICC card interface for this phone, or null 5900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * if not applicable to underlying technology. 5910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 5920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville IccCard getIccCard(); 5930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 5940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 5950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Answers a ringing or waiting call. Active calls, if any, go on hold. 5960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Answering occurs asynchronously, and final notification occurs via 5970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 5980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()}. 5990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @exception CallStateException when no call is ringing or waiting 6010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void acceptCall() throws CallStateException; 6030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Reject (ignore) a ringing call. In GSM, this means UDUB 6060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (User Determined User Busy). Reject occurs asynchronously, 6070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and final notification occurs via 6080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()}. 6100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @exception CallStateException when no call is ringing or waiting 6120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void rejectCall() throws CallStateException; 6140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Places any active calls on hold, and makes any held calls 6170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * active. Switch occurs asynchronously and may fail. 6180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Final notification occurs via 6190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()}. 6210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @exception CallStateException if a call is ringing, waiting, or 6230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * dialing/alerting. In these cases, this operation may not be performed. 6240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void switchHoldingAndActive() throws CallStateException; 6260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Whether or not the phone can conference in the current phone 6290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * state--that is, one call holding and one call active. 6300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if the phone can conference; false otherwise. 6310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean canConference(); 6330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Conferences holding and active. Conference occurs asynchronously 6360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and may fail. Final notification occurs via 6370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()}. 6390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @exception CallStateException if canConference() would return false. 6410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * In these cases, this operation may not be performed. 6420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void conference() throws CallStateException; 6440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Enable or disable enhanced Voice Privacy (VP). If enhanced VP is 6470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * disabled, normal VP is enabled. 6480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param enable whether true or false to enable or disable. 6500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 6510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void enableEnhancedVoicePrivacy(boolean enable, Message onComplete); 6530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the currently set Voice Privacy (VP) mode. 6560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 6580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getEnhancedVoicePrivacy(Message onComplete); 6600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Whether or not the phone can do explicit call transfer in the current 6630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * phone state--that is, one call holding and one call active. 6640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if the phone can do explicit call transfer; false otherwise. 6650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean canTransfer(); 6670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Connects the two calls and disconnects the subscriber from both calls 6700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Explicit Call Transfer occurs asynchronously 6710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and may fail. Final notification occurs via 6720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 6730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()}. 6740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @exception CallStateException if canTransfer() would return false. 6760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * In these cases, this operation may not be performed. 6770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void explicitCallTransfer() throws CallStateException; 6790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Clears all DISCONNECTED connections from Call connection lists. 6820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Calls that were in the DISCONNECTED state become idle. This occurs 6830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * synchronously. 6840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 6850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void clearDisconnected(); 6860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 6880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 6890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Gets the foreground call object, which represents all connections that 6900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * are dialing or active (all connections 6910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * that have their audio path connected).<p> 6920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The foreground call is a singleton object. It is constant for the life 6940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * of this phone. It is never null.<p> 6950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The foreground call will only ever be in one of these states: 6970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * IDLE, ACTIVE, DIALING, ALERTING, or DISCONNECTED. 6980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 6990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * State change notification is available via 7000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 7010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()}. 7020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Call getForegroundCall(); 7040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Gets the background call object, which represents all connections that 7070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * are holding (all connections that have been accepted or connected, but 7080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * do not have their audio path connected). <p> 7090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The background call is a singleton object. It is constant for the life 7110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * of this phone object . It is never null.<p> 7120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The background call will only ever be in one of these states: 7140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * IDLE, HOLDING or DISCONNECTED. 7150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * State change notification is available via 7170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 7180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()}. 7190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Call getBackgroundCall(); 7210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Gets the ringing call object, which represents an incoming 7240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * connection (if present) that is pending answer/accept. (This connection 7250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * may be RINGING or WAITING, and there may be only one.)<p> 7260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ringing call is a singleton object. It is constant for the life 7280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * of this phone. It is never null.<p> 7290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The ringing call will only ever be in one of these states: 7310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * IDLE, INCOMING, WAITING or DISCONNECTED. 7320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * State change notification is available via 7340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 7350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()}. 7360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Call getRingingCall(); 7380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Initiate a new voice connection. This happens asynchronously, so you 7410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * cannot assume the audio path is connected (or a call index has been 7420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * assigned) until PhoneStateChanged notification has occurred. 7430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @exception CallStateException if a new outgoing call is not currently 7450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * possible because no more call slots exist or a call exists that is 7460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * dialing, alerting, ringing, or waiting. Other errors are 7470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * handled asynchronously. 7480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Connection dial(String dialString) throws CallStateException; 7500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Initiate a new voice connection with supplementary User to User 7530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Information. This happens asynchronously, so you cannot assume the audio 7540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * path is connected (or a call index has been assigned) until 7550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * PhoneStateChanged notification has occurred. 7560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @exception CallStateException if a new outgoing call is not currently 7580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * possible because no more call slots exist or a call exists 7590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * that is dialing, alerting, ringing, or waiting. Other 7600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * errors are handled asynchronously. 7610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Connection dial(String dialString, UUSInfo uusInfo) throws CallStateException; 7630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which are initiated 7660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * without SEND (so <code>dial</code> is not appropriate). 7670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param dialString the MMI command to be executed. 7690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if MMI command is executed. 7700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean handlePinMmi(String dialString); 7720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Handles in-call MMI commands. While in a call, or while receiving a 7750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * call, use this to execute MMI commands. 7760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * see 3GPP 20.030, section 6.5.5.1 for specs on the allowed MMI commands. 7770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 7780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param command the MMI command to be executed. 7790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if the MMI command is executed. 7800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @throws CallStateException 7810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean handleInCallMmiCommands(String command) throws CallStateException; 7830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Play a DTMF tone on the active call. Ignored if there is no active call. 7860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param c should be one of 0-9, '*' or '#'. Other values will be 7870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * silently ignored. 7880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void sendDtmf(char c); 7900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 7920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Start to paly a DTMF tone on the active call. Ignored if there is no active call 7930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * or there is a playing DTMF tone. 7940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param c should be one of 0-9, '*' or '#'. Other values will be 7950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * silently ignored. 7960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 7970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void startDtmf(char c); 7980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 7990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Stop the playing DTMF tone. Ignored if there is no playing DTMF 8010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * tone or no active call. 8020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void stopDtmf(); 8040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * send burst DTMF tone, it can send the string as single character or multiple character 8070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ignore if there is no active call or not valid digits string. 8080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Valid digit means only includes characters ISO-LATIN characters 0-9, *, # 8090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The difference between sendDtmf and sendBurstDtmf is sendDtmf only sends one character, 8100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this api can send single character and multiple character, also, this api has response 8110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * back to caller. 8120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param dtmfString is string representing the dialing digit(s) in the active call 8140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param on the DTMF ON length in milliseconds, or 0 for default 8150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param off the DTMF OFF length in milliseconds, or 0 for default 8160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete is the callback message when the action is processed by BP 8170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void sendBurstDtmf(String dtmfString, int on, int off, Message onComplete); 8200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Sets the radio power on/off state (off is sometimes 8230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * called "airplane mode"). Current state can be gotten via 8240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getServiceState()}.{@link 8250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * android.telephony.ServiceState#getState() getState()}. 8260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <strong>Note: </strong>This request is asynchronous. 8270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * getServiceState().getState() will not change immediately after this call. 8280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * registerForServiceStateChanged() to find out when the 8290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * request is complete. 8300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param power true means "on", false means "off". 8320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setRadioPower(boolean power); 8340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get voice message waiting indicator status. No change notification 8370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * available on this interface. Use PhoneStateNotifier or similar instead. 8380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if there is a voice message waiting 8400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean getMessageWaitingIndicator(); 8420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get voice call forwarding indicator status. No change notification 8450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * available on this interface. Use PhoneStateNotifier or similar instead. 8460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if there is a voice call forwarding 8480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean getCallForwardingIndicator(); 8500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the line 1 phone number (MSISDN). For CDMA phones, the MDN is returned 8530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and {@link #getMsisdn()} will return the MSISDN on CDMA/LTE phones.<p> 8540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return phone number. May return null if not 8560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * available or the SIM is not ready 8570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getLine1Number(); 8590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns the alpha tag associated with the msisdn number. 8620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * If there is no alpha tag associated or the record is not yet available, 8630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * returns a default localized string. <p> 8640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getLine1AlphaTag(); 8660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Sets the MSISDN phone number in the SIM card. 8690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param alphaTag the alpha tag associated with the MSISDN phone number 8710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (see getMsisdnAlphaTag) 8720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param number the new MSISDN phone number to be set on the SIM. 8730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 8740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setLine1Number(String alphaTag, String number, Message onComplete); 8760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the voice mail access phone number. Typically dialed when the 8790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * user holds the "1" key in the phone app. May return null if not 8800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * available or the SIM is not ready.<p> 8810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getVoiceMailNumber(); 8830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns unread voicemail count. This count is shown when the voicemail 8860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * notification is expanded.<p> 8870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 8880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int getVoiceMessageCount(); 8890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 8900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 8910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns the alpha tag associated with the voice mail number. 8920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * If there is no alpha tag associated or the record is not yet available, 8930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * returns a default localized string. <p> 8940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Please use this value instead of some other localized string when 8960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * showing a name for this number in the UI. For example, call log 8970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * entries should show this alpha tag. <p> 8980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 8990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Usage of this alpha tag in the UI is a common carrier requirement. 9000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getVoiceMailAlphaTag(); 9020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * setVoiceMailNumber 9050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * sets the voicemail number in the SIM card. 9060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param alphaTag the alpha tag associated with the voice mail number 9080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (see getVoiceMailAlphaTag) 9090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param voiceMailNumber the new voicemail number to be set on the SIM. 9100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 9110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setVoiceMailNumber(String alphaTag, 9130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String voiceMailNumber, 9140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Message onComplete); 9150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * getCallForwardingOptions 9180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * gets a call forwarding option. The return value of 9190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ((AsyncResult)onComplete.obj) is an array of CallForwardInfo. 9200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param commandInterfaceCFReason is one of the valid call forwarding 9220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CF_REASONS, as defined in 9230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 9240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 9250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @see com.android.internal.telephony.CallForwardInfo for details. 9260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getCallForwardingOption(int commandInterfaceCFReason, 9280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Message onComplete); 9290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * setCallForwardingOptions 9320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * sets a call forwarding option. 9330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param commandInterfaceCFReason is one of the valid call forwarding 9350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CF_REASONS, as defined in 9360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 9370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param commandInterfaceCFAction is one of the valid call forwarding 9380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CF_ACTIONS, as defined in 9390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>com.android.internal.telephony.CommandsInterface.</code> 9400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param dialingNumber is the target phone number to forward calls to 9410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param timerSeconds is used by CFNRy to indicate the timeout before 9420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * forwarding is attempted. 9430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 9440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setCallForwardingOption(int commandInterfaceCFReason, 9460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int commandInterfaceCFAction, 9470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String dialingNumber, 9480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int timerSeconds, 9490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Message onComplete); 9500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * getOutgoingCallerIdDisplay 9530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * gets outgoing caller id display. The return value of 9540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ((AsyncResult)onComplete.obj) is an array of int, with a length of 2. 9550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 9570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @see com.android.internal.telephony.CommandsInterface#getCLIR for details. 9580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getOutgoingCallerIdDisplay(Message onComplete); 9600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * setOutgoingCallerIdDisplay 9630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * sets a call forwarding option. 9640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param commandInterfaceCLIRMode is one of the valid call CLIR 9660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * modes, as defined in 9670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>com.android.internal.telephony.CommandsInterface./code> 9680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 9690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setOutgoingCallerIdDisplay(int commandInterfaceCLIRMode, 9710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Message onComplete); 9720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * getCallWaiting 9750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * gets call waiting activation state. The return value of 9760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ((AsyncResult)onComplete.obj) is an array of int, with a length of 1. 9770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 9790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @see com.android.internal.telephony.CommandsInterface#queryCallWaiting for details. 9800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getCallWaiting(Message onComplete); 9820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * setCallWaiting 9850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * sets a call forwarding option. 9860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 9870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param enable is a boolean representing the state that you are 9880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * requesting, true for enabled, false for disabled. 9890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 9900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 9910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setCallWaiting(boolean enable, Message onComplete); 9920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 9930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 9940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Scan available networks. This method is asynchronous; . 9950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * On completion, <code>response.obj</code> is set to an AsyncResult with 9960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * one of the following members:.<p> 9970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *<ul> 9980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li><code>response.obj.result</code> will be a <code>List</code> of 9990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>OperatorInfo</code> objects, or</li> 10000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <li><code>response.obj.exception</code> will be set with an exception 10010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * on failure.</li> 10020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * </ul> 10030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getAvailableNetworks(Message response); 10050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Switches network selection mode to "automatic", re-scanning and 10080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * re-selecting a network if appropriate. 10090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response The message to dispatch when the network selection 10110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * is complete. 10120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @see #selectNetworkManually(OperatorInfo, android.os.Message ) 10140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setNetworkSelectionModeAutomatic(Message response); 10160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Manually selects a network. <code>response</code> is 10190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * dispatched when this is complete. <code>response.obj</code> will be 10200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * an AsyncResult, and <code>response.obj.exception</code> will be non-null 10210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * on failure. 10220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @see #setNetworkSelectionModeAutomatic(Message) 10240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void selectNetworkManually(OperatorInfo network, 10260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville Message response); 10270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Requests to set the preferred network type for searching and registering 10300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (CS/PS domain, RAT, and operation mode) 10310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param networkType one of NT_*_TYPE 10320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response is callback message 10330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setPreferredNetworkType(int networkType, Message response); 10350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Query the preferred network type setting 10380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response is callback message to report one of NT_*_TYPE 10400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getPreferredNetworkType(Message response); 10420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Gets the default SMSC address. 10450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param result Callback message contains the SMSC address. 10470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getSmscAddress(Message result); 10490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Sets the default SMSC address. 10520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param address new SMSC address 10540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param result Callback message is empty on completion 10550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setSmscAddress(String address, Message result); 10570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Query neighboring cell IDs. <code>response</code> is dispatched when 10600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this is complete. <code>response.obj</code> will be an AsyncResult, 10610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and <code>response.obj.exception</code> will be non-null on failure. 10620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * On success, <code>AsyncResult.result</code> will be a <code>String[]</code> 10630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * containing the neighboring cell IDs. Index 0 will contain the count 10640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * of available cell IDs. Cell IDs are in hexadecimal format. 10650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response callback message that is dispatched when the query 10670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * completes. 10680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 10690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getNeighboringCids(Message response); 10700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 10710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 10720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Sets an event to be fired when the telephony system processes 10730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * a post-dial character on an outgoing call.<p> 10740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Messages of type <code>what</code> will be sent to <code>h</code>. 10760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * The <code>obj</code> field of these Message's will be instances of 10770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>AsyncResult</code>. <code>Message.obj.result</code> will be 10780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * a Connection object.<p> 10790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.arg1 will be the post dial character being processed, 10810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * or 0 ('\0') if end of string.<p> 10820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * If Connection.getPostDialState() == WAIT, 10840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the application must call 10850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link com.android.internal.telephony.Connection#proceedAfterWaitChar() 10860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Connection.proceedAfterWaitChar()} or 10870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link com.android.internal.telephony.Connection#cancelPostDial() 10880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Connection.cancelPostDial()} 10890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * for the telephony system to continue playing the post-dial 10900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * DTMF sequence.<p> 10910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 10920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * If Connection.getPostDialState() == WILD, 10930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the application must call 10940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link com.android.internal.telephony.Connection#proceedAfterWildChar 10950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Connection.proceedAfterWildChar()} 10960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * or 10970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link com.android.internal.telephony.Connection#cancelPostDial() 10980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Connection.cancelPostDial()} 10990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * for the telephony system to continue playing the 11000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * post-dial DTMF sequence.<p> 11010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Only one post dial character handler may be set. <p> 11030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Calling this method with "h" equal to null unsets this handler.<p> 11040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setOnPostDialCharacter(Handler h, int what, Object obj); 11060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Mutes or unmutes the microphone for the active call. The microphone 11100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * is automatically unmuted if a call is answered, dialed, or resumed 11110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * from a holding state. 11120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param muted true to mute the microphone, 11140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * false to activate the microphone. 11150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setMute(boolean muted); 11180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Gets current mute status. Use 11210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #registerForPreciseCallStateChanged(android.os.Handler, int, 11220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * java.lang.Object) registerForPreciseCallStateChanged()} 11230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * as a change notifcation, although presently phone state changed is not 11240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * fired when setMute() is called. 11250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true is muting, false is unmuting 11270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean getMute(); 11290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Enables or disables echo suppression. 11320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setEchoSuppressionEnabled(boolean enabled); 11340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Invokes RIL_REQUEST_OEM_HOOK_RAW on RIL implementation. 11370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param data The data for the request. 11390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response <strong>On success</strong>, 11400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (byte[])(((AsyncResult)response.obj).result) 11410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <strong>On failure</strong>, 11420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (((AsyncResult)response.obj).result) == null and 11430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (((AsyncResult)response.obj).exception) being an instance of 11440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * com.android.internal.telephony.gsm.CommandException 11450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @see #invokeOemRilRequestRaw(byte[], android.os.Message) 11470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void invokeOemRilRequestRaw(byte[] data, Message response); 11490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Invokes RIL_REQUEST_OEM_HOOK_Strings on RIL implementation. 11520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param strings The strings to make available as the request data. 11540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response <strong>On success</strong>, "response" bytes is 11550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * made available as: 11560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (String[])(((AsyncResult)response.obj).result). 11570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <strong>On failure</strong>, 11580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (((AsyncResult)response.obj).result) == null and 11590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (((AsyncResult)response.obj).exception) being an instance of 11600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * com.android.internal.telephony.gsm.CommandException 11610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @see #invokeOemRilRequestStrings(java.lang.String[], android.os.Message) 11630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void invokeOemRilRequestStrings(String[] strings, Message response); 11650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get the current active Data Call list 11680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 11690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response <strong>On success</strong>, "response" bytes is 11700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * made available as: 11710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (String[])(((AsyncResult)response.obj).result). 11720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <strong>On failure</strong>, 11730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (((AsyncResult)response.obj).result) == null and 11740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * (((AsyncResult)response.obj).exception) being an instance of 11750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * com.android.internal.telephony.gsm.CommandException 11760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getDataCallList(Message response); 11780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Update the ServiceState CellLocation for current network registration. 11810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void updateServiceLocation(); 11830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Enable location update notifications. 11860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void enableLocationUpdates(); 11880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Disable location update notifications. 11910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void disableLocationUpdates(); 11930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 11940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 11950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * For unit tests; don't send notifications to "Phone" 11960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * mailbox registrants if true. 11970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 11980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setUnitTestMode(boolean f); 11990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true If unit test mode is enabled 12020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean getUnitTestMode(); 12040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Assign a specified band for RF configuration. 12070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 12080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param bandMode one of BM_*_BAND 12090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response is callback message 12100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setBandMode(int bandMode, Message response); 12120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Query the list of band mode supported by RF. 12150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 12160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response is callback message 12170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * ((AsyncResult)response.obj).result is an int[] with every 12180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * element representing one avialable BM_*_BAND 12190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void queryAvailableBandMode(Message response); 12210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if enable data connection on roaming 12240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean getDataRoamingEnabled(); 12260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param enable set true if enable data connection on roaming 12290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setDataRoamingEnabled(boolean enable); 12310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Query the CDMA roaming preference setting 12340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 12350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response is callback message to report one of CDMA_RM_* 12360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void queryCdmaRoamingPreference(Message response); 12380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Requests to set the CDMA roaming preference 12410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param cdmaRoamingType one of CDMA_RM_* 12420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response is callback message 12430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setCdmaRoamingPreference(int cdmaRoamingType, Message response); 12450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Requests to set the CDMA subscription mode 12480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param cdmaSubscriptionType one of CDMA_SUBSCRIPTION_* 12490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response is callback message 12500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setCdmaSubscription(int cdmaSubscriptionType, Message response); 12520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * If this is a simulated phone interface, returns a SimulatedRadioControl. 12550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @ return A SimulatedRadioControl if this is a simulated interface; 12560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * otherwise, null. 12570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville SimulatedRadioControl getSimulatedRadioControl(); 12590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Enables the specified APN type. Only works for "special" APN types, 12620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * i.e., not the default APN. 12630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param type The desired APN type. Cannot be {@link #APN_TYPE_DEFAULT}. 12640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return <code>APN_ALREADY_ACTIVE</code> if the current APN 12650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * services the requested type.<br/> 12660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>APN_TYPE_NOT_AVAILABLE</code> if the carrier does not 12670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * support the requested APN.<br/> 12680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>APN_REQUEST_STARTED</code> if the request has been initiated.<br/> 12690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>APN_REQUEST_FAILED</code> if the request was invalid.<br/> 12700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code> broadcast will 12710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * indicate connection state progress. 12720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int enableApnType(String type); 12740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Disables the specified APN type, and switches back to the default APN, 12770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * if necessary. Switching to the default APN will not happen if default 12780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * data traffic has been explicitly disabled via a call to {@link #disableDataConnectivity}. 12790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <p/>Only works for "special" APN types, 12800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * i.e., not the default APN. 12810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param type The desired APN type. Cannot be {@link #APN_TYPE_DEFAULT}. 12820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return <code>APN_ALREADY_ACTIVE</code> if the default APN 12830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * is already active.<br/> 12840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>APN_REQUEST_STARTED</code> if the request to switch to the default 12850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * APN has been initiated.<br/> 12860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * <code>APN_REQUEST_FAILED</code> if the request was invalid.<br/> 12870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code> broadcast will 12880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * indicate connection state progress. 12890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville int disableApnType(String type); 12910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Report on whether data connectivity is allowed. 12940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 12950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean isDataConnectivityPossible(); 12960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 12970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 12980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Report on whether data connectivity is allowed for an APN. 12990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean isDataConnectivityPossible(String apnType); 13010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the unique device ID, e.g., IMEI for GSM phones and MEID for CDMA phones. 13040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getDeviceId(); 13060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the software version number for the device, e.g., IMEI/SV 13090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * for GSM phones. 13100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getDeviceSvn(); 13120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the unique subscriber ID, e.g., IMSI for GSM phones. 13150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getSubscriberId(); 13170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the serial number of the ICC, if applicable. 13200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getIccSerialNumber(); 13220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /* CDMA support methods */ 13240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the MIN for CDMA phones. 13270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getCdmaMin(); 13290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Check if subscription data has been assigned to mMin 13320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 13330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * return true if MIN info is ready; false otherwise. 13340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean isMinInfoReady(); 13360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves PRL Version for CDMA phones 13390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getCdmaPrlVersion(); 13410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the ESN for CDMA phones. 13440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getEsn(); 13460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves MEID for CDMA phones. 13490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getMeid(); 13510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the MSISDN from the UICC. For GSM/UMTS phones, this is equivalent to 13540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@link #getLine1Number()}. For CDMA phones, {@link #getLine1Number()} returns 13550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the MDN, so this method is provided to return the MSISDN on CDMA/LTE phones. 13560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getMsisdn(); 13580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves IMEI for phones. Returns null if IMEI is not set. 13610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville String getImei(); 13630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the PhoneSubInfo of the Phone 13660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public PhoneSubInfo getPhoneSubInfo(); 13680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the IccSmsInterfaceManager of the Phone 13710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public IccSmsInterfaceManager getIccSmsInterfaceManager(); 13730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Retrieves the IccPhoneBookInterfaceManager of the Phone 13760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public IccPhoneBookInterfaceManager getIccPhoneBookInterfaceManager(); 13780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * setTTYMode 13810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * sets a TTY mode option. 13820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param ttyMode is a one of the following: 13830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * - {@link com.android.internal.telephony.Phone#TTY_MODE_OFF} 13840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * - {@link com.android.internal.telephony.Phone#TTY_MODE_FULL} 13850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * - {@link com.android.internal.telephony.Phone#TTY_MODE_HCO} 13860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * - {@link com.android.internal.telephony.Phone#TTY_MODE_VCO} 13870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed 13880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setTTYMode(int ttyMode, Message onComplete); 13900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 13920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * queryTTYMode 13930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * query the status of the TTY mode 13940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 13950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param onComplete a callback message when the action is completed. 13960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 13970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void queryTTYMode(Message onComplete); 13980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 13990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Activate or deactivate cell broadcast SMS. 14010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 14020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param activate 14030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 0 = activate, 1 = deactivate 14040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response 14050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Callback message is empty on completion 14060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void activateCellBroadcastSms(int activate, Message response); 14080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Query the current configuration of cdma cell broadcast SMS. 14110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 14120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response 14130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Callback message is empty on completion 14140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void getCellBroadcastSmsConfig(Message response); 14160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Configure cell broadcast SMS. 14190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 14200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * TODO: Change the configValuesArray to a RIL_BroadcastSMSConfig 14210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 14220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response 14230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Callback message is empty on completion 14240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void setCellBroadcastSmsConfig(int[] configValuesArray, Message response); 14260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public void notifyDataActivity(); 14280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns the CDMA ERI icon index to display 14310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int getCdmaEriIconIndex(); 14330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns the CDMA ERI icon mode, 14360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 0 - ON 14370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 1 - FLASHING 14380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int getCdmaEriIconMode(); 14400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns the CDMA ERI text, 14430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public String getCdmaEriText(); 14450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * request to exit emergency call back mode 14480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the caller should use setOnECMModeExitResponse 14490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * to receive the emergency callback mode exit response 14500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void exitEmergencyCallbackMode(); 14520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * this decides if the dial number is OTA(Over the air provision) number or not 14550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param dialStr is string representing the dialing digit(s) 14560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true means the dialStr is OTA number, and false means the dialStr is not OTA number 14570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean isOtaSpNumber(String dialStr); 14590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Returns true if OTA Service Provisioning needs to be performed. 14620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean needsOtaServiceProvisioning(); 14640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for notifications when CDMA call waiting comes 14670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 14680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 14690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 14700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 14710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForCallWaiting(Handler h, int what, Object obj); 14730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unegister for notifications when CDMA Call waiting comes 14760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 14770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForCallWaiting(Handler h); 14790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for signal information notifications from the network. 14830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 14840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a SuppServiceNotification instance. 14850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 14860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 14870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 14880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 14890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 14910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForSignalInfo(Handler h, int what, Object obj) ; 14920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 14930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for signal information notifications. 14940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 14950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 14960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 14970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 14980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForSignalInfo(Handler h); 14990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for display information notifications from the network. 15020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 15030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a SuppServiceNotification instance. 15040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 15060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 15070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 15080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForDisplayInfo(Handler h, int what, Object obj); 15100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for display information notifications. 15130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 15140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 15160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForDisplayInfo(Handler h) ; 15180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for CDMA number information record notification from the network. 15210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 15220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaNumberInfoRec 15230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * instance. 15240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 15260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 15270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 15280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForNumberInfo(Handler h, int what, Object obj); 15300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for number information record notifications. 15330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 15340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 15360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForNumberInfo(Handler h); 15380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for CDMA redirected number information record notification 15410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * from the network. 15420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 15430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaRedirectingNumberInfoRec 15440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * instance. 15450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 15470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 15480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 15490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForRedirectedNumberInfo(Handler h, int what, Object obj); 15510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for redirected number information record notification. 15540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 15550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 15570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForRedirectedNumberInfo(Handler h); 15590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for CDMA line control information record notification 15620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * from the network. 15630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 15640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaLineControlInfoRec 15650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * instance. 15660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 15680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 15690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 15700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForLineControlInfo(Handler h, int what, Object obj); 15720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for line control information notifications. 15750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 15760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 15780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForLineControlInfo(Handler h); 15800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for CDMA T53 CLIR information record notifications 15830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * from the network. 15840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 15850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaT53ClirInfoRec 15860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * instance. 15870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 15890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 15900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 15910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 15920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerFoT53ClirlInfo(Handler h, int what, Object obj); 15930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 15940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 15950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for T53 CLIR information record notification 15960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 15970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 15980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 15990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForT53ClirInfo(Handler h); 16010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Register for CDMA T53 audio control information record notifications 16040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * from the network. 16050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message.obj will contain an AsyncResult. 16060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * AsyncResult.result will be a CdmaInformationRecords.CdmaT53AudioControlInfoRec 16070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * instance. 16080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 16090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 16100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 16110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 16120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void registerForT53AudioControlInfo(Handler h, int what, Object obj); 16140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for T53 audio control information record notifications. 16170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Extraneous calls are tolerated silently 16180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 16190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 16200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unregisterForT53AudioControlInfo(Handler h); 16220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * registers for exit emergency call back mode request response 16250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 16260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler that receives the notification message. 16270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param what User-defined message code. 16280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param obj User object. 16290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setOnEcbModeExitResponse(Handler h, int what, Object obj); 16320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregisters for exit emergency call back mode request response 16350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 16360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param h Handler to be removed from the registrant list. 16370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void unsetOnEcbModeExitResponse(Handler h); 16390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Return if the current radio is LTE on CDMA. This 16420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * is a tri-state return value as for a period of time 16430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * the mode may be unknown. 16440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 16450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return {@link #LTE_ON_CDMA_UNKNOWN}, {@link #LTE_ON_CDMA_FALSE} or {@link #LTE_ON_CDMA_TRUE} 16460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville public int getLteOnCdmaMode(); 16480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * TODO: Adding a function for each property is not good. 16510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * A fucntion of type getPhoneProp(propType) where propType is an 16520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * enum of GSM+CDMA+LTE props would be a better approach. 16530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 16540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Get "Restriction of menu options for manual PLMN selection" bit 16550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * status from EF_CSP data, this belongs to "Value Added Services Group". 16560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return true if this bit is set or EF_CSP data is unavailable, 16570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * false otherwise 16580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville boolean isCspPlmnEnabled(); 16600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Return an interface to retrieve the ISIM records for IMS, if available. 16630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return the interface to retrieve the ISIM records, or null if not supported 16640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville IsimRecords getIsimRecords(); 16660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Request the ISIM application on the UICC to perform the AKA 16690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * challenge/response algorithm for IMS authentication. The nonce string 16700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and challenge response are Base64 encoded Strings. 16710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * 16720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param nonce the nonce string to pass with the ISIM authentication request 16730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param response a callback message with the String response in the obj field 16740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void requestIsimAuthentication(String nonce, Message response); 16760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Sets the SIM voice message waiting indicator records. 16790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param line GSM Subscriber Profile Number, one-based. Only '1' is supported 16800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @param countWaiting The number of messages waiting, if known. Use 16810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * -1 to indicate that an unknown number of 16820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * messages are waiting 16830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void setVoiceMessageWaiting(int line, int countWaiting); 16850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Gets the USIM service table from the UICC, if present and available. 16880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * @return an interface to the UsimServiceTable record, or null if not available 16890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville UsimServiceTable getUsimServiceTable(); 16910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unregister from all events it registered for and dispose objects 16940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * created by this object. 16950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 16960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void dispose(); 16970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville 16980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville /** 16990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Remove references to external object stored in this object. 17000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */ 17010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville void removeReferences(); 17020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville} 1703