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