asturel

Untitled

May 4th, 2013
1,076
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 154.75 KB | None | 0 0
  1. /* /*
  2. * Copyright (C) 2007 The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project
  3. * *
  4. * Licensed under the Apache License, Version 2.0 (the "Licen * Licensed under the Apache License, Version 2.0 (the "Licen
  5. * you may not use this file except in compliance with the Li * you may not use this file except in compliance with the Li
  6. * You may obtain a copy of the License at * You may obtain a copy of the License at
  7. * *
  8. * http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
  9. * *
  10. * Unless required by applicable law or agreed to in writing, * Unless required by applicable law or agreed to in writing,
  11. * distributed under the License is distributed on an "AS IS" * distributed under the License is distributed on an "AS IS"
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expre * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expre
  13. * See the License for the specific language governing permis * See the License for the specific language governing permis
  14. * limitations under the License. * limitations under the License.
  15. */ */
  16.  
  17. package com.android.internal.telephony; package com.android.internal.telephony;
  18.  
  19. import android.content.Context; import android.content.Context;
  20. import android.net.LinkCapabilities; import android.net.LinkCapabilities;
  21. import android.net.LinkProperties; import android.net.LinkProperties;
  22. import android.os.Handler; import android.os.Handler;
  23. import android.os.Message; import android.os.Message;
  24. import android.os.SystemProperties; import android.os.SystemProperties;
  25. import android.telephony.CellLocation; import android.telephony.CellLocation;
  26. import android.telephony.PhoneStateListener; import android.telephony.PhoneStateListener;
  27. import android.telephony.ServiceState; import android.telephony.ServiceState;
  28. import android.telephony.SignalStrength; import android.telephony.SignalStrength;
  29.  
  30. import com.android.internal.telephony.DataConnection; import com.android.internal.telephony.DataConnection;
  31. > import com.android.internal.telephony.gsm.UsimServiceTable;
  32. import com.android.internal.telephony.ims.IsimRecords; import com.android.internal.telephony.ims.IsimRecords;
  33. import com.android.internal.telephony.test.SimulatedRadioCont import com.android.internal.telephony.test.SimulatedRadioCont
  34. //MTK-START [mtk04070][111223][ALPS00106134]Merge to ICS 4.0. <
  35. import com.android.internal.telephony.gsm.UsimServiceTable; <
  36. //MTK-END [mtk04070][111223][ALPS00106134]Merge to ICS 4.0.3 <
  37. <
  38. //MTK-START [mtk04070][111117][ALPS00093395]MTK used <
  39. import com.android.internal.telephony.gsm.GsmDataConnection; <
  40. import com.android.internal.telephony.gsm.SmsBroadcastConfigI <
  41. import com.android.internal.telephony.gsm.NetworkInfoWithAcT; <
  42. //MTK-END [mtk04070][111117][ALPS00093395]MTK used <
  43.  
  44. import java.util.List; import java.util.List;
  45.  
  46. /** /**
  47. * Internal interface used to control the phone; SDK develope * Internal interface used to control the phone; SDK develope
  48. * obtain this interface. * obtain this interface.
  49. * *
  50. * {@hide} * {@hide}
  51. * *
  52. */ */
  53. public interface Phone { public interface Phone {
  54.  
  55. /** used to enable additional debug messages */ /** used to enable additional debug messages */
  56. static final boolean DEBUG_PHONE = true; static final boolean DEBUG_PHONE = true;
  57.  
  58. //MTK-START [mtk04070][111117][ALPS00093395]Used in Gemin <
  59. static final int TOTAL_SIM_COLOR_COUNT = 4; <
  60. //MTK-END [mtk04070][111117][ALPS00093395]Used in GeminiP <
  61.  
  62. /** /**
  63. * The phone state. One of the following:<p> * The phone state. One of the following:<p>
  64. * <ul> * <ul>
  65. * <li>IDLE = no phone activity</li> * <li>IDLE = no phone activity</li>
  66. * <li>RINGING = a phone call is ringing or call waiting. * <li>RINGING = a phone call is ringing or call waiting.
  67. * In the latter case, another call is active as well</l * In the latter case, another call is active as well</l
  68. * <li>OFFHOOK = The phone is off hook. At least one call * <li>OFFHOOK = The phone is off hook. At least one call
  69. * exists that is dialing, active or holding and no calls * exists that is dialing, active or holding and no calls
  70. * ringing or waiting.</li> * ringing or waiting.</li>
  71. * </ul> * </ul>
  72. */ */
  73. enum State { enum State {
  74. IDLE, RINGING, OFFHOOK; IDLE, RINGING, OFFHOOK;
  75. }; };
  76.  
  77. /** /**
  78. * The state of a data connection. * The state of a data connection.
  79. * <ul> * <ul>
  80. * <li>CONNECTED = IP traffic should be available</li> * <li>CONNECTED = IP traffic should be available</li>
  81. * <li>CONNECTING = Currently setting up data connection< * <li>CONNECTING = Currently setting up data connection<
  82. * <li>DISCONNECTED = IP not available</li> * <li>DISCONNECTED = IP not available</li>
  83. * <li>SUSPENDED = connection is created but IP traffic i * <li>SUSPENDED = connection is created but IP traffic i
  84. * temperately not available. i.e. voice * temperately not available. i.e. voice
  85. * in 2G network</li> * in 2G network</li>
  86. * </ul> * </ul>
  87. */ */
  88. enum DataState { enum DataState {
  89. CONNECTED, CONNECTING, DISCONNECTED, SUSPENDED; CONNECTED, CONNECTING, DISCONNECTED, SUSPENDED;
  90. }; };
  91.  
  92. public enum DataActivityState { public enum DataActivityState {
  93. /** /**
  94. * The state of a data activity. * The state of a data activity.
  95. * <ul> * <ul>
  96. * <li>NONE = No traffic</li> * <li>NONE = No traffic</li>
  97. * <li>DATAIN = Receiving IP ppp traffic</li> * <li>DATAIN = Receiving IP ppp traffic</li>
  98. * <li>DATAOUT = Sending IP ppp traffic</li> * <li>DATAOUT = Sending IP ppp traffic</li>
  99. * <li>DATAINANDOUT = Both receiving and sending IP p * <li>DATAINANDOUT = Both receiving and sending IP p
  100. * <li>DORMANT = The data connection is still active, * <li>DORMANT = The data connection is still active,
  101. but physical link is dow but physical link is dow
  102. * </ul> * </ul>
  103. */ */
  104. NONE, DATAIN, DATAOUT, DATAINANDOUT, DORMANT; NONE, DATAIN, DATAOUT, DATAINANDOUT, DORMANT;
  105. }; };
  106.  
  107. enum SuppService { enum SuppService {
  108. UNKNOWN, SWITCH, SEPARATE, TRANSFER, CONFERENCE, REJECT UNKNOWN, SWITCH, SEPARATE, TRANSFER, CONFERENCE, REJECT
  109. }; };
  110.  
  111. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  112. enum IccServiceStatus { <
  113. NOT_EXIST_IN_SIM, <
  114. NOT_EXIST_IN_USIM, <
  115. ACTIVATED, <
  116. INACTIVATED, <
  117. UNKNOWN; <
  118. }; <
  119. <
  120. enum IccService { <
  121. CHV1_DISABLE_FUNCTION , //0 <
  122. SPN, <
  123. PNN, //PLMN Ne <
  124. OPL, //Operat <
  125. MWIS, //Message <
  126. CFIS, //Call F <
  127. SPDI, //Servic <
  128. EPLMN, //Equival <
  129. UNSUPPORTED_SERVICE; //8 <
  130. <
  131. public int getIndex() { <
  132. int nIndex = -1; <
  133. switch(this) { <
  134. case CHV1_DISABLE_FUNCTION: <
  135. nIndex = 0; <
  136. break; <
  137. case SPN: <
  138. nIndex = 1; <
  139. break; <
  140. case PNN: <
  141. nIndex = 2; <
  142. break; <
  143. case OPL: <
  144. nIndex = 3; <
  145. break; <
  146. case MWIS: <
  147. nIndex = 4; <
  148. break; <
  149. case CFIS: <
  150. nIndex = 5; <
  151. break; <
  152. case SPDI: <
  153. nIndex = 6; <
  154. break; <
  155. case EPLMN: <
  156. nIndex = 7; <
  157. break; <
  158. case UNSUPPORTED_SERVICE: <
  159. nIndex = 8; <
  160. break; <
  161. default: <
  162. break; <
  163. } <
  164. return nIndex; <
  165. } <
  166. }; <
  167. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  168. <
  169. static final String STATE_KEY = "state"; static final String STATE_KEY = "state";
  170. static final String PHONE_NAME_KEY = "phoneName"; static final String PHONE_NAME_KEY = "phoneName";
  171. //MTK-START [mtk04258][20120806][International card support] <
  172. static final String PHONE_TYPE_KEY = "phoneType"; <
  173. //MTK-END [mtk04258][20120806][International card support] <
  174. static final String FAILURE_REASON_KEY = "reason"; static final String FAILURE_REASON_KEY = "reason";
  175. static final String STATE_CHANGE_REASON_KEY = "reason"; static final String STATE_CHANGE_REASON_KEY = "reason";
  176. static final String DATA_APN_TYPE_KEY = "apnType"; static final String DATA_APN_TYPE_KEY = "apnType";
  177. static final String DATA_APN_KEY = "apn"; static final String DATA_APN_KEY = "apn";
  178. static final String DATA_LINK_PROPERTIES_KEY = "linkPrope static final String DATA_LINK_PROPERTIES_KEY = "linkPrope
  179. static final String DATA_LINK_CAPABILITIES_KEY = "linkCap static final String DATA_LINK_CAPABILITIES_KEY = "linkCap
  180.  
  181. static final String DATA_IFACE_NAME_KEY = "iface"; static final String DATA_IFACE_NAME_KEY = "iface";
  182. static final String NETWORK_UNAVAILABLE_KEY = "networkUnv static final String NETWORK_UNAVAILABLE_KEY = "networkUnv
  183. static final String DATA_NETWORK_ROAMING_KEY = "networkRo static final String DATA_NETWORK_ROAMING_KEY = "networkRo
  184. static final String PHONE_IN_ECM_STATE = "phoneinECMState static final String PHONE_IN_ECM_STATE = "phoneinECMState
  185.  
  186. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  187. /* Add by vendor: Multiple PDP Context for MobileDataStat <
  188. static final String DISCONNECT_DATA_FLAG ="disconnectPdpF <
  189. /* vt start */ <
  190. static final String IS_VT_CALL = "isVtCall"; <
  191. /* vt end */ <
  192. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  193. <
  194. /** /**
  195. * APN types for data connections. These are usage categ * APN types for data connections. These are usage categ
  196. * entry. One APN entry may support multiple APN types, * entry. One APN entry may support multiple APN types,
  197. * may service regular internet traffic ("default") as we * may service regular internet traffic ("default") as we
  198. * connections.<br/> * connections.<br/>
  199. * APN_TYPE_ALL is a special type to indicate that this A * APN_TYPE_ALL is a special type to indicate that this A
  200. * service all data connections. * service all data connections.
  201. */ */
  202. static final String APN_TYPE_ALL = "*"; static final String APN_TYPE_ALL = "*";
  203. /** APN type for default data traffic */ /** APN type for default data traffic */
  204. static final String APN_TYPE_DEFAULT = "default"; static final String APN_TYPE_DEFAULT = "default";
  205. /** APN type for MMS traffic */ /** APN type for MMS traffic */
  206. static final String APN_TYPE_MMS = "mms"; static final String APN_TYPE_MMS = "mms";
  207. /** APN type for SUPL assisted GPS */ /** APN type for SUPL assisted GPS */
  208. static final String APN_TYPE_SUPL = "supl"; static final String APN_TYPE_SUPL = "supl";
  209. /** APN type for DUN traffic */ /** APN type for DUN traffic */
  210. static final String APN_TYPE_DUN = "dun"; static final String APN_TYPE_DUN = "dun";
  211. /** APN type for HiPri traffic */ /** APN type for HiPri traffic */
  212. static final String APN_TYPE_HIPRI = "hipri"; static final String APN_TYPE_HIPRI = "hipri";
  213. /** APN type for FOTA */ /** APN type for FOTA */
  214. static final String APN_TYPE_FOTA = "fota"; static final String APN_TYPE_FOTA = "fota";
  215. /** APN type for IMS */ /** APN type for IMS */
  216. static final String APN_TYPE_IMS = "ims"; static final String APN_TYPE_IMS = "ims";
  217. /** APN type for CBS */ /** APN type for CBS */
  218. static final String APN_TYPE_CBS = "cbs"; static final String APN_TYPE_CBS = "cbs";
  219.  
  220. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  221. static final String APN_TYPE_DM = "dm"; <
  222. static final String APN_TYPE_WAP = "wap"; <
  223. static final String APN_TYPE_NET = "net"; <
  224. static final String APN_TYPE_CMMAIL = "cmmail"; <
  225. static final String APN_TYPE_TETHERING = "tethering"; <
  226. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  227. <
  228. <
  229. // "Features" accessible through the connectivity manager // "Features" accessible through the connectivity manager
  230. static final String FEATURE_ENABLE_MMS = "enableMMS"; static final String FEATURE_ENABLE_MMS = "enableMMS";
  231. static final String FEATURE_ENABLE_SUPL = "enableSUPL"; static final String FEATURE_ENABLE_SUPL = "enableSUPL";
  232. static final String FEATURE_ENABLE_DUN = "enableDUN"; static final String FEATURE_ENABLE_DUN = "enableDUN";
  233. static final String FEATURE_ENABLE_HIPRI = "enableHIPRI"; static final String FEATURE_ENABLE_HIPRI = "enableHIPRI";
  234. static final String FEATURE_ENABLE_DUN_ALWAYS = "enableDU static final String FEATURE_ENABLE_DUN_ALWAYS = "enableDU
  235. static final String FEATURE_ENABLE_FOTA = "enableFOTA"; static final String FEATURE_ENABLE_FOTA = "enableFOTA";
  236. static final String FEATURE_ENABLE_IMS = "enableIMS"; static final String FEATURE_ENABLE_IMS = "enableIMS";
  237. static final String FEATURE_ENABLE_CBS = "enableCBS"; static final String FEATURE_ENABLE_CBS = "enableCBS";
  238.  
  239. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  240. static final String FEATURE_ENABLE_DM = "enableDM"; <
  241. static final String FEATURE_ENABLE_WAP = "enableWAP"; <
  242. static final String FEATURE_ENABLE_NET = "enableNET"; <
  243. static final String FEATURE_ENABLE_CMMAIL = "enableCMMAIL <
  244. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  245. <
  246. <
  247. /** /**
  248. * Return codes for <code>enableApnType()</code> * Return codes for <code>enableApnType()</code>
  249. */ */
  250. static final int APN_ALREADY_ACTIVE = 0; static final int APN_ALREADY_ACTIVE = 0;
  251. static final int APN_REQUEST_STARTED = 1; static final int APN_REQUEST_STARTED = 1;
  252. static final int APN_TYPE_NOT_AVAILABLE = 2; static final int APN_TYPE_NOT_AVAILABLE = 2;
  253. static final int APN_REQUEST_FAILED = 3; static final int APN_REQUEST_FAILED = 3;
  254. static final int APN_ALREADY_INACTIVE = 4; static final int APN_ALREADY_INACTIVE = 4;
  255.  
  256. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  257. /* Add by mtk01411 */ <
  258. static final int APN_REQUEST_FAILED_DUE_TO_RADIO_OFF = 98 <
  259. static final int APN_TYPE_NOT_AVAILABLE_DUE_TO_RECORDS_NO <
  260. static final int APN_TYPE_DISABLE_ONGOING = 100; <
  261. <
  262. /* Return codes for enableDataConnectivity() and disableD <
  263. static final int ENABLE_DATA_CONNECTIVITY_INVALID_SIM_ID <
  264. static final int ENABLE_DATA_CONNECTIVITY_STARTED = 1; <
  265. static final int ENABLE_DATA_CONNECTIVITY_SUCCESS = 2; <
  266. static final int ENABLE_DATA_CONNECTIVITY_FAILED_THIS_SIM <
  267. static final int ENABLE_DATA_CONNECTIVITY_INVALID_STATE = <
  268. static final int DISABLE_DATA_CONNECTIVITY_INVALID_SIM_ID <
  269. static final int DISABLE_DATA_CONNECTIVITY_STARTED = 6; <
  270. static final int DISABLE_DATA_CONNECTIVITY_SUCCESS = 7; <
  271. static final int DISABLE_DATA_CONNECTIVITY_INVALID_STATE <
  272. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  273. <
  274.  
  275. /** /**
  276. * Optional reasons for disconnect and connect * Optional reasons for disconnect and connect
  277. */ */
  278. static final String REASON_ROAMING_ON = "roamingOn"; static final String REASON_ROAMING_ON = "roamingOn";
  279. static final String REASON_ROAMING_OFF = "roamingOff"; static final String REASON_ROAMING_OFF = "roamingOff";
  280. static final String REASON_DATA_DISABLED = "dataDisabled" static final String REASON_DATA_DISABLED = "dataDisabled"
  281. static final String REASON_DATA_ENABLED = "dataEnabled"; static final String REASON_DATA_ENABLED = "dataEnabled";
  282. static final String REASON_DATA_ATTACHED = "dataAttached" static final String REASON_DATA_ATTACHED = "dataAttached"
  283. static final String REASON_DATA_DETACHED = "dataDetached" static final String REASON_DATA_DETACHED = "dataDetached"
  284. static final String REASON_CDMA_DATA_ATTACHED = "cdmaData static final String REASON_CDMA_DATA_ATTACHED = "cdmaData
  285. static final String REASON_CDMA_DATA_DETACHED = "cdmaData static final String REASON_CDMA_DATA_DETACHED = "cdmaData
  286. static final String REASON_APN_CHANGED = "apnChanged"; static final String REASON_APN_CHANGED = "apnChanged";
  287. static final String REASON_APN_SWITCHED = "apnSwitched"; static final String REASON_APN_SWITCHED = "apnSwitched";
  288. static final String REASON_APN_FAILED = "apnFailed"; static final String REASON_APN_FAILED = "apnFailed";
  289. static final String REASON_RESTORE_DEFAULT_APN = "restore static final String REASON_RESTORE_DEFAULT_APN = "restore
  290. static final String REASON_RADIO_TURNED_OFF = "radioTurne static final String REASON_RADIO_TURNED_OFF = "radioTurne
  291. static final String REASON_PDP_RESET = "pdpReset"; static final String REASON_PDP_RESET = "pdpReset";
  292. static final String REASON_VOICE_CALL_ENDED = "2GVoiceCal static final String REASON_VOICE_CALL_ENDED = "2GVoiceCal
  293. static final String REASON_VOICE_CALL_STARTED = "2GVoiceC static final String REASON_VOICE_CALL_STARTED = "2GVoiceC
  294. static final String REASON_PS_RESTRICT_ENABLED = "psRestr static final String REASON_PS_RESTRICT_ENABLED = "psRestr
  295. static final String REASON_PS_RESTRICT_DISABLED = "psRest static final String REASON_PS_RESTRICT_DISABLED = "psRest
  296. static final String REASON_SIM_LOADED = "simLoaded"; static final String REASON_SIM_LOADED = "simLoaded";
  297. static final String REASON_NW_TYPE_CHANGED = "nwTypeChang static final String REASON_NW_TYPE_CHANGED = "nwTypeChang
  298. static final String REASON_DATA_DEPENDENCY_MET = "depende static final String REASON_DATA_DEPENDENCY_MET = "depende
  299. static final String REASON_DATA_DEPENDENCY_UNMET = "depen static final String REASON_DATA_DEPENDENCY_UNMET = "depen
  300. static final String REASON_LINK_PROPERTIES_CHANGED = "lin static final String REASON_LINK_PROPERTIES_CHANGED = "lin
  301.  
  302. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  303. static final String REASON_GPRS_ATTACHED_TIMEOUT = "gprsA <
  304. /* Add by mtk01411 */ <
  305. static final String REASON_ON_RADIO_AVAILABLE = "onRadioA <
  306. static final String REASON_ON_RECORDS_LOADED = "onRecords <
  307. static final String REASON_POLL_STATE_DONE = "pollStateDo <
  308. static final String REASON_NO_SUCH_PDP = "noSuchPdp"; <
  309. static final String REASON_PDP_NOT_ACTIVE = "pdpNotActive <
  310. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  311. <
  312. // Used for band mode selection methods // Used for band mode selection methods
  313. static final int BM_UNSPECIFIED = 0; // selected by baseb static final int BM_UNSPECIFIED = 0; // selected by baseb
  314. static final int BM_EURO_BAND = 1; // GSM-900 / DCS-180 static final int BM_EURO_BAND = 1; // GSM-900 / DCS-180
  315. static final int BM_US_BAND = 2; // GSM-850 / PCS-190 static final int BM_US_BAND = 2; // GSM-850 / PCS-190
  316. static final int BM_JPN_BAND = 3; // WCDMA-800 / WCDMA static final int BM_JPN_BAND = 3; // WCDMA-800 / WCDMA
  317. static final int BM_AUS_BAND = 4; // GSM-900 / DCS-180 static final int BM_AUS_BAND = 4; // GSM-900 / DCS-180
  318. static final int BM_AUS2_BAND = 5; // GSM-900 / DCS-180 static final int BM_AUS2_BAND = 5; // GSM-900 / DCS-180
  319. static final int BM_BOUNDARY = 6; // upper band bounda static final int BM_BOUNDARY = 6; // upper band bounda
  320.  
  321. // Radio Type // Radio Type
  322. static final int PHONE_TYPE_NONE = RILConstants.NO_PHONE; static final int PHONE_TYPE_NONE = RILConstants.NO_PHONE;
  323. static final int PHONE_TYPE_GSM = RILConstants.GSM_PHONE; static final int PHONE_TYPE_GSM = RILConstants.GSM_PHONE;
  324. static final int PHONE_TYPE_CDMA = RILConstants.CDMA_PHON static final int PHONE_TYPE_CDMA = RILConstants.CDMA_PHON
  325. static final int PHONE_TYPE_SIP = RILConstants.SIP_PHONE; static final int PHONE_TYPE_SIP = RILConstants.SIP_PHONE;
  326. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  327. static final int PHONE_TYPE_GEMINI = RILConstants.GEMINI_ <
  328. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  329. <
  330.  
  331. // Modes for LTE_ON_CDMA // Modes for LTE_ON_CDMA
  332. static final int LTE_ON_CDMA_UNKNOWN = RILConstants.LTE_O static final int LTE_ON_CDMA_UNKNOWN = RILConstants.LTE_O
  333. static final int LTE_ON_CDMA_FALSE = RILConstants.LTE_ON_ static final int LTE_ON_CDMA_FALSE = RILConstants.LTE_ON_
  334. static final int LTE_ON_CDMA_TRUE = RILConstants.LTE_ON_C static final int LTE_ON_CDMA_TRUE = RILConstants.LTE_ON_C
  335.  
  336. // Used for preferred network type // Used for preferred network type
  337. // Note NT_* substitute RILConstants.NETWORK_MODE_* above // Note NT_* substitute RILConstants.NETWORK_MODE_* above
  338. int NT_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDM int NT_MODE_WCDMA_PREF = RILConstants.NETWORK_MODE_WCDM
  339. int NT_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_ int NT_MODE_GSM_ONLY = RILConstants.NETWORK_MODE_GSM_
  340. int NT_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDM int NT_MODE_WCDMA_ONLY = RILConstants.NETWORK_MODE_WCDM
  341. int NT_MODE_GSM_UMTS = RILConstants.NETWORK_MODE_GSM_ int NT_MODE_GSM_UMTS = RILConstants.NETWORK_MODE_GSM_
  342. > int NT_MODE_LTE_GSM_WCDMA= RILConstants.NETWORK_MODE_LTE_
  343.  
  344. int NT_MODE_CDMA = RILConstants.NETWORK_MODE_CDMA int NT_MODE_CDMA = RILConstants.NETWORK_MODE_CDMA
  345.  
  346. int NT_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA int NT_MODE_CDMA_NO_EVDO = RILConstants.NETWORK_MODE_CDMA
  347. int NT_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO int NT_MODE_EVDO_NO_CDMA = RILConstants.NETWORK_MODE_EVDO
  348. int NT_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOB int NT_MODE_GLOBAL = RILConstants.NETWORK_MODE_GLOB
  349. > int NT_MODE_LTE_CDMA_EVDO = RILConstants.NETWORK_MODE_LTE
  350. > int NT_MODE_LTE_CMDA_EVDO_GSM_WCDMA = RILConstants.NETWOR
  351.  
  352. int NT_MODE_LTE_ONLY = RILConstants.NETWORK_MODE_LTE_ int NT_MODE_LTE_ONLY = RILConstants.NETWORK_MODE_LTE_
  353. int PREFERRED_NT_MODE = RILConstants.PREFERRED_NETWORK int PREFERRED_NT_MODE = RILConstants.PREFERRED_NETWORK
  354.  
  355. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  356. int NT_MODE_GEMINI = RILConstants.NETWORK_MODE_GEMI <
  357. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  358. <
  359.  
  360. // Used for CDMA roaming mode // Used for CDMA roaming mode
  361. static final int CDMA_RM_HOME = 0; // Home Networ static final int CDMA_RM_HOME = 0; // Home Networ
  362. static final int CDMA_RM_AFFILIATED = 1; // Roaming an static final int CDMA_RM_AFFILIATED = 1; // Roaming an
  363. static final int CDMA_RM_ANY = 2; // Roaming on static final int CDMA_RM_ANY = 2; // Roaming on
  364.  
  365. // Used for CDMA subscription mode // Used for CDMA subscription mode
  366. static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // RUIM/ static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // RUIM/
  367. static final int CDMA_SUBSCRIPTION_NV = 1; // NV -> static final int CDMA_SUBSCRIPTION_NV = 1; // NV ->
  368.  
  369. static final int PREFERRED_CDMA_SUBSCRIPTION = CDMA_SUBSC static final int PREFERRED_CDMA_SUBSCRIPTION = CDMA_SUBSC
  370.  
  371. static final int TTY_MODE_OFF = 0; static final int TTY_MODE_OFF = 0;
  372. static final int TTY_MODE_FULL = 1; static final int TTY_MODE_FULL = 1;
  373. static final int TTY_MODE_HCO = 2; static final int TTY_MODE_HCO = 2;
  374. static final int TTY_MODE_VCO = 3; static final int TTY_MODE_VCO = 3;
  375.  
  376. /** /**
  377. * CDMA OTA PROVISION STATUS, the same as RIL_CDMA_OTA_St * CDMA OTA PROVISION STATUS, the same as RIL_CDMA_OTA_St
  378. */ */
  379.  
  380. public static final int CDMA_OTA_PROVISION_STATUS_SPL_UNL public static final int CDMA_OTA_PROVISION_STATUS_SPL_UNL
  381. public static final int CDMA_OTA_PROVISION_STATUS_SPC_RET public static final int CDMA_OTA_PROVISION_STATUS_SPC_RET
  382. public static final int CDMA_OTA_PROVISION_STATUS_A_KEY_E public static final int CDMA_OTA_PROVISION_STATUS_A_KEY_E
  383. public static final int CDMA_OTA_PROVISION_STATUS_SSD_UPD public static final int CDMA_OTA_PROVISION_STATUS_SSD_UPD
  384. public static final int CDMA_OTA_PROVISION_STATUS_NAM_DOW public static final int CDMA_OTA_PROVISION_STATUS_NAM_DOW
  385. public static final int CDMA_OTA_PROVISION_STATUS_MDN_DOW public static final int CDMA_OTA_PROVISION_STATUS_MDN_DOW
  386. public static final int CDMA_OTA_PROVISION_STATUS_IMSI_DO public static final int CDMA_OTA_PROVISION_STATUS_IMSI_DO
  387. public static final int CDMA_OTA_PROVISION_STATUS_PRL_DOW public static final int CDMA_OTA_PROVISION_STATUS_PRL_DOW
  388. public static final int CDMA_OTA_PROVISION_STATUS_COMMITT public static final int CDMA_OTA_PROVISION_STATUS_COMMITT
  389. public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_S public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_S
  390. public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_S public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_S
  391. public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_A public static final int CDMA_OTA_PROVISION_STATUS_OTAPA_A
  392.  
  393. //MTK-START [mtk04070][111117][ALPS00093395]MTK added <
  394. /** <
  395. * SIM ID for GEMINI <
  396. */ <
  397. public static final int GEMINI_SIM_1 = 0; <
  398. public static final int GEMINI_SIM_2 = 1; <
  399. public static final int GEMINI_SIP_CALL = -1; //MTK added <
  400. public static final String GEMINI_SIM_ID_KEY = "simId"; <
  401. public static final String MULTI_SIM_ID_KEY = "simid"; <
  402. public static final String GEMINI_DEFAULT_SIM_PROP = "per <
  403. /** UNKNOWN, invalid value */ <
  404. public static final int SIM_INDICATOR_UNKNOWN = -1; <
  405. /** ABSENT, no SIM/USIM card inserted for this phone */ <
  406. public static final int SIM_INDICATOR_ABSENT = 0; <
  407. /** RADIOOFF, has SIM/USIM inserted but not in use . */ <
  408. public static final int SIM_INDICATOR_RADIOOFF = 1; <
  409. /** LOCKED, has SIM/USIM inserted and the SIM/USIM has b <
  410. public static final int SIM_INDICATOR_LOCKED = 2; <
  411. /** INVALID : has SIM/USIM inserted and not be locked <
  412. public static final int SIM_INDICATOR_INVALID = 3; <
  413. /** SEARCHING : has SIM/USIM inserted and SIM/USIM st <
  414. public static final int SIM_INDICATOR_SEARCHING = 4; <
  415. /** NORMAL = has SIM/USIM inserted and in normal serv <
  416. public static final int SIM_INDICATOR_NORMAL = 5; <
  417. /** ROAMING : has SIM/USIM inserted and in roaming servic <
  418. public static final int SIM_INDICATOR_ROAMING = 6; <
  419. /** CONNECTED : has SIM/USIM inserted and in normal s <
  420. public static final int SIM_INDICATOR_CONNECTED = 7; <
  421. /** ROAMINGCONNECTED = has SIM/USIM inserted and in r <
  422. public static final int SIM_INDICATOR_ROAMINGCONNECTED = <
  423. <
  424. public static final String GEMINI_DEFAULT_SIM_MODE = "per <
  425. <
  426. public static final String GEMINI_GPRS_TRANSFER_TYPE = "g <
  427. //MTK-END [mtk04070][111117][ALPS00093395]MTK added <
  428. <
  429. //via support start <
  430. //for uim status <
  431. static final int UIM_STATUS_NO_CARD_INSERTED = 0; <
  432. static final int UIM_STATUS_CARD_INSERTED = 1; <
  433. //via support end <
  434.  
  435. /** /**
  436. * Get the current ServiceState. Use * Get the current ServiceState. Use
  437. * <code>registerForServiceStateChanged</code> to be info * <code>registerForServiceStateChanged</code> to be info
  438. * updates. * updates.
  439. */ */
  440. ServiceState getServiceState(); ServiceState getServiceState();
  441.  
  442. /** /**
  443. * Get the current CellLocation. * Get the current CellLocation.
  444. */ */
  445. CellLocation getCellLocation(); CellLocation getCellLocation();
  446.  
  447. /** /**
  448. * Get the current for the default apn DataState. No chan * Get the current for the default apn DataState. No chan
  449. * exists at this interface -- use * exists at this interface -- use
  450. * {@link android.telephony.PhoneStateListener} instead. * {@link android.telephony.PhoneStateListener} instead.
  451. */ */
  452. DataState getDataConnectionState(); DataState getDataConnectionState();
  453.  
  454. /** /**
  455. * Get the current DataState. No change notification exis * Get the current DataState. No change notification exis
  456. * interface -- use * interface -- use
  457. * {@link android.telephony.PhoneStateListener} instead. * {@link android.telephony.PhoneStateListener} instead.
  458. * @param apnType specify for which apn to get connection * @param apnType specify for which apn to get connection
  459. */ */
  460. DataState getDataConnectionState(String apnType); DataState getDataConnectionState(String apnType);
  461.  
  462. /** /**
  463. * Get the current DataActivityState. No change notificat * Get the current DataActivityState. No change notificat
  464. * interface -- use * interface -- use
  465. * {@link android.telephony.TelephonyManager} instead. * {@link android.telephony.TelephonyManager} instead.
  466. */ */
  467. DataActivityState getDataActivityState(); DataActivityState getDataActivityState();
  468.  
  469. /** /**
  470. * Gets the context for the phone, as set at initializati * Gets the context for the phone, as set at initializati
  471. */ */
  472. Context getContext(); Context getContext();
  473.  
  474. /** /**
  475. * Disables the DNS check (i.e., allows "0.0.0.0"). * Disables the DNS check (i.e., allows "0.0.0.0").
  476. * Useful for lab testing environment. * Useful for lab testing environment.
  477. * @param b true disables the check, false enables. * @param b true disables the check, false enables.
  478. */ */
  479. void disableDnsCheck(boolean b); void disableDnsCheck(boolean b);
  480.  
  481. /** /**
  482. * Returns true if the DNS check is currently disabled. * Returns true if the DNS check is currently disabled.
  483. */ */
  484. boolean isDnsCheckDisabled(); boolean isDnsCheckDisabled();
  485.  
  486. /** /**
  487. * Get current coarse-grained voice call state. * Get current coarse-grained voice call state.
  488. * Use {@link #registerForPreciseCallStateChanged(Handler * Use {@link #registerForPreciseCallStateChanged(Handler
  489. * registerForPreciseCallStateChanged()} for change notif * registerForPreciseCallStateChanged()} for change notif
  490. * If the phone has an active call and call waiting occur * If the phone has an active call and call waiting occur
  491. * then the phone state is RINGING not OFFHOOK * then the phone state is RINGING not OFFHOOK
  492. * <strong>Note:</strong> * <strong>Note:</strong>
  493. * This registration point provides notification of finer * This registration point provides notification of finer
  494. * changes.<p> * changes.<p>
  495. * *
  496. * @return Return the current call state. <
  497. */ */
  498. State getState(); State getState();
  499.  
  500. /** /**
  501. * Returns a string identifier for this phone interface f * Returns a string identifier for this phone interface f
  502. * outside the phone app process. * outside the phone app process.
  503. * @return The string name. * @return The string name.
  504. */ */
  505. String getPhoneName(); String getPhoneName();
  506.  
  507. /** /**
  508. * Return a numerical identifier for the phone radio inte * Return a numerical identifier for the phone radio inte
  509. * @return PHONE_TYPE_XXX as defined above. * @return PHONE_TYPE_XXX as defined above.
  510. */ */
  511. int getPhoneType(); int getPhoneType();
  512.  
  513. /** /**
  514. * Returns an array of string identifiers for the APN typ * Returns an array of string identifiers for the APN typ
  515. * currently active. * currently active.
  516. * @return The string array will always return at least * @return The string array will always return at least
  517. * TODO: Revisit if we always should return at least one * TODO: Revisit if we always should return at least one
  518. */ */
  519. String[] getActiveApnTypes(); String[] getActiveApnTypes();
  520.  
  521. /** /**
  522. * Returns string for the active APN host. * Returns string for the active APN host.
  523. * @return type as a string or null if none. * @return type as a string or null if none.
  524. */ */
  525. String getActiveApnHost(String apnType); String getActiveApnHost(String apnType);
  526.  
  527. /** /**
  528. * Return the LinkProperties for the named apn or null if * Return the LinkProperties for the named apn or null if
  529. */ */
  530. LinkProperties getLinkProperties(String apnType); LinkProperties getLinkProperties(String apnType);
  531.  
  532. /** /**
  533. * Return the LinkCapabilities * Return the LinkCapabilities
  534. */ */
  535. LinkCapabilities getLinkCapabilities(String apnType); LinkCapabilities getLinkCapabilities(String apnType);
  536.  
  537. /** /**
  538. * Get current signal strength. No change notification av * Get current signal strength. No change notification av
  539. * interface. Use <code>PhoneStateNotifier</code> or an e * interface. Use <code>PhoneStateNotifier</code> or an e
  540. * An ASU is 0-31 or -1 if unknown (for GSM, dBm = -113 - * An ASU is 0-31 or -1 if unknown (for GSM, dBm = -113 -
  541. * The following special values are defined:</p> * The following special values are defined:</p>
  542. * <ul><li>0 means "-113 dBm or less".</li> * <ul><li>0 means "-113 dBm or less".</li>
  543. * <li>31 means "-51 dBm or greater".</li></ul> * <li>31 means "-51 dBm or greater".</li></ul>
  544. * *
  545. * @return Current signal strength as SignalStrength * @return Current signal strength as SignalStrength
  546. */ */
  547. SignalStrength getSignalStrength(); SignalStrength getSignalStrength();
  548.  
  549. /** /**
  550. * Notifies when a previously untracked non-ringing/waiti * Notifies when a previously untracked non-ringing/waiti
  551. * This is likely due to some other entity (eg, SIM card * This is likely due to some other entity (eg, SIM card
  552. */ */
  553. void registerForUnknownConnection(Handler h, int what, Ob void registerForUnknownConnection(Handler h, int what, Ob
  554.  
  555. /** /**
  556. * Unregisters for unknown connection notifications. * Unregisters for unknown connection notifications.
  557. */ */
  558. void unregisterForUnknownConnection(Handler h); void unregisterForUnknownConnection(Handler h);
  559.  
  560. /** /**
  561. * Register for getting notifications for change in the C * Register for getting notifications for change in the C
  562. * This is called PreciseCallState because the call state * This is called PreciseCallState because the call state
  563. * {@link Phone.State} which can be obtained using the {@ * {@link Phone.State} which can be obtained using the {@
  564. * *
  565. * Resulting events will have an AsyncResult in <code>Mes * Resulting events will have an AsyncResult in <code>Mes
  566. * AsyncResult.userData will be set to the obj argument h * AsyncResult.userData will be set to the obj argument h
  567. * The <em>h</em> parameter is held only by a weak refere * The <em>h</em> parameter is held only by a weak refere
  568. * <
  569. * @param h Handler object to receive call state chang <
  570. * @param what What code of message when delivered. <
  571. * @param obj Placed in Message.obj. <
  572. */ */
  573. void registerForPreciseCallStateChanged(Handler h, int wh void registerForPreciseCallStateChanged(Handler h, int wh
  574.  
  575. /** /**
  576. * Unregisters for voice call state change notifications. * Unregisters for voice call state change notifications.
  577. * Extraneous calls are tolerated silently. * Extraneous calls are tolerated silently.
  578. * <
  579. * @param h Handler to be removed from the registrant lis <
  580. */ */
  581. void unregisterForPreciseCallStateChanged(Handler h); void unregisterForPreciseCallStateChanged(Handler h);
  582.  
  583.  
  584. /** /**
  585. * Notifies when a new ringing or waiting connection has * Notifies when a new ringing or waiting connection has
  586. * *
  587. * Messages received from this: * Messages received from this:
  588. * Message.obj will be an AsyncResult * Message.obj will be an AsyncResult
  589. * AsyncResult.userObj = obj * AsyncResult.userObj = obj
  590. * AsyncResult.result = a Connection. <p> * AsyncResult.result = a Connection. <p>
  591. * Please check Connection.isRinging() to make sure the * Please check Connection.isRinging() to make sure the
  592. * has not dropped since this message was posted. * has not dropped since this message was posted.
  593. * If Connection.isRinging() is true, then * If Connection.isRinging() is true, then
  594. * Connection.getCall() == Phone.getRingingCall() * Connection.getCall() == Phone.getRingingCall()
  595. * <
  596. * @param h Handler object to receive call state chang <
  597. * @param what What code of message when delivered. <
  598. * @param obj Placed in Message.obj. <
  599. */ */
  600. void registerForNewRingingConnection(Handler h, int what, void registerForNewRingingConnection(Handler h, int what,
  601.  
  602. /** /**
  603. * Unregisters for new ringing connection notification. * Unregisters for new ringing connection notification.
  604. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  605. * <
  606. * @param h Handler to be removed from the registrant lis <
  607. */ */
  608.  
  609. void unregisterForNewRingingConnection(Handler h); void unregisterForNewRingingConnection(Handler h);
  610.  
  611. /** /**
  612. * Notifies when an incoming call rings.<p> * Notifies when an incoming call rings.<p>
  613. * *
  614. * Messages received from this: * Messages received from this:
  615. * Message.obj will be an AsyncResult * Message.obj will be an AsyncResult
  616. * AsyncResult.userObj = obj * AsyncResult.userObj = obj
  617. * AsyncResult.result = a Connection. <p> * AsyncResult.result = a Connection. <p>
  618. * <
  619. * @param h Handler object to receive call state chang <
  620. * @param what What code of message when delivered. <
  621. * @param obj Placed in Message.obj. <
  622. */ */
  623. void registerForIncomingRing(Handler h, int what, Object void registerForIncomingRing(Handler h, int what, Object
  624.  
  625. /** /**
  626. * Unregisters for ring notification. * Unregisters for ring notification.
  627. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  628. * <
  629. * @param h Handler to be removed from the registrant lis <
  630. */ */
  631.  
  632. void unregisterForIncomingRing(Handler h); void unregisterForIncomingRing(Handler h);
  633.  
  634. /** /**
  635. * Notifies when out-band ringback tone is needed.<p> * Notifies when out-band ringback tone is needed.<p>
  636. * *
  637. * Messages received from this: * Messages received from this:
  638. * Message.obj will be an AsyncResult * Message.obj will be an AsyncResult
  639. * AsyncResult.userObj = obj * AsyncResult.userObj = obj
  640. * AsyncResult.result = boolean, true to start play ring * AsyncResult.result = boolean, true to start play ring
  641. * and false to stop. <p> * and false to stop. <p>
  642. * <
  643. * @param h Handler object to receive call state chang <
  644. * @param what What code of message when delivered. <
  645. * @param obj Placed in Message.obj. <
  646. */ */
  647. void registerForRingbackTone(Handler h, int what, Object void registerForRingbackTone(Handler h, int what, Object
  648.  
  649. /** /**
  650. * Unregisters for ringback tone notification. * Unregisters for ringback tone notification.
  651. * <
  652. * @param h Handler to be removed from the registrant lis <
  653. */ */
  654.  
  655. void unregisterForRingbackTone(Handler h); void unregisterForRingbackTone(Handler h);
  656.  
  657. /** /**
  658. * Registers the handler to reset the uplink mute state t * Registers the handler to reset the uplink mute state t
  659. * uplink audio. * uplink audio.
  660. * <
  661. * @param h Handler object to receive call state chang <
  662. * @param what What code of message when delivered. <
  663. * @param obj Placed in Message.obj. <
  664. */ */
  665. void registerForResendIncallMute(Handler h, int what, Obj void registerForResendIncallMute(Handler h, int what, Obj
  666.  
  667. /** /**
  668. * Unregisters for resend incall mute notifications. * Unregisters for resend incall mute notifications.
  669. * <
  670. * @param h Handler to be removed from the registrant lis <
  671. */ */
  672. void unregisterForResendIncallMute(Handler h); void unregisterForResendIncallMute(Handler h);
  673.  
  674. /** /**
  675. * Notifies when a voice connection has disconnected, eit * Notifies when a voice connection has disconnected, eit
  676. * or remote hangup or error. * or remote hangup or error.
  677. * *
  678. * Messages received from this will have the following m * Messages received from this will have the following m
  679. * <ul><li>Message.obj will be an AsyncResult</li> * <ul><li>Message.obj will be an AsyncResult</li>
  680. * <li>AsyncResult.userObj = obj</li> * <li>AsyncResult.userObj = obj</li>
  681. * <li>AsyncResult.result = a Connection object that is * <li>AsyncResult.result = a Connection object that is
  682. * no longer connected.</li></ul> * no longer connected.</li></ul>
  683. * <
  684. * @param h Handler object to receive call state chang <
  685. * @param what What code of message when delivered. <
  686. * @param obj Placed in Message.obj. <
  687. */ */
  688. void registerForDisconnect(Handler h, int what, Object ob void registerForDisconnect(Handler h, int what, Object ob
  689.  
  690. /** /**
  691. * Unregisters for voice disconnection notification. * Unregisters for voice disconnection notification.
  692. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  693. * <
  694. * @param h Handler to be removed from the registrant lis <
  695. */ */
  696. void unregisterForDisconnect(Handler h); void unregisterForDisconnect(Handler h);
  697.  
  698.  
  699. /** /**
  700. * Register for notifications of initiation of a new MMI * Register for notifications of initiation of a new MMI
  701. * MMI codes for GSM are discussed in 3GPP TS 22.030.<p> * MMI codes for GSM are discussed in 3GPP TS 22.030.<p>
  702. * *
  703. * Example: If Phone.dial is called with "*#31#", then th * Example: If Phone.dial is called with "*#31#", then th
  704. * be notified here.<p> * be notified here.<p>
  705. * *
  706. * The returned <code>Message.obj</code> will contain an * The returned <code>Message.obj</code> will contain an
  707. * *
  708. * <code>obj.result</code> will be an "MmiCode" object. * <code>obj.result</code> will be an "MmiCode" object.
  709. * <
  710. * @param h Handler object to receive call state chang <
  711. * @param what What code of message when delivered. <
  712. * @param obj Placed in Message.obj. <
  713. */ */
  714. void registerForMmiInitiate(Handler h, int what, Object o void registerForMmiInitiate(Handler h, int what, Object o
  715.  
  716. /** /**
  717. * Unregisters for new MMI initiate notification. * Unregisters for new MMI initiate notification.
  718. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  719. * <
  720. * @param h Handler to be removed from the registrant lis <
  721. */ */
  722. void unregisterForMmiInitiate(Handler h); void unregisterForMmiInitiate(Handler h);
  723.  
  724. /** /**
  725. * Register for notifications that an MMI request has com * Register for notifications that an MMI request has com
  726. * its network activity and is in its final state. This m * its network activity and is in its final state. This m
  727. * of COMPLETE, FAILED, or CANCELLED. * of COMPLETE, FAILED, or CANCELLED.
  728. * *
  729. * <code>Message.obj</code> will contain an AsyncResult. * <code>Message.obj</code> will contain an AsyncResult.
  730. * <code>obj.result</code> will be an "MmiCode" object * <code>obj.result</code> will be an "MmiCode" object
  731. * <
  732. * @param h Handler object to receive call state chang <
  733. * @param what What code of message when delivered. <
  734. * @param obj Placed in Message.obj. <
  735. */ */
  736. void registerForMmiComplete(Handler h, int what, Object o void registerForMmiComplete(Handler h, int what, Object o
  737.  
  738. /** /**
  739. * Unregisters for MMI complete notification. * Unregisters for MMI complete notification.
  740. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  741. * <
  742. * @param h Handler to be removed from the registrant lis <
  743. */ */
  744. void unregisterForMmiComplete(Handler h); void unregisterForMmiComplete(Handler h);
  745.  
  746. /** /**
  747. * Registration point for Ecm timer reset * Registration point for Ecm timer reset
  748. * @param h handler to notify * @param h handler to notify
  749. * @param what user-defined message code * @param what user-defined message code
  750. * @param obj placed in Message.obj * @param obj placed in Message.obj
  751. */ */
  752. public void registerForEcmTimerReset(Handler h, int what, public void registerForEcmTimerReset(Handler h, int what,
  753.  
  754. /** /**
  755. * Unregister for notification for Ecm timer reset * Unregister for notification for Ecm timer reset
  756. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  757. */ */
  758. public void unregisterForEcmTimerReset(Handler h); public void unregisterForEcmTimerReset(Handler h);
  759.  
  760. /** /**
  761. * Returns a list of MMI codes that are pending. (They ha * Returns a list of MMI codes that are pending. (They ha
  762. * but have not yet completed). * but have not yet completed).
  763. * Presently there is only ever one. * Presently there is only ever one.
  764. * Use <code>registerForMmiInitiate</code> * Use <code>registerForMmiInitiate</code>
  765. * and <code>registerForMmiComplete</code> for change not * and <code>registerForMmiComplete</code> for change not
  766. * <
  767. * @return Return a list of pended MMI codes <
  768. */ */
  769. public List<? extends MmiCode> getPendingMmiCodes(); public List<? extends MmiCode> getPendingMmiCodes();
  770.  
  771. /** /**
  772. * Sends user response to a USSD REQUEST message. An Mmi * Sends user response to a USSD REQUEST message. An Mmi
  773. * representing this response is sent to handlers registe * representing this response is sent to handlers registe
  774. * registerForMmiInitiate. * registerForMmiInitiate.
  775. * *
  776. * @param ussdMessge Message to send in the response. * @param ussdMessge Message to send in the response.
  777. */ */
  778. public void sendUssdResponse(String ussdMessge); public void sendUssdResponse(String ussdMessge);
  779.  
  780. /** /**
  781. * Register for ServiceState changed. * Register for ServiceState changed.
  782. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  783. * AsyncResult.result will be a ServiceState instance * AsyncResult.result will be a ServiceState instance
  784. */ */
  785. void registerForServiceStateChanged(Handler h, int what, void registerForServiceStateChanged(Handler h, int what,
  786.  
  787. /** /**
  788. * Unregisters for ServiceStateChange notification. * Unregisters for ServiceStateChange notification.
  789. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  790. */ */
  791. void unregisterForServiceStateChanged(Handler h); void unregisterForServiceStateChanged(Handler h);
  792.  
  793. /** /**
  794. * Register for Supplementary Service notifications from * Register for Supplementary Service notifications from
  795. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  796. * AsyncResult.result will be a SuppServiceNotification i * AsyncResult.result will be a SuppServiceNotification i
  797. * *
  798. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  799. * @param what User-defined message code. * @param what User-defined message code.
  800. * @param obj User object. * @param obj User object.
  801. */ */
  802. void registerForSuppServiceNotification(Handler h, int wh void registerForSuppServiceNotification(Handler h, int wh
  803.  
  804. /** /**
  805. * Unregisters for Supplementary Service notifications. * Unregisters for Supplementary Service notifications.
  806. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  807. * *
  808. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  809. */ */
  810. void unregisterForSuppServiceNotification(Handler h); void unregisterForSuppServiceNotification(Handler h);
  811.  
  812. /** /**
  813. * Register for notifications when a supplementary servic * Register for notifications when a supplementary servic
  814. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  815. * *
  816. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  817. * @param what User-defined message code. * @param what User-defined message code.
  818. * @param obj User object. * @param obj User object.
  819. */ */
  820. void registerForSuppServiceFailed(Handler h, int what, Ob void registerForSuppServiceFailed(Handler h, int what, Ob
  821.  
  822. /** /**
  823. * Unregister for notifications when a supplementary serv * Unregister for notifications when a supplementary serv
  824. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  825. * *
  826. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  827. */ */
  828. void unregisterForSuppServiceFailed(Handler h); void unregisterForSuppServiceFailed(Handler h);
  829.  
  830. /** /**
  831. * Register for notifications when a sInCall VoicePrivacy * Register for notifications when a sInCall VoicePrivacy
  832. * *
  833. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  834. * @param what User-defined message code. * @param what User-defined message code.
  835. * @param obj User object. * @param obj User object.
  836. */ */
  837. void registerForInCallVoicePrivacyOn(Handler h, int what, void registerForInCallVoicePrivacyOn(Handler h, int what,
  838.  
  839. /** /**
  840. * Unegister for notifications when a sInCall VoicePrivac * Unegister for notifications when a sInCall VoicePrivac
  841. * *
  842. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  843. */ */
  844. void unregisterForInCallVoicePrivacyOn(Handler h); void unregisterForInCallVoicePrivacyOn(Handler h);
  845.  
  846. /** /**
  847. * Register for notifications when a sInCall VoicePrivacy * Register for notifications when a sInCall VoicePrivacy
  848. * *
  849. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  850. * @param what User-defined message code. * @param what User-defined message code.
  851. * @param obj User object. * @param obj User object.
  852. */ */
  853. void registerForInCallVoicePrivacyOff(Handler h, int what void registerForInCallVoicePrivacyOff(Handler h, int what
  854.  
  855. /** /**
  856. * Unegister for notifications when a sInCall VoicePrivac * Unegister for notifications when a sInCall VoicePrivac
  857. * *
  858. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  859. */ */
  860. void unregisterForInCallVoicePrivacyOff(Handler h); void unregisterForInCallVoicePrivacyOff(Handler h);
  861.  
  862. /** /**
  863. * Register for notifications when CDMA OTA Provision sta * Register for notifications when CDMA OTA Provision sta
  864. * *
  865. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  866. * @param what User-defined message code. * @param what User-defined message code.
  867. * @param obj User object. * @param obj User object.
  868. */ */
  869. void registerForCdmaOtaStatusChange(Handler h, int what, void registerForCdmaOtaStatusChange(Handler h, int what,
  870.  
  871. /** /**
  872. * Unegister for notifications when CDMA OTA Provision st * Unegister for notifications when CDMA OTA Provision st
  873. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  874. */ */
  875. void unregisterForCdmaOtaStatusChange(Handler h); void unregisterForCdmaOtaStatusChange(Handler h);
  876.  
  877. /** /**
  878. * Registration point for subscription info ready * Registration point for subscription info ready
  879. * @param h handler to notify * @param h handler to notify
  880. * @param what what code of message when delivered * @param what what code of message when delivered
  881. * @param obj placed in Message.obj * @param obj placed in Message.obj
  882. */ */
  883. public void registerForSubscriptionInfoReady(Handler h, i public void registerForSubscriptionInfoReady(Handler h, i
  884.  
  885. /** /**
  886. * Unregister for notifications for subscription info * Unregister for notifications for subscription info
  887. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  888. */ */
  889. public void unregisterForSubscriptionInfoReady(Handler h) public void unregisterForSubscriptionInfoReady(Handler h)
  890.  
  891. /** /**
  892. * Returns SIM record load state. Use * Returns SIM record load state. Use
  893. * <code>getSimCard().registerForReady()</code> for chang * <code>getSimCard().registerForReady()</code> for chang
  894. * *
  895. * @return true if records from the SIM have been loaded * @return true if records from the SIM have been loaded
  896. * available (if applicable). If not applicable to the un * available (if applicable). If not applicable to the un
  897. * technology, returns true as well. * technology, returns true as well.
  898. */ */
  899. boolean getIccRecordsLoaded(); boolean getIccRecordsLoaded();
  900.  
  901. /** /**
  902. * Returns the ICC card interface for this phone, or null * Returns the ICC card interface for this phone, or null
  903. * if not applicable to underlying technology. * if not applicable to underlying technology.
  904. */ */
  905. IccCard getIccCard(); IccCard getIccCard();
  906.  
  907. /** /**
  908. * Answers a ringing or waiting call. Active calls, if an * Answers a ringing or waiting call. Active calls, if an
  909. * Answering occurs asynchronously, and final notificatio * Answering occurs asynchronously, and final notificatio
  910. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  911. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  912. * *
  913. * @exception CallStateException when no call is ringing * @exception CallStateException when no call is ringing
  914. */ */
  915. void acceptCall() throws CallStateException; void acceptCall() throws CallStateException;
  916.  
  917. /** /**
  918. * Reject (ignore) a ringing call. In GSM, this means UDU * Reject (ignore) a ringing call. In GSM, this means UDU
  919. * (User Determined User Busy). Reject occurs asynchronou * (User Determined User Busy). Reject occurs asynchronou
  920. * and final notification occurs via * and final notification occurs via
  921. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  922. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  923. * *
  924. * @exception CallStateException when no call is ringing * @exception CallStateException when no call is ringing
  925. */ */
  926. void rejectCall() throws CallStateException; void rejectCall() throws CallStateException;
  927.  
  928. /** /**
  929. * Places any active calls on hold, and makes any held ca * Places any active calls on hold, and makes any held ca
  930. * active. Switch occurs asynchronously and may fail. * active. Switch occurs asynchronously and may fail.
  931. * Final notification occurs via * Final notification occurs via
  932. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  933. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  934. * *
  935. * @exception CallStateException if a call is ringing, wa * @exception CallStateException if a call is ringing, wa
  936. * dialing/alerting. In these cases, this operation may n * dialing/alerting. In these cases, this operation may n
  937. */ */
  938. void switchHoldingAndActive() throws CallStateException; void switchHoldingAndActive() throws CallStateException;
  939.  
  940. /** /**
  941. * Whether or not the phone can conference in the current * Whether or not the phone can conference in the current
  942. * state--that is, one call holding and one call active. * state--that is, one call holding and one call active.
  943. * @return true if the phone can conference; false otherw * @return true if the phone can conference; false otherw
  944. */ */
  945. boolean canConference(); boolean canConference();
  946.  
  947. /** /**
  948. * Conferences holding and active. Conference occurs asyn * Conferences holding and active. Conference occurs asyn
  949. * and may fail. Final notification occurs via * and may fail. Final notification occurs via
  950. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  951. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  952. * *
  953. * @exception CallStateException if canConference() would * @exception CallStateException if canConference() would
  954. * In these cases, this operation may not be performed. * In these cases, this operation may not be performed.
  955. */ */
  956. void conference() throws CallStateException; void conference() throws CallStateException;
  957.  
  958. /** /**
  959. * Enable or disable enhanced Voice Privacy (VP). If enha * Enable or disable enhanced Voice Privacy (VP). If enha
  960. * disabled, normal VP is enabled. * disabled, normal VP is enabled.
  961. * *
  962. * @param enable whether true or false to enable or disab * @param enable whether true or false to enable or disab
  963. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  964. */ */
  965. void enableEnhancedVoicePrivacy(boolean enable, Message o void enableEnhancedVoicePrivacy(boolean enable, Message o
  966.  
  967. /** /**
  968. * Get the currently set Voice Privacy (VP) mode. * Get the currently set Voice Privacy (VP) mode.
  969. * *
  970. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  971. */ */
  972. void getEnhancedVoicePrivacy(Message onComplete); void getEnhancedVoicePrivacy(Message onComplete);
  973.  
  974. /** /**
  975. * Whether or not the phone can do explicit call transfer * Whether or not the phone can do explicit call transfer
  976. * phone state--that is, one call holding and one call ac * phone state--that is, one call holding and one call ac
  977. * @return true if the phone can do explicit call transfe * @return true if the phone can do explicit call transfe
  978. */ */
  979. boolean canTransfer(); boolean canTransfer();
  980.  
  981. /** /**
  982. * Connects the two calls and disconnects the subscriber * Connects the two calls and disconnects the subscriber
  983. * Explicit Call Transfer occurs asynchronously * Explicit Call Transfer occurs asynchronously
  984. * and may fail. Final notification occurs via * and may fail. Final notification occurs via
  985. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  986. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  987. * *
  988. * @exception CallStateException if canTransfer() would r * @exception CallStateException if canTransfer() would r
  989. * In these cases, this operation may not be performed. * In these cases, this operation may not be performed.
  990. */ */
  991. void explicitCallTransfer() throws CallStateException; void explicitCallTransfer() throws CallStateException;
  992.  
  993. /** /**
  994. * Clears all DISCONNECTED connections from Call connecti * Clears all DISCONNECTED connections from Call connecti
  995. * Calls that were in the DISCONNECTED state become idle. * Calls that were in the DISCONNECTED state become idle.
  996. * synchronously. * synchronously.
  997. */ */
  998. void clearDisconnected(); void clearDisconnected();
  999.  
  1000.  
  1001. /** /**
  1002. * Gets the foreground call object, which represents all * Gets the foreground call object, which represents all
  1003. * are dialing or active (all connections * are dialing or active (all connections
  1004. * that have their audio path connected).<p> * that have their audio path connected).<p>
  1005. * *
  1006. * The foreground call is a singleton object. It is const * The foreground call is a singleton object. It is const
  1007. * of this phone. It is never null.<p> * of this phone. It is never null.<p>
  1008. * *
  1009. * The foreground call will only ever be in one of these * The foreground call will only ever be in one of these
  1010. * IDLE, ACTIVE, DIALING, ALERTING, or DISCONNECTED. * IDLE, ACTIVE, DIALING, ALERTING, or DISCONNECTED.
  1011. * *
  1012. * State change notification is available via * State change notification is available via
  1013. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  1014. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  1015. * <
  1016. * @return Return foreground call object. <
  1017. */ */
  1018. Call getForegroundCall(); Call getForegroundCall();
  1019.  
  1020. /** /**
  1021. * Gets the background call object, which represents all * Gets the background call object, which represents all
  1022. * are holding (all connections that have been accepted o * are holding (all connections that have been accepted o
  1023. * do not have their audio path connected). <p> * do not have their audio path connected). <p>
  1024. * *
  1025. * The background call is a singleton object. It is const * The background call is a singleton object. It is const
  1026. * of this phone object . It is never null.<p> * of this phone object . It is never null.<p>
  1027. * *
  1028. * The background call will only ever be in one of these * The background call will only ever be in one of these
  1029. * IDLE, HOLDING or DISCONNECTED. * IDLE, HOLDING or DISCONNECTED.
  1030. * *
  1031. * State change notification is available via * State change notification is available via
  1032. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  1033. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  1034. * <
  1035. * @return Return background call object. <
  1036. */ */
  1037. Call getBackgroundCall(); Call getBackgroundCall();
  1038.  
  1039. /** /**
  1040. * Gets the ringing call object, which represents an inco * Gets the ringing call object, which represents an inco
  1041. * connection (if present) that is pending answer/accept. * connection (if present) that is pending answer/accept.
  1042. * may be RINGING or WAITING, and there may be only one.) * may be RINGING or WAITING, and there may be only one.)
  1043.  
  1044. * The ringing call is a singleton object. It is constant * The ringing call is a singleton object. It is constant
  1045. * of this phone. It is never null.<p> * of this phone. It is never null.<p>
  1046. * *
  1047. * The ringing call will only ever be in one of these sta * The ringing call will only ever be in one of these sta
  1048. * IDLE, INCOMING, WAITING or DISCONNECTED. * IDLE, INCOMING, WAITING or DISCONNECTED.
  1049. * *
  1050. * State change notification is available via * State change notification is available via
  1051. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  1052. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  1053. * <
  1054. * @return Return ringing call object. <
  1055. */ */
  1056. Call getRingingCall(); Call getRingingCall();
  1057.  
  1058. /** /**
  1059. * Initiate a new voice connection. This happens asynchro * Initiate a new voice connection. This happens asynchro
  1060. * cannot assume the audio path is connected (or a call i * cannot assume the audio path is connected (or a call i
  1061. * assigned) until PhoneStateChanged notification has occ * assigned) until PhoneStateChanged notification has occ
  1062. * *
  1063. * @exception CallStateException if a new outgoing call i * @exception CallStateException if a new outgoing call i
  1064. * possible because no more call slots exist or a call ex * possible because no more call slots exist or a call ex
  1065. * dialing, alerting, ringing, or waiting. Other errors * dialing, alerting, ringing, or waiting. Other errors
  1066. * handled asynchronously. * handled asynchronously.
  1067. * <
  1068. * @param dialString Phone number to be dialed out. <
  1069. * <
  1070. * @return Return connection object when the call is dial <
  1071. */ */
  1072. Connection dial(String dialString) throws CallStateExcept Connection dial(String dialString) throws CallStateExcept
  1073.  
  1074. /** /**
  1075. * Initiate a new voice connection with supplementary Use * Initiate a new voice connection with supplementary Use
  1076. * Information. This happens asynchronously, so you canno * Information. This happens asynchronously, so you canno
  1077. * path is connected (or a call index has been assigned) * path is connected (or a call index has been assigned)
  1078. * PhoneStateChanged notification has occurred. * PhoneStateChanged notification has occurred.
  1079. * *
  1080. * @exception CallStateException if a new outgoing call i * @exception CallStateException if a new outgoing call i
  1081. * possible because no more call slots exi * possible because no more call slots exi
  1082. * that is dialing, alerting, ringing, or * that is dialing, alerting, ringing, or
  1083. * errors are handled asynchronously. * errors are handled asynchronously.
  1084. * <
  1085. * @param dialString Phone number to be dialed out. <
  1086. * @param uusInfo User to user information. <
  1087. * <
  1088. * @return Return connection object when the call is dial <
  1089. */ */
  1090. Connection dial(String dialString, UUSInfo uusInfo) throw Connection dial(String dialString, UUSInfo uusInfo) throw
  1091.  
  1092. /** /**
  1093. * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which ar * Handles PIN MMI commands (PIN/PIN2/PUK/PUK2), which ar
  1094. * without SEND (so <code>dial</code> is not appropriate) * without SEND (so <code>dial</code> is not appropriate)
  1095. * *
  1096. * @param dialString the MMI command to be executed. * @param dialString the MMI command to be executed.
  1097. * @return true if MMI command is executed. * @return true if MMI command is executed.
  1098. */ */
  1099. boolean handlePinMmi(String dialString); boolean handlePinMmi(String dialString);
  1100.  
  1101. /** /**
  1102. * Handles in-call MMI commands. While in a call, or whil * Handles in-call MMI commands. While in a call, or whil
  1103. * call, use this to execute MMI commands. * call, use this to execute MMI commands.
  1104. * see 3GPP 20.030, section 6.5.5.1 for specs on the allo * see 3GPP 20.030, section 6.5.5.1 for specs on the allo
  1105. * *
  1106. * @param command the MMI command to be executed. * @param command the MMI command to be executed.
  1107. * @return true if the MMI command is executed. * @return true if the MMI command is executed.
  1108. * @throws CallStateException * @throws CallStateException
  1109. */ */
  1110. boolean handleInCallMmiCommands(String command) throws Ca boolean handleInCallMmiCommands(String command) throws Ca
  1111.  
  1112. /** /**
  1113. * Play a DTMF tone on the active call. Ignored if there * Play a DTMF tone on the active call. Ignored if there
  1114. * @param c should be one of 0-9, '*' or '#'. Other value * @param c should be one of 0-9, '*' or '#'. Other value
  1115. * silently ignored. * silently ignored.
  1116. */ */
  1117. void sendDtmf(char c); void sendDtmf(char c);
  1118.  
  1119. /** /**
  1120. * Start to paly a DTMF tone on the active call. Ignored * Start to paly a DTMF tone on the active call. Ignored
  1121. * or there is a playing DTMF tone. * or there is a playing DTMF tone.
  1122. * @param c should be one of 0-9, '*' or '#'. Other value * @param c should be one of 0-9, '*' or '#'. Other value
  1123. * silently ignored. * silently ignored.
  1124. */ */
  1125. void startDtmf(char c); void startDtmf(char c);
  1126.  
  1127. /** /**
  1128. * Stop the playing DTMF tone. Ignored if there is no pla * Stop the playing DTMF tone. Ignored if there is no pla
  1129. * tone or no active call. * tone or no active call.
  1130. */ */
  1131. void stopDtmf(); void stopDtmf();
  1132.  
  1133. /** /**
  1134. * send burst DTMF tone, it can send the string as single * send burst DTMF tone, it can send the string as single
  1135. * ignore if there is no active call or not valid digits * ignore if there is no active call or not valid digits
  1136. * Valid digit means only includes characters ISO-LATIN c * Valid digit means only includes characters ISO-LATIN c
  1137. * The difference between sendDtmf and sendBurstDtmf is s * The difference between sendDtmf and sendBurstDtmf is s
  1138. * this api can send single character and multiple charac * this api can send single character and multiple charac
  1139. * back to caller. * back to caller.
  1140. * *
  1141. * @param dtmfString is string representing the dialing d * @param dtmfString is string representing the dialing d
  1142. * @param on the DTMF ON length in milliseconds, or 0 for * @param on the DTMF ON length in milliseconds, or 0 for
  1143. * @param off the DTMF OFF length in milliseconds, or 0 f * @param off the DTMF OFF length in milliseconds, or 0 f
  1144. * @param onComplete is the callback message when the act * @param onComplete is the callback message when the act
  1145. * *
  1146. */ */
  1147. void sendBurstDtmf(String dtmfString, int on, int off, Me void sendBurstDtmf(String dtmfString, int on, int off, Me
  1148.  
  1149. /** /**
  1150. * Sets the radio power on/off state (off is sometimes * Sets the radio power on/off state (off is sometimes
  1151. * called "airplane mode"). Current state can be gotten v * called "airplane mode"). Current state can be gotten v
  1152. * {@link #getServiceState()}.{@link * {@link #getServiceState()}.{@link
  1153. * android.telephony.ServiceState#getState() getState()}. * android.telephony.ServiceState#getState() getState()}.
  1154. * <strong>Note: </strong>This request is asynchronous. * <strong>Note: </strong>This request is asynchronous.
  1155. * getServiceState().getState() will not change immediate * getServiceState().getState() will not change immediate
  1156. * registerForServiceStateChanged() to find out when the * registerForServiceStateChanged() to find out when the
  1157. * request is complete. * request is complete.
  1158. * *
  1159. * @param power true means "on", false means "off". * @param power true means "on", false means "off".
  1160. */ */
  1161. void setRadioPower(boolean power); void setRadioPower(boolean power);
  1162. //MTK-START [mtk80601][111212][ALPS00093395]IPO feature <
  1163. /** <
  1164. * Sets the radio power on after power off for reset. <
  1165. */ <
  1166. void setRadioPowerOn(); <
  1167. //MTK-END [mtk80601][111212][ALPS00093395]IPO feature <
  1168.  
  1169. /** /**
  1170. * Get voice message waiting indicator status. No change * Get voice message waiting indicator status. No change
  1171. * available on this interface. Use PhoneStateNotifier or * available on this interface. Use PhoneStateNotifier or
  1172. * *
  1173. * @return true if there is a voice message waiting * @return true if there is a voice message waiting
  1174. */ */
  1175. boolean getMessageWaitingIndicator(); boolean getMessageWaitingIndicator();
  1176.  
  1177. /** /**
  1178. * Get voice call forwarding indicator status. No change * Get voice call forwarding indicator status. No change
  1179. * available on this interface. Use PhoneStateNotifier or * available on this interface. Use PhoneStateNotifier or
  1180. * *
  1181. * @return true if there is a voice call forwarding * @return true if there is a voice call forwarding
  1182. */ */
  1183. boolean getCallForwardingIndicator(); boolean getCallForwardingIndicator();
  1184.  
  1185. /** /**
  1186. * Get the line 1 phone number (MSISDN). For CDMA phones, * Get the line 1 phone number (MSISDN). For CDMA phones,
  1187. * and {@link #getMsisdn()} will return the MSISDN on CDM * and {@link #getMsisdn()} will return the MSISDN on CDM
  1188. * *
  1189. * @return phone number. May return null if not * @return phone number. May return null if not
  1190. * available or the SIM is not ready * available or the SIM is not ready
  1191. */ */
  1192. String getLine1Number(); String getLine1Number();
  1193.  
  1194. /** /**
  1195. * Returns the alpha tag associated with the msisdn numbe * Returns the alpha tag associated with the msisdn numbe
  1196. * If there is no alpha tag associated or the record is n * If there is no alpha tag associated or the record is n
  1197. * returns a default localized string. <p> * returns a default localized string. <p>
  1198. */ */
  1199. String getLine1AlphaTag(); String getLine1AlphaTag();
  1200.  
  1201. /** /**
  1202. * Sets the MSISDN phone number in the SIM card. * Sets the MSISDN phone number in the SIM card.
  1203. * *
  1204. * @param alphaTag the alpha tag associated with the MSIS * @param alphaTag the alpha tag associated with the MSIS
  1205. * (see getMsisdnAlphaTag) * (see getMsisdnAlphaTag)
  1206. * @param number the new MSISDN phone number to be set on * @param number the new MSISDN phone number to be set on
  1207. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1208. */ */
  1209. void setLine1Number(String alphaTag, String number, Messa void setLine1Number(String alphaTag, String number, Messa
  1210.  
  1211. /** /**
  1212. * Get the voice mail access phone number. Typically dial * Get the voice mail access phone number. Typically dial
  1213. * user holds the "1" key in the phone app. May return nu * user holds the "1" key in the phone app. May return nu
  1214. * available or the SIM is not ready.<p> * available or the SIM is not ready.<p>
  1215. * <
  1216. * @return Return voice mail number or return null if the <
  1217. */ */
  1218. String getVoiceMailNumber(); String getVoiceMailNumber();
  1219.  
  1220. /** /**
  1221. * Returns unread voicemail count. This count is shown wh * Returns unread voicemail count. This count is shown wh
  1222. * notification is expanded.<p> * notification is expanded.<p>
  1223. */ */
  1224. int getVoiceMessageCount(); int getVoiceMessageCount();
  1225.  
  1226. /** /**
  1227. * Returns the alpha tag associated with the voice mail n * Returns the alpha tag associated with the voice mail n
  1228. * If there is no alpha tag associated or the record is n * If there is no alpha tag associated or the record is n
  1229. * returns a default localized string. <p> * returns a default localized string. <p>
  1230. * *
  1231. * Please use this value instead of some other localized * Please use this value instead of some other localized
  1232. * showing a name for this number in the UI. For example, * showing a name for this number in the UI. For example,
  1233. * entries should show this alpha tag. <p> * entries should show this alpha tag. <p>
  1234. * *
  1235. * Usage of this alpha tag in the UI is a common carrier * Usage of this alpha tag in the UI is a common carrier
  1236. */ */
  1237. String getVoiceMailAlphaTag(); String getVoiceMailAlphaTag();
  1238.  
  1239. /** /**
  1240. * setVoiceMailNumber * setVoiceMailNumber
  1241. * sets the voicemail number in the SIM card. * sets the voicemail number in the SIM card.
  1242. * *
  1243. * @param alphaTag the alpha tag associated with the voic * @param alphaTag the alpha tag associated with the voic
  1244. * (see getVoiceMailAlphaTag) * (see getVoiceMailAlphaTag)
  1245. * @param voiceMailNumber the new voicemail number to be * @param voiceMailNumber the new voicemail number to be
  1246. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1247. */ */
  1248. void setVoiceMailNumber(String alphaTag, void setVoiceMailNumber(String alphaTag,
  1249. String voiceMailNumber, String voiceMailNumber,
  1250. Message onComplete); Message onComplete);
  1251.  
  1252. /** /**
  1253. * getCallForwardingOptions * getCallForwardingOptions
  1254. * gets a call forwarding option. The return value of * gets a call forwarding option. The return value of
  1255. * ((AsyncResult)onComplete.obj) is an array of CallForwa * ((AsyncResult)onComplete.obj) is an array of CallForwa
  1256. * *
  1257. * @param commandInterfaceCFReason is one of the valid ca * @param commandInterfaceCFReason is one of the valid ca
  1258. * CF_REASONS, as defined in * CF_REASONS, as defined in
  1259. * <code>com.android.internal.telephony.CommandsIn * <code>com.android.internal.telephony.CommandsIn
  1260. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1261. * @see com.android.internal.telephony.CallForward * @see com.android.internal.telephony.CallForward
  1262. */ */
  1263. void getCallForwardingOption(int commandInterfaceCFReason void getCallForwardingOption(int commandInterfaceCFReason
  1264. Message onComplete); Message onComplete);
  1265.  
  1266. /** /**
  1267. * setCallForwardingOptions * setCallForwardingOptions
  1268. * sets a call forwarding option. * sets a call forwarding option.
  1269. * *
  1270. * @param commandInterfaceCFReason is one of the valid ca * @param commandInterfaceCFReason is one of the valid ca
  1271. * CF_REASONS, as defined in * CF_REASONS, as defined in
  1272. * <code>com.android.internal.telephony.CommandsIn * <code>com.android.internal.telephony.CommandsIn
  1273. * @param commandInterfaceCFAction is one of the valid ca * @param commandInterfaceCFAction is one of the valid ca
  1274. * CF_ACTIONS, as defined in * CF_ACTIONS, as defined in
  1275. * <code>com.android.internal.telephony.CommandsIn * <code>com.android.internal.telephony.CommandsIn
  1276. * @param dialingNumber is the target phone number to for * @param dialingNumber is the target phone number to for
  1277. * @param timerSeconds is used by CFNRy to indicate the t * @param timerSeconds is used by CFNRy to indicate the t
  1278. * forwarding is attempted. * forwarding is attempted.
  1279. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1280. */ */
  1281. void setCallForwardingOption(int commandInterfaceCFReason void setCallForwardingOption(int commandInterfaceCFReason
  1282. int commandInterfaceCFAction int commandInterfaceCFAction
  1283. String dialingNumber, String dialingNumber,
  1284. int timerSeconds, int timerSeconds,
  1285. Message onComplete); Message onComplete);
  1286.  
  1287. /** /**
  1288. * getOutgoingCallerIdDisplay * getOutgoingCallerIdDisplay
  1289. * gets outgoing caller id display. The return value of * gets outgoing caller id display. The return value of
  1290. * ((AsyncResult)onComplete.obj) is an array of int, with * ((AsyncResult)onComplete.obj) is an array of int, with
  1291. * *
  1292. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1293. * @see com.android.internal.telephony.CommandsInt * @see com.android.internal.telephony.CommandsInt
  1294. */ */
  1295. void getOutgoingCallerIdDisplay(Message onComplete); void getOutgoingCallerIdDisplay(Message onComplete);
  1296.  
  1297. /** /**
  1298. * setOutgoingCallerIdDisplay * setOutgoingCallerIdDisplay
  1299. * sets a call forwarding option. * sets a call forwarding option.
  1300. * *
  1301. * @param commandInterfaceCLIRMode is one of the valid ca * @param commandInterfaceCLIRMode is one of the valid ca
  1302. * modes, as defined in * modes, as defined in
  1303. * <code>com.android.internal.telephony.CommandsIn * <code>com.android.internal.telephony.CommandsIn
  1304. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1305. */ */
  1306. void setOutgoingCallerIdDisplay(int commandInterfaceCLIRM void setOutgoingCallerIdDisplay(int commandInterfaceCLIRM
  1307. Message onComplete); Message onComplete);
  1308.  
  1309. /** /**
  1310. * getCallWaiting * getCallWaiting
  1311. * gets call waiting activation state. The return value o * gets call waiting activation state. The return value o
  1312. * ((AsyncResult)onComplete.obj) is an array of int, with * ((AsyncResult)onComplete.obj) is an array of int, with
  1313. * *
  1314. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1315. * @see com.android.internal.telephony.CommandsInt * @see com.android.internal.telephony.CommandsInt
  1316. */ */
  1317. void getCallWaiting(Message onComplete); void getCallWaiting(Message onComplete);
  1318.  
  1319. /** /**
  1320. * setCallWaiting * setCallWaiting
  1321. * sets a call forwarding option. * sets a call forwarding option.
  1322. * *
  1323. * @param enable is a boolean representing the state that * @param enable is a boolean representing the state that
  1324. * requesting, true for enabled, false for disable * requesting, true for enabled, false for disable
  1325. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1326. */ */
  1327. void setCallWaiting(boolean enable, Message onComplete); void setCallWaiting(boolean enable, Message onComplete);
  1328.  
  1329. /** /**
  1330. * Scan available networks. This method is asynchronous; * Scan available networks. This method is asynchronous;
  1331. * On completion, <code>response.obj</code> is set to an * On completion, <code>response.obj</code> is set to an
  1332. * one of the following members:.<p> * one of the following members:.<p>
  1333. *<ul> *<ul>
  1334. * <li><code>response.obj.result</code> will be a <code>L * <li><code>response.obj.result</code> will be a <code>L
  1335. * <code>OperatorInfo</code> objects, or</li> * <code>OperatorInfo</code> objects, or</li>
  1336. * <li><code>response.obj.exception</code> will be set wi * <li><code>response.obj.exception</code> will be set wi
  1337. * on failure.</li> * on failure.</li>
  1338. * </ul> * </ul>
  1339. */ */
  1340. void getAvailableNetworks(Message response); void getAvailableNetworks(Message response);
  1341.  
  1342. /** /**
  1343. * Switches network selection mode to "automatic", re-sca * Switches network selection mode to "automatic", re-sca
  1344. * re-selecting a network if appropriate. * re-selecting a network if appropriate.
  1345. * *
  1346. * @param response The message to dispatch when the netwo * @param response The message to dispatch when the netwo
  1347. * is complete. * is complete.
  1348. * *
  1349. * @see #selectNetworkManually(OperatorInfo, android.os.M * @see #selectNetworkManually(OperatorInfo, android.os.M
  1350. */ */
  1351. void setNetworkSelectionModeAutomatic(Message response); void setNetworkSelectionModeAutomatic(Message response);
  1352.  
  1353. /** /**
  1354. * Manually selects a network. <code>response</code> is * Manually selects a network. <code>response</code> is
  1355. * dispatched when this is complete. <code>response.obj< * dispatched when this is complete. <code>response.obj<
  1356. * an AsyncResult, and <code>response.obj.exception</code * an AsyncResult, and <code>response.obj.exception</code
  1357. * on failure. * on failure.
  1358. * *
  1359. * @see #setNetworkSelectionModeAutomatic(Message) * @see #setNetworkSelectionModeAutomatic(Message)
  1360. */ */
  1361. void selectNetworkManually(OperatorInfo network, void selectNetworkManually(OperatorInfo network,
  1362. Message response); Message response);
  1363.  
  1364. /** /**
  1365. * Requests to set the preferred network type for search * Requests to set the preferred network type for search
  1366. * (CS/PS domain, RAT, and operation mode) * (CS/PS domain, RAT, and operation mode)
  1367. * @param networkType one of NT_*_TYPE * @param networkType one of NT_*_TYPE
  1368. * @param response is callback message * @param response is callback message
  1369. */ */
  1370. void setPreferredNetworkType(int networkType, Message res void setPreferredNetworkType(int networkType, Message res
  1371.  
  1372. /** /**
  1373. * Query the preferred network type setting * Query the preferred network type setting
  1374. * *
  1375. * @param response is callback message to report one of * @param response is callback message to report one of
  1376. */ */
  1377. void getPreferredNetworkType(Message response); void getPreferredNetworkType(Message response);
  1378.  
  1379. /** /**
  1380. * Gets the default SMSC address. * Gets the default SMSC address.
  1381. * *
  1382. * @param result Callback message contains the SMSC addre * @param result Callback message contains the SMSC addre
  1383. */ */
  1384. void getSmscAddress(Message result); void getSmscAddress(Message result);
  1385.  
  1386. /** /**
  1387. * Sets the default SMSC address. * Sets the default SMSC address.
  1388. * *
  1389. * @param address new SMSC address * @param address new SMSC address
  1390. * @param result Callback message is empty on completion * @param result Callback message is empty on completion
  1391. */ */
  1392. void setSmscAddress(String address, Message result); void setSmscAddress(String address, Message result);
  1393.  
  1394. /** /**
  1395. * Query neighboring cell IDs. <code>response</code> is * Query neighboring cell IDs. <code>response</code> is
  1396. * this is complete. <code>response.obj</code> will be a * this is complete. <code>response.obj</code> will be a
  1397. * and <code>response.obj.exception</code> will be non-nu * and <code>response.obj.exception</code> will be non-nu
  1398. * On success, <code>AsyncResult.result</code> will be a * On success, <code>AsyncResult.result</code> will be a
  1399. * containing the neighboring cell IDs. Index 0 will con * containing the neighboring cell IDs. Index 0 will con
  1400. * of available cell IDs. Cell IDs are in hexadecimal fo * of available cell IDs. Cell IDs are in hexadecimal fo
  1401. * *
  1402. * @param response callback message that is dispatched wh * @param response callback message that is dispatched wh
  1403. * completes. * completes.
  1404. */ */
  1405. void getNeighboringCids(Message response); void getNeighboringCids(Message response);
  1406.  
  1407. /** /**
  1408. * Sets an event to be fired when the telephony system pr * Sets an event to be fired when the telephony system pr
  1409. * a post-dial character on an outgoing call.<p> * a post-dial character on an outgoing call.<p>
  1410. * *
  1411. * Messages of type <code>what</code> will be sent to <co * Messages of type <code>what</code> will be sent to <co
  1412. * The <code>obj</code> field of these Message's will be * The <code>obj</code> field of these Message's will be
  1413. * <code>AsyncResult</code>. <code>Message.obj.result</co * <code>AsyncResult</code>. <code>Message.obj.result</co
  1414. * a Connection object.<p> * a Connection object.<p>
  1415. * *
  1416. * Message.arg1 will be the post dial character being pro * Message.arg1 will be the post dial character being pro
  1417. * or 0 ('\0') if end of string.<p> * or 0 ('\0') if end of string.<p>
  1418. * *
  1419. * If Connection.getPostDialState() == WAIT, * If Connection.getPostDialState() == WAIT,
  1420. * the application must call * the application must call
  1421. * {@link com.android.internal.telephony.Connection#proce * {@link com.android.internal.telephony.Connection#proce
  1422. * Connection.proceedAfterWaitChar()} or * Connection.proceedAfterWaitChar()} or
  1423. * {@link com.android.internal.telephony.Connection#cance * {@link com.android.internal.telephony.Connection#cance
  1424. * Connection.cancelPostDial()} * Connection.cancelPostDial()}
  1425. * for the telephony system to continue playing the post- * for the telephony system to continue playing the post-
  1426. * DTMF sequence.<p> * DTMF sequence.<p>
  1427. * *
  1428. * If Connection.getPostDialState() == WILD, * If Connection.getPostDialState() == WILD,
  1429. * the application must call * the application must call
  1430. * {@link com.android.internal.telephony.Connection#proce * {@link com.android.internal.telephony.Connection#proce
  1431. * Connection.proceedAfterWildChar()} * Connection.proceedAfterWildChar()}
  1432. * or * or
  1433. * {@link com.android.internal.telephony.Connection#cance * {@link com.android.internal.telephony.Connection#cance
  1434. * Connection.cancelPostDial()} * Connection.cancelPostDial()}
  1435. * for the telephony system to continue playing the * for the telephony system to continue playing the
  1436. * post-dial DTMF sequence.<p> * post-dial DTMF sequence.<p>
  1437. * *
  1438. * Only one post dial character handler may be set. <p> * Only one post dial character handler may be set. <p>
  1439. * Calling this method with "h" equal to null unsets this * Calling this method with "h" equal to null unsets this
  1440. * <
  1441. * @param h Handler that receives the notification messag <
  1442. * @param what User-defined message code. <
  1443. * @param obj User object. <
  1444. */ */
  1445. void setOnPostDialCharacter(Handler h, int what, Object o void setOnPostDialCharacter(Handler h, int what, Object o
  1446.  
  1447.  
  1448. /** /**
  1449. * Mutes or unmutes the microphone for the active call. T * Mutes or unmutes the microphone for the active call. T
  1450. * is automatically unmuted if a call is answered, dialed * is automatically unmuted if a call is answered, dialed
  1451. * from a holding state. * from a holding state.
  1452. * *
  1453. * @param muted true to mute the microphone, * @param muted true to mute the microphone,
  1454. * false to activate the microphone. * false to activate the microphone.
  1455. */ */
  1456.  
  1457. void setMute(boolean muted); void setMute(boolean muted);
  1458.  
  1459. /** /**
  1460. * Gets current mute status. Use * Gets current mute status. Use
  1461. * {@link #registerForPreciseCallStateChanged(android.os. * {@link #registerForPreciseCallStateChanged(android.os.
  1462. * java.lang.Object) registerForPreciseCallStateChanged() * java.lang.Object) registerForPreciseCallStateChanged()
  1463. * as a change notifcation, although presently phone stat * as a change notifcation, although presently phone stat
  1464. * fired when setMute() is called. * fired when setMute() is called.
  1465. * *
  1466. * @return true is muting, false is unmuting * @return true is muting, false is unmuting
  1467. */ */
  1468. boolean getMute(); boolean getMute();
  1469.  
  1470. /** /**
  1471. * Enables or disables echo suppression. * Enables or disables echo suppression.
  1472. */ */
  1473. void setEchoSuppressionEnabled(boolean enabled); void setEchoSuppressionEnabled(boolean enabled);
  1474.  
  1475. /** /**
  1476. * Invokes RIL_REQUEST_OEM_HOOK_RAW on RIL implementation * Invokes RIL_REQUEST_OEM_HOOK_RAW on RIL implementation
  1477. * *
  1478. * @param data The data for the request. * @param data The data for the request.
  1479. * @param response <strong>On success</strong>, * @param response <strong>On success</strong>,
  1480. * (byte[])(((AsyncResult)response.obj).result) * (byte[])(((AsyncResult)response.obj).result)
  1481. * <strong>On failure</strong>, * <strong>On failure</strong>,
  1482. * (((AsyncResult)response.obj).result) == null and * (((AsyncResult)response.obj).result) == null and
  1483. * (((AsyncResult)response.obj).exception) being an insta * (((AsyncResult)response.obj).exception) being an insta
  1484. * com.android.internal.telephony.gsm.CommandException * com.android.internal.telephony.gsm.CommandException
  1485. * *
  1486. * @see #invokeOemRilRequestRaw(byte[], android.os.Messag * @see #invokeOemRilRequestRaw(byte[], android.os.Messag
  1487. */ */
  1488. void invokeOemRilRequestRaw(byte[] data, Message response void invokeOemRilRequestRaw(byte[] data, Message response
  1489.  
  1490. /** /**
  1491. * Invokes RIL_REQUEST_OEM_HOOK_Strings on RIL implementa * Invokes RIL_REQUEST_OEM_HOOK_Strings on RIL implementa
  1492. * *
  1493. * @param strings The strings to make available as the re * @param strings The strings to make available as the re
  1494. * @param response <strong>On success</strong>, "response * @param response <strong>On success</strong>, "response
  1495. * made available as: * made available as:
  1496. * (String[])(((AsyncResult)response.obj).result). * (String[])(((AsyncResult)response.obj).result).
  1497. * <strong>On failure</strong>, * <strong>On failure</strong>,
  1498. * (((AsyncResult)response.obj).result) == null and * (((AsyncResult)response.obj).result) == null and
  1499. * (((AsyncResult)response.obj).exception) being an insta * (((AsyncResult)response.obj).exception) being an insta
  1500. * com.android.internal.telephony.gsm.CommandException * com.android.internal.telephony.gsm.CommandException
  1501. * *
  1502. * @see #invokeOemRilRequestStrings(java.lang.String[], a * @see #invokeOemRilRequestStrings(java.lang.String[], a
  1503. */ */
  1504. void invokeOemRilRequestStrings(String[] strings, Message void invokeOemRilRequestStrings(String[] strings, Message
  1505.  
  1506. /** /**
  1507. * Get the current active Data Call list * Get the current active Data Call list
  1508. * *
  1509. * @param response <strong>On success</strong>, "response * @param response <strong>On success</strong>, "response
  1510. * made available as: * made available as:
  1511. * (String[])(((AsyncResult)response.obj).result). * (String[])(((AsyncResult)response.obj).result).
  1512. * <strong>On failure</strong>, * <strong>On failure</strong>,
  1513. * (((AsyncResult)response.obj).result) == null and * (((AsyncResult)response.obj).result) == null and
  1514. * (((AsyncResult)response.obj).exception) being an insta * (((AsyncResult)response.obj).exception) being an insta
  1515. * com.android.internal.telephony.gsm.CommandException * com.android.internal.telephony.gsm.CommandException
  1516. */ */
  1517. void getDataCallList(Message response); void getDataCallList(Message response);
  1518.  
  1519. /** /**
  1520. * Update the ServiceState CellLocation for current netwo * Update the ServiceState CellLocation for current netwo
  1521. */ */
  1522. void updateServiceLocation(); void updateServiceLocation();
  1523.  
  1524. /** /**
  1525. * Enable location update notifications. * Enable location update notifications.
  1526. */ */
  1527. void enableLocationUpdates(); void enableLocationUpdates();
  1528.  
  1529. /** /**
  1530. * Disable location update notifications. * Disable location update notifications.
  1531. */ */
  1532. void disableLocationUpdates(); void disableLocationUpdates();
  1533.  
  1534. /** /**
  1535. * For unit tests; don't send notifications to "Phone" * For unit tests; don't send notifications to "Phone"
  1536. * mailbox registrants if true. * mailbox registrants if true.
  1537. */ */
  1538. void setUnitTestMode(boolean f); void setUnitTestMode(boolean f);
  1539.  
  1540. /** /**
  1541. * @return true If unit test mode is enabled * @return true If unit test mode is enabled
  1542. */ */
  1543. boolean getUnitTestMode(); boolean getUnitTestMode();
  1544.  
  1545. /** /**
  1546. * Assign a specified band for RF configuration. * Assign a specified band for RF configuration.
  1547. * *
  1548. * @param bandMode one of BM_*_BAND * @param bandMode one of BM_*_BAND
  1549. * @param response is callback message * @param response is callback message
  1550. */ */
  1551. void setBandMode(int bandMode, Message response); void setBandMode(int bandMode, Message response);
  1552.  
  1553. /** /**
  1554. * Query the list of band mode supported by RF. * Query the list of band mode supported by RF.
  1555. * *
  1556. * @param response is callback message * @param response is callback message
  1557. * ((AsyncResult)response.obj).result is an int[] * ((AsyncResult)response.obj).result is an int[]
  1558. * element representing one avialable BM_*_BAND * element representing one avialable BM_*_BAND
  1559. */ */
  1560. void queryAvailableBandMode(Message response); void queryAvailableBandMode(Message response);
  1561.  
  1562. /** /**
  1563. * @return true if enable data connection on roaming * @return true if enable data connection on roaming
  1564. */ */
  1565. boolean getDataRoamingEnabled(); boolean getDataRoamingEnabled();
  1566.  
  1567. /** /**
  1568. * @param enable set true if enable data connection on ro * @param enable set true if enable data connection on ro
  1569. */ */
  1570. void setDataRoamingEnabled(boolean enable); void setDataRoamingEnabled(boolean enable);
  1571.  
  1572. /** /**
  1573. * Query the CDMA roaming preference setting * Query the CDMA roaming preference setting
  1574. * *
  1575. * @param response is callback message to report one of * @param response is callback message to report one of
  1576. */ */
  1577. void queryCdmaRoamingPreference(Message response); void queryCdmaRoamingPreference(Message response);
  1578.  
  1579. /** /**
  1580. * Requests to set the CDMA roaming preference * Requests to set the CDMA roaming preference
  1581. * @param cdmaRoamingType one of CDMA_RM_* * @param cdmaRoamingType one of CDMA_RM_*
  1582. * @param response is callback message * @param response is callback message
  1583. */ */
  1584. void setCdmaRoamingPreference(int cdmaRoamingType, Messag void setCdmaRoamingPreference(int cdmaRoamingType, Messag
  1585.  
  1586. /** /**
  1587. * Requests to set the CDMA subscription mode * Requests to set the CDMA subscription mode
  1588. * @param cdmaSubscriptionType one of CDMA_SUBSCRIPTION_ * @param cdmaSubscriptionType one of CDMA_SUBSCRIPTION_
  1589. * @param response is callback message * @param response is callback message
  1590. */ */
  1591. void setCdmaSubscription(int cdmaSubscriptionType, Messag void setCdmaSubscription(int cdmaSubscriptionType, Messag
  1592.  
  1593. /** /**
  1594. * If this is a simulated phone interface, returns a Simu * If this is a simulated phone interface, returns a Simu
  1595. * @ return A SimulatedRadioControl if this is a simulate * @ return A SimulatedRadioControl if this is a simulate
  1596. * otherwise, null. * otherwise, null.
  1597. */ */
  1598. SimulatedRadioControl getSimulatedRadioControl(); SimulatedRadioControl getSimulatedRadioControl();
  1599.  
  1600. /** /**
  1601. * Enables the specified APN type. Only works for "specia * Enables the specified APN type. Only works for "specia
  1602. * i.e., not the default APN. * i.e., not the default APN.
  1603. * @param type The desired APN type. Cannot be {@link #AP * @param type The desired APN type. Cannot be {@link #AP
  1604. * @return <code>APN_ALREADY_ACTIVE</code> if the current * @return <code>APN_ALREADY_ACTIVE</code> if the current
  1605. * services the requested type.<br/> * services the requested type.<br/>
  1606. * <code>APN_TYPE_NOT_AVAILABLE</code> if the carrier doe * <code>APN_TYPE_NOT_AVAILABLE</code> if the carrier doe
  1607. * support the requested APN.<br/> * support the requested APN.<br/>
  1608. * <code>APN_REQUEST_STARTED</code> if the request has be * <code>APN_REQUEST_STARTED</code> if the request has be
  1609. * <code>APN_REQUEST_FAILED</code> if the request was inv * <code>APN_REQUEST_FAILED</code> if the request was inv
  1610. * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code
  1611. * indicate connection state progress. * indicate connection state progress.
  1612. */ */
  1613. int enableApnType(String type); int enableApnType(String type);
  1614.  
  1615. /** /**
  1616. * Disables the specified APN type, and switches back to * Disables the specified APN type, and switches back to
  1617. * if necessary. Switching to the default APN will not ha * if necessary. Switching to the default APN will not ha
  1618. * data traffic has been explicitly disabled via a call t * data traffic has been explicitly disabled via a call t
  1619. * <p/>Only works for "special" APN types, * <p/>Only works for "special" APN types,
  1620. * i.e., not the default APN. * i.e., not the default APN.
  1621. * @param type The desired APN type. Cannot be {@link #AP * @param type The desired APN type. Cannot be {@link #AP
  1622. * @return <code>APN_ALREADY_ACTIVE</code> if the default * @return <code>APN_ALREADY_ACTIVE</code> if the default
  1623. * is already active.<br/> * is already active.<br/>
  1624. * <code>APN_REQUEST_STARTED</code> if the request to swi * <code>APN_REQUEST_STARTED</code> if the request to swi
  1625. * APN has been initiated.<br/> * APN has been initiated.<br/>
  1626. * <code>APN_REQUEST_FAILED</code> if the request was inv * <code>APN_REQUEST_FAILED</code> if the request was inv
  1627. * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code * A <code>ACTION_ANY_DATA_CONNECTION_STATE_CHANGED</code
  1628. * indicate connection state progress. * indicate connection state progress.
  1629. */ */
  1630. int disableApnType(String type); int disableApnType(String type);
  1631.  
  1632. /** /**
  1633. * Report on whether data connectivity is allowed. * Report on whether data connectivity is allowed.
  1634. */ */
  1635. boolean isDataConnectivityPossible(); boolean isDataConnectivityPossible();
  1636.  
  1637. /** /**
  1638. * Report on whether data connectivity is allowed for an * Report on whether data connectivity is allowed for an
  1639. */ */
  1640. boolean isDataConnectivityPossible(String apnType); boolean isDataConnectivityPossible(String apnType);
  1641.  
  1642. /** /**
  1643. * Retrieves the unique device ID, e.g., IMEI for GSM pho * Retrieves the unique device ID, e.g., IMEI for GSM pho
  1644. */ */
  1645. String getDeviceId(); String getDeviceId();
  1646.  
  1647. /** /**
  1648. * Retrieves the software version number for the device, * Retrieves the software version number for the device,
  1649. * for GSM phones. * for GSM phones.
  1650. */ */
  1651. String getDeviceSvn(); String getDeviceSvn();
  1652.  
  1653. /** /**
  1654. * Retrieves the unique subscriber ID, e.g., IMSI for GSM * Retrieves the unique subscriber ID, e.g., IMSI for GSM
  1655. */ */
  1656. String getSubscriberId(); String getSubscriberId();
  1657.  
  1658. /** /**
  1659. * Retrieves the serial number of the ICC, if applicable. * Retrieves the serial number of the ICC, if applicable.
  1660. */ */
  1661. String getIccSerialNumber(); String getIccSerialNumber();
  1662.  
  1663. /* CDMA support methods */ /* CDMA support methods */
  1664.  
  1665. /** /**
  1666. * Retrieves the MIN for CDMA phones. * Retrieves the MIN for CDMA phones.
  1667. */ */
  1668. String getCdmaMin(); String getCdmaMin();
  1669.  
  1670. /** /**
  1671. * Check if subscription data has been assigned to mMin * Check if subscription data has been assigned to mMin
  1672. * *
  1673. * return true if MIN info is ready; false otherwise. * return true if MIN info is ready; false otherwise.
  1674. */ */
  1675. boolean isMinInfoReady(); boolean isMinInfoReady();
  1676.  
  1677. /** /**
  1678. * Retrieves PRL Version for CDMA phones * Retrieves PRL Version for CDMA phones
  1679. */ */
  1680. String getCdmaPrlVersion(); String getCdmaPrlVersion();
  1681.  
  1682. /** /**
  1683. * Retrieves the ESN for CDMA phones. * Retrieves the ESN for CDMA phones.
  1684. */ */
  1685. String getEsn(); String getEsn();
  1686.  
  1687. /** /**
  1688. * Retrieves MEID for CDMA phones. * Retrieves MEID for CDMA phones.
  1689. */ */
  1690. String getMeid(); String getMeid();
  1691.  
  1692. /** /**
  1693. * Retrieves the MSISDN from the UICC. For GSM/UMTS phone * Retrieves the MSISDN from the UICC. For GSM/UMTS phone
  1694. * {@link #getLine1Number()}. For CDMA phones, {@link #ge * {@link #getLine1Number()}. For CDMA phones, {@link #ge
  1695. * the MDN, so this method is provided to return the MSIS * the MDN, so this method is provided to return the MSIS
  1696. */ */
  1697. String getMsisdn(); String getMsisdn();
  1698.  
  1699. /** /**
  1700. * Retrieves IMEI for phones. Returns null if IMEI is not * Retrieves IMEI for phones. Returns null if IMEI is not
  1701. */ */
  1702. String getImei(); String getImei();
  1703.  
  1704. /** /**
  1705. * Retrieves the PhoneSubInfo of the Phone * Retrieves the PhoneSubInfo of the Phone
  1706. */ */
  1707. public PhoneSubInfo getPhoneSubInfo(); public PhoneSubInfo getPhoneSubInfo();
  1708.  
  1709. /** /**
  1710. * Retrieves the IccSmsInterfaceManager of the Phone * Retrieves the IccSmsInterfaceManager of the Phone
  1711. */ */
  1712. public IccSmsInterfaceManager getIccSmsInterfaceManager() public IccSmsInterfaceManager getIccSmsInterfaceManager()
  1713.  
  1714. /** /**
  1715. * Retrieves the IccPhoneBookInterfaceManager of the Phon * Retrieves the IccPhoneBookInterfaceManager of the Phon
  1716. */ */
  1717. public IccPhoneBookInterfaceManager getIccPhoneBookInterf public IccPhoneBookInterfaceManager getIccPhoneBookInterf
  1718.  
  1719. /** /**
  1720. * setTTYMode * setTTYMode
  1721. * sets a TTY mode option. * sets a TTY mode option.
  1722. * @param ttyMode is a one of the following: * @param ttyMode is a one of the following:
  1723. * - {@link com.android.internal.telephony.Phone#TTY_MODE * - {@link com.android.internal.telephony.Phone#TTY_MODE
  1724. * - {@link com.android.internal.telephony.Phone#TTY_MODE * - {@link com.android.internal.telephony.Phone#TTY_MODE
  1725. * - {@link com.android.internal.telephony.Phone#TTY_MODE * - {@link com.android.internal.telephony.Phone#TTY_MODE
  1726. * - {@link com.android.internal.telephony.Phone#TTY_MODE * - {@link com.android.internal.telephony.Phone#TTY_MODE
  1727. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1728. */ */
  1729. void setTTYMode(int ttyMode, Message onComplete); void setTTYMode(int ttyMode, Message onComplete);
  1730.  
  1731. /** /**
  1732. * queryTTYMode * queryTTYMode
  1733. * query the status of the TTY mode * query the status of the TTY mode
  1734. * *
  1735. * @param onComplete a callback message when the action i * @param onComplete a callback message when the action i
  1736. */ */
  1737. void queryTTYMode(Message onComplete); void queryTTYMode(Message onComplete);
  1738.  
  1739. /** /**
  1740. * Activate or deactivate cell broadcast SMS. * Activate or deactivate cell broadcast SMS.
  1741. * *
  1742. * @param activate * @param activate
  1743. * 0 = activate, 1 = deactivate * 0 = activate, 1 = deactivate
  1744. * @param response * @param response
  1745. * Callback message is empty on completion * Callback message is empty on completion
  1746. */ */
  1747. void activateCellBroadcastSms(int activate, Message respo void activateCellBroadcastSms(int activate, Message respo
  1748.  
  1749. /** /**
  1750. * Query the current configuration of cdma cell broadcast * Query the current configuration of cdma cell broadcast
  1751. * *
  1752. * @param response * @param response
  1753. * Callback message is empty on completion * Callback message is empty on completion
  1754. */ */
  1755. void getCellBroadcastSmsConfig(Message response); void getCellBroadcastSmsConfig(Message response);
  1756.  
  1757. /** /**
  1758. * Configure cell broadcast SMS. * Configure cell broadcast SMS.
  1759. * *
  1760. * TODO: Change the configValuesArray to a RIL_BroadcastS * TODO: Change the configValuesArray to a RIL_BroadcastS
  1761. * *
  1762. * @param response * @param response
  1763. * Callback message is empty on completion * Callback message is empty on completion
  1764. */ */
  1765. public void setCellBroadcastSmsConfig(int[] configValuesA public void setCellBroadcastSmsConfig(int[] configValuesA
  1766.  
  1767. public void notifyDataActivity(); public void notifyDataActivity();
  1768.  
  1769. /** /**
  1770. * Returns the CDMA ERI icon index to display * Returns the CDMA ERI icon index to display
  1771. */ */
  1772. public int getCdmaEriIconIndex(); public int getCdmaEriIconIndex();
  1773.  
  1774. /** /**
  1775. * Returns the CDMA ERI icon mode, * Returns the CDMA ERI icon mode,
  1776. * 0 - ON * 0 - ON
  1777. * 1 - FLASHING * 1 - FLASHING
  1778. */ */
  1779. public int getCdmaEriIconMode(); public int getCdmaEriIconMode();
  1780.  
  1781. /** /**
  1782. * Returns the CDMA ERI text, * Returns the CDMA ERI text,
  1783. */ */
  1784. public String getCdmaEriText(); public String getCdmaEriText();
  1785.  
  1786. /** /**
  1787. * request to exit emergency call back mode * request to exit emergency call back mode
  1788. * the caller should use setOnECMModeExitResponse * the caller should use setOnECMModeExitResponse
  1789. * to receive the emergency callback mode exit response * to receive the emergency callback mode exit response
  1790. */ */
  1791. void exitEmergencyCallbackMode(); void exitEmergencyCallbackMode();
  1792.  
  1793. /** /**
  1794. * this decides if the dial number is OTA(Over the air pr * this decides if the dial number is OTA(Over the air pr
  1795. * @param dialStr is string representing the dialing digi * @param dialStr is string representing the dialing digi
  1796. * @return true means the dialStr is OTA number, and fal * @return true means the dialStr is OTA number, and fal
  1797. */ */
  1798. boolean isOtaSpNumber(String dialStr); boolean isOtaSpNumber(String dialStr);
  1799.  
  1800. /** /**
  1801. * Returns true if OTA Service Provisioning needs to be p * Returns true if OTA Service Provisioning needs to be p
  1802. */ */
  1803. boolean needsOtaServiceProvisioning(); boolean needsOtaServiceProvisioning();
  1804.  
  1805. /** /**
  1806. * Register for notifications when CDMA call waiting come * Register for notifications when CDMA call waiting come
  1807. * *
  1808. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1809. * @param what User-defined message code. * @param what User-defined message code.
  1810. * @param obj User object. * @param obj User object.
  1811. */ */
  1812. void registerForCallWaiting(Handler h, int what, Object o void registerForCallWaiting(Handler h, int what, Object o
  1813.  
  1814. /** /**
  1815. * Unegister for notifications when CDMA Call waiting com * Unegister for notifications when CDMA Call waiting com
  1816. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1817. */ */
  1818. void unregisterForCallWaiting(Handler h); void unregisterForCallWaiting(Handler h);
  1819.  
  1820.  
  1821. /** /**
  1822. * Register for signal information notifications from the * Register for signal information notifications from the
  1823. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  1824. * AsyncResult.result will be a SuppServiceNotification i * AsyncResult.result will be a SuppServiceNotification i
  1825. * *
  1826. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1827. * @param what User-defined message code. * @param what User-defined message code.
  1828. * @param obj User object. * @param obj User object.
  1829. */ */
  1830.  
  1831. void registerForSignalInfo(Handler h, int what, Object ob void registerForSignalInfo(Handler h, int what, Object ob
  1832. /** /**
  1833. * Unregisters for signal information notifications. * Unregisters for signal information notifications.
  1834. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  1835. * *
  1836. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1837. */ */
  1838. void unregisterForSignalInfo(Handler h); void unregisterForSignalInfo(Handler h);
  1839.  
  1840. /** /**
  1841. * Register for display information notifications from th * Register for display information notifications from th
  1842. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  1843. * AsyncResult.result will be a SuppServiceNotification i * AsyncResult.result will be a SuppServiceNotification i
  1844. * *
  1845. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1846. * @param what User-defined message code. * @param what User-defined message code.
  1847. * @param obj User object. * @param obj User object.
  1848. */ */
  1849. void registerForDisplayInfo(Handler h, int what, Object o void registerForDisplayInfo(Handler h, int what, Object o
  1850.  
  1851. /** /**
  1852. * Unregisters for display information notifications. * Unregisters for display information notifications.
  1853. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  1854. * *
  1855. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1856. */ */
  1857. void unregisterForDisplayInfo(Handler h) ; void unregisterForDisplayInfo(Handler h) ;
  1858.  
  1859. /** /**
  1860. * Register for CDMA number information record notificati * Register for CDMA number information record notificati
  1861. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  1862. * AsyncResult.result will be a CdmaInformationRecords.Cd * AsyncResult.result will be a CdmaInformationRecords.Cd
  1863. * instance. * instance.
  1864. * *
  1865. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1866. * @param what User-defined message code. * @param what User-defined message code.
  1867. * @param obj User object. * @param obj User object.
  1868. */ */
  1869. void registerForNumberInfo(Handler h, int what, Object ob void registerForNumberInfo(Handler h, int what, Object ob
  1870.  
  1871. /** /**
  1872. * Unregisters for number information record notification * Unregisters for number information record notification
  1873. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  1874. * *
  1875. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1876. */ */
  1877. void unregisterForNumberInfo(Handler h); void unregisterForNumberInfo(Handler h);
  1878.  
  1879. /** /**
  1880. * Register for CDMA redirected number information record * Register for CDMA redirected number information record
  1881. * from the network. * from the network.
  1882. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  1883. * AsyncResult.result will be a CdmaInformationRecords.Cd * AsyncResult.result will be a CdmaInformationRecords.Cd
  1884. * instance. * instance.
  1885. * *
  1886. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1887. * @param what User-defined message code. * @param what User-defined message code.
  1888. * @param obj User object. * @param obj User object.
  1889. */ */
  1890. void registerForRedirectedNumberInfo(Handler h, int what, void registerForRedirectedNumberInfo(Handler h, int what,
  1891.  
  1892. /** /**
  1893. * Unregisters for redirected number information record n * Unregisters for redirected number information record n
  1894. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  1895. * *
  1896. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1897. */ */
  1898. void unregisterForRedirectedNumberInfo(Handler h); void unregisterForRedirectedNumberInfo(Handler h);
  1899.  
  1900. /** /**
  1901. * Register for CDMA line control information record noti * Register for CDMA line control information record noti
  1902. * from the network. * from the network.
  1903. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  1904. * AsyncResult.result will be a CdmaInformationRecords.Cd * AsyncResult.result will be a CdmaInformationRecords.Cd
  1905. * instance. * instance.
  1906. * *
  1907. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1908. * @param what User-defined message code. * @param what User-defined message code.
  1909. * @param obj User object. * @param obj User object.
  1910. */ */
  1911. void registerForLineControlInfo(Handler h, int what, Obje void registerForLineControlInfo(Handler h, int what, Obje
  1912.  
  1913. /** /**
  1914. * Unregisters for line control information notifications * Unregisters for line control information notifications
  1915. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  1916. * *
  1917. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1918. */ */
  1919. void unregisterForLineControlInfo(Handler h); void unregisterForLineControlInfo(Handler h);
  1920.  
  1921. /** /**
  1922. * Register for CDMA T53 CLIR information record notifica * Register for CDMA T53 CLIR information record notifica
  1923. * from the network. * from the network.
  1924. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  1925. * AsyncResult.result will be a CdmaInformationRecords.Cd * AsyncResult.result will be a CdmaInformationRecords.Cd
  1926. * instance. * instance.
  1927. * *
  1928. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1929. * @param what User-defined message code. * @param what User-defined message code.
  1930. * @param obj User object. * @param obj User object.
  1931. */ */
  1932. void registerFoT53ClirlInfo(Handler h, int what, Object o void registerFoT53ClirlInfo(Handler h, int what, Object o
  1933.  
  1934. /** /**
  1935. * Unregisters for T53 CLIR information record notificati * Unregisters for T53 CLIR information record notificati
  1936. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  1937. * *
  1938. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1939. */ */
  1940. void unregisterForT53ClirInfo(Handler h); void unregisterForT53ClirInfo(Handler h);
  1941.  
  1942. /** /**
  1943. * Register for CDMA T53 audio control information record * Register for CDMA T53 audio control information record
  1944. * from the network. * from the network.
  1945. * Message.obj will contain an AsyncResult. * Message.obj will contain an AsyncResult.
  1946. * AsyncResult.result will be a CdmaInformationRecords.Cd * AsyncResult.result will be a CdmaInformationRecords.Cd
  1947. * instance. * instance.
  1948. * *
  1949. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1950. * @param what User-defined message code. * @param what User-defined message code.
  1951. * @param obj User object. * @param obj User object.
  1952. */ */
  1953. void registerForT53AudioControlInfo(Handler h, int what, void registerForT53AudioControlInfo(Handler h, int what,
  1954.  
  1955. /** /**
  1956. * Unregisters for T53 audio control information record n * Unregisters for T53 audio control information record n
  1957. * Extraneous calls are tolerated silently * Extraneous calls are tolerated silently
  1958. * *
  1959. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1960. */ */
  1961. void unregisterForT53AudioControlInfo(Handler h); void unregisterForT53AudioControlInfo(Handler h);
  1962.  
  1963. /** /**
  1964. * registers for exit emergency call back mode request re * registers for exit emergency call back mode request re
  1965. * *
  1966. * @param h Handler that receives the notification messag * @param h Handler that receives the notification messag
  1967. * @param what User-defined message code. * @param what User-defined message code.
  1968. * @param obj User object. * @param obj User object.
  1969. */ */
  1970.  
  1971. void setOnEcbModeExitResponse(Handler h, int what, Object void setOnEcbModeExitResponse(Handler h, int what, Object
  1972.  
  1973. /** /**
  1974. * Unregisters for exit emergency call back mode request * Unregisters for exit emergency call back mode request
  1975. * *
  1976. * @param h Handler to be removed from the registrant lis * @param h Handler to be removed from the registrant lis
  1977. */ */
  1978. void unsetOnEcbModeExitResponse(Handler h); void unsetOnEcbModeExitResponse(Handler h);
  1979.  
  1980. /** /**
  1981. * Return if the current radio is LTE on CDMA. This * Return if the current radio is LTE on CDMA. This
  1982. * is a tri-state return value as for a period of time * is a tri-state return value as for a period of time
  1983. * the mode may be unknown. * the mode may be unknown.
  1984. * *
  1985. * @return {@link #LTE_ON_CDMA_UNKNOWN}, {@link #LTE_ON_C * @return {@link #LTE_ON_CDMA_UNKNOWN}, {@link #LTE_ON_C
  1986. */ */
  1987. public int getLteOnCdmaMode(); public int getLteOnCdmaMode();
  1988.  
  1989. /** /**
  1990. > * Return if the current radio is LTE on GSM
  1991. > * @hide
  1992. > */
  1993. > public int getLteOnGsmMode();
  1994. >
  1995. > /**
  1996. * TODO: Adding a function for each property is not good. * TODO: Adding a function for each property is not good.
  1997. * A fucntion of type getPhoneProp(propType) where propTy * A fucntion of type getPhoneProp(propType) where propTy
  1998. * enum of GSM+CDMA+LTE props would be a better approach. * enum of GSM+CDMA+LTE props would be a better approach.
  1999. * *
  2000. * Get "Restriction of menu options for manual PLMN selec * Get "Restriction of menu options for manual PLMN selec
  2001. * status from EF_CSP data, this belongs to "Value Added * status from EF_CSP data, this belongs to "Value Added
  2002. * @return true if this bit is set or EF_CSP data is unav * @return true if this bit is set or EF_CSP data is unav
  2003. * false otherwise * false otherwise
  2004. */ */
  2005. boolean isCspPlmnEnabled(); boolean isCspPlmnEnabled();
  2006.  
  2007. /** /**
  2008. * Return an interface to retrieve the ISIM records for I * Return an interface to retrieve the ISIM records for I
  2009. * @return the interface to retrieve the ISIM records, or * @return the interface to retrieve the ISIM records, or
  2010. */ */
  2011. IsimRecords getIsimRecords(); IsimRecords getIsimRecords();
  2012.  
  2013. /** /**
  2014. * Request the ISIM application on the UICC to perform th * Request the ISIM application on the UICC to perform th
  2015. * challenge/response algorithm for IMS authentication. T * challenge/response algorithm for IMS authentication. T
  2016. * and challenge response are Base64 encoded Strings. * and challenge response are Base64 encoded Strings.
  2017. * *
  2018. * @param nonce the nonce string to pass with the ISIM au * @param nonce the nonce string to pass with the ISIM au
  2019. * @param response a callback message with the String res * @param response a callback message with the String res
  2020. */ */
  2021. void requestIsimAuthentication(String nonce, Message resp void requestIsimAuthentication(String nonce, Message resp
  2022.  
  2023. /** /**
  2024. * Sets the SIM voice message waiting indicator records. * Sets the SIM voice message waiting indicator records.
  2025. * @param line GSM Subscriber Profile Number, one-based. * @param line GSM Subscriber Profile Number, one-based.
  2026. * @param countWaiting The number of messages waiting, if * @param countWaiting The number of messages waiting, if
  2027. * -1 to indicate that an unknown num * -1 to indicate that an unknown num
  2028. * messages are waiting * messages are waiting
  2029. */ */
  2030. void setVoiceMessageWaiting(int line, int countWaiting); void setVoiceMessageWaiting(int line, int countWaiting);
  2031.  
  2032. //MTK-START [mtk04070][111223][ALPS00106134]Merge to ICS <
  2033. /** /**
  2034. * Gets the USIM service table from the UICC, if present * Gets the USIM service table from the UICC, if present
  2035. * @return an interface to the UsimServiceTable record, o * @return an interface to the UsimServiceTable record, o
  2036. */ */
  2037. UsimServiceTable getUsimServiceTable(); UsimServiceTable getUsimServiceTable();
  2038. //MTK-END [mtk04070][111223][ALPS00106134]Merge to ICS 4. <
  2039. <
  2040. <
  2041. //MTK-START [mtk04070][111117][ALPS00093395]MTK proprieta <
  2042. /** <
  2043. * added by vend_am00002 for Multiple PDP Context <
  2044. * @param apnType <
  2045. */ <
  2046. String getActiveApnType(); <
  2047. <
  2048. /* Add by vendor for Multiple PDP Context */ <
  2049. String getApnForType(String type); <
  2050. <
  2051. /** <
  2052. * Register for Supplementary Service CRSS notifications <
  2053. * Message.obj will contain an AsyncResult. <
  2054. * AsyncResult.result will be a SuppCrssNotification inst <
  2055. * <
  2056. * @param h Handler that receives the notification messag <
  2057. * @param what User-defined message code. <
  2058. * @param obj User object. <
  2059. */ <
  2060. public void registerForCrssSuppServiceNotification(Handle <
  2061. <
  2062. /** <
  2063. * Unregisters for Supplementary Service CRSS notificatio <
  2064. * Extraneous calls are tolerated silently <
  2065. * <
  2066. * @param h Handler to be removed from the registrant lis <
  2067. */ <
  2068. public void unregisterForCrssSuppServiceNotification(Hand <
  2069. <
  2070. /* vt start */ <
  2071. /** <
  2072. * Initiate a new video connection. This happens asynchro <
  2073. * cannot assume the audio path is connected (or a call i <
  2074. * assigned) until PhoneStateChanged notification has occ <
  2075. * <
  2076. * @exception CallStateException if a new outgoing call i <
  2077. * possible because no more call slots exist or a call ex <
  2078. * dialing, alerting, ringing, or waiting. Other errors <
  2079. * handled asynchronously. <
  2080. */ <
  2081. Connection vtDial(String dialString) throws CallStateExce <
  2082. <
  2083. /** <
  2084. * Initiate a new video connection with supplementary Use <
  2085. * Information. This happens asynchronously, so you canno <
  2086. * path is connected (or a call index has been assigned) <
  2087. * PhoneStateChanged notification has occurred. <
  2088. * <
  2089. * @exception CallStateException if a new outgoing call i <
  2090. * possible because no more call slots exi <
  2091. * that is dialing, alerting, ringing, or <
  2092. * errors are handled asynchronously. <
  2093. */ <
  2094. Connection vtDial(String dialString, UUSInfo uusInfo) thr <
  2095. <
  2096. void voiceAccept() throws CallStateException; <
  2097. /* vt end */ <
  2098. <
  2099. /** <
  2100. * Sets the radio power on/off state (off is sometimes <
  2101. * called "airplane mode"). Current state can be gotten v <
  2102. * {@link #getServiceState()}.{@link <
  2103. * android.telephony.ServiceState#getState() getState()}. <
  2104. * <strong>Note: </strong>This request is asynchronous. <
  2105. * getServiceState().getState() will not change immediate <
  2106. * registerForServiceStateChanged() to find out when the <
  2107. * request is complete. <
  2108. * <p> <
  2109. * If shutdown is true, will turn off the radio and SIM <
  2110. * Used when shutdown the entire phone <
  2111. * <
  2112. * @param power true means "on", false means "off". <
  2113. * @param shutdown true means turn off entire phone <
  2114. */ <
  2115. void setRadioPower(boolean power, boolean shutdown) <
  2116. <
  2117. /** <
  2118. * Get the current active PDP context list <
  2119. * <
  2120. * @deprecated <
  2121. * @param response <strong>On success</strong>, "response <
  2122. * made available as: <
  2123. * (String[])(((AsyncResult)response.obj).result). <
  2124. * <strong>On failure</strong>, <
  2125. * (((AsyncResult)response.obj).result) == null and <
  2126. * (((AsyncResult)response.obj).exception) being an insta <
  2127. * com.android.internal.telephony.gsm.CommandException <
  2128. */ <
  2129. void getPdpContextList(Message response); <
  2130. <
  2131. /** <
  2132. * Returns the name of the network interface used by the <
  2133. */ <
  2134. String getInterfaceName(String apnType); <
  2135. <
  2136. /** <
  2137. * Returns the IP address of the network interface used b <
  2138. * APN type. <
  2139. */ <
  2140. String getIpAddress(String apnType); <
  2141. <
  2142. /** <
  2143. * Returns the gateway for the network interface used by <
  2144. * type. <
  2145. */ <
  2146. String getGateway(String apnType); <
  2147. <
  2148. /** <
  2149. * Returns the DNS servers for the network interface used <
  2150. * APN type. <
  2151. */ <
  2152. public String[] getDnsServers(String apnType); <
  2153. <
  2154. /** <
  2155. * Configure cell broadcast SMS. <
  2156. * @param chIdList <
  2157. * Channel ID list, fill in the fromServiceId, <
  2158. * in the SmsBroadcastConfigInfo only <
  2159. * @param langList <
  2160. * Channel ID list, fill in the fromCodeScheme <
  2161. * in the SmsBroadcastConfigInfo only <
  2162. * @param response <
  2163. * Callback message is empty on completion <
  2164. */ <
  2165. public void setCellBroadcastSmsConfig(SmsBroadcastConfigI <
  2166. SmsBroadcastConfigInfo[] langList, Message respon <
  2167. <
  2168. /** <
  2169. * Query if the Cell broadcast is adtivated or not <
  2170. * @param response <
  2171. * Callback message is empty on completion <
  2172. */ <
  2173. public void queryCellBroadcastSmsActivation(Message respo <
  2174. <
  2175. /** <
  2176. * getFacilityLock <
  2177. * gets Call Barring States. The return value of <
  2178. * (AsyncResult)response.obj).result will be an Integer r <
  2179. * the sum of enabled serivice classes (sum of SERVICE_CL <
  2180. * <
  2181. * @param facility one of CB_FACILTY_* <
  2182. * @param password password or "" if not required <
  2183. * @param onComplete a callback message when the action i <
  2184. */ <
  2185. void getFacilityLock(String facility, String password, Me <
  2186. <
  2187. /** <
  2188. * setFacilityLock <
  2189. * sets Call Barring options. <
  2190. * <
  2191. * @param facility one of CB_FACILTY_* <
  2192. * @param enable true means lock, false means unlock <
  2193. * @param password password or "" if not required <
  2194. * @param onComplete a callback message when the action i <
  2195. */ <
  2196. void setFacilityLock(String facility, boolean enable, Str <
  2197. <
  2198. /** <
  2199. * changeBarringPassword <
  2200. * changes Call Barring related password. <
  2201. * <
  2202. * @param facility one of CB_FACILTY_* <
  2203. * @param oldPwd old password <
  2204. * @param newPwd new password <
  2205. * @param onComplete a callback message when the action i <
  2206. */ <
  2207. void changeBarringPassword(String facility, String oldPwd <
  2208. <
  2209. /** <
  2210. * changeBarringPassword <
  2211. * changes Call Barring related password. <
  2212. * <
  2213. * @param facility one of CB_FACILTY_* <
  2214. * @param oldPwd old password <
  2215. * @param newPwd new password <
  2216. * @param newCfm <
  2217. * @param onComplete a callback message when the action i <
  2218. */ <
  2219. void changeBarringPassword(String facility, String oldPwd <
  2220. <
  2221. /** <
  2222. * used to release all connections in the MS, <
  2223. * release all connections with one reqeust together, not <
  2224. */ <
  2225. void hangupAll() throws CallStateException; <
  2226.  
  2227. /** /**
  2228. * used to release all connections in the MS, | * Unregister from all events it registered for and dispo
  2229. * release all connections with one reqeust together, not | * created by this object.
  2230. */ */
  2231. void hangupAllEx() throws CallStateException; | void dispose();
  2232.  
  2233. /** /**
  2234. * used to release all connections in the foregrond call. | * Remove references to external object stored in this ob
  2235. */ <
  2236. void hangupActiveCall() throws CallStateException; <
  2237. <
  2238. /** <
  2239. * used to get CCM. <
  2240. * <
  2241. * result.obj = AsyncResult ar <
  2242. * ar.exception carries exception on failure <
  2243. * ar.userObject contains the orignal value of result.o <
  2244. * <
  2245. * ar.result is a String[1] <
  2246. * ar.result[0] contain the value of CCM <
  2247. * the value will be 3 bytes of hexadecimal format, <
  2248. * ex: "00001E" indicates decimal value 30 <
  2249. */ <
  2250. void getCurrentCallMeter(Message result); <
  2251. <
  2252. /** <
  2253. * used to get ACM. <
  2254. * <
  2255. * result.obj = AsyncResult ar <
  2256. * ar.exception carries exception on failure <
  2257. * ar.userObject contains the orignal value of result.ob <
  2258. * <
  2259. * ar.result is a String[1] <
  2260. * ar.result[0] contain the value of ACM <
  2261. * the value will be 3 bytes of hexadecimal format, <
  2262. * ex: "00001E" indicates decimal value 30 <
  2263. */ <
  2264. void getAccumulatedCallMeter(Message result); <
  2265. <
  2266. /** <
  2267. * used to get ACMMAX. <
  2268. * <
  2269. * result.obj = AsyncResult ar <
  2270. * ar.exception carries exception on failure <
  2271. * ar.userObject contains the orignal value of result.ob <
  2272. * <
  2273. * ar.result is a String[1] <
  2274. * ar.result[0] contain the value of ACMMax <
  2275. * the value will be 3 bytes of hexadecimal format, <
  2276. * ex: "00001E" indicates decimal value 30 <
  2277. */ <
  2278. void getAccumulatedCallMeterMaximum(Message result); <
  2279. <
  2280. /** <
  2281. * used to get price per unit and currency. <
  2282. * <
  2283. * result.obj = AsyncResult ar <
  2284. * ar.exception carries exception on failure <
  2285. * ar.userObject contains the orignal value of result.ob <
  2286. * <
  2287. * ar.result is a String[2] <
  2288. * ar.result[0] contain the value of currency, ex: "GBP" <
  2289. * ar.result[1] contain the value of ppu, ex: "2.66" <
  2290. */ <
  2291. void getPpuAndCurrency(Message result); <
  2292. <
  2293. /** <
  2294. * used to set ACMMax. <
  2295. * <
  2296. * result.obj = AsyncResult ar <
  2297. * ar.exception carries exception on failure <
  2298. * ar.userObject contains the orignal value of result.ob <
  2299. * <
  2300. * @param acmmax is the maximum value for ACM. ex: "00001 <
  2301. * @param pin2 is necessary parameter. <
  2302. */ <
  2303. void setAccumulatedCallMeterMaximum(String acmmax, String <
  2304. <
  2305. /** <
  2306. * used to reset ACM. <
  2307. * <
  2308. *result.obj = AsyncResult ar <
  2309. * ar.exception carries exception on failure <
  2310. * ar.userObject contains the orignal value of result.ob <
  2311. * <
  2312. * @param pin2 is necessary parameter. <
  2313. */ <
  2314. void resetAccumulatedCallMeter(String pin2, Message resul <
  2315. <
  2316. /** <
  2317. * used to set price per unit and currency. <
  2318. * <
  2319. *result.obj = AsyncResult ar <
  2320. * ar.exception carries exception on failure <
  2321. * ar.userObject contains the orignal value of result.ob <
  2322. * <
  2323. * @param currency is value of "currency". ex: "GBP" <
  2324. * @param ppu is the value of "price per unit". ex: "2.66 <
  2325. * @param pin2 is necessary parameter. <
  2326. */ <
  2327. void setPpuAndCurrency(String currency, String ppu, Strin <
  2328. <
  2329. /** <
  2330. * Register for Neighboring cell info changed. <
  2331. * Message.obj will contain an AsyncResult. <
  2332. * AsyncResult.result will be a String[ ] instance <
  2333. */ <
  2334. void registerForNeighboringInfo(Handler h, int what, Obje <
  2335. <
  2336. /** <
  2337. * Unregisters for Neighboring cell info changed notifica <
  2338. * Extraneous calls are tolerated silently <
  2339. */ <
  2340. void unregisterForNeighboringInfo(Handler h); <
  2341. <
  2342. /** <
  2343. * Register for Network info changed. <
  2344. * Message.obj will contain an AsyncResult. <
  2345. * AsyncResult.result will be a String[ ] instance <
  2346. */ <
  2347. void registerForNetworkInfo(Handler h, int what, Object o <
  2348. <
  2349. /** <
  2350. * Unregisters for Network info changed notification. <
  2351. * Extraneous calls are tolerated silently <
  2352. */ <
  2353. void unregisterForNetworkInfo(Handler h); <
  2354. <
  2355. /** <
  2356. * Refresh Spn Display due to configuration change <
  2357. */ <
  2358. void refreshSpnDisplay(); <
  2359. <
  2360. /** <
  2361. * Request to get my SIM ID <
  2362. */ <
  2363. int getMySimId(); <
  2364. <
  2365. /** <
  2366. * Register for speech on/off indication. <
  2367. * Message.obj will contain an AsyncResult. <
  2368. * AsyncResult.result will be a String[ ] instance <
  2369. */ <
  2370. void registerForSpeechInfo(Handler h, int what, Object ob <
  2371. <
  2372. /** <
  2373. * Unregister for speech on/off indication <
  2374. */ <
  2375. void unregisterForSpeechInfo(Handler h); <
  2376. <
  2377. /** <
  2378. * Get last call fail cause <
  2379. */ <
  2380. public int getLastCallFailCause(); <
  2381. <
  2382. /* vt start */ <
  2383. /** <
  2384. * Register for VT status indication. <
  2385. * Message.obj will contain an AsyncResult. <
  2386. * AsyncResult.result will be a int[ ] instance <
  2387. */ <
  2388. void registerForVtStatusInfo(Handler h, int what, Object <
  2389. <
  2390. /** <
  2391. * Unregister for VT status indication <
  2392. */ <
  2393. void unregisterForVtStatusInfo(Handler h); <
  2394. <
  2395. /** <
  2396. * Register for MT VT call indication. <
  2397. * Message.obj will contain an AsyncResult. <
  2398. */ <
  2399. void registerForVtRingInfo(Handler h, int what, Object ob <
  2400. <
  2401. /** <
  2402. * Unregister for MT VT call indication. <
  2403. */ <
  2404. void unregisterForVtRingInfo(Handler h); <
  2405. <
  2406. /** <
  2407. * Register for call disconnect message when reject waiti <
  2408. * Message.obj will contain an AsyncResult. <
  2409. */ */
  2410. public void registerForVtReplaceDisconnect(Handler h, int | void removeReferences();
  2411. <
  2412. /** <
  2413. * Unregister for call disconnect message. <
  2414. */ <
  2415. public void unregisterForVtReplaceDisconnect(Handler h); <
  2416. /* vt end */ <
  2417. <
  2418. /** <
  2419. * set GPRS transfer type: data prefer/call prefer <
  2420. */ <
  2421. void setGprsTransferType(int type, Message response); <
  2422. <
  2423. //Add by mtk80372 for Barcode Number <
  2424. /** <
  2425. * Request to get Barcode number. <
  2426. */ <
  2427. void getMobileRevisionAndIMEI(int type,Message result); <
  2428. <
  2429. //Add by mtk80372 for Barcode Number <
  2430. String getSN(); <
  2431. <
  2432. /** <
  2433. *Retrieves the IccServiceStatus for the specic SIM/USIM s <
  2434. */ <
  2435. IccServiceStatus getIccServiceStatus(IccService enService <
  2436. <
  2437. /** <
  2438. *send BT SAP profile <
  2439. */ <
  2440. void sendBTSIMProfile(int nAction, int nType, String str <
  2441. <
  2442. /** <
  2443. * Request 2G context authentication for SIM/USIM <
  2444. */ <
  2445. void doSimAuthentication (String strRand, Message result) <
  2446. <
  2447. /** <
  2448. * Request 3G context authentication for USIM <
  2449. */ <
  2450. void doUSimAuthentication (String strRand, String strAutn <
  2451. <
  2452. /* vt start */ <
  2453. /** <
  2454. * getVtCallForwardingOptions <
  2455. * gets a VT call forwarding option. The return value of <
  2456. * ((AsyncResult)onComplete.obj) is an array of CallForwa <
  2457. * <
  2458. * @param commandInterfaceCFReason is one of the valid ca <
  2459. * CF_REASONS, as defined in <
  2460. * <code>com.android.internal.telephony.CommandsIn <
  2461. * @param onComplete a callback message when the action i <
  2462. * @see com.android.internal.telephony.CallForward <
  2463. */ <
  2464. void getVtCallForwardingOption(int commandInterfaceCFReas <
  2465. Message onComplete); <
  2466. <
  2467. /** <
  2468. * setVtCallForwardingOptions <
  2469. * sets a VT call forwarding option. <
  2470. * <
  2471. * @param commandInterfaceCFReason is one of the valid ca <
  2472. * CF_REASONS, as defined in <
  2473. * <code>com.android.internal.telephony.CommandsIn <
  2474. * @param commandInterfaceCFAction is one of the valid ca <
  2475. * CF_ACTIONS, as defined in <
  2476. * <code>com.android.internal.telephony.CommandsInt <
  2477. * @param dialingNumber is the target phone number to for <
  2478. * @param timerSeconds is used by CFNRy to indicate the t <
  2479. * forwarding is attempted. <
  2480. * @param onComplete a callback message when the action i <
  2481. */ <
  2482. void setVtCallForwardingOption(int commandInterfaceCFReas <
  2483. int commandInterfaceCFActi <
  2484. String dialingNumber, <
  2485. int timerSeconds, <
  2486. Message onComplete); <
  2487. <
  2488. /** <
  2489. * getVtCallWaiting <
  2490. * gets VT call waiting activation state. The return valu <
  2491. * ((AsyncResult)onComplete.obj) is an array of int, with <
  2492. * <
  2493. * @param onComplete a callback message when the action i <
  2494. * @see com.android.internal.telephony.CommandsInt <
  2495. */ <
  2496. void getVtCallWaiting(Message onComplete); <
  2497. <
  2498. /** <
  2499. * setVtCallWaiting <
  2500. * sets VT call waiting state. <
  2501. * <
  2502. * @param enable is a boolean representing the state that <
  2503. * requesting, true for enabled, false for disable <
  2504. * @param onComplete a callback message when the action i <
  2505. */ <
  2506. void setVtCallWaiting(boolean enable, Message onComplete) <
  2507. <
  2508. /** <
  2509. * getVtFacilityLock <
  2510. * gets VT Call Barring States. The return value of <
  2511. * (AsyncResult)response.obj).result will be an Integer r <
  2512. * the sum of enabled serivice classes (sum of SERVICE_CL <
  2513. * <
  2514. * @param facility one of CB_FACILTY_* <
  2515. * @param password password or "" if not required <
  2516. * @param onComplete a callback message when the action i <
  2517. */ <
  2518. void getVtFacilityLock(String facility, String password, <
  2519. <
  2520. /** <
  2521. * setVtFacilityLock <
  2522. * sets VT Call Barring options. <
  2523. * <
  2524. * @param facility one of CB_FACILTY_* <
  2525. * @param enable true means lock, false means unlock <
  2526. * @param password password or "" if not required <
  2527. * @param onComplete a callback message when the action i <
  2528. */ <
  2529. void setVtFacilityLock(String facility, boolean enable, S <
  2530. /* vt end */ <
  2531. void updateSimIndicateState(); <
  2532. int getSimIndicateState(); <
  2533. <
  2534. /** <
  2535. *return true if the slot for this phone has SIM/USIM in <
  2536. */ <
  2537. boolean isSimInsert(); <
  2538. <
  2539. /* 3G Switch start */ <
  2540. /** <
  2541. * get3GCapabilitySIM <
  2542. * get SIM with 3G capability. <
  2543. * <
  2544. * @return the id (slot) with 3G capability (Phone.GEMINI <
  2545. */ <
  2546. int get3GCapabilitySIM(); <
  2547. <
  2548. /** <
  2549. * set3GCapabilitySIM <
  2550. * set 3G capability to the SIM. <
  2551. * <
  2552. * @param the id (slot) of the SIM to have 3G capability. <
  2553. * @return the id (slot) with 3G capability (Phone.GEMINI <
  2554. */ <
  2555. boolean set3GCapabilitySIM(int simId); <
  2556. /* 3G Switch end */ <
  2557. <
  2558. void getPOLCapability(Message onComplete); <
  2559. void getPreferedOperatorList(Message onComplete); <
  2560. void setPOLEntry(NetworkInfoWithAcT networkWithAct, Messa <
  2561. <
  2562. void setCRO(int mode, Message onComplete); //ALPS00279048 <
  2563. //MTK-END [mtk04070][111117][ALPS00093395]MTK proprietary <
  2564. <
  2565. // ALPS00294581 <
  2566. void notifySimMissingStatus(boolean isSimInsert); <
  2567. <
  2568. //via support start <
  2569. void requestSwitchHPF (boolean enableHPF, Message respons <
  2570. void setAvoidSYS (boolean avoidSYS, Message response); <
  2571. void getAvoidSYSList (Message response); <
  2572. void queryCDMANetworkInfo (Message response); <
  2573. //via support end <
  2574. <
  2575. // ALPS00296353 MVNO START <
  2576. String getSpNameInEfSpn(); <
  2577. String getSpNameInEfSpn(int simId); <
  2578. <
  2579. String isOperatorMvnoForImsi(); <
  2580. String isOperatorMvnoForImsi(int simId); <
  2581. <
  2582. boolean isIccCardProviderAsMvno(); <
  2583. boolean isIccCardProviderAsMvno(int simId); <
  2584. // ALPS00296353 MVNO END <
  2585. } }
Add Comment
Please, Sign In to add comment