Advertisement
Guest User

ril.class

a guest
Jul 19th, 2013
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 161.89 KB | None | 0 0
  1. package com.android.internal.telephony;
  2.  
  3. import android.app.ActivityManagerNative;
  4. import android.content.BroadcastReceiver;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.IntentFilter;
  8. import android.net.ConnectivityManager;
  9. import android.net.LocalSocket;
  10. import android.os.AsyncResult;
  11. import android.os.Handler;
  12. import android.os.HandlerThread;
  13. import android.os.Looper;
  14. import android.os.Message;
  15. import android.os.Parcel;
  16. import android.os.PowerManager;
  17. import android.os.PowerManager.WakeLock;
  18. import android.os.Registrant;
  19. import android.os.RegistrantList;
  20. import android.os.SystemProperties;
  21. import android.telephony.NeighboringCellInfo;
  22. import android.telephony.PhoneNumberUtils;
  23. import android.telephony.SignalStrength;
  24. import android.telephony.SmsMessage;
  25. import android.text.TextUtils;
  26. import android.util.Log;
  27. import com.android.internal.telephony.cdma.CdmaCallWaitingNotification;
  28. import com.android.internal.telephony.cdma.CdmaInformationRecords;
  29. import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaDisplayInfoRec;
  30. import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaLineControlInfoRec;
  31. import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaNumberInfoRec;
  32. import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaRedirectingNumberInfoRec;
  33. import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaSignalInfoRec;
  34. import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaT53AudioControlInfoRec;
  35. import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaT53ClirInfoRec;
  36. import com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo;
  37. import com.android.internal.telephony.cdma.DataProfileOmh;
  38. import com.android.internal.telephony.gsm.SmsBroadcastConfigInfo;
  39. import com.android.internal.telephony.gsm.SsData;
  40. import com.android.internal.telephony.gsm.SsData.RequestType;
  41. import com.android.internal.telephony.gsm.SsData.ServiceType;
  42. import com.android.internal.telephony.gsm.SuppServiceNotification;
  43. import com.android.internal.telephony.uicc.IccCardApplicationStatus;
  44. import com.android.internal.telephony.uicc.IccCardStatus;
  45. import com.android.internal.telephony.uicc.IccIoResult;
  46. import com.android.internal.telephony.uicc.IccRefreshResponse;
  47. import com.android.internal.telephony.uicc.IccUtils;
  48. import java.io.ByteArrayInputStream;
  49. import java.io.DataInputStream;
  50. import java.io.FileDescriptor;
  51. import java.io.IOException;
  52. import java.io.InputStream;
  53. import java.io.OutputStream;
  54. import java.io.PrintWriter;
  55. import java.io.UnsupportedEncodingException;
  56. import java.nio.ByteBuffer;
  57. import java.nio.ByteOrder;
  58. import java.util.ArrayList;
  59. import java.util.Arrays;
  60. import java.util.Collections;
  61. import java.util.Iterator;
  62. import java.util.concurrent.atomic.AtomicBoolean;
  63.  
  64. public final class RIL
  65. extends BaseCommands
  66. implements CommandsInterface
  67. {
  68. private static final int CDMA_BROADCAST_SMS_NO_OF_SERVICE_CATEGORIES = 31;
  69. private static final int CDMA_BSI_NO_OF_INTS_STRUCT = 3;
  70. private static final int DEFAULT_WAKE_LOCK_TIMEOUT = 60000;
  71. static final int EVENT_SEND = 1;
  72. static final int EVENT_WAKE_LOCK_TIMEOUT = 2;
  73. static final String LOG_TAG = "RILJ";
  74. static final int RESPONSE_SOLICITED = 0;
  75. static final int RESPONSE_UNSOLICITED = 1;
  76. static final boolean RILJ_LOGD = true;
  77. static final boolean RILJ_LOGV = false;
  78. static final int RIL_MAX_COMMAND_BYTES = 8192;
  79. static final String SOCKET_NAME_RIL = "rild";
  80. static final String SOCKET_NAME_RIL1 = "rild1";
  81. static final int SOCKET_OPEN_RETRY_MILLIS = 4000;
  82. private static final String hwDSDSMode = SystemProperties.get("ro.config.dsds_mode", "");
  83. private static final boolean isHwClipOverrideEnabled = SystemProperties.getBoolean("ro.config.hw_clip_override", false);
  84. private static final boolean isHwDSDAEnabled = SystemProperties.getBoolean("ro.config.hw_dsda", false);
  85. private Integer mInstanceId;
  86. BroadcastReceiver mIntentReceiver = new BroadcastReceiver()
  87. {
  88. public void onReceive(Context paramAnonymousContext, Intent paramAnonymousIntent)
  89. {
  90. if (paramAnonymousIntent.getAction().equals("android.intent.action.SCREEN_ON"))
  91. {
  92. RIL.this.sendScreenState(true);
  93. return;
  94. }
  95. if (paramAnonymousIntent.getAction().equals("android.intent.action.SCREEN_OFF"))
  96. {
  97. RIL.this.sendScreenState(false);
  98. return;
  99. }
  100. Log.w("RILJ", "RIL received unexpected Intent: " + paramAnonymousIntent.getAction());
  101. }
  102. };
  103. Object mLastNITZTimeInfo;
  104. private RILEx mRILEx = new RILEx(null);
  105. RILReceiver mReceiver;
  106. Thread mReceiverThread;
  107. int mRequestMessagesPending;
  108. int mRequestMessagesWaiting;
  109. ArrayList<RILRequest> mRequestsList = new ArrayList();
  110. RILSender mSender;
  111. HandlerThread mSenderThread;
  112. private int mSetPreferredNetworkType;
  113. LocalSocket mSocket;
  114. AtomicBoolean mTestingEmergencyCall = new AtomicBoolean(false);
  115. PowerManager.WakeLock mWakeLock;
  116. int mWakeLockTimeout;
  117.  
  118. public RIL(Context paramContext, int paramInt1, int paramInt2)
  119. {
  120. this(paramContext, paramInt1, paramInt2, null);
  121. }
  122.  
  123. public RIL(Context paramContext, int paramInt1, int paramInt2, Integer paramInteger)
  124. {
  125. super(paramContext);
  126. riljLog("RIL(context, preferredNetworkType=" + paramInt1 + " cdmaSubscription=" + paramInt2 + ")");
  127. mCdmaSubscription = paramInt2;
  128. mPreferredNetworkType = paramInt1;
  129. mPhoneType = 0;
  130. mInstanceId = paramInteger;
  131. mWakeLock = ((PowerManager)paramContext.getSystemService("power")).newWakeLock(1, "RILJ");
  132. mWakeLock.setReferenceCounted(false);
  133. mWakeLockTimeout = SystemProperties.getInt("ro.ril.wake_lock_timeout", 60000);
  134. mRequestMessagesPending = 0;
  135. mRequestMessagesWaiting = 0;
  136. mSenderThread = new HandlerThread("RILSender");
  137. mSenderThread.start();
  138. mSender = new RILSender(mSenderThread.getLooper());
  139. if (!((ConnectivityManager)paramContext.getSystemService("connectivity")).isNetworkSupported(0))
  140. riljLog("Not starting RILReceiver: wifi-only");
  141. if (SystemProperties.getBoolean("ro.radio.noril", false))
  142. {
  143. riljLog("Not starting RILReceiver: basebandless target");
  144. return;
  145. }
  146. riljLog("Starting RILReceiver");
  147. mReceiver = new RILReceiver();
  148. mReceiverThread = new Thread(mReceiver, "RILReceiver");
  149. mReceiverThread.start();
  150. IntentFilter localIntentFilter = new IntentFilter();
  151. localIntentFilter.addAction("android.intent.action.SCREEN_ON");
  152. localIntentFilter.addAction("android.intent.action.SCREEN_OFF");
  153. paramContext.registerReceiver(mIntentReceiver, localIntentFilter);
  154. paramContext.sendStickyBroadcast(new Intent("android.intent.action.ACTION_RILD_START"));
  155. }
  156.  
  157. private void acquireWakeLock()
  158. {
  159. synchronized (mWakeLock)
  160. {
  161. mWakeLock.acquire();
  162. mRequestMessagesPending = (1 + mRequestMessagesPending);
  163. mSender.removeMessages(2);
  164. Message localMessage = mSender.obtainMessage(2);
  165. mSender.sendMessageDelayed(localMessage, mWakeLockTimeout);
  166. return;
  167. }
  168. }
  169.  
  170. private void broadcastWifiChannelsChangedIntent(byte[] paramArrayOfByte)
  171. {
  172. Intent localIntent = new Intent("android.intent.action.SAFE_WIFI_CHANNELS_CHANGED");
  173. Log.d("RILJ", "WifiSafeChannels " + Arrays.toString(paramArrayOfByte));
  174. try
  175. {
  176. String str = new String(paramArrayOfByte, "US-ASCII");
  177. Log.d("RILJ", "Decoded string " + str);
  178. String[] arrayOfString = str.split(",");
  179. Log.d("RILJ", "Parsed channels " + Arrays.toString(arrayOfString));
  180. localIntent.putExtra("current_channel", Integer.parseInt(arrayOfString[0]));
  181. localIntent.putExtra("start_safe_channel", Integer.parseInt(arrayOfString[1]));
  182. localIntent.putExtra("end_safe_channel", Integer.parseInt(arrayOfString[2]));
  183. Log.d("RILJ", "Broadcasting intent ACTION_SAFE_WIFI_CHANNELS_CHANGED ");
  184. ActivityManagerNative.broadcastStickyIntent(localIntent, "android.permission.READ_PHONE_STATE");
  185. return;
  186. }
  187. catch (UnsupportedEncodingException localUnsupportedEncodingException)
  188. {
  189. Log.e("RILJ", "Decoding failed: " + localUnsupportedEncodingException);
  190. }
  191. }
  192.  
  193. private void clearRequestsList(int paramInt, boolean paramBoolean)
  194. {
  195. for (;;)
  196. {
  197. synchronized (mRequestsList)
  198. {
  199. int i = mRequestsList.size();
  200. if (paramBoolean)
  201. {
  202. Log.d("RILJ", "WAKE_LOCK_TIMEOUT mReqPending=" + mRequestMessagesPending + " mRequestList=" + i);
  203. break label180;
  204. if (j < i)
  205. {
  206. RILRequest localRILRequest = (RILRequest)mRequestsList.get(j);
  207. if (paramBoolean)
  208. Log.d("RILJ", j + ": [" + mSerial + "] " + requestToString(mRequest));
  209. localRILRequest.onError(paramInt, null);
  210. localRILRequest.release();
  211. j++;
  212. continue;
  213. }
  214. mRequestsList.clear();
  215. mRequestMessagesWaiting = 0;
  216. return;
  217. }
  218. }
  219. label180:
  220. int j = 0;
  221. }
  222. }
  223.  
  224. private void constructCdmaSendSmsRilRequest(RILRequest paramRILRequest, byte[] paramArrayOfByte)
  225. {
  226. DataInputStream localDataInputStream = new DataInputStream(new ByteArrayInputStream(paramArrayOfByte));
  227. try
  228. {
  229. mp.writeInt(localDataInputStream.readInt());
  230. mp.writeByte((byte)localDataInputStream.readInt());
  231. mp.writeInt(localDataInputStream.readInt());
  232. mp.writeInt(localDataInputStream.read());
  233. mp.writeInt(localDataInputStream.read());
  234. mp.writeInt(localDataInputStream.read());
  235. mp.writeInt(localDataInputStream.read());
  236. byte b1 = (byte)localDataInputStream.read();
  237. mp.writeByte(b1);
  238. for (byte b2 = 0; b2 < b1; b2++)
  239. mp.writeByte(localDataInputStream.readByte());
  240. mp.writeInt(localDataInputStream.read());
  241. mp.writeByte((byte)localDataInputStream.read());
  242. byte b3 = (byte)localDataInputStream.read();
  243. mp.writeByte(b3);
  244. for (byte b4 = 0; b4 < b3; b4++)
  245. mp.writeByte(localDataInputStream.readByte());
  246. int i = localDataInputStream.read();
  247. mp.writeInt(i);
  248. for (int j = 0; j < i; j++)
  249. mp.writeByte(localDataInputStream.readByte());
  250. return;
  251. }
  252. catch (IOException localIOException)
  253. {
  254. riljLog("sendSmsCdma: conversion from input stream to object failed: " + localIOException);
  255. }
  256. }
  257.  
  258. private void constructGsmSendSmsRilRequest(RILRequest paramRILRequest, String paramString1, String paramString2)
  259. {
  260. mp.writeInt(2);
  261. mp.writeString(paramString1);
  262. mp.writeString(paramString2);
  263. }
  264.  
  265. private RILRequest findAndRemoveRequestFromList(int paramInt)
  266. {
  267. ArrayList localArrayList = mRequestsList;
  268. for (int i = 0;; i++)
  269. try
  270. {
  271. int j = mRequestsList.size();
  272. if (i < j)
  273. {
  274. RILRequest localRILRequest = (RILRequest)mRequestsList.get(i);
  275. if (mSerial == paramInt)
  276. {
  277. mRequestsList.remove(i);
  278. if (mRequestMessagesWaiting > 0)
  279. mRequestMessagesWaiting = (-1 + mRequestMessagesWaiting);
  280. return localRILRequest;
  281. }
  282. }
  283. else
  284. {
  285. return null;
  286. }
  287. }
  288. finally {}
  289. }
  290.  
  291. private DataCallState getDataCallState(Parcel paramParcel, int paramInt)
  292. {
  293. DataCallState localDataCallState = new DataCallState();
  294. version = paramInt;
  295. if (paramInt < 5)
  296. {
  297. cid = paramParcel.readInt();
  298. active = paramParcel.readInt();
  299. type = paramParcel.readString();
  300. String str4 = paramParcel.readString();
  301. if (!TextUtils.isEmpty(str4))
  302. addresses = str4.split(" ");
  303. }
  304. String str3;
  305. do
  306. {
  307. return localDataCallState;
  308. status = paramParcel.readInt();
  309. suggestedRetryTime = paramParcel.readInt();
  310. cid = paramParcel.readInt();
  311. active = paramParcel.readInt();
  312. type = paramParcel.readString();
  313. ifname = paramParcel.readString();
  314. if ((status == DataConnection.FailCause.NONE.getErrorCode()) && (TextUtils.isEmpty(ifname)))
  315. throw new RuntimeException("getDataCallState, no ifname");
  316. String str1 = paramParcel.readString();
  317. if (!TextUtils.isEmpty(str1))
  318. addresses = str1.split(" ");
  319. String str2 = paramParcel.readString();
  320. if (!TextUtils.isEmpty(str2))
  321. dnses = str2.split(" ");
  322. str3 = paramParcel.readString();
  323. } while (TextUtils.isEmpty(str3));
  324. gateways = str3.split(" ");
  325. return localDataCallState;
  326. }
  327.  
  328. private CommandsInterface.RadioState getRadioStateFromInt(int paramInt)
  329. {
  330. switch (paramInt)
  331. {
  332. default:
  333. throw new RuntimeException("Unrecognized RIL_RadioState: " + paramInt);
  334. case 0:
  335. return CommandsInterface.RadioState.RADIO_OFF;
  336. case 1:
  337. return CommandsInterface.RadioState.RADIO_UNAVAILABLE;
  338. }
  339. return CommandsInterface.RadioState.RADIO_ON;
  340. }
  341.  
  342. private boolean isQcUnsolOemHookResp(ByteBuffer paramByteBuffer)
  343. {
  344. int i = 8 + "QUALCOMM".length();
  345. if (paramByteBuffer.capacity() < i)
  346. Log.d("RILJ", "RIL_UNSOL_OEM_HOOK_RAW data size is " + paramByteBuffer.capacity());
  347. String str;
  348. do
  349. {
  350. return false;
  351. byte[] arrayOfByte = new byte["QUALCOMM".length()];
  352. paramByteBuffer.get(arrayOfByte);
  353. str = new String(arrayOfByte);
  354. Log.d("RILJ", "Oem ID in RIL_UNSOL_OEM_HOOK_RAW is " + str);
  355. } while (!str.equals("QUALCOMM"));
  356. return true;
  357. }
  358.  
  359. private void notifyRegistrantsCdmaInfoRec(CdmaInformationRecords paramCdmaInformationRecords)
  360. {
  361. if ((record instanceof CdmaInformationRecords.CdmaDisplayInfoRec))
  362. if (mDisplayInfoRegistrants != null)
  363. {
  364. unsljLogRet(1027, record);
  365. mDisplayInfoRegistrants.notifyRegistrants(new AsyncResult(null, record, null));
  366. }
  367. do
  368. {
  369. do
  370. {
  371. do
  372. {
  373. do
  374. {
  375. do
  376. {
  377. do
  378. {
  379. return;
  380. if (!(record instanceof CdmaInformationRecords.CdmaSignalInfoRec)) {
  381. break;
  382. }
  383. } while (mSignalInfoRegistrants == null);
  384. unsljLogRet(1027, record);
  385. mSignalInfoRegistrants.notifyRegistrants(new AsyncResult(null, record, null));
  386. return;
  387. if (!(record instanceof CdmaInformationRecords.CdmaNumberInfoRec)) {
  388. break;
  389. }
  390. } while (mNumberInfoRegistrants == null);
  391. unsljLogRet(1027, record);
  392. mNumberInfoRegistrants.notifyRegistrants(new AsyncResult(null, record, null));
  393. return;
  394. if (!(record instanceof CdmaInformationRecords.CdmaRedirectingNumberInfoRec)) {
  395. break;
  396. }
  397. } while (mRedirNumInfoRegistrants == null);
  398. unsljLogRet(1027, record);
  399. mRedirNumInfoRegistrants.notifyRegistrants(new AsyncResult(null, record, null));
  400. return;
  401. if (!(record instanceof CdmaInformationRecords.CdmaLineControlInfoRec)) {
  402. break;
  403. }
  404. } while (mLineControlInfoRegistrants == null);
  405. unsljLogRet(1027, record);
  406. mLineControlInfoRegistrants.notifyRegistrants(new AsyncResult(null, record, null));
  407. return;
  408. if (!(record instanceof CdmaInformationRecords.CdmaT53ClirInfoRec)) {
  409. break;
  410. }
  411. } while (mT53ClirInfoRegistrants == null);
  412. unsljLogRet(1027, record);
  413. mT53ClirInfoRegistrants.notifyRegistrants(new AsyncResult(null, record, null));
  414. return;
  415. } while ((!(record instanceof CdmaInformationRecords.CdmaT53AudioControlInfoRec)) || (mT53AudCntrlInfoRegistrants == null));
  416. unsljLogRet(1027, record);
  417. mT53AudCntrlInfoRegistrants.notifyRegistrants(new AsyncResult(null, record, null));
  418. }
  419.  
  420. private void notifyRegistrantsRilConnectionChanged(int paramInt)
  421. {
  422. mRilVersion = paramInt;
  423. if (mRilConnectedRegistrants != null)
  424. mRilConnectedRegistrants.notifyRegistrants(new AsyncResult(null, new Integer(paramInt), null));
  425. }
  426.  
  427. private void processResponse(Parcel paramParcel)
  428. {
  429. int i = paramParcel.readInt();
  430. if (i == 1)
  431. processUnsolicited(paramParcel);
  432. for (;;)
  433. {
  434. releaseWakeLockIfDone();
  435. return;
  436. if (i == 0)
  437. processSolicited(paramParcel);
  438. }
  439. }
  440.  
  441. private void processSolicited(Parcel paramParcel)
  442. {
  443. int i = paramParcel.readInt();
  444. int j = paramParcel.readInt();
  445. RILRequest localRILRequest = findAndRemoveRequestFromList(i);
  446. if (localRILRequest == null)
  447. {
  448. Log.w("RILJ", "Unexpected solicited response! sn: " + i + " error: " + j);
  449. return;
  450. }
  451. Object localObject2;
  452. if (j != 0)
  453. {
  454. int k = paramParcel.dataAvail();
  455. localObject2 = null;
  456. if (k <= 0) {}
  457. }
  458. else
  459. {
  460. try
  461. {
  462. switch (mRequest)
  463. {
  464. default:
  465. throw new RuntimeException("Unrecognized solicited response: " + mRequest);
  466. }
  467. }
  468. catch (Throwable localThrowable)
  469. {
  470. Log.w("RILJ", localRILRequest.serialString() + "< " + requestToString(mRequest) + " exception, possible invalid RIL response", localThrowable);
  471. if (mResult != null)
  472. {
  473. AsyncResult.forMessage(mResult, null, localThrowable);
  474. mResult.sendToTarget();
  475. }
  476. localRILRequest.release();
  477. return;
  478. }
  479. Object localObject3 = responseIccCardStatus(paramParcel);
  480. localObject2 = localObject3;
  481. }
  482. while (j != 0)
  483. {
  484. localRILRequest.onError(j, localObject2);
  485. localRILRequest.release();
  486. return;
  487. localObject2 = responseInts(paramParcel);
  488. continue;
  489. localObject2 = responseInts(paramParcel);
  490. continue;
  491. localObject2 = responseInts(paramParcel);
  492. continue;
  493. localObject2 = responseInts(paramParcel);
  494. continue;
  495. localObject2 = responseInts(paramParcel);
  496. continue;
  497. localObject2 = responseInts(paramParcel);
  498. continue;
  499. localObject2 = responseInts(paramParcel);
  500. continue;
  501. localObject2 = responseCallList(paramParcel);
  502. continue;
  503. localObject2 = responseVoid(paramParcel);
  504. continue;
  505. localObject2 = responseString(paramParcel);
  506. continue;
  507. localObject2 = responseVoid(paramParcel);
  508. continue;
  509. localObject2 = responseVoid(paramParcel);
  510. continue;
  511. if ((mTestingEmergencyCall.getAndSet(false)) && (mEmergencyCallbackModeRegistrant != null))
  512. {
  513. riljLog("testing emergency call, notify ECM Registrants");
  514. mEmergencyCallbackModeRegistrant.notifyRegistrant();
  515. }
  516. localObject2 = responseVoid(paramParcel);
  517. continue;
  518. localObject2 = responseVoid(paramParcel);
  519. continue;
  520. localObject2 = responseVoid(paramParcel);
  521. continue;
  522. localObject2 = responseVoid(paramParcel);
  523. continue;
  524. localObject2 = responseInts(paramParcel);
  525. continue;
  526. localObject2 = responseSignalStrength(paramParcel);
  527. continue;
  528. localObject2 = responseStrings(paramParcel);
  529. continue;
  530. localObject2 = responseStrings(paramParcel);
  531. continue;
  532. localObject2 = responseStrings(paramParcel);
  533. continue;
  534. localObject2 = responseVoid(paramParcel);
  535. continue;
  536. localObject2 = responseVoid(paramParcel);
  537. continue;
  538. localObject2 = responseSMS(paramParcel);
  539. continue;
  540. localObject2 = responseStrings(paramParcel);
  541. continue;
  542. localObject2 = responseStrings(paramParcel);
  543. continue;
  544. localObject2 = responseStrings(paramParcel);
  545. continue;
  546. localObject2 = responseStrings(paramParcel);
  547. continue;
  548. localObject2 = responseStrings(paramParcel);
  549. continue;
  550. localObject2 = responseStrings(paramParcel);
  551. continue;
  552. localObject2 = responseSMS(paramParcel);
  553. continue;
  554. localObject2 = responseSetupDataCall(paramParcel);
  555. continue;
  556. localObject2 = responseICC_IO(paramParcel);
  557. continue;
  558. localObject2 = responseICC_IO(paramParcel);
  559. continue;
  560. localObject2 = responseInts(paramParcel);
  561. continue;
  562. localObject2 = responseVoid(paramParcel);
  563. continue;
  564. localObject2 = responseICC_IO(paramParcel);
  565. continue;
  566. localObject2 = responseString(paramParcel);
  567. continue;
  568. localObject2 = responseVoid(paramParcel);
  569. continue;
  570. localObject2 = responseVoid(paramParcel);
  571. continue;
  572. localObject2 = responseInts(paramParcel);
  573. continue;
  574. localObject2 = responseVoid(paramParcel);
  575. continue;
  576. localObject2 = responseCallForward(paramParcel);
  577. continue;
  578. localObject2 = responseVoid(paramParcel);
  579. continue;
  580. localObject2 = responseInts(paramParcel);
  581. continue;
  582. localObject2 = responseVoid(paramParcel);
  583. continue;
  584. localObject2 = responseVoid(paramParcel);
  585. continue;
  586. localObject2 = responseString(paramParcel);
  587. continue;
  588. localObject2 = responseString(paramParcel);
  589. continue;
  590. localObject2 = responseVoid(paramParcel);
  591. continue;
  592. localObject2 = responseVoid(paramParcel);
  593. continue;
  594. localObject2 = responseInts(paramParcel);
  595. continue;
  596. localObject2 = responseInts(paramParcel);
  597. continue;
  598. localObject2 = responseVoid(paramParcel);
  599. continue;
  600. localObject2 = responseInts(paramParcel);
  601. continue;
  602. localObject2 = responseVoid(paramParcel);
  603. continue;
  604. localObject2 = responseVoid(paramParcel);
  605. continue;
  606. localObject2 = responseOperatorInfos(paramParcel);
  607. continue;
  608. localObject2 = responseVoid(paramParcel);
  609. continue;
  610. localObject2 = responseVoid(paramParcel);
  611. continue;
  612. localObject2 = responseString(paramParcel);
  613. continue;
  614. localObject2 = responseVoid(paramParcel);
  615. continue;
  616. localObject2 = responseVoid(paramParcel);
  617. continue;
  618. localObject2 = responseInts(paramParcel);
  619. continue;
  620. localObject2 = responseInts(paramParcel);
  621. continue;
  622. localObject2 = responseInts(paramParcel);
  623. continue;
  624. localObject2 = responseDataCallList(paramParcel);
  625. continue;
  626. localObject2 = responseVoid(paramParcel);
  627. continue;
  628. localObject2 = responseRaw(paramParcel);
  629. continue;
  630. localObject2 = responseStrings(paramParcel);
  631. continue;
  632. localObject2 = responseVoid(paramParcel);
  633. continue;
  634. localObject2 = responseVoid(paramParcel);
  635. continue;
  636. localObject2 = responseInts(paramParcel);
  637. continue;
  638. localObject2 = responseVoid(paramParcel);
  639. continue;
  640. localObject2 = responseVoid(paramParcel);
  641. continue;
  642. localObject2 = responseInts(paramParcel);
  643. continue;
  644. localObject2 = responseString(paramParcel);
  645. continue;
  646. localObject2 = responseVoid(paramParcel);
  647. continue;
  648. localObject2 = responseString(paramParcel);
  649. continue;
  650. localObject2 = responseVoid(paramParcel);
  651. continue;
  652. localObject2 = responseInts(paramParcel);
  653. continue;
  654. localObject2 = responseVoid(paramParcel);
  655. continue;
  656. localObject2 = responseVoid(paramParcel);
  657. continue;
  658. localObject2 = responseGetPreferredNetworkType(paramParcel);
  659. continue;
  660. localObject2 = responseCellList(paramParcel);
  661. continue;
  662. localObject2 = responseVoid(paramParcel);
  663. continue;
  664. localObject2 = responseVoid(paramParcel);
  665. continue;
  666. localObject2 = responseVoid(paramParcel);
  667. continue;
  668. localObject2 = responseInts(paramParcel);
  669. continue;
  670. localObject2 = responseVoid(paramParcel);
  671. continue;
  672. localObject2 = responseInts(paramParcel);
  673. continue;
  674. localObject2 = responseVoid(paramParcel);
  675. continue;
  676. localObject2 = responseInts(paramParcel);
  677. continue;
  678. localObject2 = responseVoid(paramParcel);
  679. continue;
  680. localObject2 = responseVoid(paramParcel);
  681. continue;
  682. localObject2 = responseSMS(paramParcel);
  683. continue;
  684. localObject2 = responseVoid(paramParcel);
  685. continue;
  686. localObject2 = responseGmsBroadcastConfig(paramParcel);
  687. continue;
  688. localObject2 = responseVoid(paramParcel);
  689. continue;
  690. localObject2 = responseVoid(paramParcel);
  691. continue;
  692. localObject2 = responseCdmaBroadcastConfig(paramParcel);
  693. continue;
  694. localObject2 = responseVoid(paramParcel);
  695. continue;
  696. localObject2 = responseVoid(paramParcel);
  697. continue;
  698. localObject2 = responseVoid(paramParcel);
  699. continue;
  700. localObject2 = responseStrings(paramParcel);
  701. continue;
  702. localObject2 = responseInts(paramParcel);
  703. continue;
  704. localObject2 = responseVoid(paramParcel);
  705. continue;
  706. localObject2 = responseStrings(paramParcel);
  707. continue;
  708. localObject2 = responseString(paramParcel);
  709. continue;
  710. localObject2 = responseVoid(paramParcel);
  711. continue;
  712. localObject2 = responseVoid(paramParcel);
  713. continue;
  714. localObject2 = responseVoid(paramParcel);
  715. continue;
  716. localObject2 = responseVoid(paramParcel);
  717. continue;
  718. localObject2 = responseInts(paramParcel);
  719. continue;
  720. localObject2 = responseGetDataCallProfile(paramParcel);
  721. continue;
  722. localObject2 = responseString(paramParcel);
  723. continue;
  724. localObject2 = responseVoid(paramParcel);
  725. continue;
  726. localObject2 = responseICC_IO(paramParcel);
  727. continue;
  728. localObject2 = responseInts(paramParcel);
  729. continue;
  730. localObject2 = responseInts(paramParcel);
  731. continue;
  732. localObject2 = responseSMS(paramParcel);
  733. continue;
  734. localObject2 = responseVoid(paramParcel);
  735. continue;
  736. localObject2 = responseVoid(paramParcel);
  737. continue;
  738. localObject2 = responseUiccSubscription(paramParcel);
  739. continue;
  740. localObject2 = responseInts(paramParcel);
  741. continue;
  742. Object localObject1 = responseVoid(paramParcel);
  743. localObject2 = localObject1;
  744. }
  745. riljLog(localRILRequest.serialString() + "< " + requestToString(mRequest) + " " + retToString(mRequest, localObject2));
  746. if (mResult != null)
  747. {
  748. AsyncResult.forMessage(mResult, localObject2, null);
  749. mResult.sendToTarget();
  750. }
  751. localRILRequest.release();
  752. }
  753.  
  754. private void processUnsolOemhookResponse(ByteBuffer paramByteBuffer)
  755. {
  756. int i = paramByteBuffer.getInt();
  757. Log.d("RILJ", "Response ID in RIL_UNSOL_OEM_HOOK_RAW is " + i);
  758. int j = paramByteBuffer.getInt();
  759. if (j < 0)
  760. Log.e("RILJ", "Response Size is Invalid " + j);
  761. byte[] arrayOfByte1;
  762. do
  763. {
  764. return;
  765. arrayOfByte1 = new byte[j];
  766. paramByteBuffer.get(arrayOfByte1, 0, j);
  767. switch (i)
  768. {
  769. case 525292:
  770. case 525293:
  771. case 525294:
  772. case 525295:
  773. default:
  774. Log.d("RILJ", "Response ID " + i + "is not served in this process.");
  775. Log.d("RILJ", "To broadcast an Intent via the notifier to external apps");
  776. }
  777. } while (mUnsolOemHookExtAppRegistrant == null);
  778. paramByteBuffer.rewind();
  779. byte[] arrayOfByte2 = paramByteBuffer.array();
  780. mUnsolOemHookExtAppRegistrant.notifyRegistrant(new AsyncResult(null, arrayOfByte2, null));
  781. return;
  782. notifyCdmaFwdBurstDtmf(arrayOfByte1);
  783. return;
  784. notifyCdmaFwdContDtmfStart(arrayOfByte1);
  785. return;
  786. notifyCdmaFwdContDtmfStop();
  787. return;
  788. broadcastWifiChannelsChangedIntent(arrayOfByte1);
  789. }
  790.  
  791. private void processUnsolicited(Parcel paramParcel)
  792. {
  793. int i = paramParcel.readInt();
  794. switch (i)
  795. {
  796. }
  797. Object localObject2;
  798. do
  799. {
  800. do
  801. {
  802. do
  803. {
  804. do
  805. {
  806. do
  807. {
  808. do
  809. {
  810. do
  811. {
  812. do
  813. {
  814. do
  815. {
  816. do
  817. {
  818. do
  819. {
  820. do
  821. {
  822. for (;;)
  823. {
  824. try
  825. {
  826. throw new RuntimeException("Unrecognized unsol response: " + i);
  827. }
  828. catch (Throwable localThrowable)
  829. {
  830. Log.e("RILJ", "Exception processing unsol response: " + i + "Exception:" + localThrowable.toString());
  831. return;
  832. }
  833. Object localObject3 = responseVoid(paramParcel);
  834. localObject2 = localObject3;
  835. for (;;)
  836. {
  837. switch (i)
  838. {
  839. case 1007:
  840. default:
  841. return;
  842. case 1000:
  843. CommandsInterface.RadioState localRadioState = getRadioStateFromInt(paramParcel.readInt());
  844. unsljLogMore(i, localRadioState.toString());
  845. switchToRadioState(localRadioState);
  846. return;
  847. localObject2 = responseVoid(paramParcel);
  848. continue;
  849. localObject2 = responseVoid(paramParcel);
  850. continue;
  851. localObject2 = responseString(paramParcel);
  852. continue;
  853. localObject2 = responseString(paramParcel);
  854. continue;
  855. localObject2 = responseInts(paramParcel);
  856. continue;
  857. localObject2 = responseStrings(paramParcel);
  858. continue;
  859. localObject2 = responseString(paramParcel);
  860. continue;
  861. localObject2 = responseSignalStrength(paramParcel);
  862. continue;
  863. localObject2 = responseDataCallList(paramParcel);
  864. continue;
  865. localObject2 = responseSuppServiceNotification(paramParcel);
  866. continue;
  867. localObject2 = responseVoid(paramParcel);
  868. continue;
  869. localObject2 = responseString(paramParcel);
  870. continue;
  871. localObject2 = responseString(paramParcel);
  872. continue;
  873. localObject2 = responseInts(paramParcel);
  874. continue;
  875. localObject2 = responseVoid(paramParcel);
  876. continue;
  877. localObject2 = responseSimRefresh(paramParcel);
  878. continue;
  879. localObject2 = responseCallRing(paramParcel);
  880. continue;
  881. localObject2 = responseInts(paramParcel);
  882. continue;
  883. localObject2 = responseVoid(paramParcel);
  884. continue;
  885. localObject2 = responseCdmaSms(paramParcel);
  886. continue;
  887. localObject2 = responseRaw(paramParcel);
  888. continue;
  889. localObject2 = responseVoid(paramParcel);
  890. continue;
  891. localObject2 = responseVoid(paramParcel);
  892. continue;
  893. localObject2 = responseCdmaCallWaiting(paramParcel);
  894. continue;
  895. localObject2 = responseInts(paramParcel);
  896. continue;
  897. localObject2 = responseCdmaInformationRecord(paramParcel);
  898. continue;
  899. localObject2 = responseRaw(paramParcel);
  900. continue;
  901. localObject2 = responseInts(paramParcel);
  902. continue;
  903. localObject2 = responseVoid(paramParcel);
  904. continue;
  905. localObject2 = responseInts(paramParcel);
  906. continue;
  907. localObject2 = responseInts(paramParcel);
  908. continue;
  909. localObject2 = responseVoid(paramParcel);
  910. continue;
  911. localObject2 = responseInts(paramParcel);
  912. continue;
  913. localObject2 = responseInts(paramParcel);
  914. continue;
  915. localObject2 = responseVoid(paramParcel);
  916. continue;
  917. localObject2 = responseInts(paramParcel);
  918. continue;
  919. localObject2 = responseStrings(paramParcel);
  920. continue;
  921. localObject2 = responseInts(paramParcel);
  922. continue;
  923. localObject2 = responseSSData(paramParcel);
  924. continue;
  925. Object localObject1 = responseString(paramParcel);
  926. localObject2 = localObject1;
  927. }
  928. }
  929. unsljLog(i);
  930. mImsNetworkStateChangedRegistrants.notifyRegistrants(new AsyncResult(null, null, null));
  931. return;
  932. unsljLog(i);
  933. mCallStateRegistrants.notifyRegistrants(new AsyncResult(null, null, null));
  934. return;
  935. unsljLog(i);
  936. mVoiceNetworkStateRegistrants.notifyRegistrants(new AsyncResult(null, null, null));
  937. return;
  938. unsljLog(i);
  939. String[] arrayOfString2 = new String[2];
  940. arrayOfString2[1] = ((String)localObject2);
  941. SmsMessage localSmsMessage2 = SmsMessage.newFromCMT(arrayOfString2);
  942. if (mGsmSmsRegistrant != null)
  943. {
  944. Registrant localRegistrant18 = mGsmSmsRegistrant;
  945. AsyncResult localAsyncResult29 = new AsyncResult(null, localSmsMessage2, null);
  946. localRegistrant18.notifyRegistrant(localAsyncResult29);
  947. return;
  948. unsljLogRet(i, localObject2);
  949. if (mSmsStatusRegistrant != null)
  950. {
  951. Registrant localRegistrant17 = mSmsStatusRegistrant;
  952. AsyncResult localAsyncResult28 = new AsyncResult(null, localObject2, null);
  953. localRegistrant17.notifyRegistrant(localAsyncResult28);
  954. return;
  955. unsljLogRet(i, localObject2);
  956. int[] arrayOfInt = (int[])localObject2;
  957. if (arrayOfInt.length == 1)
  958. {
  959. if (mSmsOnSimRegistrant != null)
  960. {
  961. Registrant localRegistrant16 = mSmsOnSimRegistrant;
  962. AsyncResult localAsyncResult27 = new AsyncResult(null, arrayOfInt, null);
  963. localRegistrant16.notifyRegistrant(localAsyncResult27);
  964. }
  965. }
  966. else
  967. {
  968. riljLog(" NEW_SMS_ON_SIM ERROR with wrong length " + arrayOfInt.length);
  969. return;
  970. String[] arrayOfString1 = (String[])localObject2;
  971. if (arrayOfString1.length < 2)
  972. {
  973. arrayOfString1 = new String[2];
  974. arrayOfString1[0] = ((String[])(String[])localObject2)[0];
  975. arrayOfString1[1] = null;
  976. }
  977. unsljLogMore(i, arrayOfString1[0]);
  978. if (mUSSDRegistrant != null)
  979. {
  980. Registrant localRegistrant15 = mUSSDRegistrant;
  981. AsyncResult localAsyncResult26 = new AsyncResult(null, arrayOfString1, null);
  982. localRegistrant15.notifyRegistrant(localAsyncResult26);
  983. return;
  984. unsljLogRet(i, localObject2);
  985. long l = paramParcel.readLong();
  986. Object[] arrayOfObject = new Object[2];
  987. arrayOfObject[0] = localObject2;
  988. arrayOfObject[1] = Long.valueOf(l);
  989. if (SystemProperties.getBoolean("telephony.test.ignore.nitz", false))
  990. {
  991. riljLog("ignoring UNSOL_NITZ_TIME_RECEIVED");
  992. return;
  993. }
  994. if (mNITZTimeRegistrant != null)
  995. {
  996. Registrant localRegistrant14 = mNITZTimeRegistrant;
  997. AsyncResult localAsyncResult25 = new AsyncResult(null, arrayOfObject, null);
  998. localRegistrant14.notifyRegistrant(localAsyncResult25);
  999. return;
  1000. }
  1001. mLastNITZTimeInfo = arrayOfObject;
  1002. return;
  1003. if (mSignalStrengthRegistrant != null)
  1004. {
  1005. Registrant localRegistrant13 = mSignalStrengthRegistrant;
  1006. AsyncResult localAsyncResult24 = new AsyncResult(null, localObject2, null);
  1007. localRegistrant13.notifyRegistrant(localAsyncResult24);
  1008. return;
  1009. unsljLogRet(i, localObject2);
  1010. RegistrantList localRegistrantList11 = mDataNetworkStateRegistrants;
  1011. AsyncResult localAsyncResult23 = new AsyncResult(null, localObject2, null);
  1012. localRegistrantList11.notifyRegistrants(localAsyncResult23);
  1013. return;
  1014. unsljLogRet(i, localObject2);
  1015. if (mSsnRegistrant != null)
  1016. {
  1017. Registrant localRegistrant12 = mSsnRegistrant;
  1018. AsyncResult localAsyncResult22 = new AsyncResult(null, localObject2, null);
  1019. localRegistrant12.notifyRegistrant(localAsyncResult22);
  1020. return;
  1021. unsljLog(i);
  1022. if (mCatSessionEndRegistrant != null)
  1023. {
  1024. Registrant localRegistrant11 = mCatSessionEndRegistrant;
  1025. AsyncResult localAsyncResult21 = new AsyncResult(null, localObject2, null);
  1026. localRegistrant11.notifyRegistrant(localAsyncResult21);
  1027. return;
  1028. unsljLogRet(i, localObject2);
  1029. if (mCatProCmdRegistrant != null)
  1030. {
  1031. Registrant localRegistrant10 = mCatProCmdRegistrant;
  1032. AsyncResult localAsyncResult20 = new AsyncResult(null, localObject2, null);
  1033. localRegistrant10.notifyRegistrant(localAsyncResult20);
  1034. return;
  1035. unsljLogRet(i, localObject2);
  1036. if (mCatEventRegistrant != null)
  1037. {
  1038. Registrant localRegistrant9 = mCatEventRegistrant;
  1039. AsyncResult localAsyncResult19 = new AsyncResult(null, localObject2, null);
  1040. localRegistrant9.notifyRegistrant(localAsyncResult19);
  1041. return;
  1042. unsljLogRet(i, localObject2);
  1043. if (mCatCallSetUpRegistrant != null)
  1044. {
  1045. Registrant localRegistrant8 = mCatCallSetUpRegistrant;
  1046. AsyncResult localAsyncResult18 = new AsyncResult(null, localObject2, null);
  1047. localRegistrant8.notifyRegistrant(localAsyncResult18);
  1048. return;
  1049. unsljLog(i);
  1050. if (mIccSmsFullRegistrant != null)
  1051. {
  1052. mIccSmsFullRegistrant.notifyRegistrant();
  1053. return;
  1054. unsljLogRet(i, localObject2);
  1055. if (mIccRefreshRegistrants != null)
  1056. {
  1057. RegistrantList localRegistrantList10 = mIccRefreshRegistrants;
  1058. AsyncResult localAsyncResult17 = new AsyncResult(null, localObject2, null);
  1059. localRegistrantList10.notifyRegistrants(localAsyncResult17);
  1060. return;
  1061. unsljLogRet(i, localObject2);
  1062. if (mRingRegistrant != null)
  1063. {
  1064. Registrant localRegistrant7 = mRingRegistrant;
  1065. AsyncResult localAsyncResult16 = new AsyncResult(null, localObject2, null);
  1066. localRegistrant7.notifyRegistrant(localAsyncResult16);
  1067. return;
  1068. unsljLogvRet(i, localObject2);
  1069. if (mRestrictedStateRegistrant != null)
  1070. {
  1071. Registrant localRegistrant6 = mRestrictedStateRegistrant;
  1072. AsyncResult localAsyncResult15 = new AsyncResult(null, localObject2, null);
  1073. localRegistrant6.notifyRegistrant(localAsyncResult15);
  1074. return;
  1075. unsljLog(i);
  1076. if (mIccStatusChangedRegistrants != null)
  1077. {
  1078. mIccStatusChangedRegistrants.notifyRegistrants();
  1079. return;
  1080. unsljLog(i);
  1081. SmsMessage localSmsMessage1 = (SmsMessage)localObject2;
  1082. if (mCdmaSmsRegistrant != null)
  1083. {
  1084. Registrant localRegistrant5 = mCdmaSmsRegistrant;
  1085. AsyncResult localAsyncResult14 = new AsyncResult(null, localSmsMessage1, null);
  1086. localRegistrant5.notifyRegistrant(localAsyncResult14);
  1087. return;
  1088. unsljLog(i);
  1089. if (mGsmBroadcastSmsRegistrant != null)
  1090. {
  1091. Registrant localRegistrant4 = mGsmBroadcastSmsRegistrant;
  1092. AsyncResult localAsyncResult13 = new AsyncResult(null, localObject2, null);
  1093. localRegistrant4.notifyRegistrant(localAsyncResult13);
  1094. return;
  1095. unsljLog(i);
  1096. if (mIccSmsFullRegistrant != null)
  1097. {
  1098. mIccSmsFullRegistrant.notifyRegistrant();
  1099. return;
  1100. unsljLog(i);
  1101. if (mEmergencyCallbackModeRegistrant != null)
  1102. {
  1103. mEmergencyCallbackModeRegistrant.notifyRegistrant();
  1104. return;
  1105. unsljLogRet(i, localObject2);
  1106. if (mCallWaitingInfoRegistrants != null)
  1107. {
  1108. RegistrantList localRegistrantList9 = mCallWaitingInfoRegistrants;
  1109. AsyncResult localAsyncResult12 = new AsyncResult(null, localObject2, null);
  1110. localRegistrantList9.notifyRegistrants(localAsyncResult12);
  1111. return;
  1112. unsljLogRet(i, localObject2);
  1113. if (mOtaProvisionRegistrants != null)
  1114. {
  1115. RegistrantList localRegistrantList8 = mOtaProvisionRegistrants;
  1116. AsyncResult localAsyncResult11 = new AsyncResult(null, localObject2, null);
  1117. localRegistrantList8.notifyRegistrants(localAsyncResult11);
  1118. return;
  1119. try
  1120. {
  1121. ArrayList localArrayList = (ArrayList)localObject2;
  1122. Iterator localIterator = localArrayList.iterator();
  1123. while (localIterator.hasNext())
  1124. {
  1125. CdmaInformationRecords localCdmaInformationRecords = (CdmaInformationRecords)localIterator.next();
  1126. unsljLogRet(i, localCdmaInformationRecords);
  1127. notifyRegistrantsCdmaInfoRec(localCdmaInformationRecords);
  1128. }
  1129. unsljLogvRet(i, IccUtils.bytesToHexString((byte[])localObject2));
  1130. }
  1131. catch (ClassCastException localClassCastException)
  1132. {
  1133. Log.e("RILJ", "Unexpected exception casting to listInfoRecs", localClassCastException);
  1134. return;
  1135. }
  1136. }
  1137. }
  1138. }
  1139. }
  1140. }
  1141. }
  1142. }
  1143. }
  1144. }
  1145. }
  1146. }
  1147. }
  1148. }
  1149. }
  1150. }
  1151. }
  1152. }
  1153. }
  1154. }
  1155. }
  1156. }
  1157. }
  1158. ByteBuffer localByteBuffer = ByteBuffer.wrap((byte[])localObject2);
  1159. localByteBuffer.order(ByteOrder.nativeOrder());
  1160. if (isQcUnsolOemHookResp(localByteBuffer))
  1161. {
  1162. Log.d("RILJ", "OEM ID check Passed");
  1163. processUnsolOemhookResponse(localByteBuffer);
  1164. return;
  1165. }
  1166. } while (mUnsolOemHookRawRegistrant == null);
  1167. Log.d("RILJ", "External OEM message, to be notified");
  1168. Registrant localRegistrant3 = mUnsolOemHookRawRegistrant;
  1169. AsyncResult localAsyncResult10 = new AsyncResult(null, localObject2, null);
  1170. localRegistrant3.notifyRegistrant(localAsyncResult10);
  1171. return;
  1172. unsljLogvRet(i, localObject2);
  1173. } while (mRingbackToneRegistrants == null);
  1174. if (((int[])(int[])localObject2)[0] == 1) {}
  1175. for (boolean bool = true;; bool = false)
  1176. {
  1177. mRingbackToneRegistrants.notifyRegistrants(new AsyncResult(null, Boolean.valueOf(bool), null));
  1178. return;
  1179. }
  1180. unsljLogRet(i, localObject2);
  1181. } while (mResendIncallMuteRegistrants == null);
  1182. RegistrantList localRegistrantList7 = mResendIncallMuteRegistrants;
  1183. AsyncResult localAsyncResult9 = new AsyncResult(null, localObject2, null);
  1184. localRegistrantList7.notifyRegistrants(localAsyncResult9);
  1185. return;
  1186. unsljLogRet(i, localObject2);
  1187. } while (mVoiceRadioTechChangedRegistrants == null);
  1188. RegistrantList localRegistrantList6 = mVoiceRadioTechChangedRegistrants;
  1189. AsyncResult localAsyncResult8 = new AsyncResult(null, localObject2, null);
  1190. localRegistrantList6.notifyRegistrants(localAsyncResult8);
  1191. return;
  1192. unsljLogRet(i, localObject2);
  1193. } while (mCdmaSubscriptionChangedRegistrants == null);
  1194. RegistrantList localRegistrantList5 = mCdmaSubscriptionChangedRegistrants;
  1195. AsyncResult localAsyncResult7 = new AsyncResult(null, localObject2, null);
  1196. localRegistrantList5.notifyRegistrants(localAsyncResult7);
  1197. return;
  1198. unsljLogRet(i, localObject2);
  1199. } while (mSSRegistrant == null);
  1200. Registrant localRegistrant2 = mSSRegistrant;
  1201. AsyncResult localAsyncResult6 = new AsyncResult(null, localObject2, null);
  1202. localRegistrant2.notifyRegistrant(localAsyncResult6);
  1203. return;
  1204. unsljLogRet(i, localObject2);
  1205. } while (mCatCcAlphaRegistrant == null);
  1206. Registrant localRegistrant1 = mCatCcAlphaRegistrant;
  1207. AsyncResult localAsyncResult5 = new AsyncResult(null, localObject2, null);
  1208. localRegistrant1.notifyRegistrant(localAsyncResult5);
  1209. return;
  1210. unsljLogRet(i, localObject2);
  1211. } while (mCdmaPrlChangedRegistrants == null);
  1212. RegistrantList localRegistrantList4 = mCdmaPrlChangedRegistrants;
  1213. AsyncResult localAsyncResult4 = new AsyncResult(null, localObject2, null);
  1214. localRegistrantList4.notifyRegistrants(localAsyncResult4);
  1215. return;
  1216. unsljLogRet(i, localObject2);
  1217. } while (mExitEmergencyCallbackModeRegistrants == null);
  1218. mExitEmergencyCallbackModeRegistrants.notifyRegistrants(new AsyncResult(null, null, null));
  1219. return;
  1220. unsljLogRet(i, localObject2);
  1221. notifyRegistrantsRilConnectionChanged(((int[])(int[])localObject2)[0]);
  1222. return;
  1223. unsljLogvRet(i, localObject2);
  1224. } while (mTetheredModeStateRegistrants == null);
  1225. if (localObject2 != null)
  1226. {
  1227. RegistrantList localRegistrantList3 = mTetheredModeStateRegistrants;
  1228. AsyncResult localAsyncResult3 = new AsyncResult(null, localObject2, null);
  1229. localRegistrantList3.notifyRegistrants(localAsyncResult3);
  1230. return;
  1231. }
  1232. Log.e("RILJ", "null returned, expected non-null");
  1233. return;
  1234. unsljLogRet(i, localObject2);
  1235. } while (mQosStateChangedIndRegistrants == null);
  1236. RegistrantList localRegistrantList2 = mQosStateChangedIndRegistrants;
  1237. AsyncResult localAsyncResult2 = new AsyncResult(null, localObject2, null);
  1238. localRegistrantList2.notifyRegistrants(localAsyncResult2);
  1239. return;
  1240. unsljLogRet(i, localObject2);
  1241. } while (mSubscriptionStatusRegistrants == null);
  1242. RegistrantList localRegistrantList1 = mSubscriptionStatusRegistrants;
  1243. AsyncResult localAsyncResult1 = new AsyncResult(null, localObject2, null);
  1244. localRegistrantList1.notifyRegistrants(localAsyncResult1);
  1245. }
  1246.  
  1247. private static int readRilMessage(InputStream paramInputStream, byte[] paramArrayOfByte)
  1248. throws IOException
  1249. {
  1250. int i = 0;
  1251. int j = 4;
  1252. do
  1253. {
  1254. int k = paramInputStream.read(paramArrayOfByte, i, j);
  1255. if (k < 0)
  1256. {
  1257. Log.e("RILJ", "Hit EOS reading message length");
  1258. return -1;
  1259. }
  1260. i += k;
  1261. j -= k;
  1262. } while (j > 0);
  1263. int m = (0xFF & paramArrayOfByte[0]) << 24 | (0xFF & paramArrayOfByte[1]) << 16 | (0xFF & paramArrayOfByte[2]) << 8 | 0xFF & paramArrayOfByte[3];
  1264. int n = 0;
  1265. int i1 = m;
  1266. do
  1267. {
  1268. int i2 = paramInputStream.read(paramArrayOfByte, n, i1);
  1269. if (i2 < 0)
  1270. {
  1271. Log.e("RILJ", "Hit EOS reading message. messageLength=" + m + " remaining=" + i1);
  1272. return -1;
  1273. }
  1274. n += i2;
  1275. i1 -= i2;
  1276. } while (i1 > 0);
  1277. return m;
  1278. }
  1279.  
  1280. private void releaseWakeLockIfDone()
  1281. {
  1282. synchronized (mWakeLock)
  1283. {
  1284. if ((mWakeLock.isHeld()) && (mRequestMessagesPending == 0) && (mRequestMessagesWaiting == 0))
  1285. {
  1286. mSender.removeMessages(2);
  1287. mWakeLock.release();
  1288. }
  1289. return;
  1290. }
  1291. }
  1292.  
  1293. static String requestToString(int paramInt)
  1294. {
  1295. switch (paramInt)
  1296. {
  1297. default:
  1298. return "<unknown request>";
  1299. case 1:
  1300. return "GET_SIM_STATUS";
  1301. case 2:
  1302. return "ENTER_SIM_PIN";
  1303. case 3:
  1304. return "ENTER_SIM_PUK";
  1305. case 4:
  1306. return "ENTER_SIM_PIN2";
  1307. case 5:
  1308. return "ENTER_SIM_PUK2";
  1309. case 6:
  1310. return "CHANGE_SIM_PIN";
  1311. case 7:
  1312. return "CHANGE_SIM_PIN2";
  1313. case 8:
  1314. return "ENTER_DEPERSONALIZATION_CODE";
  1315. case 9:
  1316. return "GET_CURRENT_CALLS";
  1317. case 10:
  1318. return "DIAL";
  1319. case 11:
  1320. return "GET_IMSI";
  1321. case 12:
  1322. return "HANGUP";
  1323. case 13:
  1324. return "HANGUP_WAITING_OR_BACKGROUND";
  1325. case 14:
  1326. return "HANGUP_FOREGROUND_RESUME_BACKGROUND";
  1327. case 15:
  1328. return "REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE";
  1329. case 16:
  1330. return "CONFERENCE";
  1331. case 17:
  1332. return "UDUB";
  1333. case 18:
  1334. return "LAST_CALL_FAIL_CAUSE";
  1335. case 19:
  1336. return "SIGNAL_STRENGTH";
  1337. case 20:
  1338. return "VOICE_REGISTRATION_STATE";
  1339. case 21:
  1340. return "DATA_REGISTRATION_STATE";
  1341. case 22:
  1342. return "OPERATOR";
  1343. case 23:
  1344. return "RADIO_POWER";
  1345. case 24:
  1346. return "DTMF";
  1347. case 25:
  1348. return "SEND_SMS";
  1349. case 112:
  1350. return "SETUP_QOS";
  1351. case 114:
  1352. return "GET_QOS_STATUS";
  1353. case 113:
  1354. return "RELEASE_QOS";
  1355. case 115:
  1356. return "MODIFY_QOS";
  1357. case 116:
  1358. return "SUSPEND_QOS";
  1359. case 117:
  1360. return "RESUME_QOS";
  1361. case 26:
  1362. return "SEND_SMS_EXPECT_MORE";
  1363. case 27:
  1364. return "SETUP_DATA_CALL";
  1365. case 28:
  1366. return "SIM_IO";
  1367. case 123:
  1368. return "SIM_TRANSMIT_BASIC";
  1369. case 124:
  1370. return "SIM_OPEN_CHANNEL";
  1371. case 125:
  1372. return "SIM_CLOSE_CHANNEL";
  1373. case 126:
  1374. return "SIM_TRANSMIT_CHANNEL";
  1375. case 127:
  1376. return "SIM_GET_ATR";
  1377. case 29:
  1378. return "SEND_USSD";
  1379. case 30:
  1380. return "CANCEL_USSD";
  1381. case 31:
  1382. return "GET_CLIR";
  1383. case 32:
  1384. return "SET_CLIR";
  1385. case 33:
  1386. return "QUERY_CALL_FORWARD_STATUS";
  1387. case 34:
  1388. return "SET_CALL_FORWARD";
  1389. case 35:
  1390. return "QUERY_CALL_WAITING";
  1391. case 36:
  1392. return "SET_CALL_WAITING";
  1393. case 37:
  1394. return "SMS_ACKNOWLEDGE";
  1395. case 38:
  1396. return "GET_IMEI";
  1397. case 39:
  1398. return "GET_IMEISV";
  1399. case 40:
  1400. return "ANSWER";
  1401. case 41:
  1402. return "DEACTIVATE_DATA_CALL";
  1403. case 42:
  1404. return "QUERY_FACILITY_LOCK";
  1405. case 43:
  1406. return "SET_FACILITY_LOCK";
  1407. case 44:
  1408. return "CHANGE_BARRING_PASSWORD";
  1409. case 45:
  1410. return "QUERY_NETWORK_SELECTION_MODE";
  1411. case 46:
  1412. return "SET_NETWORK_SELECTION_AUTOMATIC";
  1413. case 47:
  1414. return "SET_NETWORK_SELECTION_MANUAL";
  1415. case 48:
  1416. return "QUERY_AVAILABLE_NETWORKS ";
  1417. case 49:
  1418. return "DTMF_START";
  1419. case 50:
  1420. return "DTMF_STOP";
  1421. case 51:
  1422. return "BASEBAND_VERSION";
  1423. case 52:
  1424. return "SEPARATE_CONNECTION";
  1425. case 53:
  1426. return "SET_MUTE";
  1427. case 54:
  1428. return "GET_MUTE";
  1429. case 55:
  1430. return "QUERY_CLIP";
  1431. case 56:
  1432. return "LAST_DATA_CALL_FAIL_CAUSE";
  1433. case 57:
  1434. return "DATA_CALL_LIST";
  1435. case 58:
  1436. return "RESET_RADIO";
  1437. case 59:
  1438. return "OEM_HOOK_RAW";
  1439. case 60:
  1440. return "OEM_HOOK_STRINGS";
  1441. case 61:
  1442. return "SCREEN_STATE";
  1443. case 62:
  1444. return "SET_SUPP_SVC_NOTIFICATION";
  1445. case 63:
  1446. return "WRITE_SMS_TO_SIM";
  1447. case 64:
  1448. return "DELETE_SMS_ON_SIM";
  1449. case 65:
  1450. return "SET_BAND_MODE";
  1451. case 66:
  1452. return "QUERY_AVAILABLE_BAND_MODE";
  1453. case 67:
  1454. return "REQUEST_STK_GET_PROFILE";
  1455. case 68:
  1456. return "REQUEST_STK_SET_PROFILE";
  1457. case 69:
  1458. return "REQUEST_STK_SEND_ENVELOPE_COMMAND";
  1459. case 70:
  1460. return "REQUEST_STK_SEND_TERMINAL_RESPONSE";
  1461. case 71:
  1462. return "REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM";
  1463. case 72:
  1464. return "REQUEST_EXPLICIT_CALL_TRANSFER";
  1465. case 73:
  1466. return "REQUEST_SET_PREFERRED_NETWORK_TYPE";
  1467. case 74:
  1468. return "REQUEST_GET_PREFERRED_NETWORK_TYPE";
  1469. case 75:
  1470. return "REQUEST_GET_NEIGHBORING_CELL_IDS";
  1471. case 76:
  1472. return "REQUEST_SET_LOCATION_UPDATES";
  1473. case 77:
  1474. return "RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE";
  1475. case 78:
  1476. return "RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE";
  1477. case 79:
  1478. return "RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE";
  1479. case 80:
  1480. return "RIL_REQUEST_SET_TTY_MODE";
  1481. case 81:
  1482. return "RIL_REQUEST_QUERY_TTY_MODE";
  1483. case 82:
  1484. return "RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE";
  1485. case 83:
  1486. return "RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE";
  1487. case 84:
  1488. return "RIL_REQUEST_CDMA_FLASH";
  1489. case 85:
  1490. return "RIL_REQUEST_CDMA_BURST_DTMF";
  1491. case 87:
  1492. return "RIL_REQUEST_CDMA_SEND_SMS";
  1493. case 88:
  1494. return "RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE";
  1495. case 89:
  1496. return "RIL_REQUEST_GSM_GET_BROADCAST_CONFIG";
  1497. case 90:
  1498. return "RIL_REQUEST_GSM_SET_BROADCAST_CONFIG";
  1499. case 92:
  1500. return "RIL_REQUEST_CDMA_GET_BROADCAST_CONFIG";
  1501. case 93:
  1502. return "RIL_REQUEST_CDMA_SET_BROADCAST_CONFIG";
  1503. case 91:
  1504. return "RIL_REQUEST_GSM_BROADCAST_ACTIVATION";
  1505. case 86:
  1506. return "RIL_REQUEST_CDMA_VALIDATE_AND_WRITE_AKEY";
  1507. case 94:
  1508. return "RIL_REQUEST_CDMA_BROADCAST_ACTIVATION";
  1509. case 95:
  1510. return "RIL_REQUEST_CDMA_SUBSCRIPTION";
  1511. case 96:
  1512. return "RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM";
  1513. case 97:
  1514. return "RIL_REQUEST_CDMA_DELETE_SMS_ON_RUIM";
  1515. case 98:
  1516. return "RIL_REQUEST_DEVICE_IDENTITY";
  1517. case 100:
  1518. return "RIL_REQUEST_GET_SMSC_ADDRESS";
  1519. case 101:
  1520. return "RIL_REQUEST_SET_SMSC_ADDRESS";
  1521. case 99:
  1522. return "REQUEST_EXIT_EMERGENCY_CALLBACK_MODE";
  1523. case 102:
  1524. return "RIL_REQUEST_REPORT_SMS_MEMORY_STATUS";
  1525. case 103:
  1526. return "RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING";
  1527. case 104:
  1528. return "RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE";
  1529. case 111:
  1530. return "RIL_REQUEST_GET_DATA_CALL_PROFILE";
  1531. case 105:
  1532. return "RIL_REQUEST_ISIM_AUTHENTICATION";
  1533. case 106:
  1534. return "RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU";
  1535. case 107:
  1536. return "RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS";
  1537. case 108:
  1538. return "RIL_REQUEST_VOICE_RADIO_TECH";
  1539. case 109:
  1540. return "RIL_REQUEST_IMS_REGISTRATION_STATE";
  1541. case 110:
  1542. return "RIL_REQUEST_IMS_SEND_SMS";
  1543. case 118:
  1544. return "RIL_REQUEST_SET_UICC_SUBSCRIPTION";
  1545. case 119:
  1546. return "RIL_REQUEST_SET_DATA_SUBSCRIPTION";
  1547. case 120:
  1548. return "RIL_REQUEST_GET_UICC_SUBSCRIPTION";
  1549. case 121:
  1550. return "RIL_REQUEST_GET_DATA_SUBSCRIPTION";
  1551. }
  1552. return "RIL_REQUEST_SET_SUBSCRIPTION_MODE";
  1553. }
  1554.  
  1555. private Object responseCallForward(Parcel paramParcel)
  1556. {
  1557. int i = paramParcel.readInt();
  1558. CallForwardInfo[] arrayOfCallForwardInfo = new CallForwardInfo[i];
  1559. for (int j = 0; j < i; j++)
  1560. {
  1561. arrayOfCallForwardInfo[j] = new CallForwardInfo();
  1562. status = paramParcel.readInt();
  1563. reason = paramParcel.readInt();
  1564. serviceClass = paramParcel.readInt();
  1565. toa = paramParcel.readInt();
  1566. number = paramParcel.readString();
  1567. timeSeconds = paramParcel.readInt();
  1568. }
  1569. return arrayOfCallForwardInfo;
  1570. }
  1571.  
  1572. private Object responseCallList(Parcel paramParcel)
  1573. {
  1574. int i = paramParcel.readInt();
  1575. ArrayList localArrayList = new ArrayList(i);
  1576. int j = 0;
  1577. if (j < i)
  1578. {
  1579. DriverCall localDriverCall = new DriverCall();
  1580. state = DriverCall.stateFromCLCC(paramParcel.readInt());
  1581. index = paramParcel.readInt();
  1582. TOA = paramParcel.readInt();
  1583. boolean bool1;
  1584. label72:
  1585. boolean bool2;
  1586. label89:
  1587. boolean bool3;
  1588. label115:
  1589. boolean bool4;
  1590. if (paramParcel.readInt() != 0)
  1591. {
  1592. bool1 = true;
  1593. isMpty = bool1;
  1594. if (paramParcel.readInt() == 0) {
  1595. break label492;
  1596. }
  1597. bool2 = true;
  1598. isMT = bool2;
  1599. als = paramParcel.readInt();
  1600. if (paramParcel.readInt() != 0) {
  1601. break label498;
  1602. }
  1603. bool3 = false;
  1604. isVoice = bool3;
  1605. if (paramParcel.readInt() == 0) {
  1606. break label504;
  1607. }
  1608. bool4 = true;
  1609. label132:
  1610. isVoicePrivacy = bool4;
  1611. number = paramParcel.readString();
  1612. numberPresentation = DriverCall.presentationFromCLIP(paramParcel.readInt());
  1613. if ((isHwClipOverrideEnabled) && (Connection.PRESENTATION_ALLOWED != numberPresentation))
  1614. {
  1615. riljLog("CLIP override feature set, change Presentation Indicator from " + numberPresentation + " to PRESENTATION_ALLOWED");
  1616. numberPresentation = Connection.PRESENTATION_ALLOWED;
  1617. }
  1618. name = paramParcel.readString();
  1619. namePresentation = paramParcel.readInt();
  1620. if (paramParcel.readInt() != 1) {
  1621. break label510;
  1622. }
  1623. uusInfo = new UUSInfo();
  1624. uusInfo.setType(paramParcel.readInt());
  1625. uusInfo.setDcs(paramParcel.readInt());
  1626. byte[] arrayOfByte = paramParcel.createByteArray();
  1627. uusInfo.setUserData(arrayOfByte);
  1628. Object[] arrayOfObject = new Object[3];
  1629. arrayOfObject[0] = Integer.valueOf(uusInfo.getType());
  1630. arrayOfObject[1] = Integer.valueOf(uusInfo.getDcs());
  1631. arrayOfObject[2] = Integer.valueOf(uusInfo.getUserData().length);
  1632. riljLogv(String.format("Incoming UUS : type=%d, dcs=%d, length=%d", arrayOfObject));
  1633. riljLogv("Incoming UUS : data (string)=" + new String(uusInfo.getUserData()));
  1634. riljLogv("Incoming UUS : data (hex): " + IccUtils.bytesToHexString(uusInfo.getUserData()));
  1635. label433:
  1636. number = PhoneNumberUtils.stringFromStringAndTOA(number, TOA);
  1637. localArrayList.add(localDriverCall);
  1638. if (!isVoicePrivacy) {
  1639. break label520;
  1640. }
  1641. mVoicePrivacyOnRegistrants.notifyRegistrants();
  1642. riljLog("InCall VoicePrivacy is enabled");
  1643. }
  1644. for (;;)
  1645. {
  1646. j++;
  1647. break;
  1648. bool1 = false;
  1649. break label72;
  1650. label492:
  1651. bool2 = false;
  1652. break label89;
  1653. label498:
  1654. bool3 = true;
  1655. break label115;
  1656. label504:
  1657. bool4 = false;
  1658. break label132;
  1659. label510:
  1660. riljLogv("Incoming UUS : NOT present!");
  1661. break label433;
  1662. label520:
  1663. mVoicePrivacyOffRegistrants.notifyRegistrants();
  1664. riljLog("InCall VoicePrivacy is disabled");
  1665. }
  1666. }
  1667. Collections.sort(localArrayList);
  1668. if ((i == 0) && (mTestingEmergencyCall.getAndSet(false)) && (mEmergencyCallbackModeRegistrant != null))
  1669. {
  1670. riljLog("responseCallList: call ended, testing emergency call, notify ECM Registrants");
  1671. mEmergencyCallbackModeRegistrant.notifyRegistrant();
  1672. }
  1673. return localArrayList;
  1674. }
  1675.  
  1676. private Object responseCallRing(Parcel paramParcel)
  1677. {
  1678. char[] arrayOfChar = new char[4];
  1679. arrayOfChar[0] = ((char)paramParcel.readInt());
  1680. arrayOfChar[1] = ((char)paramParcel.readInt());
  1681. arrayOfChar[2] = ((char)paramParcel.readInt());
  1682. arrayOfChar[3] = ((char)paramParcel.readInt());
  1683. return arrayOfChar;
  1684. }
  1685.  
  1686. private Object responseCdmaBroadcastConfig(Parcel paramParcel)
  1687. {
  1688. int i = paramParcel.readInt();
  1689. if (i == 0)
  1690. {
  1691. arrayOfInt = new int[94];
  1692. arrayOfInt[0] = 31;
  1693. for (int m = 1; m < 94; m += 3)
  1694. {
  1695. arrayOfInt[(m + 0)] = (m / 3);
  1696. arrayOfInt[(m + 1)] = 1;
  1697. arrayOfInt[(m + 2)] = 0;
  1698. }
  1699. }
  1700. int j = 1 + i * 3;
  1701. int[] arrayOfInt = new int[j];
  1702. arrayOfInt[0] = i;
  1703. for (int k = 1; k < j; k++)
  1704. arrayOfInt[k] = paramParcel.readInt();
  1705. return arrayOfInt;
  1706. }
  1707.  
  1708. private Object responseCdmaCallWaiting(Parcel paramParcel)
  1709. {
  1710. CdmaCallWaitingNotification localCdmaCallWaitingNotification = new CdmaCallWaitingNotification();
  1711. number = paramParcel.readString();
  1712. numberPresentation = CdmaCallWaitingNotification.presentationFromCLIP(paramParcel.readInt());
  1713. name = paramParcel.readString();
  1714. namePresentation = numberPresentation;
  1715. isPresent = paramParcel.readInt();
  1716. signalType = paramParcel.readInt();
  1717. alertPitch = paramParcel.readInt();
  1718. signal = paramParcel.readInt();
  1719. numberType = paramParcel.readInt();
  1720. numberPlan = paramParcel.readInt();
  1721. return localCdmaCallWaitingNotification;
  1722. }
  1723.  
  1724. private ArrayList<CdmaInformationRecords> responseCdmaInformationRecord(Parcel paramParcel)
  1725. {
  1726. int i = paramParcel.readInt();
  1727. ArrayList localArrayList = new ArrayList(i);
  1728. for (int j = 0; j < i; j++)
  1729. localArrayList.add(new CdmaInformationRecords(paramParcel));
  1730. return localArrayList;
  1731. }
  1732.  
  1733. private Object responseCdmaSms(Parcel paramParcel)
  1734. {
  1735. return SmsMessage.newFromParcel(paramParcel);
  1736. }
  1737.  
  1738. private Object responseCellList(Parcel paramParcel)
  1739. {
  1740. int i = paramParcel.readInt();
  1741. ArrayList localArrayList = new ArrayList();
  1742. String str = SystemProperties.get("gsm.network.type", "unknown");
  1743. int j;
  1744. if (str.equals("GPRS"))
  1745. j = 1;
  1746. while (j != 0)
  1747. {
  1748. for (int k = 0; k < i; k++)
  1749. localArrayList.add(new NeighboringCellInfo(paramParcel.readInt(), paramParcel.readString(), j));
  1750. if (str.equals("EDGE"))
  1751. j = 2; else if (str.equals("UMTS"))
  1752. j = 3; else if (str.equals("HSDPA"))
  1753. j = 8; else if (str.equals("HSUPA"))
  1754. j = 9; else if (str.equals("HSPA"))
  1755. j = 10; else if (str.equals("HSPA+"))
  1756. j = 15; else
  1757. j = 0;
  1758. }
  1759. return localArrayList;
  1760. }
  1761.  
  1762. private Object responseDataCallList(Parcel paramParcel)
  1763. {
  1764. int i = paramParcel.readInt();
  1765. int j = paramParcel.readInt();
  1766. riljLog("responseDataCallList ver=" + i + " num=" + j);
  1767. ArrayList localArrayList = new ArrayList(j);
  1768. for (int k = 0; k < j; k++)
  1769. localArrayList.add(getDataCallState(paramParcel, i));
  1770. return localArrayList;
  1771. }
  1772.  
  1773. private ArrayList<DataProfile> responseGetDataCallProfile(Parcel paramParcel)
  1774. {
  1775. int i = paramParcel.readInt();
  1776. riljLog("# data call profiles:" + i);
  1777. ArrayList localArrayList = new ArrayList(i);
  1778. for (int j = 0; j < i; j++)
  1779. {
  1780. DataProfileOmh localDataProfileOmh = new DataProfileOmh(paramParcel.readInt(), paramParcel.readInt());
  1781. riljLog("responseGetDataCallProfile()" + localDataProfileOmh.getProfileId() + ":" + localDataProfileOmh.getPriority());
  1782. localArrayList.add(localDataProfileOmh);
  1783. }
  1784. return localArrayList;
  1785. }
  1786.  
  1787. private Object responseGetPreferredNetworkType(Parcel paramParcel)
  1788. {
  1789. int[] arrayOfInt = (int[])responseInts(paramParcel);
  1790. if (arrayOfInt.length >= 1)
  1791. mPreferredNetworkType = arrayOfInt[0];
  1792. return arrayOfInt;
  1793. }
  1794.  
  1795. private Object responseGmsBroadcastConfig(Parcel paramParcel)
  1796. {
  1797. int i = paramParcel.readInt();
  1798. ArrayList localArrayList = new ArrayList(i);
  1799. int j = 0;
  1800. if (j < i)
  1801. {
  1802. int k = paramParcel.readInt();
  1803. int m = paramParcel.readInt();
  1804. int n = paramParcel.readInt();
  1805. int i1 = paramParcel.readInt();
  1806. if (paramParcel.readInt() == 1) {}
  1807. for (boolean bool = true;; bool = false)
  1808. {
  1809. localArrayList.add(new SmsBroadcastConfigInfo(k, m, n, i1, bool));
  1810. j++;
  1811. break;
  1812. }
  1813. }
  1814. return localArrayList;
  1815. }
  1816.  
  1817. private Object responseICC_IO(Parcel paramParcel)
  1818. {
  1819. return new IccIoResult(paramParcel.readInt(), paramParcel.readInt(), paramParcel.readString());
  1820. }
  1821.  
  1822. private Object responseIccCardStatus(Parcel paramParcel)
  1823. {
  1824. IccCardStatus localIccCardStatus = new IccCardStatus();
  1825. localIccCardStatus.setCardState(paramParcel.readInt());
  1826. localIccCardStatus.setUniversalPinState(paramParcel.readInt());
  1827. mGsmUmtsSubscriptionAppIndex = paramParcel.readInt();
  1828. mCdmaSubscriptionAppIndex = paramParcel.readInt();
  1829. mImsSubscriptionAppIndex = paramParcel.readInt();
  1830. int i = paramParcel.readInt();
  1831. if (i > 8)
  1832. i = 8;
  1833. mApplications = new IccCardApplicationStatus[i];
  1834. for (int j = 0; j < i; j++)
  1835. {
  1836. IccCardApplicationStatus localIccCardApplicationStatus = new IccCardApplicationStatus();
  1837. app_type = IccCardApplicationStatus.AppTypeFromRILInt(paramParcel.readInt());
  1838. app_state = IccCardApplicationStatus.AppStateFromRILInt(paramParcel.readInt());
  1839. perso_substate = IccCardApplicationStatus.PersoSubstateFromRILInt(paramParcel.readInt());
  1840. aid = paramParcel.readString();
  1841. app_label = paramParcel.readString();
  1842. pin1_replaced = paramParcel.readInt();
  1843. pin1 = IccCardApplicationStatus.PinStateFromRILInt(paramParcel.readInt());
  1844. pin2 = IccCardApplicationStatus.PinStateFromRILInt(paramParcel.readInt());
  1845. mApplications[j] = localIccCardApplicationStatus;
  1846. }
  1847. return localIccCardStatus;
  1848. }
  1849.  
  1850. private Object responseInts(Parcel paramParcel)
  1851. {
  1852. int i = paramParcel.readInt();
  1853. int[] arrayOfInt = new int[i];
  1854. for (int j = 0; j < i; j++)
  1855. arrayOfInt[j] = paramParcel.readInt();
  1856. return arrayOfInt;
  1857. }
  1858.  
  1859. private Object responseOperatorInfos(Parcel paramParcel)
  1860. {
  1861. String[] arrayOfString = (String[])responseStrings(paramParcel);
  1862. if (arrayOfString.length % 4 != 0)
  1863. throw new RuntimeException("RIL_REQUEST_QUERY_AVAILABLE_NETWORKS: invalid response. Got " + arrayOfString.length + " strings, expected multible of 4");
  1864. ArrayList localArrayList = new ArrayList(arrayOfString.length / 4);
  1865. for (int i = 0; i < arrayOfString.length; i += 4)
  1866. localArrayList.add(new OperatorInfo(arrayOfString[(i + 0)], arrayOfString[(i + 1)], arrayOfString[(i + 2)], arrayOfString[(i + 3)]));
  1867. return localArrayList;
  1868. }
  1869.  
  1870. private Object responseRaw(Parcel paramParcel)
  1871. {
  1872. return paramParcel.createByteArray();
  1873. }
  1874.  
  1875. private Object responseSMS(Parcel paramParcel)
  1876. {
  1877. return new SmsResponse(paramParcel.readInt(), paramParcel.readString(), paramParcel.readInt());
  1878. }
  1879.  
  1880. private Object responseSSData(Parcel paramParcel)
  1881. {
  1882. SsData localSsData = new SsData();
  1883. serviceType = localSsData.ServiceTypeFromRILInt(paramParcel.readInt());
  1884. requestType = localSsData.RequestTypeFromRILInt(paramParcel.readInt());
  1885. teleserviceType = localSsData.TeleserviceTypeFromRILInt(paramParcel.readInt());
  1886. serviceClass = paramParcel.readInt();
  1887. result = paramParcel.readInt();
  1888. int i = paramParcel.readInt();
  1889. int k;
  1890. if ((serviceType.isTypeCF()) && (requestType.isTypeInterrogation()))
  1891. {
  1892. cfInfo = new CallForwardInfo[i];
  1893. k = 0;
  1894. }
  1895. while (k < i)
  1896. {
  1897. cfInfo[k] = new CallForwardInfo();
  1898. status = paramParcel.readInt();
  1899. reason = paramParcel.readInt();
  1900. serviceClass = paramParcel.readInt();
  1901. toa = paramParcel.readInt();
  1902. number = paramParcel.readString();
  1903. timeSeconds = paramParcel.readInt();
  1904. riljLog("[SS Data] CF Info " + k + " : " + cfInfo[k]);
  1905. k++;
  1906. continue;
  1907. ssInfo = new int[i];
  1908. for (int j = 0; j < i; j++)
  1909. {
  1910. ssInfo[j] = paramParcel.readInt();
  1911. riljLog("[SS Data] SS Info " + j + " : " + ssInfo[j]);
  1912. }
  1913. }
  1914. return localSsData;
  1915. }
  1916.  
  1917. private Object responseSetupDataCall(Parcel paramParcel)
  1918. {
  1919. int i = paramParcel.readInt();
  1920. int j = paramParcel.readInt();
  1921. if (i < 5)
  1922. {
  1923. DataCallState localDataCallState = new DataCallState();
  1924. version = i;
  1925. cid = Integer.parseInt(paramParcel.readString());
  1926. ifname = paramParcel.readString();
  1927. if (TextUtils.isEmpty(ifname))
  1928. throw new RuntimeException("RIL_REQUEST_SETUP_DATA_CALL response, no ifname");
  1929. String str1 = paramParcel.readString();
  1930. if (!TextUtils.isEmpty(str1))
  1931. addresses = str1.split(" ");
  1932. if (j >= 4)
  1933. {
  1934. String str3 = paramParcel.readString();
  1935. riljLog("responseSetupDataCall got dnses=" + str3);
  1936. if (!TextUtils.isEmpty(str3))
  1937. dnses = str3.split(" ");
  1938. }
  1939. if (j >= 5)
  1940. {
  1941. String str2 = paramParcel.readString();
  1942. riljLog("responseSetupDataCall got gateways=" + str2);
  1943. if (!TextUtils.isEmpty(str2))
  1944. gateways = str2.split(" ");
  1945. }
  1946. return localDataCallState;
  1947. }
  1948. if (j != 1)
  1949. throw new RuntimeException("RIL_REQUEST_SETUP_DATA_CALL response expecting 1 RIL_Data_Call_response_v5 got " + j);
  1950. return getDataCallState(paramParcel, i);
  1951. }
  1952.  
  1953. private Object responseSignalStrength(Parcel paramParcel)
  1954. {
  1955. return new SignalStrength(paramParcel);
  1956. }
  1957.  
  1958. private Object responseSimRefresh(Parcel paramParcel)
  1959. {
  1960. IccRefreshResponse localIccRefreshResponse = new IccRefreshResponse();
  1961. refreshResult = paramParcel.readInt();
  1962. efId = paramParcel.readInt();
  1963. aid = paramParcel.readString();
  1964. return localIccRefreshResponse;
  1965. }
  1966.  
  1967. private Object responseString(Parcel paramParcel)
  1968. {
  1969. return paramParcel.readString();
  1970. }
  1971.  
  1972. private Object responseStrings(Parcel paramParcel)
  1973. {
  1974. return paramParcel.readStringArray();
  1975. }
  1976.  
  1977. private Object responseSuppServiceNotification(Parcel paramParcel)
  1978. {
  1979. SuppServiceNotification localSuppServiceNotification = new SuppServiceNotification();
  1980. notificationType = paramParcel.readInt();
  1981. code = paramParcel.readInt();
  1982. index = paramParcel.readInt();
  1983. type = paramParcel.readInt();
  1984. number = paramParcel.readString();
  1985. return localSuppServiceNotification;
  1986. }
  1987.  
  1988. static String responseToString(int paramInt)
  1989. {
  1990. switch (paramInt)
  1991. {
  1992. default:
  1993. return "<unknown response>";
  1994. case 1000:
  1995. return "UNSOL_RESPONSE_RADIO_STATE_CHANGED";
  1996. case 1001:
  1997. return "UNSOL_RESPONSE_CALL_STATE_CHANGED";
  1998. case 1002:
  1999. return "UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED";
  2000. case 1003:
  2001. return "UNSOL_RESPONSE_NEW_SMS";
  2002. case 1004:
  2003. return "UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT";
  2004. case 1005:
  2005. return "UNSOL_RESPONSE_NEW_SMS_ON_SIM";
  2006. case 1006:
  2007. return "UNSOL_ON_USSD";
  2008. case 1007:
  2009. return "UNSOL_ON_USSD_REQUEST";
  2010. case 1008:
  2011. return "UNSOL_NITZ_TIME_RECEIVED";
  2012. case 1009:
  2013. return "UNSOL_SIGNAL_STRENGTH";
  2014. case 1010:
  2015. return "UNSOL_DATA_CALL_LIST_CHANGED";
  2016. case 1011:
  2017. return "UNSOL_SUPP_SVC_NOTIFICATION";
  2018. case 1012:
  2019. return "UNSOL_STK_SESSION_END";
  2020. case 1013:
  2021. return "UNSOL_STK_PROACTIVE_COMMAND";
  2022. case 1014:
  2023. return "UNSOL_STK_EVENT_NOTIFY";
  2024. case 1015:
  2025. return "UNSOL_STK_CALL_SETUP";
  2026. case 1016:
  2027. return "UNSOL_SIM_SMS_STORAGE_FULL";
  2028. case 1017:
  2029. return "UNSOL_SIM_REFRESH";
  2030. case 1018:
  2031. return "UNSOL_CALL_RING";
  2032. case 1019:
  2033. return "UNSOL_RESPONSE_SIM_STATUS_CHANGED";
  2034. case 1020:
  2035. return "UNSOL_RESPONSE_CDMA_NEW_SMS";
  2036. case 1021:
  2037. return "UNSOL_RESPONSE_NEW_BROADCAST_SMS";
  2038. case 1022:
  2039. return "UNSOL_CDMA_RUIM_SMS_STORAGE_FULL";
  2040. case 1023:
  2041. return "UNSOL_RESTRICTED_STATE_CHANGED";
  2042. case 1024:
  2043. return "UNSOL_ENTER_EMERGENCY_CALLBACK_MODE";
  2044. case 1025:
  2045. return "UNSOL_CDMA_CALL_WAITING";
  2046. case 1026:
  2047. return "UNSOL_CDMA_OTA_PROVISION_STATUS";
  2048. case 1027:
  2049. return "UNSOL_CDMA_INFO_REC";
  2050. case 1028:
  2051. return "UNSOL_OEM_HOOK_RAW";
  2052. case 1029:
  2053. return "UNSOL_RINGBACK_TONE";
  2054. case 1030:
  2055. return "UNSOL_RESEND_INCALL_MUTE";
  2056. case 1031:
  2057. return "CDMA_SUBSCRIPTION_SOURCE_CHANGED";
  2058. case 1032:
  2059. return "UNSOL_CDMA_PRL_CHANGED";
  2060. case 1033:
  2061. return "UNSOL_EXIT_EMERGENCY_CALLBACK_MODE";
  2062. case 1034:
  2063. return "UNSOL_RIL_CONNECTED";
  2064. case 1035:
  2065. return "UNSOL_VOICE_RADIO_TECH_CHANGED";
  2066. case 1036:
  2067. return "UNSOL_RESPONSE_IMS_NETWORK_STATE_CHANGED";
  2068. case 1037:
  2069. return "RIL_UNSOL_TETHERED_MODE_STATE_CHANGED";
  2070. case 1038:
  2071. return "RIL_UNSOL_QOS_STATE_CHANGED";
  2072. case 1041:
  2073. return "RIL_UNSOL_UICC_SUBSCRIPTION_STATUS_CHANGED";
  2074. case 1039:
  2075. return "UNSOL_ON_SS";
  2076. }
  2077. return "UNSOL_STK_CC_ALPHA_NOTIFY";
  2078. }
  2079.  
  2080. private Object responseUiccSubscription(Parcel paramParcel)
  2081. {
  2082. return null;
  2083. }
  2084.  
  2085. private Object responseVoid(Parcel paramParcel)
  2086. {
  2087. return null;
  2088. }
  2089.  
  2090. private String retToString(int paramInt, Object paramObject)
  2091. {
  2092. if (paramObject == null)
  2093. return "";
  2094. int[] arrayOfInt;
  2095. int m;
  2096. StringBuilder localStringBuilder5;
  2097. int n;
  2098. switch (paramInt)
  2099. {
  2100. default:
  2101. if (!(paramObject instanceof int[])) {
  2102. break label156;
  2103. }
  2104. arrayOfInt = (int[])paramObject;
  2105. m = arrayOfInt.length;
  2106. localStringBuilder5 = new StringBuilder("{");
  2107. if (m > 0)
  2108. {
  2109. n = 0 + 1;
  2110. localStringBuilder5.append(arrayOfInt[0]);
  2111. }
  2112. break;
  2113. case 11:
  2114. case 38:
  2115. case 39:
  2116. while (n < m)
  2117. {
  2118. StringBuilder localStringBuilder6 = localStringBuilder5.append(", ");
  2119. int i1 = n + 1;
  2120. localStringBuilder6.append(arrayOfInt[n]);
  2121. n = i1;
  2122. continue;
  2123. return "";
  2124. }
  2125. }
  2126. localStringBuilder5.append("}");
  2127. return localStringBuilder5.toString();
  2128. label156:
  2129. if ((paramObject instanceof String[]))
  2130. {
  2131. String[] arrayOfString = (String[])paramObject;
  2132. int i = arrayOfString.length;
  2133. StringBuilder localStringBuilder3 = new StringBuilder("{");
  2134. if (i > 0)
  2135. {
  2136. int j = 0 + 1;
  2137. localStringBuilder3.append(arrayOfString[0]);
  2138. while (j < i)
  2139. {
  2140. StringBuilder localStringBuilder4 = localStringBuilder3.append(", ");
  2141. int k = j + 1;
  2142. localStringBuilder4.append(arrayOfString[j]);
  2143. j = k;
  2144. }
  2145. }
  2146. localStringBuilder3.append("}");
  2147. return localStringBuilder3.toString();
  2148. }
  2149. if (paramInt == 9)
  2150. {
  2151. ArrayList localArrayList2 = (ArrayList)paramObject;
  2152. StringBuilder localStringBuilder2 = new StringBuilder(" ");
  2153. Iterator localIterator2 = localArrayList2.iterator();
  2154. while (localIterator2.hasNext())
  2155. {
  2156. DriverCall localDriverCall = (DriverCall)localIterator2.next();
  2157. localStringBuilder2.append("[").append(localDriverCall).append("] ");
  2158. }
  2159. return localStringBuilder2.toString();
  2160. }
  2161. if (paramInt == 75)
  2162. {
  2163. ArrayList localArrayList1 = (ArrayList)paramObject;
  2164. StringBuilder localStringBuilder1 = new StringBuilder(" ");
  2165. Iterator localIterator1 = localArrayList1.iterator();
  2166. while (localIterator1.hasNext())
  2167. localStringBuilder1.append((NeighboringCellInfo)localIterator1.next()).append(" ");
  2168. return localStringBuilder1.toString();
  2169. }
  2170. return paramObject.toString();
  2171. }
  2172.  
  2173. private void riljLog(String paramString)
  2174. {
  2175. StringBuilder localStringBuilder = new StringBuilder().append(paramString);
  2176. if (mInstanceId != null) {}
  2177. for (String str = " [SUB" + mInstanceId + "]";; str = "")
  2178. {
  2179. Log.d("RILJ", str);
  2180. return;
  2181. }
  2182. }
  2183.  
  2184. private void riljLogv(String paramString)
  2185. {
  2186. StringBuilder localStringBuilder = new StringBuilder().append(paramString);
  2187. if (mInstanceId != null) {}
  2188. for (String str = " [SUB" + mInstanceId + "]";; str = "")
  2189. {
  2190. Log.v("RILJ", str);
  2191. return;
  2192. }
  2193. }
  2194.  
  2195. private void send(RILRequest paramRILRequest)
  2196. {
  2197. if (mSocket == null)
  2198. {
  2199. paramRILRequest.onError(1, null);
  2200. paramRILRequest.release();
  2201. return;
  2202. }
  2203. Message localMessage = mSender.obtainMessage(1, paramRILRequest);
  2204. acquireWakeLock();
  2205. localMessage.sendToTarget();
  2206. }
  2207.  
  2208. private void sendScreenState(boolean paramBoolean)
  2209. {
  2210. int i = 1;
  2211. RILRequest localRILRequest = RILRequest.obtain(61, null);
  2212. mp.writeInt(i);
  2213. Parcel localParcel = mp;
  2214. if (paramBoolean) {}
  2215. for (;;)
  2216. {
  2217. localParcel.writeInt(i);
  2218. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + ": " + paramBoolean);
  2219. send(localRILRequest);
  2220. return;
  2221. i = 0;
  2222. }
  2223. }
  2224.  
  2225. private void switchToRadioState(CommandsInterface.RadioState paramRadioState)
  2226. {
  2227. setRadioState(paramRadioState);
  2228. }
  2229.  
  2230. private int translateStatus(int paramInt)
  2231. {
  2232. switch (paramInt & 0x7)
  2233. {
  2234. case 1:
  2235. case 2:
  2236. case 4:
  2237. case 6:
  2238. default:
  2239. return 1;
  2240. case 3:
  2241. return 0;
  2242. case 5:
  2243. return 3;
  2244. }
  2245. return 2;
  2246. }
  2247.  
  2248. private void unsljLog(int paramInt)
  2249. {
  2250. riljLog("[UNSL]< " + responseToString(paramInt));
  2251. }
  2252.  
  2253. private void unsljLogMore(int paramInt, String paramString)
  2254. {
  2255. riljLog("[UNSL]< " + responseToString(paramInt) + " " + paramString);
  2256. }
  2257.  
  2258. private void unsljLogRet(int paramInt, Object paramObject)
  2259. {
  2260. riljLog("[UNSL]< " + responseToString(paramInt) + " " + retToString(paramInt, paramObject));
  2261. }
  2262.  
  2263. private void unsljLogvRet(int paramInt, Object paramObject)
  2264. {
  2265. riljLogv("[UNSL]< " + responseToString(paramInt) + " " + retToString(paramInt, paramObject));
  2266. }
  2267.  
  2268. public void acceptCall(Message paramMessage)
  2269. {
  2270. RILRequest localRILRequest = RILRequest.obtain(40, paramMessage);
  2271. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2272. send(localRILRequest);
  2273. }
  2274.  
  2275. public void acknowledgeIncomingGsmSmsWithPdu(boolean paramBoolean, String paramString, Message paramMessage)
  2276. {
  2277. RILRequest localRILRequest = RILRequest.obtain(106, paramMessage);
  2278. mp.writeInt(2);
  2279. Parcel localParcel = mp;
  2280. if (paramBoolean) {}
  2281. for (String str = "1";; str = "0")
  2282. {
  2283. localParcel.writeString(str);
  2284. mp.writeString(paramString);
  2285. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + ' ' + paramBoolean + " [" + paramString + ']');
  2286. send(localRILRequest);
  2287. return;
  2288. }
  2289. }
  2290.  
  2291. public void acknowledgeLastIncomingCdmaSms(boolean paramBoolean, int paramInt, Message paramMessage)
  2292. {
  2293. RILRequest localRILRequest = RILRequest.obtain(88, paramMessage);
  2294. Parcel localParcel = mp;
  2295. if (paramBoolean) {}
  2296. for (int i = 0;; i = 1)
  2297. {
  2298. localParcel.writeInt(i);
  2299. mp.writeInt(paramInt);
  2300. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramBoolean + " " + paramInt);
  2301. send(localRILRequest);
  2302. return;
  2303. }
  2304. }
  2305.  
  2306. public void acknowledgeLastIncomingGsmSms(boolean paramBoolean, int paramInt, Message paramMessage)
  2307. {
  2308. RILRequest localRILRequest = RILRequest.obtain(37, paramMessage);
  2309. mp.writeInt(2);
  2310. Parcel localParcel = mp;
  2311. if (paramBoolean) {}
  2312. for (int i = 1;; i = 0)
  2313. {
  2314. localParcel.writeInt(i);
  2315. mp.writeInt(paramInt);
  2316. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramBoolean + " " + paramInt);
  2317. send(localRILRequest);
  2318. return;
  2319. }
  2320. }
  2321.  
  2322. public void cancelPendingUssd(Message paramMessage)
  2323. {
  2324. RILRequest localRILRequest = RILRequest.obtain(30, paramMessage);
  2325. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2326. send(localRILRequest);
  2327. }
  2328.  
  2329. public void changeBarringPassword(String paramString1, String paramString2, String paramString3, Message paramMessage)
  2330. {
  2331. RILRequest localRILRequest = RILRequest.obtain(44, paramMessage);
  2332. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2333. mp.writeInt(3);
  2334. mp.writeString(paramString1);
  2335. mp.writeString(paramString2);
  2336. mp.writeString(paramString3);
  2337. send(localRILRequest);
  2338. }
  2339.  
  2340. public void changeIccPin(String paramString1, String paramString2, Message paramMessage)
  2341. {
  2342. changeIccPinForApp(paramString1, paramString2, null, paramMessage);
  2343. }
  2344.  
  2345. public void changeIccPin2(String paramString1, String paramString2, Message paramMessage)
  2346. {
  2347. changeIccPin2ForApp(paramString1, paramString2, null, paramMessage);
  2348. }
  2349.  
  2350. public void changeIccPin2ForApp(String paramString1, String paramString2, String paramString3, Message paramMessage)
  2351. {
  2352. RILRequest localRILRequest = RILRequest.obtain(7, paramMessage);
  2353. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2354. mp.writeInt(3);
  2355. mp.writeString(paramString1);
  2356. mp.writeString(paramString2);
  2357. mp.writeString(paramString3);
  2358. send(localRILRequest);
  2359. }
  2360.  
  2361. public void changeIccPinForApp(String paramString1, String paramString2, String paramString3, Message paramMessage)
  2362. {
  2363. RILRequest localRILRequest = RILRequest.obtain(6, paramMessage);
  2364. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2365. mp.writeInt(3);
  2366. mp.writeString(paramString1);
  2367. mp.writeString(paramString2);
  2368. mp.writeString(paramString3);
  2369. send(localRILRequest);
  2370. }
  2371.  
  2372. public void conference(Message paramMessage)
  2373. {
  2374. RILRequest localRILRequest = RILRequest.obtain(16, paramMessage);
  2375. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2376. send(localRILRequest);
  2377. }
  2378.  
  2379. public void deactivateDataCall(int paramInt1, int paramInt2, Message paramMessage)
  2380. {
  2381. RILRequest localRILRequest = RILRequest.obtain(41, paramMessage);
  2382. mp.writeInt(2);
  2383. mp.writeString(Integer.toString(paramInt1));
  2384. mp.writeString(Integer.toString(paramInt2));
  2385. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramInt1 + " " + paramInt2);
  2386. send(localRILRequest);
  2387. }
  2388.  
  2389. public void deleteSmsOnRuim(int paramInt, Message paramMessage)
  2390. {
  2391. RILRequest localRILRequest = RILRequest.obtain(97, paramMessage);
  2392. mp.writeInt(1);
  2393. mp.writeInt(paramInt);
  2394. send(localRILRequest);
  2395. }
  2396.  
  2397. public void deleteSmsOnSim(int paramInt, Message paramMessage)
  2398. {
  2399. RILRequest localRILRequest = RILRequest.obtain(64, paramMessage);
  2400. mp.writeInt(1);
  2401. mp.writeInt(paramInt);
  2402. send(localRILRequest);
  2403. }
  2404.  
  2405. public void dial(String paramString, int paramInt, Message paramMessage)
  2406. {
  2407. dial(paramString, paramInt, null, paramMessage);
  2408. }
  2409.  
  2410. public void dial(String paramString, int paramInt, UUSInfo paramUUSInfo, Message paramMessage)
  2411. {
  2412. RILRequest localRILRequest = RILRequest.obtain(10, paramMessage);
  2413. mp.writeString(paramString);
  2414. mp.writeInt(paramInt);
  2415. mp.writeInt(0);
  2416. if (paramUUSInfo == null)
  2417. mp.writeInt(0);
  2418. for (;;)
  2419. {
  2420. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2421. send(localRILRequest);
  2422. return;
  2423. mp.writeInt(1);
  2424. mp.writeInt(paramUUSInfo.getType());
  2425. mp.writeInt(paramUUSInfo.getDcs());
  2426. mp.writeByteArray(paramUUSInfo.getUserData());
  2427. }
  2428. }
  2429.  
  2430. public void dump(FileDescriptor paramFileDescriptor, PrintWriter paramPrintWriter, String[] paramArrayOfString)
  2431. {
  2432. paramPrintWriter.println("RIL:");
  2433. paramPrintWriter.println(" mSocket=" + mSocket);
  2434. paramPrintWriter.println(" mSenderThread=" + mSenderThread);
  2435. paramPrintWriter.println(" mSender=" + mSender);
  2436. paramPrintWriter.println(" mReceiverThread=" + mReceiverThread);
  2437. paramPrintWriter.println(" mReceiver=" + mReceiver);
  2438. paramPrintWriter.println(" mWakeLock=" + mWakeLock);
  2439. paramPrintWriter.println(" mWakeLockTimeout=" + mWakeLockTimeout);
  2440. synchronized (mRequestsList)
  2441. {
  2442. paramPrintWriter.println(" mRequestMessagesPending=" + mRequestMessagesPending);
  2443. paramPrintWriter.println(" mRequestMessagesWaiting=" + mRequestMessagesWaiting);
  2444. int i = mRequestsList.size();
  2445. paramPrintWriter.println(" mRequestList count=" + i);
  2446. for (int j = 0; j < i; j++)
  2447. {
  2448. RILRequest localRILRequest = (RILRequest)mRequestsList.get(j);
  2449. paramPrintWriter.println(" [" + mSerial + "] " + requestToString(mRequest));
  2450. }
  2451. paramPrintWriter.println(" mLastNITZTimeInfo=" + mLastNITZTimeInfo);
  2452. paramPrintWriter.println(" mTestingEmergencyCall=" + mTestingEmergencyCall.get());
  2453. return;
  2454. }
  2455. }
  2456.  
  2457. public void exitEmergencyCallbackMode(Message paramMessage)
  2458. {
  2459. RILRequest localRILRequest = RILRequest.obtain(99, paramMessage);
  2460. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2461. send(localRILRequest);
  2462. }
  2463.  
  2464. public void explicitCallTransfer(Message paramMessage)
  2465. {
  2466. RILRequest localRILRequest = RILRequest.obtain(72, paramMessage);
  2467. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2468. send(localRILRequest);
  2469. }
  2470.  
  2471. public void getAvailableNetworks(Message paramMessage)
  2472. {
  2473. RILRequest localRILRequest = RILRequest.obtain(48, paramMessage);
  2474. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2475. send(localRILRequest);
  2476. }
  2477.  
  2478. public void getBasebandVersion(Message paramMessage)
  2479. {
  2480. RILRequest localRILRequest = RILRequest.obtain(51, paramMessage);
  2481. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2482. send(localRILRequest);
  2483. }
  2484.  
  2485. public void getCDMASubscription(Message paramMessage)
  2486. {
  2487. RILRequest localRILRequest = RILRequest.obtain(95, paramMessage);
  2488. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2489. send(localRILRequest);
  2490. }
  2491.  
  2492. public void getCLIR(Message paramMessage)
  2493. {
  2494. RILRequest localRILRequest = RILRequest.obtain(31, paramMessage);
  2495. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2496. send(localRILRequest);
  2497. }
  2498.  
  2499. public void getCdmaBroadcastConfig(Message paramMessage)
  2500. {
  2501. send(RILRequest.obtain(92, paramMessage));
  2502. }
  2503.  
  2504. public void getCdmaSubscriptionSource(Message paramMessage)
  2505. {
  2506. RILRequest localRILRequest = RILRequest.obtain(104, paramMessage);
  2507. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2508. send(localRILRequest);
  2509. }
  2510.  
  2511. public void getCurrentCalls(Message paramMessage)
  2512. {
  2513. RILRequest localRILRequest = RILRequest.obtain(9, paramMessage);
  2514. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2515. send(localRILRequest);
  2516. }
  2517.  
  2518. public void getDataCallList(Message paramMessage)
  2519. {
  2520. RILRequest localRILRequest = RILRequest.obtain(57, paramMessage);
  2521. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2522. send(localRILRequest);
  2523. }
  2524.  
  2525. public void getDataCallProfile(int paramInt, Message paramMessage)
  2526. {
  2527. RILRequest localRILRequest = RILRequest.obtain(111, paramMessage);
  2528. mp.writeInt(1);
  2529. mp.writeInt(paramInt);
  2530. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " : " + paramInt);
  2531. send(localRILRequest);
  2532. }
  2533.  
  2534. public void getDataRegistrationState(Message paramMessage)
  2535. {
  2536. RILRequest localRILRequest = RILRequest.obtain(21, paramMessage);
  2537. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2538. send(localRILRequest);
  2539. }
  2540.  
  2541. public void getDeviceIdentity(Message paramMessage)
  2542. {
  2543. RILRequest localRILRequest = RILRequest.obtain(98, paramMessage);
  2544. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2545. send(localRILRequest);
  2546. }
  2547.  
  2548. public void getGsmBroadcastConfig(Message paramMessage)
  2549. {
  2550. RILRequest localRILRequest = RILRequest.obtain(89, paramMessage);
  2551. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2552. send(localRILRequest);
  2553. }
  2554.  
  2555. public void getIMEI(Message paramMessage)
  2556. {
  2557. RILRequest localRILRequest = RILRequest.obtain(38, paramMessage);
  2558. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2559. send(localRILRequest);
  2560. }
  2561.  
  2562. public void getIMEISV(Message paramMessage)
  2563. {
  2564. RILRequest localRILRequest = RILRequest.obtain(39, paramMessage);
  2565. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2566. send(localRILRequest);
  2567. }
  2568.  
  2569. public void getIMSI(Message paramMessage)
  2570. {
  2571. getIMSIForApp(null, paramMessage);
  2572. }
  2573.  
  2574. public void getIMSIForApp(String paramString, Message paramMessage)
  2575. {
  2576. RILRequest localRILRequest = RILRequest.obtain(11, paramMessage);
  2577. mp.writeInt(1);
  2578. mp.writeString(paramString);
  2579. riljLog(localRILRequest.serialString() + "> getIMSI: " + requestToString(mRequest) + " aid: " + paramString);
  2580. send(localRILRequest);
  2581. }
  2582.  
  2583. public void getIccCardStatus(Message paramMessage)
  2584. {
  2585. RILRequest localRILRequest = RILRequest.obtain(1, paramMessage);
  2586. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2587. send(localRILRequest);
  2588. }
  2589.  
  2590. public void getImsRegistrationState(Message paramMessage)
  2591. {
  2592. RILRequest localRILRequest = RILRequest.obtain(109, paramMessage);
  2593. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2594. send(localRILRequest);
  2595. }
  2596.  
  2597. public void getLastCallFailCause(Message paramMessage)
  2598. {
  2599. RILRequest localRILRequest = RILRequest.obtain(18, paramMessage);
  2600. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2601. send(localRILRequest);
  2602. }
  2603.  
  2604. public void getLastDataCallFailCause(Message paramMessage)
  2605. {
  2606. RILRequest localRILRequest = RILRequest.obtain(56, paramMessage);
  2607. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2608. send(localRILRequest);
  2609. }
  2610.  
  2611. public void getLastPdpFailCause(Message paramMessage)
  2612. {
  2613. getLastDataCallFailCause(paramMessage);
  2614. }
  2615.  
  2616. public void getMute(Message paramMessage)
  2617. {
  2618. RILRequest localRILRequest = RILRequest.obtain(54, paramMessage);
  2619. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2620. send(localRILRequest);
  2621. }
  2622.  
  2623. public void getNeighboringCids(Message paramMessage)
  2624. {
  2625. RILRequest localRILRequest = RILRequest.obtain(75, paramMessage);
  2626. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2627. send(localRILRequest);
  2628. }
  2629.  
  2630. public void getNetworkSelectionMode(Message paramMessage)
  2631. {
  2632. RILRequest localRILRequest = RILRequest.obtain(45, paramMessage);
  2633. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2634. send(localRILRequest);
  2635. }
  2636.  
  2637. public void getOperator(Message paramMessage)
  2638. {
  2639. RILRequest localRILRequest = RILRequest.obtain(22, paramMessage);
  2640. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2641. send(localRILRequest);
  2642. }
  2643.  
  2644. @Deprecated
  2645. public void getPDPContextList(Message paramMessage)
  2646. {
  2647. getDataCallList(paramMessage);
  2648. }
  2649.  
  2650. public void getPreferredNetworkType(Message paramMessage)
  2651. {
  2652. RILRequest localRILRequest = RILRequest.obtain(74, paramMessage);
  2653. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2654. send(localRILRequest);
  2655. }
  2656.  
  2657. public void getPreferredVoicePrivacy(Message paramMessage)
  2658. {
  2659. send(RILRequest.obtain(83, paramMessage));
  2660. }
  2661.  
  2662. public void getQosStatus(int paramInt, Message paramMessage)
  2663. {
  2664. RILRequest localRILRequest = RILRequest.obtain(114, paramMessage);
  2665. mp.writeInt(1);
  2666. mp.writeString(Integer.toString(paramInt));
  2667. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " qosId:" + paramInt + " (0x" + Integer.toHexString(paramInt) + ")");
  2668. send(localRILRequest);
  2669. }
  2670.  
  2671. public void getSignalStrength(Message paramMessage)
  2672. {
  2673. RILRequest localRILRequest = RILRequest.obtain(19, paramMessage);
  2674. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2675. send(localRILRequest);
  2676. }
  2677.  
  2678. public void getSmscAddress(Message paramMessage)
  2679. {
  2680. RILRequest localRILRequest = RILRequest.obtain(100, paramMessage);
  2681. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2682. send(localRILRequest);
  2683. }
  2684.  
  2685. public void getVoiceRadioTechnology(Message paramMessage)
  2686. {
  2687. RILRequest localRILRequest = RILRequest.obtain(108, paramMessage);
  2688. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2689. send(localRILRequest);
  2690. }
  2691.  
  2692. public void getVoiceRegistrationState(Message paramMessage)
  2693. {
  2694. RILRequest localRILRequest = RILRequest.obtain(20, paramMessage);
  2695. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2696. send(localRILRequest);
  2697. }
  2698.  
  2699. public void handleCallSetupRequestFromSim(boolean paramBoolean, Message paramMessage)
  2700. {
  2701. int i = 1;
  2702. RILRequest localRILRequest = RILRequest.obtain(71, paramMessage);
  2703. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2704. int[] arrayOfInt = new int[i];
  2705. if (paramBoolean) {}
  2706. for (;;)
  2707. {
  2708. arrayOfInt[0] = i;
  2709. mp.writeIntArray(arrayOfInt);
  2710. send(localRILRequest);
  2711. return;
  2712. i = 0;
  2713. }
  2714. }
  2715.  
  2716. public void hangupConnection(int paramInt, Message paramMessage)
  2717. {
  2718. riljLog("hangupConnection: gsmIndex=" + paramInt);
  2719. RILRequest localRILRequest = RILRequest.obtain(12, paramMessage);
  2720. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramInt);
  2721. mp.writeInt(1);
  2722. mp.writeInt(paramInt);
  2723. send(localRILRequest);
  2724. }
  2725.  
  2726. public void hangupForegroundResumeBackground(Message paramMessage)
  2727. {
  2728. RILRequest localRILRequest = RILRequest.obtain(14, paramMessage);
  2729. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2730. send(localRILRequest);
  2731. }
  2732.  
  2733. public void hangupWaitingOrBackground(Message paramMessage)
  2734. {
  2735. RILRequest localRILRequest = RILRequest.obtain(13, paramMessage);
  2736. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2737. send(localRILRequest);
  2738. }
  2739.  
  2740. public void iccCloseChannel(int paramInt, Message paramMessage)
  2741. {
  2742. RILRequest localRILRequest = RILRequest.obtain(125, paramMessage);
  2743. mp.writeInt(1);
  2744. mp.writeInt(paramInt);
  2745. riljLog(localRILRequest.serialString() + "> iccCloseChannel: " + requestToString(mRequest) + " " + paramInt);
  2746. send(localRILRequest);
  2747. }
  2748.  
  2749. public void iccExchangeAPDU(int paramInt1, int paramInt2, int paramInt3, int paramInt4, int paramInt5, int paramInt6, String paramString, Message paramMessage)
  2750. {
  2751. if (paramInt3 == 0) {}
  2752. for (RILRequest localRILRequest = RILRequest.obtain(123, paramMessage);; localRILRequest = RILRequest.obtain(126, paramMessage))
  2753. {
  2754. mp.writeInt(paramInt1);
  2755. mp.writeInt(paramInt2);
  2756. mp.writeInt(paramInt3);
  2757. mp.writeString(null);
  2758. mp.writeInt(paramInt4);
  2759. mp.writeInt(paramInt5);
  2760. mp.writeInt(paramInt6);
  2761. mp.writeString(paramString);
  2762. mp.writeString(null);
  2763. riljLog(localRILRequest.serialString() + "> iccExchangeAPDU: " + requestToString(mRequest) + " 0x" + Integer.toHexString(paramInt1) + " 0x" + Integer.toHexString(paramInt2) + " 0x" + Integer.toHexString(paramInt3) + " " + paramInt4 + "," + paramInt5 + "," + paramInt6);
  2764. send(localRILRequest);
  2765. return;
  2766. }
  2767. }
  2768.  
  2769. public void iccGetATR(Message paramMessage)
  2770. {
  2771. RILRequest localRILRequest = RILRequest.obtain(127, paramMessage);
  2772. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2773. send(localRILRequest);
  2774. }
  2775.  
  2776. public void iccIO(int paramInt1, int paramInt2, String paramString1, int paramInt3, int paramInt4, int paramInt5, String paramString2, String paramString3, Message paramMessage)
  2777. {
  2778. iccIOForApp(paramInt1, paramInt2, paramString1, paramInt3, paramInt4, paramInt5, paramString2, paramString3, null, paramMessage);
  2779. }
  2780.  
  2781. public void iccIOForApp(int paramInt1, int paramInt2, String paramString1, int paramInt3, int paramInt4, int paramInt5, String paramString2, String paramString3, String paramString4, Message paramMessage)
  2782. {
  2783. RILRequest localRILRequest = RILRequest.obtain(28, paramMessage);
  2784. mp.writeInt(paramInt1);
  2785. mp.writeInt(paramInt2);
  2786. mp.writeString(paramString1);
  2787. mp.writeInt(paramInt3);
  2788. mp.writeInt(paramInt4);
  2789. mp.writeInt(paramInt5);
  2790. mp.writeString(paramString2);
  2791. mp.writeString(paramString3);
  2792. mp.writeString(paramString4);
  2793. riljLog(localRILRequest.serialString() + "> iccIO: " + requestToString(mRequest) + " 0x" + Integer.toHexString(paramInt1) + " 0x" + Integer.toHexString(paramInt2) + " " + " path: " + paramString1 + "," + paramInt3 + "," + paramInt4 + "," + paramInt5 + " aid: " + paramString4);
  2794. send(localRILRequest);
  2795. }
  2796.  
  2797. public void iccOpenChannel(String paramString, Message paramMessage)
  2798. {
  2799. RILRequest localRILRequest = RILRequest.obtain(124, paramMessage);
  2800. mp.writeString(paramString);
  2801. riljLog(localRILRequest.serialString() + "> iccOpenChannel: " + requestToString(mRequest) + " " + paramString);
  2802. send(localRILRequest);
  2803. }
  2804.  
  2805. public void invokeOemRilRequestRaw(byte[] paramArrayOfByte, Message paramMessage)
  2806. {
  2807. RILRequest localRILRequest = RILRequest.obtain(59, paramMessage);
  2808. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + "[" + IccUtils.bytesToHexString(paramArrayOfByte) + "]");
  2809. mp.writeByteArray(paramArrayOfByte);
  2810. send(localRILRequest);
  2811. }
  2812.  
  2813. public void invokeOemRilRequestStrings(String[] paramArrayOfString, Message paramMessage)
  2814. {
  2815. RILRequest localRILRequest = RILRequest.obtain(60, paramMessage);
  2816. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2817. mp.writeStringArray(paramArrayOfString);
  2818. send(localRILRequest);
  2819. }
  2820.  
  2821. public void modifyQos(int paramInt, ArrayList<String> paramArrayList, Message paramMessage)
  2822. {
  2823. RILRequest localRILRequest = RILRequest.obtain(115, paramMessage);
  2824. int i = paramArrayList.size();
  2825. mp.writeInt(i + 1);
  2826. mp.writeString(Integer.toString(paramInt));
  2827. for (String str : (String[])paramArrayList.toArray(new String[0]))
  2828. mp.writeString(str);
  2829. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " qosId:" + paramInt + " (0x" + Integer.toHexString(paramInt) + "), " + paramArrayList);
  2830. send(localRILRequest);
  2831. }
  2832.  
  2833. protected void notifyCdmaFwdBurstDtmf(byte[] paramArrayOfByte)
  2834. {
  2835. AsyncResult localAsyncResult = new AsyncResult(null, paramArrayOfByte, null);
  2836. mCdmaFwdBurstDtmfRegistrants.notifyRegistrants(localAsyncResult);
  2837. }
  2838.  
  2839. protected void notifyCdmaFwdContDtmfStart(byte[] paramArrayOfByte)
  2840. {
  2841. AsyncResult localAsyncResult = new AsyncResult(null, paramArrayOfByte, null);
  2842. mCdmaFwdContDtmfStartRegistrants.notifyRegistrants(localAsyncResult);
  2843. }
  2844.  
  2845. protected void notifyCdmaFwdContDtmfStop()
  2846. {
  2847. AsyncResult localAsyncResult = new AsyncResult(null, null, null);
  2848. mCdmaFwdContDtmfStopRegistrants.notifyRegistrants(localAsyncResult);
  2849. }
  2850.  
  2851. protected void onRadioAvailable()
  2852. {
  2853. sendScreenState(true);
  2854. }
  2855.  
  2856. public void queryAvailableBandMode(Message paramMessage)
  2857. {
  2858. RILRequest localRILRequest = RILRequest.obtain(66, paramMessage);
  2859. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2860. send(localRILRequest);
  2861. }
  2862.  
  2863. public void queryCLIP(Message paramMessage)
  2864. {
  2865. RILRequest localRILRequest = RILRequest.obtain(55, paramMessage);
  2866. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2867. send(localRILRequest);
  2868. }
  2869.  
  2870. public void queryCallForwardStatus(int paramInt1, int paramInt2, String paramString, Message paramMessage)
  2871. {
  2872. RILRequest localRILRequest = RILRequest.obtain(33, paramMessage);
  2873. mp.writeInt(2);
  2874. mp.writeInt(paramInt1);
  2875. mp.writeInt(paramInt2);
  2876. mp.writeInt(PhoneNumberUtils.toaFromString(paramString));
  2877. mp.writeString(paramString);
  2878. mp.writeInt(0);
  2879. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramInt1 + " " + paramInt2);
  2880. send(localRILRequest);
  2881. }
  2882.  
  2883. public void queryCallWaiting(int paramInt, Message paramMessage)
  2884. {
  2885. RILRequest localRILRequest = RILRequest.obtain(35, paramMessage);
  2886. mp.writeInt(1);
  2887. mp.writeInt(paramInt);
  2888. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramInt);
  2889. send(localRILRequest);
  2890. }
  2891.  
  2892. public void queryCdmaRoamingPreference(Message paramMessage)
  2893. {
  2894. RILRequest localRILRequest = RILRequest.obtain(79, paramMessage);
  2895. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2896. send(localRILRequest);
  2897. }
  2898.  
  2899. public void queryFacilityLock(String paramString1, String paramString2, int paramInt, Message paramMessage)
  2900. {
  2901. queryFacilityLockForApp(paramString1, paramString2, paramInt, null, paramMessage);
  2902. }
  2903.  
  2904. public void queryFacilityLockForApp(String paramString1, String paramString2, int paramInt, String paramString3, Message paramMessage)
  2905. {
  2906. RILRequest localRILRequest = RILRequest.obtain(42, paramMessage);
  2907. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2908. mp.writeInt(4);
  2909. mp.writeString(paramString1);
  2910. mp.writeString(paramString2);
  2911. mp.writeString(Integer.toString(paramInt));
  2912. mp.writeString(paramString3);
  2913. send(localRILRequest);
  2914. }
  2915.  
  2916. public void queryTTYMode(Message paramMessage)
  2917. {
  2918. RILRequest localRILRequest = RILRequest.obtain(81, paramMessage);
  2919. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2920. send(localRILRequest);
  2921. }
  2922.  
  2923. public void rejectCall(Message paramMessage)
  2924. {
  2925. RILRequest localRILRequest = RILRequest.obtain(17, paramMessage);
  2926. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2927. send(localRILRequest);
  2928. }
  2929.  
  2930. public void releaseQos(int paramInt, Message paramMessage)
  2931. {
  2932. RILRequest localRILRequest = RILRequest.obtain(113, paramMessage);
  2933. mp.writeInt(1);
  2934. mp.writeString(Integer.toString(paramInt));
  2935. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " qosId:" + paramInt + " (0x" + Integer.toHexString(paramInt) + ")");
  2936. send(localRILRequest);
  2937. }
  2938.  
  2939. public void reportSmsMemoryStatus(boolean paramBoolean, Message paramMessage)
  2940. {
  2941. int i = 1;
  2942. RILRequest localRILRequest = RILRequest.obtain(102, paramMessage);
  2943. mp.writeInt(i);
  2944. Parcel localParcel = mp;
  2945. if (paramBoolean) {}
  2946. for (;;)
  2947. {
  2948. localParcel.writeInt(i);
  2949. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + ": " + paramBoolean);
  2950. send(localRILRequest);
  2951. return;
  2952. i = 0;
  2953. }
  2954. }
  2955.  
  2956. public void reportStkServiceIsRunning(Message paramMessage)
  2957. {
  2958. RILRequest localRILRequest = RILRequest.obtain(103, paramMessage);
  2959. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2960. send(localRILRequest);
  2961. }
  2962.  
  2963. public void requestIsimAuthentication(String paramString, Message paramMessage)
  2964. {
  2965. RILRequest localRILRequest = RILRequest.obtain(105, paramMessage);
  2966. mp.writeString(paramString);
  2967. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2968. send(localRILRequest);
  2969. }
  2970.  
  2971. public void resetRadio(Message paramMessage)
  2972. {
  2973. RILRequest localRILRequest = RILRequest.obtain(58, paramMessage);
  2974. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  2975. send(localRILRequest);
  2976. }
  2977.  
  2978. public void resumeQos(int paramInt, Message paramMessage)
  2979. {
  2980. RILRequest localRILRequest = RILRequest.obtain(117, paramMessage);
  2981. mp.writeInt(1);
  2982. mp.writeString(Integer.toString(paramInt));
  2983. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " qosId:" + paramInt + " (0x" + Integer.toHexString(paramInt) + ")");
  2984. send(localRILRequest);
  2985. }
  2986.  
  2987. public void sendBurstDtmf(String paramString, int paramInt1, int paramInt2, Message paramMessage)
  2988. {
  2989. RILRequest localRILRequest = RILRequest.obtain(85, paramMessage);
  2990. mp.writeInt(3);
  2991. mp.writeString(paramString);
  2992. mp.writeString(Integer.toString(paramInt1));
  2993. mp.writeString(Integer.toString(paramInt2));
  2994. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " : " + paramString);
  2995. send(localRILRequest);
  2996. }
  2997.  
  2998. public void sendCDMAFeatureCode(String paramString, Message paramMessage)
  2999. {
  3000. RILRequest localRILRequest = RILRequest.obtain(84, paramMessage);
  3001. mp.writeString(paramString);
  3002. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " : " + paramString);
  3003. send(localRILRequest);
  3004. }
  3005.  
  3006. public void sendCdmaSms(byte[] paramArrayOfByte, Message paramMessage)
  3007. {
  3008. RILRequest localRILRequest = RILRequest.obtain(87, paramMessage);
  3009. constructCdmaSendSmsRilRequest(localRILRequest, paramArrayOfByte);
  3010. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3011. send(localRILRequest);
  3012. }
  3013.  
  3014. public void sendDtmf(char paramChar, Message paramMessage)
  3015. {
  3016. RILRequest localRILRequest = RILRequest.obtain(24, paramMessage);
  3017. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3018. mp.writeString(Character.toString(paramChar));
  3019. send(localRILRequest);
  3020. }
  3021.  
  3022. public void sendEnvelope(String paramString, Message paramMessage)
  3023. {
  3024. RILRequest localRILRequest = RILRequest.obtain(69, paramMessage);
  3025. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3026. mp.writeString(paramString);
  3027. send(localRILRequest);
  3028. }
  3029.  
  3030. public void sendEnvelopeWithStatus(String paramString, Message paramMessage)
  3031. {
  3032. RILRequest localRILRequest = RILRequest.obtain(107, paramMessage);
  3033. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + '[' + paramString + ']');
  3034. mp.writeString(paramString);
  3035. send(localRILRequest);
  3036. }
  3037.  
  3038. public void sendImsCdmaSms(byte[] paramArrayOfByte, int paramInt1, int paramInt2, Message paramMessage)
  3039. {
  3040. RILRequest localRILRequest = RILRequest.obtain(110, paramMessage);
  3041. mp.writeInt(2);
  3042. mp.writeByte((byte)paramInt1);
  3043. mp.writeInt(paramInt2);
  3044. constructCdmaSendSmsRilRequest(localRILRequest, paramArrayOfByte);
  3045. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3046. send(localRILRequest);
  3047. }
  3048.  
  3049. public void sendImsGsmSms(String paramString1, String paramString2, int paramInt1, int paramInt2, Message paramMessage)
  3050. {
  3051. RILRequest localRILRequest = RILRequest.obtain(110, paramMessage);
  3052. mp.writeInt(1);
  3053. mp.writeByte((byte)paramInt1);
  3054. mp.writeInt(paramInt2);
  3055. constructGsmSendSmsRilRequest(localRILRequest, paramString1, paramString2);
  3056. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3057. send(localRILRequest);
  3058. }
  3059.  
  3060. public void sendSMS(String paramString1, String paramString2, Message paramMessage)
  3061. {
  3062. RILRequest localRILRequest = RILRequest.obtain(25, paramMessage);
  3063. constructGsmSendSmsRilRequest(localRILRequest, paramString1, paramString2);
  3064. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3065. send(localRILRequest);
  3066. }
  3067.  
  3068. public void sendTerminalResponse(String paramString, Message paramMessage)
  3069. {
  3070. RILRequest localRILRequest = RILRequest.obtain(70, paramMessage);
  3071. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3072. mp.writeString(paramString);
  3073. send(localRILRequest);
  3074. }
  3075.  
  3076. public void sendUSSD(String paramString, Message paramMessage)
  3077. {
  3078. RILRequest localRILRequest = RILRequest.obtain(29, paramMessage);
  3079. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramString);
  3080. mp.writeString(paramString);
  3081. send(localRILRequest);
  3082. }
  3083.  
  3084. public void separateConnection(int paramInt, Message paramMessage)
  3085. {
  3086. RILRequest localRILRequest = RILRequest.obtain(52, paramMessage);
  3087. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramInt);
  3088. mp.writeInt(1);
  3089. mp.writeInt(paramInt);
  3090. send(localRILRequest);
  3091. }
  3092.  
  3093. public void setBandMode(int paramInt, Message paramMessage)
  3094. {
  3095. RILRequest localRILRequest = RILRequest.obtain(65, paramMessage);
  3096. mp.writeInt(1);
  3097. mp.writeInt(paramInt);
  3098. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramInt);
  3099. send(localRILRequest);
  3100. }
  3101.  
  3102. public void setCLIR(int paramInt, Message paramMessage)
  3103. {
  3104. RILRequest localRILRequest = RILRequest.obtain(32, paramMessage);
  3105. mp.writeInt(1);
  3106. mp.writeInt(paramInt);
  3107. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramInt);
  3108. send(localRILRequest);
  3109. }
  3110.  
  3111. public void setCallForward(int paramInt1, int paramInt2, int paramInt3, String paramString, int paramInt4, Message paramMessage)
  3112. {
  3113. RILRequest localRILRequest = RILRequest.obtain(34, paramMessage);
  3114. mp.writeInt(paramInt1);
  3115. mp.writeInt(paramInt2);
  3116. mp.writeInt(paramInt3);
  3117. mp.writeInt(PhoneNumberUtils.toaFromString(paramString));
  3118. mp.writeString(paramString);
  3119. mp.writeInt(paramInt4);
  3120. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramInt1 + " " + paramInt2 + " " + paramInt3 + paramInt4);
  3121. send(localRILRequest);
  3122. }
  3123.  
  3124. public void setCallWaiting(boolean paramBoolean, int paramInt, Message paramMessage)
  3125. {
  3126. RILRequest localRILRequest = RILRequest.obtain(36, paramMessage);
  3127. mp.writeInt(2);
  3128. Parcel localParcel = mp;
  3129. if (paramBoolean) {}
  3130. for (int i = 1;; i = 0)
  3131. {
  3132. localParcel.writeInt(i);
  3133. mp.writeInt(paramInt);
  3134. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramBoolean + ", " + paramInt);
  3135. send(localRILRequest);
  3136. return;
  3137. }
  3138. }
  3139.  
  3140. public void setCdmaBroadcastActivation(boolean paramBoolean, Message paramMessage)
  3141. {
  3142. int i = 1;
  3143. RILRequest localRILRequest = RILRequest.obtain(94, paramMessage);
  3144. mp.writeInt(i);
  3145. Parcel localParcel = mp;
  3146. if (paramBoolean)
  3147. i = 0;
  3148. localParcel.writeInt(i);
  3149. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3150. send(localRILRequest);
  3151. }
  3152.  
  3153. public void setCdmaBroadcastConfig(int[] paramArrayOfInt, Message paramMessage)
  3154. {
  3155. RILRequest localRILRequest = RILRequest.obtain(93, paramMessage);
  3156. for (int i = 0; i < paramArrayOfInt.length; i++)
  3157. mp.writeInt(paramArrayOfInt[i]);
  3158. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3159. send(localRILRequest);
  3160. }
  3161.  
  3162. public void setCdmaBroadcastConfig(CdmaSmsBroadcastConfigInfo[] paramArrayOfCdmaSmsBroadcastConfigInfo, Message paramMessage)
  3163. {
  3164. RILRequest localRILRequest = RILRequest.obtain(93, paramMessage);
  3165. ArrayList localArrayList = new ArrayList();
  3166. int i = paramArrayOfCdmaSmsBroadcastConfigInfo.length;
  3167. for (int j = 0; j < i; j++)
  3168. {
  3169. CdmaSmsBroadcastConfigInfo localCdmaSmsBroadcastConfigInfo = paramArrayOfCdmaSmsBroadcastConfigInfo[j];
  3170. for (int i1 = localCdmaSmsBroadcastConfigInfo.getFromServiceCategory(); i1 <= localCdmaSmsBroadcastConfigInfo.getToServiceCategory(); i1++)
  3171. localArrayList.add(new CdmaSmsBroadcastConfigInfo(i1, i1, localCdmaSmsBroadcastConfigInfo.getLanguage(), localCdmaSmsBroadcastConfigInfo.isSelected()));
  3172. }
  3173. CdmaSmsBroadcastConfigInfo[] arrayOfCdmaSmsBroadcastConfigInfo = (CdmaSmsBroadcastConfigInfo[])localArrayList.toArray(paramArrayOfCdmaSmsBroadcastConfigInfo);
  3174. mp.writeInt(arrayOfCdmaSmsBroadcastConfigInfo.length);
  3175. int k = 0;
  3176. if (k < arrayOfCdmaSmsBroadcastConfigInfo.length)
  3177. {
  3178. mp.writeInt(arrayOfCdmaSmsBroadcastConfigInfo[k].getFromServiceCategory());
  3179. mp.writeInt(arrayOfCdmaSmsBroadcastConfigInfo[k].getLanguage());
  3180. Parcel localParcel = mp;
  3181. if (arrayOfCdmaSmsBroadcastConfigInfo[k].isSelected()) {}
  3182. for (int n = 1;; n = 0)
  3183. {
  3184. localParcel.writeInt(n);
  3185. k++;
  3186. break;
  3187. }
  3188. }
  3189. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " with " + arrayOfCdmaSmsBroadcastConfigInfo.length + "configs : ");
  3190. for (int m = 0; m < arrayOfCdmaSmsBroadcastConfigInfo.length; m++)
  3191. riljLog(arrayOfCdmaSmsBroadcastConfigInfo[m].toString());
  3192. send(localRILRequest);
  3193. }
  3194.  
  3195. public void setCdmaRoamingPreference(int paramInt, Message paramMessage)
  3196. {
  3197. RILRequest localRILRequest = RILRequest.obtain(78, paramMessage);
  3198. mp.writeInt(1);
  3199. mp.writeInt(paramInt);
  3200. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " : " + paramInt);
  3201. send(localRILRequest);
  3202. }
  3203.  
  3204. public void setCdmaSubscriptionSource(int paramInt, Message paramMessage)
  3205. {
  3206. RILRequest localRILRequest = RILRequest.obtain(77, paramMessage);
  3207. mp.writeInt(1);
  3208. mp.writeInt(paramInt);
  3209. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " : " + paramInt);
  3210. send(localRILRequest);
  3211. }
  3212.  
  3213. public void setCurrentPreferredNetworkType()
  3214. {
  3215. riljLog("setCurrentPreferredNetworkType: " + mSetPreferredNetworkType);
  3216. setPreferredNetworkType(mSetPreferredNetworkType, null);
  3217. }
  3218.  
  3219. public void setDataSubscription(Message paramMessage)
  3220. {
  3221. RILRequest localRILRequest = RILRequest.obtain(119, paramMessage);
  3222. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3223. send(localRILRequest);
  3224. }
  3225.  
  3226. public void setFacilityLock(String paramString1, boolean paramBoolean, String paramString2, int paramInt, Message paramMessage)
  3227. {
  3228. setFacilityLockForApp(paramString1, paramBoolean, paramString2, paramInt, null, paramMessage);
  3229. }
  3230.  
  3231. public void setFacilityLockForApp(String paramString1, boolean paramBoolean, String paramString2, int paramInt, String paramString3, Message paramMessage)
  3232. {
  3233. RILRequest localRILRequest = RILRequest.obtain(43, paramMessage);
  3234. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3235. mp.writeInt(5);
  3236. mp.writeString(paramString1);
  3237. if (paramBoolean) {}
  3238. for (String str = "1";; str = "0")
  3239. {
  3240. mp.writeString(str);
  3241. mp.writeString(paramString2);
  3242. mp.writeString(Integer.toString(paramInt));
  3243. mp.writeString(paramString3);
  3244. send(localRILRequest);
  3245. return;
  3246. }
  3247. }
  3248.  
  3249. public void setGsmBroadcastActivation(boolean paramBoolean, Message paramMessage)
  3250. {
  3251. int i = 1;
  3252. RILRequest localRILRequest = RILRequest.obtain(91, paramMessage);
  3253. mp.writeInt(i);
  3254. Parcel localParcel = mp;
  3255. if (paramBoolean)
  3256. i = 0;
  3257. localParcel.writeInt(i);
  3258. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3259. send(localRILRequest);
  3260. }
  3261.  
  3262. public void setGsmBroadcastConfig(SmsBroadcastConfigInfo[] paramArrayOfSmsBroadcastConfigInfo, Message paramMessage)
  3263. {
  3264. RILRequest localRILRequest = RILRequest.obtain(90, paramMessage);
  3265. int i = paramArrayOfSmsBroadcastConfigInfo.length;
  3266. mp.writeInt(i);
  3267. int j = 0;
  3268. if (j < i)
  3269. {
  3270. mp.writeInt(paramArrayOfSmsBroadcastConfigInfo[j].getFromServiceId());
  3271. mp.writeInt(paramArrayOfSmsBroadcastConfigInfo[j].getToServiceId());
  3272. mp.writeInt(paramArrayOfSmsBroadcastConfigInfo[j].getFromCodeScheme());
  3273. mp.writeInt(paramArrayOfSmsBroadcastConfigInfo[j].getToCodeScheme());
  3274. Parcel localParcel = mp;
  3275. if (paramArrayOfSmsBroadcastConfigInfo[j].isSelected()) {}
  3276. for (int m = 1;; m = 0)
  3277. {
  3278. localParcel.writeInt(m);
  3279. j++;
  3280. break;
  3281. }
  3282. }
  3283. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " with " + i + " configs : ");
  3284. for (int k = 0; k < i; k++)
  3285. riljLog(paramArrayOfSmsBroadcastConfigInfo[k].toString());
  3286. send(localRILRequest);
  3287. }
  3288.  
  3289. public void setLocationUpdates(boolean paramBoolean, Message paramMessage)
  3290. {
  3291. int i = 1;
  3292. RILRequest localRILRequest = RILRequest.obtain(76, paramMessage);
  3293. mp.writeInt(i);
  3294. Parcel localParcel = mp;
  3295. if (paramBoolean) {}
  3296. for (;;)
  3297. {
  3298. localParcel.writeInt(i);
  3299. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + ": " + paramBoolean);
  3300. send(localRILRequest);
  3301. return;
  3302. i = 0;
  3303. }
  3304. }
  3305.  
  3306. public void setMute(boolean paramBoolean, Message paramMessage)
  3307. {
  3308. int i = 1;
  3309. RILRequest localRILRequest = RILRequest.obtain(53, paramMessage);
  3310. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramBoolean);
  3311. mp.writeInt(i);
  3312. Parcel localParcel = mp;
  3313. if (paramBoolean) {}
  3314. for (;;)
  3315. {
  3316. localParcel.writeInt(i);
  3317. send(localRILRequest);
  3318. return;
  3319. i = 0;
  3320. }
  3321. }
  3322.  
  3323. public void setNetworkSelectionModeAutomatic(Message paramMessage)
  3324. {
  3325. RILRequest localRILRequest = RILRequest.obtain(46, paramMessage);
  3326. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3327. send(localRILRequest);
  3328. }
  3329.  
  3330. public void setNetworkSelectionModeManual(String paramString, Message paramMessage)
  3331. {
  3332. RILRequest localRILRequest = RILRequest.obtain(47, paramMessage);
  3333. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramString);
  3334. mp.writeString(paramString);
  3335. send(localRILRequest);
  3336. }
  3337.  
  3338. public void setOnNITZTime(Handler paramHandler, int paramInt, Object paramObject)
  3339. {
  3340. super.setOnNITZTime(paramHandler, paramInt, paramObject);
  3341. if (mLastNITZTimeInfo != null)
  3342. {
  3343. mNITZTimeRegistrant.notifyRegistrant(new AsyncResult(null, mLastNITZTimeInfo, null));
  3344. mLastNITZTimeInfo = null;
  3345. }
  3346. }
  3347.  
  3348. public void setPhoneType(int paramInt)
  3349. {
  3350. riljLog("setPhoneType=" + paramInt + " old value=" + mPhoneType);
  3351. mPhoneType = paramInt;
  3352. }
  3353.  
  3354. public void setPreferredNetworkType(int paramInt, Message paramMessage)
  3355. {
  3356. RILRequest localRILRequest = RILRequest.obtain(73, paramMessage);
  3357. mp.writeInt(1);
  3358. mp.writeInt(paramInt);
  3359. mSetPreferredNetworkType = paramInt;
  3360. mPreferredNetworkType = paramInt;
  3361. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " : " + paramInt);
  3362. send(localRILRequest);
  3363. }
  3364.  
  3365. public void setPreferredVoicePrivacy(boolean paramBoolean, Message paramMessage)
  3366. {
  3367. int i = 1;
  3368. RILRequest localRILRequest = RILRequest.obtain(82, paramMessage);
  3369. mp.writeInt(i);
  3370. Parcel localParcel = mp;
  3371. if (paramBoolean) {}
  3372. for (;;)
  3373. {
  3374. localParcel.writeInt(i);
  3375. send(localRILRequest);
  3376. return;
  3377. i = 0;
  3378. }
  3379. }
  3380.  
  3381. public void setRadioPower(boolean paramBoolean, Message paramMessage)
  3382. {
  3383. int i = 1;
  3384. RILRequest localRILRequest = RILRequest.obtain(23, paramMessage);
  3385. mp.writeInt(i);
  3386. Parcel localParcel = mp;
  3387. StringBuilder localStringBuilder;
  3388. if (paramBoolean)
  3389. {
  3390. localParcel.writeInt(i);
  3391. localStringBuilder = new StringBuilder().append(localRILRequest.serialString()).append("> ").append(requestToString(mRequest));
  3392. if (!paramBoolean) {
  3393. break label105;
  3394. }
  3395. }
  3396. label105:
  3397. for (String str = " on";; str = " off")
  3398. {
  3399. riljLog(str);
  3400. send(localRILRequest);
  3401. return;
  3402. i = 0;
  3403. break;
  3404. }
  3405. }
  3406.  
  3407. public void setSmscAddress(String paramString, Message paramMessage)
  3408. {
  3409. RILRequest localRILRequest = RILRequest.obtain(101, paramMessage);
  3410. mp.writeString(paramString);
  3411. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " : " + paramString);
  3412. send(localRILRequest);
  3413. }
  3414.  
  3415. public void setSubscriptionMode(int paramInt, Message paramMessage)
  3416. {
  3417. RILRequest localRILRequest = RILRequest.obtain(122, paramMessage);
  3418. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " subscriptionMode: " + paramInt);
  3419. mp.writeInt(1);
  3420. mp.writeInt(paramInt);
  3421. send(localRILRequest);
  3422. }
  3423.  
  3424. public void setSuppServiceNotifications(boolean paramBoolean, Message paramMessage)
  3425. {
  3426. int i = 1;
  3427. RILRequest localRILRequest = RILRequest.obtain(62, paramMessage);
  3428. mp.writeInt(i);
  3429. Parcel localParcel = mp;
  3430. if (paramBoolean) {}
  3431. for (;;)
  3432. {
  3433. localParcel.writeInt(i);
  3434. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3435. send(localRILRequest);
  3436. return;
  3437. i = 0;
  3438. }
  3439. }
  3440.  
  3441. public void setTTYMode(int paramInt, Message paramMessage)
  3442. {
  3443. RILRequest localRILRequest = RILRequest.obtain(80, paramMessage);
  3444. mp.writeInt(1);
  3445. mp.writeInt(paramInt);
  3446. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " : " + paramInt);
  3447. send(localRILRequest);
  3448. }
  3449.  
  3450. public void setUiccSubscription(int paramInt1, int paramInt2, int paramInt3, int paramInt4, Message paramMessage)
  3451. {
  3452. RILRequest localRILRequest = RILRequest.obtain(118, paramMessage);
  3453. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " slot: " + paramInt1 + " appIndex: " + paramInt2 + " subId: " + paramInt3 + " subStatus: " + paramInt4);
  3454. mp.writeInt(paramInt1);
  3455. mp.writeInt(paramInt2);
  3456. mp.writeInt(paramInt3);
  3457. mp.writeInt(paramInt4);
  3458. send(localRILRequest);
  3459. }
  3460.  
  3461. public void setupDataCall(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5, String paramString6, String paramString7, Message paramMessage)
  3462. {
  3463. RILRequest localRILRequest = RILRequest.obtain(27, paramMessage);
  3464. mp.writeInt(7);
  3465. mp.writeString(paramString1);
  3466. mp.writeString(paramString2);
  3467. mp.writeString(paramString3);
  3468. mp.writeString(paramString4);
  3469. mp.writeString(paramString5);
  3470. mp.writeString(paramString6);
  3471. mp.writeString(paramString7);
  3472. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " " + paramString1 + " " + paramString2 + " " + paramString3 + " " + paramString4 + " " + paramString5 + " " + paramString6 + " " + paramString7);
  3473. send(localRILRequest);
  3474. }
  3475.  
  3476. public void setupQosReq(int paramInt, ArrayList<String> paramArrayList, Message paramMessage)
  3477. {
  3478. RILRequest localRILRequest = RILRequest.obtain(112, paramMessage);
  3479. int i = paramArrayList.size();
  3480. mp.writeInt(i + 1);
  3481. mp.writeString(Integer.toString(paramInt));
  3482. for (String str : (String[])paramArrayList.toArray(new String[0]))
  3483. mp.writeString(str);
  3484. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " callId:" + paramInt + ", " + paramArrayList);
  3485. send(localRILRequest);
  3486. }
  3487.  
  3488. public void startDtmf(char paramChar, Message paramMessage)
  3489. {
  3490. RILRequest localRILRequest = RILRequest.obtain(49, paramMessage);
  3491. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3492. mp.writeString(Character.toString(paramChar));
  3493. send(localRILRequest);
  3494. }
  3495.  
  3496. public void stopDtmf(Message paramMessage)
  3497. {
  3498. RILRequest localRILRequest = RILRequest.obtain(50, paramMessage);
  3499. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3500. send(localRILRequest);
  3501. }
  3502.  
  3503. public void supplyDepersonalization(String paramString, int paramInt, Message paramMessage)
  3504. {
  3505. RILRequest localRILRequest = RILRequest.obtain(8, paramMessage);
  3506. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " Type:" + paramInt);
  3507. mp.writeInt(paramInt);
  3508. mp.writeString(paramString);
  3509. send(localRILRequest);
  3510. }
  3511.  
  3512. public void supplyIccPin(String paramString, Message paramMessage)
  3513. {
  3514. supplyIccPinForApp(paramString, null, paramMessage);
  3515. }
  3516.  
  3517. public void supplyIccPin2(String paramString, Message paramMessage)
  3518. {
  3519. supplyIccPin2ForApp(paramString, null, paramMessage);
  3520. }
  3521.  
  3522. public void supplyIccPin2ForApp(String paramString1, String paramString2, Message paramMessage)
  3523. {
  3524. RILRequest localRILRequest = RILRequest.obtain(4, paramMessage);
  3525. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3526. mp.writeInt(2);
  3527. mp.writeString(paramString1);
  3528. mp.writeString(paramString2);
  3529. send(localRILRequest);
  3530. }
  3531.  
  3532. public void supplyIccPinForApp(String paramString1, String paramString2, Message paramMessage)
  3533. {
  3534. RILRequest localRILRequest = RILRequest.obtain(2, paramMessage);
  3535. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3536. mp.writeInt(2);
  3537. mp.writeString(paramString1);
  3538. mp.writeString(paramString2);
  3539. send(localRILRequest);
  3540. }
  3541.  
  3542. public void supplyIccPuk(String paramString1, String paramString2, Message paramMessage)
  3543. {
  3544. supplyIccPukForApp(paramString1, paramString2, null, paramMessage);
  3545. }
  3546.  
  3547. public void supplyIccPuk2(String paramString1, String paramString2, Message paramMessage)
  3548. {
  3549. supplyIccPuk2ForApp(paramString1, paramString2, null, paramMessage);
  3550. }
  3551.  
  3552. public void supplyIccPuk2ForApp(String paramString1, String paramString2, String paramString3, Message paramMessage)
  3553. {
  3554. RILRequest localRILRequest = RILRequest.obtain(5, paramMessage);
  3555. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3556. mp.writeInt(3);
  3557. mp.writeString(paramString1);
  3558. mp.writeString(paramString2);
  3559. mp.writeString(paramString3);
  3560. send(localRILRequest);
  3561. }
  3562.  
  3563. public void supplyIccPukForApp(String paramString1, String paramString2, String paramString3, Message paramMessage)
  3564. {
  3565. RILRequest localRILRequest = RILRequest.obtain(3, paramMessage);
  3566. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3567. mp.writeInt(3);
  3568. mp.writeString(paramString1);
  3569. mp.writeString(paramString2);
  3570. mp.writeString(paramString3);
  3571. send(localRILRequest);
  3572. }
  3573.  
  3574. public void suspendQos(int paramInt, Message paramMessage)
  3575. {
  3576. RILRequest localRILRequest = RILRequest.obtain(116, paramMessage);
  3577. mp.writeInt(1);
  3578. mp.writeString(Integer.toString(paramInt));
  3579. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest) + " qosId:" + paramInt + " (0x" + Integer.toHexString(paramInt) + ")");
  3580. send(localRILRequest);
  3581. }
  3582.  
  3583. public void switchWaitingOrHoldingAndActive(Message paramMessage)
  3584. {
  3585. RILRequest localRILRequest = RILRequest.obtain(15, paramMessage);
  3586. riljLog(localRILRequest.serialString() + "> " + requestToString(mRequest));
  3587. send(localRILRequest);
  3588. }
  3589.  
  3590. public void testingEmergencyCall()
  3591. {
  3592. riljLog("testingEmergencyCall");
  3593. mTestingEmergencyCall.set(true);
  3594. }
  3595.  
  3596. public void writeSmsToRuim(int paramInt, String paramString, Message paramMessage)
  3597. {
  3598. int i = translateStatus(paramInt);
  3599. RILRequest localRILRequest = RILRequest.obtain(96, paramMessage);
  3600. mp.writeInt(i);
  3601. mRILEx.writeContent(localRILRequest, paramString);
  3602. send(localRILRequest);
  3603. }
  3604.  
  3605. public void writeSmsToSim(int paramInt, String paramString1, String paramString2, Message paramMessage)
  3606. {
  3607. int i = translateStatus(paramInt);
  3608. RILRequest localRILRequest = RILRequest.obtain(63, paramMessage);
  3609. mp.writeInt(i);
  3610. mp.writeString(paramString2);
  3611. mp.writeString(paramString1);
  3612. send(localRILRequest);
  3613. }
  3614.  
  3615. private class RILEx
  3616. {
  3617. private RILEx() {}
  3618.  
  3619. private void writeContent(RILRequest paramRILRequest, String paramString)
  3620. {
  3621. try
  3622. {
  3623. for (int k : paramString.getBytes("ISO-8859-1"))
  3624. Log.e("RILJ", "writeSmsToRuim pdu is" + k);
  3625. DataInputStream localDataInputStream = new DataInputStream(new ByteArrayInputStream(paramString.getBytes("ISO-8859-1")));
  3626. mp.writeInt(localDataInputStream.readInt());
  3627. mp.writeByte((byte)localDataInputStream.read());
  3628. mp.writeInt(localDataInputStream.readInt());
  3629. mp.writeInt(localDataInputStream.readInt());
  3630. mp.writeInt(localDataInputStream.readInt());
  3631. mp.writeInt(localDataInputStream.readInt());
  3632. mp.writeInt(localDataInputStream.readInt());
  3633. mp.writeByte((byte)localDataInputStream.read());
  3634. for (int m = 0; m < 36; m++)
  3635. mp.writeByte((byte)localDataInputStream.read());
  3636. mp.writeInt(localDataInputStream.readInt());
  3637. mp.writeByte((byte)localDataInputStream.read());
  3638. mp.writeByte((byte)localDataInputStream.read());
  3639. for (int n = 0; n < 36; n++)
  3640. mp.writeByte((byte)localDataInputStream.read());
  3641. mp.writeInt(localDataInputStream.readInt());
  3642. for (int i1 = 0; i1 < 255; i1++)
  3643. mp.writeByte((byte)localDataInputStream.read());
  3644. return;
  3645. }
  3646. catch (UnsupportedEncodingException localUnsupportedEncodingException)
  3647. {
  3648. RIL.this.riljLog("writeSmsToRuim: UnsupportedEncodingException: " + localUnsupportedEncodingException);
  3649. return;
  3650. }
  3651. catch (IOException localIOException)
  3652. {
  3653. RIL.this.riljLog("writeSmsToRuim: conversion from input stream to object failed: " + localIOException);
  3654. }
  3655. }
  3656. }
  3657.  
  3658. class RILReceiver
  3659. implements Runnable
  3660. {
  3661. byte[] buffer = new byte[' '];
  3662.  
  3663. RILReceiver() {}
  3664.  
  3665. /* Error */
  3666. public void run()
  3667. {
  3668. // Byte code:
  3669. // 0: iconst_0
  3670. // 1: istore_1
  3671. // 2: aconst_null
  3672. // 3: astore_2
  3673. // 4: ldc 30
  3674. // 6: iconst_0
  3675. // 7: invokestatic 36 android/os/SystemProperties:getBoolean (Ljava/lang/String;Z)Z
  3676. // 10: istore 5
  3677. // 12: aload_0
  3678. // 13: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3679. // 16: invokestatic 42 com/android/internal/telephony/RIL:access$300 (Lcom/android/internal/telephony/RIL;)Ljava/lang/Integer;
  3680. // 19: ifnull +21 -> 40
  3681. // 22: aload_0
  3682. // 23: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3683. // 26: invokestatic 42 com/android/internal/telephony/RIL:access$300 (Lcom/android/internal/telephony/RIL;)Ljava/lang/Integer;
  3684. // 29: invokevirtual 48 java/lang/Integer:intValue ()I
  3685. // 32: ifeq +8 -> 40
  3686. // 35: iload 5
  3687. // 37: ifne +325 -> 362
  3688. // 40: ldc 50
  3689. // 42: invokestatic 54 com/android/internal/telephony/RIL:access$400 ()Ljava/lang/String;
  3690. // 45: invokevirtual 60 java/lang/String:equals (Ljava/lang/Object;)Z
  3691. // 48: ifeq +307 -> 355
  3692. // 51: invokestatic 64 com/android/internal/telephony/RIL:access$500 ()Z
  3693. // 54: ifeq +301 -> 355
  3694. // 57: invokestatic 70 com/huawei/telephony/HuaweiTelephonyManager:getDefault ()Lcom/huawei/telephony/HuaweiTelephonyManager;
  3695. // 60: invokevirtual 73 com/huawei/telephony/HuaweiTelephonyManager:getDualCardMode ()I
  3696. // 63: iconst_1
  3697. // 64: if_icmpne +291 -> 355
  3698. // 67: ldc 75
  3699. // 69: astore 6
  3700. // 71: new 77 android/net/LocalSocket
  3701. // 74: dup
  3702. // 75: invokespecial 78 android/net/LocalSocket: ()V
  3703. // 78: astore 7
  3704. // 80: aload 7
  3705. // 82: new 80 android/net/LocalSocketAddress
  3706. // 85: dup
  3707. // 86: aload 6
  3708. // 88: getstatic 86 android/net/LocalSocketAddress$Namespace:RESERVED Landroid/net/LocalSocketAddress$Namespace;
  3709. // 91: invokespecial 89 android/net/LocalSocketAddress: (Ljava/lang/String;Landroid/net/LocalSocketAddress$Namespace;)V
  3710. // 94: invokevirtual 93 android/net/LocalSocket:connect (Landroid/net/LocalSocketAddress;)V
  3711. // 97: aload_0
  3712. // 98: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3713. // 101: aload 7
  3714. // 103: putfield 97 com/android/internal/telephony/RIL:mSocket Landroid/net/LocalSocket;
  3715. // 106: ldc 99
  3716. // 108: new 101 java/lang/StringBuilder
  3717. // 111: dup
  3718. // 112: invokespecial 102 java/lang/StringBuilder: ()V
  3719. // 115: ldc 104
  3720. // 117: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3721. // 120: aload 6
  3722. // 122: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3723. // 125: ldc 110
  3724. // 127: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3725. // 130: invokevirtual 113 java/lang/StringBuilder:toString ()Ljava/lang/String;
  3726. // 133: invokestatic 119 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I
  3727. // 136: pop
  3728. // 137: aload_0
  3729. // 138: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3730. // 141: invokestatic 42 com/android/internal/telephony/RIL:access$300 (Lcom/android/internal/telephony/RIL;)Ljava/lang/Integer;
  3731. // 144: ifnull +557 -> 701
  3732. // 147: aload_0
  3733. // 148: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3734. // 151: invokestatic 42 com/android/internal/telephony/RIL:access$300 (Lcom/android/internal/telephony/RIL;)Ljava/lang/Integer;
  3735. // 154: invokevirtual 48 java/lang/Integer:intValue ()I
  3736. // 157: ifeq +544 -> 701
  3737. // 160: iload 5
  3738. // 162: iconst_1
  3739. // 163: if_icmpne +356 -> 519
  3740. // 166: goto +535 -> 701
  3741. // 169: ldc 99
  3742. // 171: new 101 java/lang/StringBuilder
  3743. // 174: dup
  3744. // 175: invokespecial 102 java/lang/StringBuilder: ()V
  3745. // 178: ldc 121
  3746. // 180: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3747. // 183: aload 14
  3748. // 185: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3749. // 188: invokevirtual 113 java/lang/StringBuilder:toString ()Ljava/lang/String;
  3750. // 191: invokestatic 119 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I
  3751. // 194: pop
  3752. // 195: aload 14
  3753. // 197: invokevirtual 125 java/lang/String:getBytes ()[B
  3754. // 200: astore 16
  3755. // 202: aload_0
  3756. // 203: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3757. // 206: getfield 97 com/android/internal/telephony/RIL:mSocket Landroid/net/LocalSocket;
  3758. // 209: invokevirtual 129 android/net/LocalSocket:getOutputStream ()Ljava/io/OutputStream;
  3759. // 212: aload 16
  3760. // 214: invokevirtual 135 java/io/OutputStream:write ([B)V
  3761. // 217: ldc 99
  3762. // 219: ldc -119
  3763. // 221: invokestatic 119 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I
  3764. // 224: pop
  3765. // 225: iconst_0
  3766. // 226: istore 19
  3767. // 228: aload_0
  3768. // 229: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3769. // 232: getfield 97 com/android/internal/telephony/RIL:mSocket Landroid/net/LocalSocket;
  3770. // 235: invokevirtual 141 android/net/LocalSocket:getInputStream ()Ljava/io/InputStream;
  3771. // 238: astore 26
  3772. // 240: aload 26
  3773. // 242: aload_0
  3774. // 243: getfield 19 com/android/internal/telephony/RIL$RILReceiver:buffer [B
  3775. // 246: invokestatic 145 com/android/internal/telephony/RIL:access$600 (Ljava/io/InputStream;[B)I
  3776. // 249: istore 27
  3777. // 251: iload 27
  3778. // 253: istore 19
  3779. // 255: iload 19
  3780. // 257: ifge +299 -> 556
  3781. // 260: ldc 99
  3782. // 262: new 101 java/lang/StringBuilder
  3783. // 265: dup
  3784. // 266: invokespecial 102 java/lang/StringBuilder: ()V
  3785. // 269: ldc -109
  3786. // 271: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3787. // 274: aload 6
  3788. // 276: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3789. // 279: ldc 110
  3790. // 281: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3791. // 284: invokevirtual 113 java/lang/StringBuilder:toString ()Ljava/lang/String;
  3792. // 287: invokestatic 119 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I
  3793. // 290: pop
  3794. // 291: aload_0
  3795. // 292: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3796. // 295: getstatic 153 com/android/internal/telephony/CommandsInterface$RadioState:RADIO_UNAVAILABLE Lcom/android/internal/telephony/CommandsInterface$RadioState;
  3797. // 298: invokevirtual 157 com/android/internal/telephony/RIL:setRadioState (Lcom/android/internal/telephony/CommandsInterface$RadioState;)V
  3798. // 301: aload_0
  3799. // 302: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3800. // 305: getfield 97 com/android/internal/telephony/RIL:mSocket Landroid/net/LocalSocket;
  3801. // 308: invokevirtual 160 android/net/LocalSocket:close ()V
  3802. // 311: aload_0
  3803. // 312: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3804. // 315: aconst_null
  3805. // 316: putfield 97 com/android/internal/telephony/RIL:mSocket Landroid/net/LocalSocket;
  3806. // 319: invokestatic 165 com/android/internal/telephony/RILRequest:resetSerial ()V
  3807. // 322: aload_0
  3808. // 323: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3809. // 326: iconst_1
  3810. // 327: iconst_0
  3811. // 328: invokestatic 169 com/android/internal/telephony/RIL:access$800 (Lcom/android/internal/telephony/RIL;IZ)V
  3812. // 331: iconst_0
  3813. // 332: istore_1
  3814. // 333: goto -331 -> 2
  3815. // 336: astore_3
  3816. // 337: ldc 99
  3817. // 339: ldc -85
  3818. // 341: aload_3
  3819. // 342: invokestatic 175 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  3820. // 345: pop
  3821. // 346: aload_0
  3822. // 347: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3823. // 350: iconst_m1
  3824. // 351: invokestatic 179 com/android/internal/telephony/RIL:access$900 (Lcom/android/internal/telephony/RIL;I)V
  3825. // 354: return
  3826. // 355: ldc -75
  3827. // 357: astore 6
  3828. // 359: goto -288 -> 71
  3829. // 362: ldc 50
  3830. // 364: invokestatic 54 com/android/internal/telephony/RIL:access$400 ()Ljava/lang/String;
  3831. // 367: invokevirtual 60 java/lang/String:equals (Ljava/lang/Object;)Z
  3832. // 370: ifeq +26 -> 396
  3833. // 373: invokestatic 64 com/android/internal/telephony/RIL:access$500 ()Z
  3834. // 376: ifeq +20 -> 396
  3835. // 379: invokestatic 70 com/huawei/telephony/HuaweiTelephonyManager:getDefault ()Lcom/huawei/telephony/HuaweiTelephonyManager;
  3836. // 382: invokevirtual 73 com/huawei/telephony/HuaweiTelephonyManager:getDualCardMode ()I
  3837. // 385: iconst_1
  3838. // 386: if_icmpne +10 -> 396
  3839. // 389: ldc -75
  3840. // 391: astore 6
  3841. // 393: goto -322 -> 71
  3842. // 396: ldc 75
  3843. // 398: astore 6
  3844. // 400: goto -329 -> 71
  3845. // 403: astore 32
  3846. // 405: aload_2
  3847. // 406: ifnull +7 -> 413
  3848. // 409: aload_2
  3849. // 410: invokevirtual 160 android/net/LocalSocket:close ()V
  3850. // 413: iload_1
  3851. // 414: bipush 8
  3852. // 416: if_icmpne +55 -> 471
  3853. // 419: ldc 99
  3854. // 421: new 101 java/lang/StringBuilder
  3855. // 424: dup
  3856. // 425: invokespecial 102 java/lang/StringBuilder: ()V
  3857. // 428: ldc -73
  3858. // 430: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3859. // 433: aload 6
  3860. // 435: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3861. // 438: ldc -71
  3862. // 440: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3863. // 443: iload_1
  3864. // 444: invokevirtual 188 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder;
  3865. // 447: ldc -66
  3866. // 449: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3867. // 452: invokevirtual 113 java/lang/StringBuilder:toString ()Ljava/lang/String;
  3868. // 455: invokestatic 192 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;)I
  3869. // 458: pop
  3870. // 459: ldc2_w 193
  3871. // 462: invokestatic 200 java/lang/Thread:sleep (J)V
  3872. // 465: iinc 1 1
  3873. // 468: goto -466 -> 2
  3874. // 471: iload_1
  3875. // 472: ifle -13 -> 459
  3876. // 475: iload_1
  3877. // 476: bipush 8
  3878. // 478: if_icmpge -19 -> 459
  3879. // 481: ldc 99
  3880. // 483: new 101 java/lang/StringBuilder
  3881. // 486: dup
  3882. // 487: invokespecial 102 java/lang/StringBuilder: ()V
  3883. // 490: ldc -73
  3884. // 492: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3885. // 495: aload 6
  3886. // 497: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3887. // 500: ldc -54
  3888. // 502: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3889. // 505: invokevirtual 113 java/lang/StringBuilder:toString ()Ljava/lang/String;
  3890. // 508: invokestatic 119 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;)I
  3891. // 511: pop
  3892. // 512: goto -53 -> 459
  3893. // 515: astore_3
  3894. // 516: goto -179 -> 337
  3895. // 519: ldc -52
  3896. // 521: astore 14
  3897. // 523: goto -354 -> 169
  3898. // 526: astore 29
  3899. // 528: ldc 99
  3900. // 530: ldc -50
  3901. // 532: aload 29
  3902. // 534: invokestatic 175 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  3903. // 537: pop
  3904. // 538: goto -313 -> 225
  3905. // 541: astore 17
  3906. // 543: ldc 99
  3907. // 545: ldc -48
  3908. // 547: aload 17
  3909. // 549: invokestatic 175 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  3910. // 552: pop
  3911. // 553: goto -328 -> 225
  3912. // 556: invokestatic 214 android/os/Parcel:obtain ()Landroid/os/Parcel;
  3913. // 559: astore 28
  3914. // 561: aload 28
  3915. // 563: aload_0
  3916. // 564: getfield 19 com/android/internal/telephony/RIL$RILReceiver:buffer [B
  3917. // 567: iconst_0
  3918. // 568: iload 19
  3919. // 570: invokevirtual 218 android/os/Parcel:unmarshall ([BII)V
  3920. // 573: aload 28
  3921. // 575: iconst_0
  3922. // 576: invokevirtual 222 android/os/Parcel:setDataPosition (I)V
  3923. // 579: aload_0
  3924. // 580: getfield 14 com/android/internal/telephony/RIL$RILReceiver:this$0 Lcom/android/internal/telephony/RIL;
  3925. // 583: aload 28
  3926. // 585: invokestatic 226 com/android/internal/telephony/RIL:access$700 (Lcom/android/internal/telephony/RIL;Landroid/os/Parcel;)V
  3927. // 588: aload 28
  3928. // 590: invokevirtual 229 android/os/Parcel:recycle ()V
  3929. // 593: goto -353 -> 240
  3930. // 596: astore 24
  3931. // 598: ldc 99
  3932. // 600: new 101 java/lang/StringBuilder
  3933. // 603: dup
  3934. // 604: invokespecial 102 java/lang/StringBuilder: ()V
  3935. // 607: ldc -25
  3936. // 609: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3937. // 612: aload 6
  3938. // 614: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3939. // 617: ldc -23
  3940. // 619: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3941. // 622: invokevirtual 113 java/lang/StringBuilder:toString ()Ljava/lang/String;
  3942. // 625: aload 24
  3943. // 627: invokestatic 235 android/util/Log:i (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  3944. // 630: pop
  3945. // 631: goto -371 -> 260
  3946. // 634: astore 20
  3947. // 636: ldc 99
  3948. // 638: new 101 java/lang/StringBuilder
  3949. // 641: dup
  3950. // 642: invokespecial 102 java/lang/StringBuilder: ()V
  3951. // 645: ldc -19
  3952. // 647: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3953. // 650: iload 19
  3954. // 652: invokevirtual 188 java/lang/StringBuilder:append (I)Ljava/lang/StringBuilder;
  3955. // 655: ldc -17
  3956. // 657: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3957. // 660: aload 20
  3958. // 662: invokevirtual 240 java/lang/Throwable:toString ()Ljava/lang/String;
  3959. // 665: invokevirtual 108 java/lang/StringBuilder:append (Ljava/lang/String;)Ljava/lang/StringBuilder;
  3960. // 668: invokevirtual 113 java/lang/StringBuilder:toString ()Ljava/lang/String;
  3961. // 671: invokestatic 192 android/util/Log:e (Ljava/lang/String;Ljava/lang/String;)I
  3962. // 674: pop
  3963. // 675: goto -415 -> 260
  3964. // 678: astore 12
  3965. // 680: goto -267 -> 413
  3966. // 683: astore 10
  3967. // 685: goto -220 -> 465
  3968. // 688: astore 23
  3969. // 690: goto -379 -> 311
  3970. // 693: astore 8
  3971. // 695: aload 7
  3972. // 697: astore_2
  3973. // 698: goto -293 -> 405
  3974. // 701: ldc -14
  3975. // 703: astore 14
  3976. // 705: goto -536 -> 169
  3977. // Local variable table:
  3978. // start length slot name signature
  3979. // 0 708 0 this RILReceiver
  3980. // 1 478 1 i int
  3981. // 3 695 2 localObject Object
  3982. // 336 6 3 localThrowable1 Throwable
  3983. // 515 1 3 localThrowable2 Throwable
  3984. // 10 154 5 bool boolean
  3985. // 69 544 6 str1 String
  3986. // 78 618 7 localLocalSocket LocalSocket
  3987. // 693 1 8 localIOException1 IOException
  3988. // 683 1 10 localInterruptedException java.lang.InterruptedException
  3989. // 678 1 12 localIOException2 IOException
  3990. // 183 521 14 str2 String
  3991. // 200 13 16 arrayOfByte byte[]
  3992. // 541 7 17 localRuntimeException RuntimeException
  3993. // 226 425 19 j int
  3994. // 634 27 20 localThrowable3 Throwable
  3995. // 688 1 23 localIOException3 IOException
  3996. // 596 30 24 localIOException4 IOException
  3997. // 238 3 26 localInputStream InputStream
  3998. // 249 3 27 k int
  3999. // 559 30 28 localParcel Parcel
  4000. // 526 7 29 localIOException5 IOException
  4001. // 403 1 32 localIOException6 IOException
  4002. // Exception table:
  4003. // from to target type
  4004. // 80 97 336 java/lang/Throwable
  4005. // 97 160 336 java/lang/Throwable
  4006. // 169 202 336 java/lang/Throwable
  4007. // 202 225 336 java/lang/Throwable
  4008. // 260 301 336 java/lang/Throwable
  4009. // 301 311 336 java/lang/Throwable
  4010. // 311 331 336 java/lang/Throwable
  4011. // 528 538 336 java/lang/Throwable
  4012. // 543 553 336 java/lang/Throwable
  4013. // 598 631 336 java/lang/Throwable
  4014. // 636 675 336 java/lang/Throwable
  4015. // 71 80 403 java/io/IOException
  4016. // 4 35 515 java/lang/Throwable
  4017. // 40 67 515 java/lang/Throwable
  4018. // 71 80 515 java/lang/Throwable
  4019. // 362 389 515 java/lang/Throwable
  4020. // 409 413 515 java/lang/Throwable
  4021. // 419 459 515 java/lang/Throwable
  4022. // 459 465 515 java/lang/Throwable
  4023. // 481 512 515 java/lang/Throwable
  4024. // 202 225 526 java/io/IOException
  4025. // 202 225 541 java/lang/RuntimeException
  4026. // 228 240 596 java/io/IOException
  4027. // 240 251 596 java/io/IOException
  4028. // 556 593 596 java/io/IOException
  4029. // 228 240 634 java/lang/Throwable
  4030. // 240 251 634 java/lang/Throwable
  4031. // 556 593 634 java/lang/Throwable
  4032. // 409 413 678 java/io/IOException
  4033. // 459 465 683 java/lang/InterruptedException
  4034. // 301 311 688 java/io/IOException
  4035. // 80 97 693 java/io/IOException
  4036. }
  4037. }
  4038.  
  4039. class RILSender
  4040. extends Handler
  4041. implements Runnable
  4042. {
  4043. byte[] dataLength = new byte[4];
  4044.  
  4045. public RILSender(Looper paramLooper)
  4046. {
  4047. super();
  4048. }
  4049.  
  4050. public void handleMessage(Message paramMessage)
  4051. {
  4052. RILRequest localRILRequest1 = (RILRequest)obj;
  4053. switch (what)
  4054. {
  4055. default:
  4056. case 1:
  4057. for (;;)
  4058. {
  4059. return;
  4060. int k = 0;
  4061. try
  4062. {
  4063. LocalSocket localLocalSocket = mSocket;
  4064. if (localLocalSocket == null)
  4065. {
  4066. localRILRequest1.onError(1, null);
  4067. localRILRequest1.release();
  4068. int m = mRequestMessagesPending;
  4069. k = 0;
  4070. if (m > 0)
  4071. {
  4072. RIL localRIL3 = RIL.this;
  4073. mRequestMessagesPending = (-1 + mRequestMessagesPending);
  4074. }
  4075. return;
  4076. }
  4077. synchronized (mWakeLock)
  4078. {
  4079. RIL localRIL4;
  4080. int n;
  4081. RIL localRIL5;
  4082. byte[] arrayOfByte1;
  4083. RIL localRIL1;
  4084. RIL localRIL2;
  4085. byte[] arrayOfByte2;
  4086. if (mWakeLock.isHeld())
  4087. if (mRequestMessagesWaiting != 0)
  4088. {
  4089. Log.d("RILJ", "NOTE: mReqWaiting is NOT 0 but" + mRequestMessagesWaiting + " at TIMEOUT, reset!" + " There still msg waitng for response");
  4090. mRequestMessagesWaiting = 0;
  4091. }
  4092. }
  4093. }
  4094. catch (IOException localIOException) {}catch (RuntimeException localRuntimeException)
  4095. {
  4096. for (;;)
  4097. {
  4098. Log.e("RILJ", "Uncaught exception ", localRuntimeException);
  4099. if ((RIL.this.findAndRemoveRequestFromList(mSerial) != null) || (k == 0))
  4100. {
  4101. localRILRequest1.onError(2, null);
  4102. localRILRequest1.release();
  4103. }
  4104. localRIL1 = RIL.this;
  4105. continue;
  4106. arrayOfByte2 = dataLength;
  4107. dataLength[1] = 0;
  4108. arrayOfByte2[0] = 0;
  4109. dataLength[2] = ((byte)(0xFF & arrayOfByte1.length >> 8));
  4110. dataLength[3] = ((byte)(0xFF & arrayOfByte1.length));
  4111. localLocalSocket.getOutputStream().write(dataLength);
  4112. localLocalSocket.getOutputStream().write(arrayOfByte1);
  4113. localRIL1 = RIL.this;
  4114. }
  4115. }
  4116. finally
  4117. {
  4118. RIL.this.releaseWakeLockIfDone();
  4119. }
  4120. }
  4121. }
  4122. synchronized (mRequestsList)
  4123. {
  4124. int i = mRequestsList.size();
  4125. Log.d("RILJ", "WAKE_LOCK_TIMEOUT mRequestList=" + i);
  4126. for (int j = 0; j < i; j++)
  4127. {
  4128. RILRequest localRILRequest2 = (RILRequest)mRequestsList.get(j);
  4129. Log.d("RILJ", j + ": [" + mSerial + "] " + RIL.requestToString(mRequest));
  4130. }
  4131. if (mRequestMessagesPending != 0)
  4132. {
  4133. Log.e("RILJ", "ERROR: mReqPending is NOT 0 but" + mRequestMessagesPending + " at TIMEOUT, reset!");
  4134. mRequestMessagesPending = 0;
  4135. }
  4136. mWakeLock.release();
  4137. return;
  4138. localObject1 = finally;
  4139. throw localObject1;
  4140. }
  4141. }
  4142.  
  4143. public void run() {}
  4144. }
  4145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement