Advertisement
manfromnn

RIL _ZTE_V790

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