CommandsInterface.java revision 40d1d394302d83eb56f66cf08daecc612c97cd28
10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project
31260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License.
70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at
80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software
120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and
150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License.
160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
180825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony;
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
20a63f55cf17629426d976830429a7612387532195Rika Brooksimport com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo;
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
22d720945f2be5ea5fe0faf67e67d9ea0e184eba67Alex Yakavenkaimport com.android.internal.telephony.uicc.IccCardStatus;
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Message;
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Handler;
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/**
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide}
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic interface CommandsInterface {
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    enum RadioState {
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        RADIO_OFF,         /* Radio explicitly powered off (eg CFUN=0) */
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        RADIO_UNAVAILABLE, /* Radio unavailable (eg, resetting or not booted) */
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        RADIO_ON;          /* Radio is on */
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public boolean isOn() /* and available...*/ {
370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return this == RADIO_ON;
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public boolean isAvailable() {
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return this != RADIO_UNAVAILABLE;
420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    //***** Constants
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Used as parameter to dial() and setCLIR() below
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CLIR_DEFAULT = 0;      // "use subscription default value"
490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CLIR_INVOCATION = 1;   // (restrict CLI presentation)
500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CLIR_SUPPRESSION = 2;  // (allow CLI presentation)
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Used as parameters for call forward methods below
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_ACTION_DISABLE          = 0;
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_ACTION_ENABLE           = 1;
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville//  static final int CF_ACTION_UNUSED           = 2;
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_ACTION_REGISTRATION     = 3;
580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_ACTION_ERASURE          = 4;
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_REASON_UNCONDITIONAL    = 0;
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_REASON_BUSY             = 1;
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_REASON_NO_REPLY         = 2;
630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_REASON_NOT_REACHABLE    = 3;
640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_REASON_ALL              = 4;
650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CF_REASON_ALL_CONDITIONAL  = 5;
660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Used for call barring methods below
680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BAOC         = "AO";
690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BAOIC        = "OI";
700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BAOICxH      = "OX";
710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BAIC         = "AI";
720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BAICr        = "IR";
730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BA_ALL       = "AB";
740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BA_MO        = "AG";
750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BA_MT        = "AC";
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BA_SIM       = "SC";
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final String CB_FACILITY_BA_FD        = "FD";
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Used for various supp services apis
810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // See 27.007 +CCFC or +CLCK
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_NONE     = 0; // no user input
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_VOICE    = (1 << 0);
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_DATA     = (1 << 1); //synonym for 16+32+64+128
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_FAX      = (1 << 2);
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_SMS      = (1 << 3);
870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_DATA_SYNC = (1 << 4);
880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_DATA_ASYNC = (1 << 5);
890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_PACKET   = (1 << 6);
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_PAD      = (1 << 7);
910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int SERVICE_CLASS_MAX      = (1 << 7); // Max SERVICE_CLASS value
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // Numeric representation of string values returned
940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // by messages sent to setOnUSSD handler
950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int USSD_MODE_NOTIFY       = 0;
960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int USSD_MODE_REQUEST      = 1;
970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // GSM SMS fail cause for acknowledgeLastIncomingSMS. From TS 23.040, 9.2.3.22.
990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int GSM_SMS_FAIL_CAUSE_MEMORY_CAPACITY_EXCEEDED    = 0xD3;
1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int GSM_SMS_FAIL_CAUSE_USIM_APP_TOOLKIT_BUSY       = 0xD4;
1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int GSM_SMS_FAIL_CAUSE_USIM_DATA_DOWNLOAD_ERROR    = 0xD5;
1020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int GSM_SMS_FAIL_CAUSE_UNSPECIFIED_ERROR           = 0xFF;
1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // CDMA SMS fail cause for acknowledgeLastIncomingCdmaSms.  From TS N.S0005, 6.5.2.125.
1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CDMA_SMS_FAIL_CAUSE_INVALID_TELESERVICE_ID     = 4;
1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CDMA_SMS_FAIL_CAUSE_RESOURCE_SHORTAGE          = 35;
1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CDMA_SMS_FAIL_CAUSE_OTHER_TERMINAL_PROBLEM     = 39;
1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    static final int CDMA_SMS_FAIL_CAUSE_ENCODING_PROBLEM           = 96;
1090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    //***** Methods
1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    RadioState getRadioState();
1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1141260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * response.obj.result is an int[2]
1151260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     *
1161260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * response.obj.result[0] is registration state
1171260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     *                        0 - Not registered
1181260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     *                        1 - Registered
1191260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * response.obj.result[1] is of type const RIL_IMS_SMS_Format,
1201260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     *                        corresponds to sms format used for SMS over IMS.
1211260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     */
1221260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa    void getImsRegistrationState(Message result);
1231260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa
1241260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa    /**
1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires on any RadioState transition
1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Always fires immediately as well
1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * do not attempt to calculate transitions by storing getRadioState() values
1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * on previous invocations of this notification. Instead, use the other
1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * registration methods
1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForRadioStateChanged(Handler h, int what, Object obj);
1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForRadioStateChanged(Handler h);
1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForVoiceRadioTechChanged(Handler h, int what, Object obj);
1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForVoiceRadioTechChanged(Handler h);
1371260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa    void registerForImsNetworkStateChanged(Handler h, int what, Object obj);
1381260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa    void unregisterForImsNetworkStateChanged(Handler h);
1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires on any transition into RadioState.isOn()
1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires immediately if currently in that state
1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * In general, actions should be idempotent. State may change
1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * before event is received.
1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForOn(Handler h, int what, Object obj);
1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForOn(Handler h);
1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires on any transition out of RadioState.isAvailable()
1510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires immediately if currently in that state
1520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * In general, actions should be idempotent. State may change
1530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * before event is received.
1540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForAvailable(Handler h, int what, Object obj);
1560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForAvailable(Handler h);
1570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires on any transition into !RadioState.isAvailable()
1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires immediately if currently in that state
1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * In general, actions should be idempotent. State may change
1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * before event is received.
1630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForNotAvailable(Handler h, int what, Object obj);
1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForNotAvailable(Handler h);
1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires on any transition into RADIO_OFF or !RadioState.isAvailable()
1690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires immediately if currently in that state
1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * In general, actions should be idempotent. State may change
1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * before event is received.
1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForOffOrNotAvailable(Handler h, int what, Object obj);
1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForOffOrNotAvailable(Handler h);
1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires on any change in ICC status
1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForIccStatusChanged(Handler h, int what, Object obj);
1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForIccStatusChanged(Handler h);
1810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForCallStateChanged(Handler h, int what, Object obj);
1830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForCallStateChanged(Handler h);
1840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForVoiceNetworkStateChanged(Handler h, int what, Object obj);
1850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForVoiceNetworkStateChanged(Handler h);
1860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForDataNetworkStateChanged(Handler h, int what, Object obj);
1870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForDataNetworkStateChanged(Handler h);
1880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /** InCall voice privacy notifications */
1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForInCallVoicePrivacyOn(Handler h, int what, Object obj);
1910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForInCallVoicePrivacyOn(Handler h);
1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForInCallVoicePrivacyOff(Handler h, int what, Object obj);
1930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForInCallVoicePrivacyOff(Handler h);
1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * unlike the register* methods, there's only one new 3GPP format SMS handler.
1970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * if you need to unregister, you should also tell the radio to stop
1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * sending SMS's to you (via AT+CNMI)
1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is a String containing the SMS PDU
2010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnNewGsmSms(Handler h, int what, Object obj);
2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnNewGsmSms(Handler h);
2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * unlike the register* methods, there's only one new 3GPP2 format SMS handler.
2070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * if you need to unregister, you should also tell the radio to stop
2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * sending SMS's to you (via AT+CNMI)
2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is a String containing the SMS PDU
2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnNewCdmaSms(Handler h, int what, Object obj);
2130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnNewCdmaSms(Handler h);
2140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Set the handler for SMS Cell Broadcast messages.
2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is a byte array containing the SMS-CB PDU
2190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnNewGsmBroadcastSms(Handler h, int what, Object obj);
2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnNewGsmBroadcastSms(Handler h);
2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Register for NEW_SMS_ON_SIM unsolicited message
2250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is an int array containing the index of new SMS
2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnSmsOnSim(Handler h, int what, Object obj);
2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnSmsOnSim(Handler h);
2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Register for NEW_SMS_STATUS_REPORT unsolicited message
2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is a String containing the status report PDU
2350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnSmsStatus(Handler h, int what, Object obj);
2370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnSmsStatus(Handler h);
2380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * unlike the register* methods, there's only one NITZ time handler
2410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is an Object[]
2430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ((Object[])AsyncResult.result)[0] is a String containing the NITZ time string
2440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ((Object[])AsyncResult.result)[1] is a Long containing the milliseconds since boot as
2450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                                   returned by elapsedRealtime() when this NITZ time
2460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                                   was posted.
2470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Please note that the delivery of this message may be delayed several
2490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * seconds on system startup
2500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnNITZTime(Handler h, int what, Object obj);
2520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnNITZTime(Handler h);
2530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * unlike the register* methods, there's only one USSD notify handler
2560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Represents the arrival of a USSD "notify" message, which may
2580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * or may not have been triggered by a previous USSD send
2590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is a String[]
2610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ((String[])(AsyncResult.result))[0] contains status code
2620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      "0"   USSD-Notify -- text in ((const char **)data)[1]
2630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      "1"   USSD-Request -- text in ((const char **)data)[1]
2640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      "2"   Session terminated by network
2650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      "3"   other local client (eg, SIM Toolkit) has responded
2660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      "4"   Operation not supported
2670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      "5"   Network timeout
2680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ((String[])(AsyncResult.result))[1] contains the USSD message
2700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * The numeric representations of these are in USSD_MODE_*
2710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnUSSD(Handler h, int what, Object obj);
2740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnUSSD(Handler h);
2750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * unlike the register* methods, there's only one signal strength handler
2780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is an int[2]
2790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[0] is received signal strength (0-31, 99)
2800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[1] is  bit error rate (0-7, 99)
2810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * as defined in TS 27.007 8.5
2820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnSignalStrengthUpdate(Handler h, int what, Object obj);
2850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnSignalStrengthUpdate(Handler h);
2860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for SIM/RUIM SMS storage full unsolicited message.
2890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
2900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
2910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
2920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
2930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
2940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
2950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnIccSmsFull(Handler h, int what, Object obj);
2960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnIccSmsFull(Handler h);
2970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
2990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for SIM Refresh notifications.
3000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
3020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
3030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
3040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForIccRefresh(Handler h, int what, Object obj);
3060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForIccRefresh(Handler h);
3070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnIccRefresh(Handler h, int what, Object obj);
3090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unsetOnIccRefresh(Handler h);
3100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
3120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for RING notifications.
3130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
3140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
3160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
3170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
3180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnCallRing(Handler h, int what, Object obj);
3200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnCallRing(Handler h);
3210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
3230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for RESTRICTED_STATE changed notification,
3240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * eg, for Domain Specific Access Control
3250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * unlike the register* methods, there's only one signal strength handler
3260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * AsyncResult.result is an int[1]
3280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[0] is a bitmask of RIL_RESTRICTED_STATE_* values
3290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnRestrictedStateChanged(Handler h, int what, Object obj);
3320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnRestrictedStateChanged(Handler h);
3330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
3350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for Supplementary Service Notifications.
3360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
3370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
3390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
3400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
3410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnSuppServiceNotification(Handler h, int what, Object obj);
3430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnSuppServiceNotification(Handler h);
3440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
3460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for Session End Notifications for CAT.
3470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
3480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
3500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
3510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
3520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnCatSessionEnd(Handler h, int what, Object obj);
3540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnCatSessionEnd(Handler h);
3550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
3570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for Proactive Commands for CAT.
3580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
3590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
3610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
3620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
3630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnCatProactiveCmd(Handler h, int what, Object obj);
3650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnCatProactiveCmd(Handler h);
3660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
3680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for Event Notifications for CAT.
3690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
3700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
3720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
3730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
3740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnCatEvent(Handler h, int what, Object obj);
3760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnCatEvent(Handler h);
3770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
3790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for Call Set Up Notifications for CAT.
3800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
3810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
3830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
3840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
3850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setOnCatCallSetUp(Handler h, int what, Object obj);
3870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unSetOnCatCallSetUp(Handler h);
3880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
3900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Enables/disbables supplementary service related notifications from
3910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * the network.
3920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
3930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param enable true to enable notifications, false to disable.
3940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result Message to be posted when command completes.
3950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
3960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setSuppServiceNotifications(boolean enable, Message result);
3970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    //void unSetSuppServiceNotifications(Handler h);
3980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
3990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for Event Notifications for CDMA Display Info.
4010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
4020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
4030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
4040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
4050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
4060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForDisplayInfo(Handler h, int what, Object obj);
4080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForDisplayInfo(Handler h);
4090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for Event Notifications for CallWaiting Info.
4120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
4130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
4140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
4150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
4160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
4170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForCallWaitingInfo(Handler h, int what, Object obj);
4190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForCallWaitingInfo(Handler h);
4200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the handler for Event Notifications for Signal Info.
4230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
4240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
4250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
4260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
4270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
4280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForSignalInfo(Handler h, int what, Object obj);
4300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForSignalInfo(Handler h);
4310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Registers the handler for CDMA number information record
4340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
4350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
4360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
4370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
4380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
4390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForNumberInfo(Handler h, int what, Object obj);
4410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForNumberInfo(Handler h);
4420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Registers the handler for CDMA redirected number Information record
4450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
4460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
4470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
4480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
4490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
4500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForRedirectedNumberInfo(Handler h, int what, Object obj);
4520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForRedirectedNumberInfo(Handler h);
4530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Registers the handler for CDMA line control information record
4560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
4570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
4580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
4590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
4600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
4610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForLineControlInfo(Handler h, int what, Object obj);
4630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForLineControlInfo(Handler h);
4640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Registers the handler for CDMA T53 CLIR information record
4670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
4680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
4690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
4700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
4710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
4720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerFoT53ClirlInfo(Handler h, int what, Object obj);
4740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForT53ClirInfo(Handler h);
4750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Registers the handler for CDMA T53 audio control information record
4780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Unlike the register* methods, there's only one notification handler
4790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
4800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param h Handler for notification message.
4810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param what User-defined message code.
4820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param obj User object.
4830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void registerForT53AudioControlInfo(Handler h, int what, Object obj);
4850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void unregisterForT53AudioControlInfo(Handler h);
4860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
4880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Fires on if Modem enters Emergency Callback mode
4890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
4900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setEmergencyCallbackMode(Handler h, int what, Object obj);
4910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     /**
4930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * Fires on any CDMA OTA provision status change
4940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      */
4950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void registerForCdmaOtaProvision(Handler h,int what, Object obj);
4960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void unregisterForCdmaOtaProvision(Handler h);
4970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
4980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     /**
4990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * Registers the handler when out-band ringback tone is needed.<p>
5000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *  Messages received from this:
5020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *  Message.obj will be an AsyncResult
5030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *  AsyncResult.userObj = obj
5040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *  AsyncResult.result = boolean. <p>
5050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      */
5060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void registerForRingbackTone(Handler h, int what, Object obj);
5070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void unregisterForRingbackTone(Handler h);
5080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     /**
5100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * Registers the handler when mute/unmute need to be resent to get
5110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * uplink audio during a call.<p>
5120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param h Handler for notification message.
5140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param what User-defined message code.
5150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param obj User object.
5160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      */
5180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void registerForResendIncallMute(Handler h, int what, Object obj);
5190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void unregisterForResendIncallMute(Handler h);
5200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     /**
5220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * Registers the handler for when Cdma subscription changed events
5230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param h Handler for notification message.
5250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param what User-defined message code.
5260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param obj User object.
5270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      */
5290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void registerForCdmaSubscriptionChanged(Handler h, int what, Object obj);
5300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void unregisterForCdmaSubscriptionChanged(Handler h);
5310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     /**
5330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * Registers the handler for when Cdma prl changed events
5340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param h Handler for notification message.
5360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param what User-defined message code.
5370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param obj User object.
5380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      */
5400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void registerForCdmaPrlChanged(Handler h, int what, Object obj);
5410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void unregisterForCdmaPrlChanged(Handler h);
5420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     /**
5440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * Registers the handler for when Cdma prl changed events
5450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param h Handler for notification message.
5470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param what User-defined message code.
5480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param obj User object.
5490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      */
5510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void registerForExitEmergencyCallbackMode(Handler h, int what, Object obj);
5520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void unregisterForExitEmergencyCallbackMode(Handler h);
5530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     /**
5550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * Registers the handler for RIL_UNSOL_RIL_CONNECT events.
5560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * When ril connects or disconnects a message is sent to the registrant
5580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * which contains an AsyncResult, ar, in msg.obj. The ar.result is an
5590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * Integer which is the version of the ril or -1 if the ril disconnected.
5600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      *
5610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param h Handler for notification message.
5620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param what User-defined message code.
5630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      * @param obj User object.
5640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville      */
5650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void registerForRilConnected(Handler h, int what, Object obj);
5660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     void unregisterForRilConnected(Handler h);
5670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
5690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Supply the ICC PIN to the ICC card
5700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
5710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
5720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
5730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
5740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This exception is CommandException with an error of PASSWORD_INCORRECT
5750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  if the password is incorrect
5760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
5770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ar.exception and ar.result are null on success
5780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
5790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyIccPin(String pin, Message result);
5810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
5830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Supply the PIN for the app with this AID on the ICC card
5840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
5850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  AID (Application ID), See ETSI 102.221 8.1 and 101.220 4
5860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
5870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
5880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
5890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
5900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This exception is CommandException with an error of PASSWORD_INCORRECT
5910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  if the password is incorrect
5920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
5930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ar.exception and ar.result are null on success
5940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
5950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyIccPinForApp(String pin, String aid, Message result);
5970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
5980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
5990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Supply the ICC PUK and newPin to the ICC card
6000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
6020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
6030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
6040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This exception is CommandException with an error of PASSWORD_INCORRECT
6050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  if the password is incorrect
6060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ar.exception and ar.result are null on success
6080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
6090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyIccPuk(String puk, String newPin, Message result);
6110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
6130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Supply the PUK, new pin for the app with this AID on the ICC card
6140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  AID (Application ID), See ETSI 102.221 8.1 and 101.220 4
6160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
6180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
6190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
6200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This exception is CommandException with an error of PASSWORD_INCORRECT
6210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  if the password is incorrect
6220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ar.exception and ar.result are null on success
6240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
6250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyIccPukForApp(String puk, String newPin, String aid, Message result);
6270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
6290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Supply the ICC PIN2 to the ICC card
6300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Only called following operation where ICC_PIN2 was
6310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * returned as a a failure from a previous operation
6320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
6340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
6350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
6360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This exception is CommandException with an error of PASSWORD_INCORRECT
6370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  if the password is incorrect
6380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ar.exception and ar.result are null on success
6400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
6410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyIccPin2(String pin2, Message result);
6430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
6450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Supply the PIN2 for the app with this AID on the ICC card
6460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Only called following operation where ICC_PIN2 was
6470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * returned as a a failure from a previous operation
6480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  AID (Application ID), See ETSI 102.221 8.1 and 101.220 4
6500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
6520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
6530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
6540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This exception is CommandException with an error of PASSWORD_INCORRECT
6550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  if the password is incorrect
6560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ar.exception and ar.result are null on success
6580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
6590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyIccPin2ForApp(String pin2, String aid, Message result);
6610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
6630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Supply the SIM PUK2 to the SIM card
6640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Only called following operation where SIM_PUK2 was
6650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * returned as a a failure from a previous operation
6660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
6680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
6690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
6700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This exception is CommandException with an error of PASSWORD_INCORRECT
6710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  if the password is incorrect
6720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ar.exception and ar.result are null on success
6740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
6750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyIccPuk2(String puk2, String newPin2, Message result);
6770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
6790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Supply the PUK2, newPin2 for the app with this AID on the ICC card
6800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Only called following operation where SIM_PUK2 was
6810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * returned as a a failure from a previous operation
6820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  AID (Application ID), See ETSI 102.221 8.1 and 101.220 4
6840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
6860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
6870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
6880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This exception is CommandException with an error of PASSWORD_INCORRECT
6890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  if the password is incorrect
6900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
6910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ar.exception and ar.result are null on success
6920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
6930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyIccPuk2ForApp(String puk2, String newPin2, String aid, Message result);
6950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
6960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void changeIccPin(String oldPin, String newPin, Message result);
6970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void changeIccPinForApp(String oldPin, String newPin, String aidPtr, Message result);
6980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void changeIccPin2(String oldPin2, String newPin2, Message result);
6990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void changeIccPin2ForApp(String oldPin2, String newPin2, String aidPtr, Message result);
7000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void changeBarringPassword(String facility, String oldPwd, String newPwd, Message result);
7020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void supplyNetworkDepersonalization(String netpin, Message result);
7040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
7100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result contains a List of DriverCall
7110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      The ar.result List is sorted by DriverCall.index
7120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getCurrentCalls (Message result);
7140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
720ff4e317d24f0d23bdc0f306d53ddc51f2f1ecf6aWink Saville     *  ar.result contains a List of DataCallResponse
7210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  @deprecated Do not use.
7220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Deprecated
7240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getPDPContextList(Message result);
7250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
731ff4e317d24f0d23bdc0f306d53ddc51f2f1ecf6aWink Saville     *  ar.result contains a List of DataCallResponse
7320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getDataCallList(Message result);
7340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
7400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
7410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
7420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * CLIR_DEFAULT     == on "use subscription default value"
7430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation)
7440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * CLIR_INVOCATION  == on "CLIR invocation" (restrict CLI presentation)
7450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void dial (String address, int clirMode, Message result);
7470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
7530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
7540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
7550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * CLIR_DEFAULT     == on "use subscription default value"
7560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * CLIR_SUPPRESSION == on "CLIR suppression" (allow CLI presentation)
7570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * CLIR_INVOCATION  == on "CLIR invocation" (restrict CLI presentation)
7580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void dial(String address, int clirMode, UUSInfo uusInfo, Message result);
7600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
7660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is String containing IMSI on success
7670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getIMSI(Message result);
7690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
7750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is String containing IMSI on success
7760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getIMSIForApp(String aid, Message result);
7780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
7840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is String containing IMEI on success
7850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getIMEI(Message result);
7870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
7900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
7910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
7920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
7930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is String containing IMEISV on success
7940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
7950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getIMEISV(Message result);
7960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
7970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
7980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Hang up one individual connection.
7990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  returned message
8000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  retMsg.obj = AsyncResult ar
8010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
8020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
8030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
8040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
8050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  3GPP 22.030 6.5.5
8060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  "Releases a specific active call X"
8070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void hangupConnection (int gsmIndex, Message result);
8090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * 3GPP 22.030 6.5.5
8120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  "Releases all held calls or sets User Determined User Busy (UDUB)
8130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   for a waiting call."
8140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
8150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
8160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
8170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void hangupWaitingOrBackground (Message result);
8190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * 3GPP 22.030 6.5.5
8220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * "Releases all active calls (if any exist) and accepts
8230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  the other (held or waiting) call."
8240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
8250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
8260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
8270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
8280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void hangupForegroundResumeBackground (Message result);
8300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * 3GPP 22.030 6.5.5
8330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * "Places all active calls (if any exist) on hold and accepts
8340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  the other (held or waiting) call."
8350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
8360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
8370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
8380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
8390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void switchWaitingOrHoldingAndActive (Message result);
8410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * 3GPP 22.030 6.5.5
8440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * "Adds a held call to the conversation"
8450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
8460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
8470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
8480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
8490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void conference (Message result);
8510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Set preferred Voice Privacy (VP).
8540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
8550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param enable true is enhanced and false is normal VP
8560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result is a callback message
8570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setPreferredVoicePrivacy(boolean enable, Message result);
8590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Get currently set preferred Voice Privacy (VP) mode.
8620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
8630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result is a callback message
8640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getPreferredVoicePrivacy(Message result);
8660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * 3GPP 22.030 6.5.5
8690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * "Places all active calls on hold except call X with which
8700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  communication shall be supported."
8710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void separateConnection (int gsmIndex, Message result);
8730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
8760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
8770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
8780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
8790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void acceptCall (Message result);
8810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  also known as UDUB
8840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
8850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
8860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
8870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void rejectCall (Message result);
8890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
8900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
8910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * 3GPP 22.030 6.5.5
8920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * "Connects the two calls and disconnects the subscriber from both calls"
8930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
8940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
8950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
8960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
8970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
8980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void explicitCallTransfer (Message result);
8990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * cause code returned as int[0] in Message.obj.response
9020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Returns integer cause code defined in TS 24.008
9030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Annex H or closest approximation.
9040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Most significant codes:
9050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - Any defined in 22.001 F.4 (for generating busy/congestion)
9060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - Cause 68: ACM >= ACMMax
9070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getLastCallFailCause (Message result);
9090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Reason for last PDP context deactivate or failure to activate
9130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * cause code returned as int[0] in Message.obj.response
9140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * returns an integer cause code defined in TS 24.008
9150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * section 6.1.3.1.3 or close approximation
9160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @deprecated Do not use.
9170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Deprecated
9190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getLastPdpFailCause (Message result);
9200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * The preferred new alternative to getLastPdpFailCause
9230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * that is also CDMA-compatible.
9240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getLastDataCallFailCause (Message result);
9260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setMute (boolean enableMute, Message response);
9280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getMute (Message response);
9300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj is an AsyncResult
9330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result is an int[2]
9340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[0] is received signal strength (0-31, 99)
9350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[1] is  bit error rate (0-7, 99)
9360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * as defined in TS 27.007 8.5
9370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getSignalStrength (Message response);
9390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result is an int[3]
9430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[0] is registration state 0-5 from TS 27.007 7.2
9440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[1] is LAC if registered or -1 if not
9450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[2] is CID if registered or -1 if not
9460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * valid LAC and CIDs are 0x0000 - 0xffff
9470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
9480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Please note that registration state 4 ("unknown") is treated
9490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * as "out of service" above
9500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getVoiceRegistrationState (Message response);
9520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result is an int[3]
9550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[0] is registration state 0-5 from TS 27.007 7.2
9560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[1] is LAC if registered or -1 if not
9570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[2] is CID if registered or -1 if not
9580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * valid LAC and CIDs are 0x0000 - 0xffff
9590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
9600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Please note that registration state 4 ("unknown") is treated
9610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * as "out of service" above
9620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getDataRegistrationState (Message response);
9640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result is a String[3]
9670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[0] is long alpha or null if unregistered
9680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[1] is short alpha or null if unregistered
9690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result[2] is numeric or null if unregistered
9700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getOperator(Message response);
9720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
9750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
9760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
9770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void sendDtmf(char c, Message result);
9790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
9830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
9840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
9850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void startDtmf(char c, Message result);
9870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
9900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
9910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
9920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
9930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void stopDtmf(Message result);
9940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
9950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
9960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.exception carries exception on failure
9970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.userObject contains the orignal value of result.obj
9980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  ar.result is null on success and failure
9990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
10000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void sendBurstDtmf(String dtmfString, int on, int off, Message result);
10010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
10030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * smscPDU is smsc address in PDU form GSM BCD format prefixed
10040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      by a length byte (as expected by TS 27.005) or NULL for default SMSC
10050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * pdu is SMS in PDU format as an ASCII hex string
10060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *      less the SMSC address
10070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
10080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void sendSMS (String smscPDU, String pdu, Message response);
10090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
10110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param pdu is CDMA-SMS in internal pseudo-PDU format
10120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response sent when operation completes
10130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
10140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void sendCdmaSms(byte[] pdu, Message response);
10150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
10171260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * send SMS over IMS with 3GPP/GSM SMS format
10181260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param smscPDU is smsc address in PDU form GSM BCD format prefixed
10191260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     *      by a length byte (as expected by TS 27.005) or NULL for default SMSC
10201260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param pdu is SMS in PDU format as an ASCII hex string
10211260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     *      less the SMSC address
10221260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param retry indicates if this is a retry; 0 == not retry, nonzero = retry
10231260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param messageRef valid field if retry is set to nonzero.
10241260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     *        Contains messageRef from RIL_SMS_Response corresponding to failed MO SMS
10251260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param response sent when operation completes
10261260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     */
10271260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa    void sendImsGsmSms (String smscPDU, String pdu, int retry, int messageRef,
10281260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa            Message response);
10291260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa
10301260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa    /**
10311260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * send SMS over IMS with 3GPP2/CDMA SMS format
10321260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param pdu is CDMA-SMS in internal pseudo-PDU format
10331260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param response sent when operation completes
10341260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param retry indicates if this is a retry; 0 == not retry, nonzero = retry
10351260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param messageRef valid field if retry is set to nonzero.
10361260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     *        Contains messageRef from RIL_SMS_Response corresponding to failed MO SMS
10371260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     * @param response sent when operation completes
10381260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa     */
10391260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa    void sendImsCdmaSms(byte[] pdu, int retry, int messageRef, Message response);
10401260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa
10411260f1c6c909f2940989b72afe1b91fd83845eaaSukanya Rajkhowa    /**
10420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Deletes the specified SMS record from SIM memory (EF_SMS).
10430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
10440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param index index of the SMS record to delete
10450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response sent when operation completes
10460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
10470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void deleteSmsOnSim(int index, Message response);
10480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
10500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Deletes the specified SMS record from RUIM memory (EF_SMS in DF_CDMA).
10510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
10520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param index index of the SMS record to delete
10530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response sent when operation completes
10540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
10550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void deleteSmsOnRuim(int index, Message response);
10560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
10580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Writes an SMS message to SIM memory (EF_SMS).
10590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
10600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param status status of message on SIM.  One of:
10610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  SmsManger.STATUS_ON_ICC_READ
10620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  SmsManger.STATUS_ON_ICC_UNREAD
10630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  SmsManger.STATUS_ON_ICC_SENT
10640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  SmsManger.STATUS_ON_ICC_UNSENT
10650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param pdu message PDU, as hex string
10660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response sent when operation completes.
10670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  response.obj will be an AsyncResult, and will indicate
10680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  any error that may have occurred (eg, out of memory).
10690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
10700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void writeSmsToSim(int status, String smsc, String pdu, Message response);
10710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void writeSmsToRuim(int status, String pdu, Message response);
10730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setRadioPower(boolean on, Message response);
10750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void acknowledgeLastIncomingGsmSms(boolean success, int cause, Message response);
10770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void acknowledgeLastIncomingCdmaSms(boolean success, int cause, Message response);
10790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
10810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Acknowledge successful or failed receipt of last incoming SMS,
10820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * including acknowledgement TPDU to send as the RP-User-Data element
10830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * of the RP-ACK or RP-ERROR PDU.
10840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
10850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param success true to send RP-ACK, false to send RP-ERROR
10860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param ackPdu the acknowledgement TPDU in hexadecimal format
10870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response sent when operation completes.
10880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
10890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void acknowledgeIncomingGsmSmsWithPdu(boolean success, String ackPdu, Message response);
10900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
10920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * parameters equivalent to 27.007 AT+CRSM command
10930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj will be an AsyncResult
10940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result will be an IccIoResult on success
10950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
10960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void iccIO (int command, int fileid, String path, int p1, int p2, int p3,
10970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            String data, String pin2, Message response);
10980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
10990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * parameters equivalent to 27.007 AT+CRSM command
11010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj will be an AsyncResult
11020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.userObj will be a IccIoResult on success
11030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void iccIOForApp (int command, int fileid, String path, int p1, int p2, int p3,
11050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            String data, String pin2, String aid, Message response);
11060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * (AsyncResult)response.obj).result is an int[] with element [0] set to
11090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * 1 for "CLIP is provisioned", and 0 for "CLIP is not provisioned".
11100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
11120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void queryCLIP(Message response);
11150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj will be a an int[2]
11180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj[0] will be TS 27.007 +CLIR parameter 'n'
11200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  0 presentation indicator is used according to the subscription of the CLIR service
11210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  1 CLIR invocation
11220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  2 CLIR suppression
11230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj[1] will be TS 27.007 +CLIR parameter 'm'
11250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  0 CLIR not provisioned
11260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  1 CLIR provisioned in permanent mode
11270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  2 unknown (e.g. no network, etc.)
11280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  3 CLIR temporary mode presentation restricted
11290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  4 CLIR temporary mode presentation allowed
11300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getCLIR(Message response);
11330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * clirMode is one of the CLIR_* constants above
11360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj is null
11380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setCLIR(int clirMode, Message response);
11410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * (AsyncResult)response.obj).result is an int[] with element [0] set to
11440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * 0 for disabled, 1 for enabled.
11450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param serviceClass is a sum of SERVICE_CLASS_*
11470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
11480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void queryCallWaiting(int serviceClass, Message response);
11510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param enable is true to enable, false to disable
11540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param serviceClass is a sum of SERVICE_CLASS_*
11550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
11560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setCallWaiting(boolean enable, int serviceClass, Message response);
11590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param action is one of CF_ACTION_*
11620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param cfReason is one of CF_REASON_*
11630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param serviceClass is a sum of SERVICE_CLASSS_*
11640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setCallForward(int action, int cfReason, int serviceClass,
11660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville                String number, int timeSeconds, Message response);
11670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * cfReason is one of CF_REASON_*
11700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ((AsyncResult)response.obj).result will be an array of
11720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * CallForwardInfo's
11730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * An array of length 0 means "disabled for all codes"
11750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void queryCallForwardStatus(int cfReason, int serviceClass,
11770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            String number, Message response);
11780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setNetworkSelectionModeAutomatic(Message response);
11800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setNetworkSelectionModeManual(String operatorNumeric, Message response);
11820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Queries whether the current network selection mode is automatic
11850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * or manual
11860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ((AsyncResult)response.obj).result  is an int[] with element [0] being
11880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * a 0 for automatic selection and a 1 for manual selection
11890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getNetworkSelectionMode(Message response);
11920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
11930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
11940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Queries the currently available networks
11950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
11960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * ((AsyncResult)response.obj).result  is a List of NetworkInfo objects
11970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
11980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getAvailableNetworks(Message response);
11990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getBasebandVersion (Message response);
12010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * (AsyncResult)response.obj).result will be an Integer representing
12050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * the sum of enabled service classes (sum of SERVICE_CLASS_*)
12060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
12070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param facility one of CB_FACILTY_*
12080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param password password or "" if not required
12090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param serviceClass is a sum of SERVICE_CLASS_*
12100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
12110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void queryFacilityLock (String facility, String password, int serviceClass,
12140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        Message response);
12150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * (AsyncResult)response.obj).result will be an Integer representing
12180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * the sum of enabled service classes (sum of SERVICE_CLASS_*) for the
12190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * application with appId.
12200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
12210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param facility one of CB_FACILTY_*
12220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param password password or "" if not required
12230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param serviceClass is a sum of SERVICE_CLASS_*
12240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param appId is application Id or null if none
12250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
12260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void queryFacilityLockForApp(String facility, String password, int serviceClass, String appId,
12290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        Message response);
12300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param facility one of CB_FACILTY_*
12330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param lockState true means lock, false means unlock
12340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param password password or "" if not required
12350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param serviceClass is a sum of SERVICE_CLASS_*
12360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
12370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setFacilityLock (String facility, boolean lockState, String password,
12390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        int serviceClass, Message response);
12400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Set the facility lock for the app with this AID on the ICC card.
12430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
12440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param facility one of CB_FACILTY_*
12450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param lockState true means lock, false means unlock
12460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param password password or "" if not required
12470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param serviceClass is a sum of SERVICE_CLASS_*
12480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param appId is application Id or null if none
12490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
12500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setFacilityLockForApp(String facility, boolean lockState, String password,
12520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        int serviceClass, String appId, Message response);
12530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void sendUSSD (String ussdString, Message response);
12550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Cancels a pending USSD session if one exists.
12580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response callback message
12590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void cancelPendingUssd (Message response);
12610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void resetRadio(Message result);
12630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Assign a specified band for RF configuration.
12660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
12670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param bandMode one of BM_*_BAND
12680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
12690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setBandMode (int bandMode, Message response);
12710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Query the list of band mode supported by RF.
12740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
12750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
12760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *        ((AsyncResult)response.obj).result  is an int[] with every
12770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *        element representing one avialable BM_*_BAND
12780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void queryAvailableBandMode (Message response);
12800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Set the current preferred network type. This will be the last
12830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * networkType that was passed to setPreferredNetworkType.
12840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setCurrentPreferredNetworkType();
12860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
12880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Requests to set the preferred network type for searching and registering
12890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * (CS/PS domain, RAT, and operation mode)
12900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param networkType one of  NT_*_TYPE
12910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
12920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
12930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setPreferredNetworkType(int networkType , Message response);
12940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
12950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     /**
12960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Query the preferred network type setting
12970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
12980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message to report one of  NT_*_TYPE
12990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getPreferredNetworkType(Message response);
13010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Query neighboring cell ids
13040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response s callback message to cell ids
13060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getNeighboringCids(Message response);
13080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Request to enable/disable network state change notifications when
13110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * location information (lac and/or cid) has changed.
13120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param enable true to enable, false to disable
13140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response callback message
13150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setLocationUpdates(boolean enable, Message response);
13170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Gets the default SMSC address.
13200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result Callback message contains the SMSC address.
13220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getSmscAddress(Message result);
13240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Sets the default SMSC address.
13270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param address new SMSC address
13290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result Callback message is empty on completion
13300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setSmscAddress(String address, Message result);
13320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Indicates whether there is storage available for new SMS messages.
13350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param available true if storage is available
13360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result callback message
13370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void reportSmsMemoryStatus(boolean available, Message result);
13390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Indicates to the vendor ril that StkService is running
13420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * and is ready to receive RIL_UNSOL_STK_XXXX commands.
13430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result callback message
13450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void reportStkServiceIsRunning(Message result);
13470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void invokeOemRilRequestRaw(byte[] data, Message response);
13490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void invokeOemRilRequestStrings(String[] strings, Message response);
13510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Send TERMINAL RESPONSE to the SIM, after processing a proactive command
13550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * sent by the SIM.
13560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param contents  String containing SAT/USAT response in hexadecimal
13580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  format starting with first byte of response data. See
13590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  TS 102 223 for details.
13600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response  Callback message
13610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void sendTerminalResponse(String contents, Message response);
13630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Send ENVELOPE to the SIM, after processing a proactive command sent by
13660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * the SIM.
13670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param contents  String containing SAT/USAT response in hexadecimal
13690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  format starting with command tag. See TS 102 223 for
13700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  details.
13710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response  Callback message
13720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void sendEnvelope(String contents, Message response);
13740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Send ENVELOPE to the SIM, such as an SMS-PP data download envelope
13770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * for a SIM data download message. This method has one difference
13780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * from {@link #sendEnvelope}: The SW1 and SW2 status bytes from the UICC response
13790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * are returned along with the response data.
13800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj will be an AsyncResult
13820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * response.obj.result will be an IccIoResult on success
13830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param contents  String containing SAT/USAT response in hexadecimal
13850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  format starting with command tag. See TS 102 223 for
13860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *                  details.
13870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response  Callback message
13880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void sendEnvelopeWithStatus(String contents, Message response);
13900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
13920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Accept or reject the call setup request from SIM.
13930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
13940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param accept   true if the call is to be accepted, false otherwise.
13950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response Callback message
13960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
13970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void handleCallSetupRequestFromSim(boolean accept, Message response);
13980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
13990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Activate or deactivate cell broadcast SMS for GSM.
14010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
14020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param activate
14030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            true = activate, false = deactivate
14040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result Callback message is empty on completion
14050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setGsmBroadcastActivation(boolean activate, Message result);
14070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Configure cell broadcast SMS for GSM.
14100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
14110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response Callback message is empty on completion
14120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setGsmBroadcastConfig(SmsBroadcastConfigInfo[] config, Message response);
14140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Query the current configuration of cell broadcast SMS of GSM.
14170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
14180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response
14190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *        Callback message contains the configuration from the modem
14200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *        on completion
14210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void getGsmBroadcastConfig(Message response);
14230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    //***** new Methods for CDMA support
14250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Request the device ESN / MEID / IMEI / IMEISV.
14280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * "response" is const char **
14290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [0] is IMEI if GSM subscription is available
14300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [1] is IMEISV if GSM subscription is available
14310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [2] is ESN if CDMA subscription is available
14320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [3] is MEID if CDMA subscription is available
14330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void getDeviceIdentity(Message response);
14350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Request the device MDN / H_SID / H_NID / MIN.
14380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * "response" is const char **
14390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [0] is MDN if CDMA subscription is available
14400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [1] is a comma separated list of H_SID (Home SID) in decimal format
14410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *       if CDMA subscription is available
14420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [2] is a comma separated list of H_NID (Home NID) in decimal format
14430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *       if CDMA subscription is available
14440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [3] is MIN (10 digits, MIN2+MIN1) if CDMA subscription is available
14450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void getCDMASubscription(Message response);
14470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Send Flash Code.
14500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * "response" is is NULL
14510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *   [0] is a FLASH string
14520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void sendCDMAFeatureCode(String FeatureCode, Message response);
14540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /** Set the Phone type created */
14560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setPhoneType(int phoneType);
14570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Query the CDMA roaming preference setting
14600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
14610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message to report one of  CDMA_RM_*
14620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void queryCdmaRoamingPreference(Message response);
14640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Requests to set the CDMA roaming preference
14670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param cdmaRoamingType one of  CDMA_RM_*
14680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
14690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setCdmaRoamingPreference(int cdmaRoamingType, Message response);
14710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Requests to set the CDMA subscription mode
14740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param cdmaSubscriptionType one of  CDMA_SUBSCRIPTION_*
14750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
14760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setCdmaSubscriptionSource(int cdmaSubscriptionType, Message response);
14780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Requests to get the CDMA subscription srouce
14810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
14820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void getCdmaSubscriptionSource(Message response);
14840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Set the TTY mode
14870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
14880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param ttyMode one of the following:
14890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - {@link com.android.internal.telephony.Phone#TTY_MODE_OFF}
14900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - {@link com.android.internal.telephony.Phone#TTY_MODE_FULL}
14910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - {@link com.android.internal.telephony.Phone#TTY_MODE_HCO}
14920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - {@link com.android.internal.telephony.Phone#TTY_MODE_VCO}
14930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
14940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
14950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void setTTYMode(int ttyMode, Message response);
14960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
14970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
14980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Query the TTY mode
14990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * (AsyncResult)response.obj).result is an int[] with element [0] set to
15000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * tty mode:
15010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - {@link com.android.internal.telephony.Phone#TTY_MODE_OFF}
15020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - {@link com.android.internal.telephony.Phone#TTY_MODE_FULL}
15030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - {@link com.android.internal.telephony.Phone#TTY_MODE_HCO}
15040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * - {@link com.android.internal.telephony.Phone#TTY_MODE_VCO}
15050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response is callback message
15060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
15070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    void queryTTYMode(Message response);
15080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
15090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
15100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Setup a packet data connection On successful completion, the result
1511ff4e317d24f0d23bdc0f306d53ddc51f2f1ecf6aWink Saville     * message will return a {@link com.android.internal.telephony.dataconnection.DataCallResponse}
1512ff4e317d24f0d23bdc0f306d53ddc51f2f1ecf6aWink Saville     * object containing the connection information.
15130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
15140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param radioTechnology
15150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            indicates whether to setup connection on radio technology CDMA
15160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            (0) or GSM/UMTS (1)
15170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param profile
15180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            Profile Number or NULL to indicate default profile
15190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param apn
15200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            the APN to connect to if radio technology is GSM/UMTS.
15210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            Otherwise null for CDMA.
15220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param user
15230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            the username for APN, or NULL
15240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param password
15250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            the password for APN, or NULL
15260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param authType
15270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            the PAP / CHAP auth type. Values is one of SETUP_DATA_AUTH_*
15280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param protocol
15290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            one of the PDP_type values in TS 27.007 section 10.1.1.
15300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            For example, "IP", "IPV6", "IPV4V6", or "PPP".
15310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result
15320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            Callback message
15330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
15340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setupDataCall(String radioTechnology, String profile,
15350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            String apn, String user, String password, String authType,
15360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            String protocol, Message result);
15370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
15380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
15390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Deactivate packet data connection
15400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
15410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param cid
15420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            The connection ID
15430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param reason
15440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            Data disconnect reason.
15450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result
15460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            Callback message is empty on completion
15470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
15480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void deactivateDataCall(int cid, int reason, Message result);
15490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
15500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
15510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Activate or deactivate cell broadcast SMS for CDMA.
15520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
15530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param activate
15540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            true = activate, false = deactivate
15550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result
15560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            Callback message is empty on completion
15570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
15580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setCdmaBroadcastActivation(boolean activate, Message result);
15590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
15600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
15610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Configure cdma cell broadcast SMS.
15620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
1563a63f55cf17629426d976830429a7612387532195Rika Brooks     * @param response
15640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            Callback message is empty on completion
15650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1566a63f55cf17629426d976830429a7612387532195Rika Brooks    public void setCdmaBroadcastConfig(CdmaSmsBroadcastConfigInfo[] configs, Message response);
15670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
15680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
15690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Query the current configuration of cdma cell broadcast SMS.
15700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
15710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result
15720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *            Callback message contains the configuration from the modem on completion
15730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
15740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void getCdmaBroadcastConfig(Message result);
15750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
15760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
15770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  Requests the radio's system selection module to exit emergency callback mode.
15780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *  This function should only be called from CDMAPHone.java.
15790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
15800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response callback message
15810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
15820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void exitEmergencyCallbackMode(Message response);
15830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
15840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
15850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Request the status of the ICC and UICC cards.
15860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
15870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param result
15880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *          Callback message containing {@link IccCardStatus} structure for the card.
15890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
15900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void getIccCardStatus(Message result);
15910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
15920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
15930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Return if the current radio is LTE on CDMA. This
15940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * is a tri-state return value as for a period of time
15950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * the mode may be unknown.
15960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
1597cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville     * @return {@link PhoneConstants#LTE_ON_CDMA_UNKNOWN}, {@link PhoneConstants#LTE_ON_CDMA_FALSE}
1598cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville     * or {@link PhoneConstants#LTE_ON_CDMA_TRUE}
15990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
16000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public int getLteOnCdmaMode();
16010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
16020825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
16030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Request the ISIM application on the UICC to perform the AKA
16040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * challenge/response algorithm for IMS authentication. The nonce string
16050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * and challenge response are Base64 encoded Strings.
16060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     *
16070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param nonce the nonce string to pass with the ISIM authentication request
16080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param response a callback message with the String response in the obj field
16090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
16100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void requestIsimAuthentication(String nonce, Message response);
16110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
16120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
16135fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * Get the current Voice Radio Technology.
16145fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *
16155fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * AsyncResult.result is an int array with the first value
16165fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * being one of the ServiceState.RIL_RADIO_TECHNOLOGY_xxx values.
16175fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *
16185fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * @param result is sent back to handler and result.obj is a AsyncResult
16195fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     */
16205fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    void getVoiceRadioTechnology(Message result);
16215fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville
16225fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    /**
16235fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * Return the current set of CellInfo records
16245fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *
16255fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * AsyncResult.result is a of Collection<CellInfo>
16265fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *
16275fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * @param result is sent back to handler and result.obj is a AsyncResult
16285fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     */
16295fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    void getCellInfoList(Message result);
16305fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville
16315fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    /**
16325fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * Sets the minimum time in milli-seconds between when RIL_UNSOL_CELL_INFO_LIST
16335fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * should be invoked.
16345fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *
16355fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * The default, 0, means invoke RIL_UNSOL_CELL_INFO_LIST when any of the reported
16365fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * information changes. Setting the value to INT_MAX(0x7fffffff) means never issue
16375fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * A RIL_UNSOL_CELL_INFO_LIST.
16385fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *
16395fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *
16405fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville
16415fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * @param rateInMillis is sent back to handler and result.obj is a AsyncResult
16425fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * @param response.obj is AsyncResult ar when sent to associated handler
16435fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *                        ar.exception carries exception on failure or null on success
16445fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     *                        otherwise the error.
16455fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     */
16465fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    void setCellInfoListRate(int rateInMillis, Message response);
16475fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville
16485fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    /**
16495fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     * Fires when RIL_UNSOL_CELL_INFO_LIST is received from the RIL.
16505fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville     */
16515fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    void registerForCellInfoList(Handler h, int what, Object obj);
16525fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    void unregisterForCellInfoList(Handler h);
16535fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville
16545fb811ff076aa6b4a9ceca6edaf504a4c6d9ad20Wink Saville    /**
16555d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     * Set Initial Attach Apn
16565d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *
16575d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     * @param apn
16585d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *            the APN to connect to if radio technology is GSM/UMTS.
16595d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     * @param protocol
16605d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *            one of the PDP_type values in TS 27.007 section 10.1.1.
16615d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *            For example, "IP", "IPV6", "IPV4V6", or "PPP".
16625d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     * @param authType
16635d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *            authentication protocol used for this PDP context
16645d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *            (None: 0, PAP: 1, CHAP: 2, PAP&CHAP: 3)
16655d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     * @param username
16665d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *            the username for APN, or NULL
16675d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     * @param password
16685d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *            the password for APN, or NULL
16695d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     * @param result
16705d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     *            callback message contains the information of SUCCESS/FAILURE
16715d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi     */
16725d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi    public void setInitialAttachApn(String apn, String protocol, int authType, String username,
16735d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi            String password, Message result);
16745d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi
16755d5eea6ed231163c225144316b0d1913d48678a4Sungmin Choi    /**
16760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Notifiy that we are testing an emergency call
16770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
16780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void testingEmergencyCall();
16791de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
168040d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal    /**
168140d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * Open a logical channel to the SIM.
168240d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *
168340d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * Input parameters equivalent to TS 27.007 AT+CCHO command.
168440d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *
168540d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param AID Application id. See ETSI 102.221 and 101.220.
168640d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param response Callback message. response.obj will be an int [1] with
168740d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *            element [0] set to the id of the logical channel. If set to 0,
168840d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *            the channel is invalid.
168940d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     */
169040d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal    public void iccOpenLogicalChannel(String AID, Message response);
169140d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal
169240d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal    /**
169340d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * Close a previously opened logical channel to the SIM.
169440d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *
169540d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * Input parameters equivalent to TS 27.007 AT+CCHC command.
169640d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *
169740d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param channel Channel id. Id of the channel to be closed.
169840d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param response Callback message.
169940d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     */
170040d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal    public void iccCloseLogicalChannel(int channel, Message response);
170140d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal
170240d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal    /**
170340d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * Exchange APDUs with the SIM on a logical channel.
170440d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *
170540d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * Input parameters equivalent to TS 27.007 AT+CGLA command.
170640d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *
170740d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param channel Channel id of the channel to use for communication. Has to
170840d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *            be greater than zero.
170940d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param cla Class of the APDU command.
171040d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param instruction Instruction of the APDU command.
171140d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param p1 P1 value of the APDU command.
171240d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param p2 P2 value of the APDU command.
171340d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU
171440d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *            is sent to the SIM.
171540d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param data Data to be sent with the APDU.
171640d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param response Callback message. response.obj.userObj will be
171740d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *            an IccIoResult on success.
171840d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     */
171940d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal    public void iccTransmitApduLogicalChannel(int channel, int cla, int instruction,
172040d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal            int p1, int p2, int p3, String data, Message response);
172140d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal
172240d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal    /**
172340d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * Exchange APDUs with the SIM on a basic channel.
172440d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *
172540d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * Input parameters equivalent to TS 27.007 AT+CSIM command.
172640d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *
172740d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param cla Class of the APDU command.
172840d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param instruction Instruction of the APDU command.
172940d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param p1 P1 value of the APDU command.
173040d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param p2 P2 value of the APDU command.
173140d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU
173240d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *            is sent to the SIM.
173340d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param data Data to be sent with the APDU.
173440d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     * @param response Callback message. response.obj.userObj will be
173540d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     *            an IccIoResult on success.
173640d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal     */
173740d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal    public void iccTransmitApduBasicChannel(int cla, int instruction, int p1, int p2,
173840d1d394302d83eb56f66cf08daecc612c97cd28Shishir Agrawal            int p3, String data, Message response);
17391de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
17401de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    /**
17411de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville     * @return version of the ril.
17421de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville     */
17431de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    int getRilVersion();
17440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
1745