Advertisement
Guest User

GsmServiceStateTracker.smali

a guest
Mar 3rd, 2012
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 344.17 KB | None | 0 0
  1. .class final Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;
  2. .super Lcom/android/internal/telephony/ServiceStateTracker;
  3. .source "GsmServiceStateTracker.java"
  4.  
  5.  
  6. # annotations
  7. .annotation system Ldalvik/annotation/MemberClasses;
  8. value = {
  9. Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$3;
  10. }
  11. .end annotation
  12.  
  13.  
  14. # static fields
  15. .field static final CS_DISABLED:I = 0x3ec
  16.  
  17. .field static final CS_EMERGENCY_ENABLED:I = 0x3ee
  18.  
  19. .field static final CS_ENABLED:I = 0x3eb
  20.  
  21. .field static final CS_NORMAL_ENABLED:I = 0x3ed
  22.  
  23. .field static final CS_NOTIFICATION:I = 0x3e7
  24.  
  25. .field static final DBG:Z = true
  26.  
  27. .field static final DEFAULT_GPRS_CHECK_PERIOD_MILLIS:I = 0xea60
  28.  
  29. .field static final LOG_TAG:Ljava/lang/String; = "GSM"
  30.  
  31. .field static final MAX_NUM_DATA_STATE_READS:I = 0xf
  32.  
  33. .field static final PS_DISABLED:I = 0x3ea
  34.  
  35. .field static final PS_ENABLED:I = 0x3e9
  36.  
  37. .field static final PS_NOTIFICATION:I = 0x378
  38.  
  39. .field private static final SUPPORT_OFFLINE_ALARM:Z = false
  40.  
  41. .field private static final WAKELOCK_TAG:Ljava/lang/String; = "ServiceStateTracker"
  42.  
  43. .field static final mChinaOpList:Ljava/util/ArrayList;
  44.  
  45. .field static final mNeedAppendixOpList:Ljava/util/ArrayList;
  46.  
  47.  
  48. # instance fields
  49. .field cellLoc:Landroid/telephony/gsm/GsmCellLocation;
  50.  
  51. .field private cr:Landroid/content/ContentResolver;
  52.  
  53. .field private curPlmn:Ljava/lang/String;
  54.  
  55. .field private curSpn:Ljava/lang/String;
  56.  
  57. .field private curSpnRule:I
  58.  
  59. .field private gprsAttachedRegistrants:Landroid/os/RegistrantList;
  60.  
  61. .field private gprsDetachedRegistrants:Landroid/os/RegistrantList;
  62.  
  63. .field private gprsState:I
  64.  
  65. .field private isFirstNetworkStateChange:Z
  66.  
  67. .field private m2gWithDTM:Z
  68.  
  69. .field private mAutoTimeObserver:Landroid/database/ContentObserver;
  70.  
  71. .field private mCFUFlag:Z
  72.  
  73. .field private mCgregChange:Z
  74.  
  75. .field private mCregChange:Z
  76.  
  77. .field private mDataRoaming:Z
  78.  
  79. .field private mEmergencyOnly:Z
  80.  
  81. .field mFlightModeBootup:Z
  82.  
  83. .field private mGotCountryCode:Z
  84.  
  85. .field private mGsmRoaming:Z
  86.  
  87. .field private mHtcContext:Landroid/content/Context;
  88.  
  89. .field private mIntentReceiver:Landroid/content/BroadcastReceiver;
  90.  
  91. .field private mLocale:Ljava/util/Locale;
  92.  
  93. .field private mMMRejectCause:I
  94.  
  95. .field private mNeedFixZone:Z
  96.  
  97. .field private mNeedToRegForSimLoaded:Z
  98.  
  99. .field private mNewMMRejectCause:I
  100.  
  101. .field private mNotification:Landroid/app/Notification;
  102.  
  103. .field private mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  104.  
  105. .field private mOperatorNumeric:Ljava/lang/String;
  106.  
  107. .field private mOperatorStringLists:Ljava/util/HashMap;
  108. .annotation system Ldalvik/annotation/Signature;
  109. value = {
  110. "Ljava/util/HashMap",
  111. "<",
  112. "Ljava/lang/String;",
  113. "Ljava/lang/String;",
  114. ">;"
  115. }
  116. .end annotation
  117. .end field
  118.  
  119. .field private mOriginalOperatorName:Ljava/lang/String;
  120.  
  121. .field mPreferredNetworkType:I
  122.  
  123. .field public mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  124.  
  125. .field private mReportedGprsNoReg:Z
  126.  
  127. .field mSavedAtTime:J
  128.  
  129. .field mSavedTime:J
  130.  
  131. .field mSavedTimeZone:Ljava/lang/String;
  132.  
  133. .field private mSpecialEmMode:Z
  134.  
  135. .field private mStartedGprsRegCheck:Z
  136.  
  137. .field private mWakeLock:Landroid/os/PowerManager$WakeLock;
  138.  
  139. .field private mZoneDst:Z
  140.  
  141. .field private mZoneOffset:I
  142.  
  143. .field private mZoneTime:J
  144.  
  145. .field private networkType:I
  146.  
  147. .field newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  148.  
  149. .field private newGPRSState:I
  150.  
  151. .field private newNetworkType:I
  152.  
  153. .field private newRilCgregState:I
  154.  
  155. .field private newRilCregState:I
  156.  
  157. .field private oldRilCgregState:I
  158.  
  159. .field private oldRilCregState:I
  160.  
  161. .field operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  162.  
  163. .field phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  164.  
  165. .field private psRestrictDisabledRegistrants:Landroid/os/RegistrantList;
  166.  
  167. .field private psRestrictEnabledRegistrants:Landroid/os/RegistrantList;
  168.  
  169. .field rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  170.  
  171.  
  172. # direct methods
  173. .method static constructor <clinit>()V
  174. .registers 7
  175.  
  176. .prologue
  177. const/4 v6, 0x2
  178.  
  179. const/4 v5, 0x1
  180.  
  181. const/4 v4, 0x0
  182.  
  183. .line 233
  184. new-instance v0, Ljava/util/ArrayList;
  185.  
  186. const/4 v1, 0x4
  187.  
  188. new-array v1, v1, [Ljava/lang/String;
  189.  
  190. const-string v2, "46000"
  191.  
  192. aput-object v2, v1, v4
  193.  
  194. const-string v2, "46002"
  195.  
  196. aput-object v2, v1, v5
  197.  
  198. const-string v2, "46007"
  199.  
  200. aput-object v2, v1, v6
  201.  
  202. const/4 v2, 0x3
  203.  
  204. const-string v3, "45412"
  205.  
  206. aput-object v3, v1, v2
  207.  
  208. invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
  209.  
  210. move-result-object v1
  211.  
  212. invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
  213.  
  214. sput-object v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedAppendixOpList:Ljava/util/ArrayList;
  215.  
  216. .line 236
  217. new-instance v0, Ljava/util/ArrayList;
  218.  
  219. new-array v1, v6, [Ljava/lang/String;
  220.  
  221. const-string v2, "460"
  222.  
  223. aput-object v2, v1, v4
  224.  
  225. const-string v2, "454"
  226.  
  227. aput-object v2, v1, v5
  228.  
  229. invoke-static {v1}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
  230.  
  231. move-result-object v1
  232.  
  233. invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
  234.  
  235. sput-object v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mChinaOpList:Ljava/util/ArrayList;
  236.  
  237. return-void
  238. .end method
  239.  
  240. .method public constructor <init>(Lcom/android/internal/telephony/gsm/GSMPhone;)V
  241. .registers 11
  242. .parameter "phone"
  243.  
  244. .prologue
  245. const/4 v8, 0x1
  246.  
  247. const/4 v7, 0x0
  248.  
  249. const/4 v5, 0x0
  250.  
  251. .line 282
  252. invoke-direct {p0}, Lcom/android/internal/telephony/ServiceStateTracker;-><init>()V
  253.  
  254. .line 107
  255. iput v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  256.  
  257. .line 108
  258. iput v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  259.  
  260. .line 111
  261. iput v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->oldRilCregState:I
  262.  
  263. .line 112
  264. iput v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCregState:I
  265.  
  266. .line 113
  267. iput v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->oldRilCgregState:I
  268.  
  269. .line 114
  270. iput v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCgregState:I
  271.  
  272. .line 115
  273. iput-boolean v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isFirstNetworkStateChange:Z
  274.  
  275. .line 116
  276. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCregChange:Z
  277.  
  278. .line 117
  279. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCgregChange:Z
  280.  
  281. .line 124
  282. iput v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkType:I
  283.  
  284. .line 125
  285. iput v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  286.  
  287. .line 131
  288. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
  289.  
  290. .line 137
  291. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
  292.  
  293. .line 146
  294. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCFUFlag:Z
  295.  
  296. .line 155
  297. iput-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorNumeric:Ljava/lang/String;
  298.  
  299. .line 164
  300. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
  301.  
  302. .line 166
  303. new-instance v4, Landroid/os/RegistrantList;
  304.  
  305. invoke-direct {v4}, Landroid/os/RegistrantList;-><init>()V
  306.  
  307. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsAttachedRegistrants:Landroid/os/RegistrantList;
  308.  
  309. .line 167
  310. new-instance v4, Landroid/os/RegistrantList;
  311.  
  312. invoke-direct {v4}, Landroid/os/RegistrantList;-><init>()V
  313.  
  314. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsDetachedRegistrants:Landroid/os/RegistrantList;
  315.  
  316. .line 168
  317. new-instance v4, Landroid/os/RegistrantList;
  318.  
  319. invoke-direct {v4}, Landroid/os/RegistrantList;-><init>()V
  320.  
  321. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->psRestrictEnabledRegistrants:Landroid/os/RegistrantList;
  322.  
  323. .line 169
  324. new-instance v4, Landroid/os/RegistrantList;
  325.  
  326. invoke-direct {v4}, Landroid/os/RegistrantList;-><init>()V
  327.  
  328. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->psRestrictDisabledRegistrants:Landroid/os/RegistrantList;
  329.  
  330. .line 176
  331. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZone:Z
  332.  
  333. .line 180
  334. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
  335.  
  336. .line 194
  337. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
  338.  
  339. .line 197
  340. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
  341.  
  342. .line 200
  343. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSpecialEmMode:Z
  344.  
  345. .line 213
  346. iput-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  347.  
  348. .line 214
  349. iput-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  350.  
  351. .line 215
  352. iput v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
  353.  
  354. .line 242
  355. const-string v4, ""
  356.  
  357. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  358.  
  359. .line 250
  360. new-instance v4, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$1;
  361.  
  362. invoke-direct {v4, p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$1;-><init>(Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;)V
  363.  
  364. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIntentReceiver:Landroid/content/BroadcastReceiver;
  365.  
  366. .line 273
  367. new-instance v4, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$2;
  368.  
  369. new-instance v5, Landroid/os/Handler;
  370.  
  371. invoke-direct {v5}, Landroid/os/Handler;-><init>()V
  372.  
  373. invoke-direct {v4, p0, v5}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$2;-><init>(Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;Landroid/os/Handler;)V
  374.  
  375. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeObserver:Landroid/database/ContentObserver;
  376.  
  377. .line 508
  378. iput-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  379.  
  380. .line 284
  381. iput-object p1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  382.  
  383. .line 285
  384. iget-object v4, p1, Lcom/android/internal/telephony/gsm/GSMPhone;->mCM:Lcom/android/internal/telephony/CommandsInterface;
  385.  
  386. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  387.  
  388. .line 286
  389. new-instance v4, Landroid/telephony/ServiceState;
  390.  
  391. invoke-direct {v4}, Landroid/telephony/ServiceState;-><init>()V
  392.  
  393. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  394.  
  395. .line 287
  396. new-instance v4, Landroid/telephony/ServiceState;
  397.  
  398. invoke-direct {v4}, Landroid/telephony/ServiceState;-><init>()V
  399.  
  400. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  401.  
  402. .line 288
  403. new-instance v4, Landroid/telephony/gsm/GsmCellLocation;
  404.  
  405. invoke-direct {v4}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
  406.  
  407. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
  408.  
  409. .line 289
  410. new-instance v4, Landroid/telephony/gsm/GsmCellLocation;
  411.  
  412. invoke-direct {v4}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
  413.  
  414. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  415.  
  416. .line 290
  417. new-instance v4, Lcom/android/internal/telephony/gsm/RestrictedState;
  418.  
  419. invoke-direct {v4}, Lcom/android/internal/telephony/gsm/RestrictedState;-><init>()V
  420.  
  421. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  422.  
  423. .line 291
  424. new-instance v4, Landroid/telephony/SignalStrength;
  425.  
  426. invoke-direct {v4}, Landroid/telephony/SignalStrength;-><init>()V
  427.  
  428. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSignalStrength:Landroid/telephony/SignalStrength;
  429.  
  430. .line 293
  431. new-instance v4, Lcom/android/internal/telephony/gsm/OperatorInfo;
  432.  
  433. invoke-direct {v4}, Lcom/android/internal/telephony/gsm/OperatorInfo;-><init>()V
  434.  
  435. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  436.  
  437. .line 296
  438. invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  439.  
  440. move-result-object v4
  441.  
  442. const-string/jumbo v5, "power"
  443.  
  444. invoke-virtual {v4, v5}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
  445.  
  446. move-result-object v3
  447.  
  448. check-cast v3, Landroid/os/PowerManager;
  449.  
  450. .line 298
  451. .local v3, powerManager:Landroid/os/PowerManager;
  452. const-string v4, "ServiceStateTracker"
  453.  
  454. invoke-virtual {v3, v8, v4}, Landroid/os/PowerManager;->newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;
  455.  
  456. move-result-object v4
  457.  
  458. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
  459.  
  460. .line 300
  461. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  462.  
  463. const/16 v5, 0xd
  464.  
  465. invoke-interface {v4, p0, v5, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
  466.  
  467. .line 301
  468. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  469.  
  470. invoke-interface {v4, p0, v8, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForRadioStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
  471.  
  472. .line 303
  473. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  474.  
  475. const/16 v5, 0x33
  476.  
  477. invoke-interface {v4, p0, v5, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForRadioStateChangedExt(Landroid/os/Handler;ILjava/lang/Object;)V
  478.  
  479. .line 306
  480. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  481.  
  482. const/4 v5, 0x2
  483.  
  484. invoke-interface {v4, p0, v5, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForNetworkStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
  485.  
  486. .line 307
  487. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  488.  
  489. const/16 v5, 0x3d
  490.  
  491. invoke-interface {v4, p0, v5, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForDataNetworkStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
  492.  
  493. .line 309
  494. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  495.  
  496. const/16 v5, 0xb
  497.  
  498. invoke-interface {v4, p0, v5, v7}, Lcom/android/internal/telephony/CommandsInterface;->setOnNITZTime(Landroid/os/Handler;ILjava/lang/Object;)V
  499.  
  500. .line 310
  501. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  502.  
  503. const/16 v5, 0xc
  504.  
  505. invoke-interface {v4, p0, v5, v7}, Lcom/android/internal/telephony/CommandsInterface;->setOnSignalStrengthUpdate(Landroid/os/Handler;ILjava/lang/Object;)V
  506.  
  507. .line 311
  508. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  509.  
  510. const/16 v5, 0x17
  511.  
  512. invoke-interface {v4, p0, v5, v7}, Lcom/android/internal/telephony/CommandsInterface;->setOnRestrictedStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
  513.  
  514. .line 312
  515. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  516.  
  517. const/16 v5, 0x11
  518.  
  519. invoke-interface {v4, p0, v5, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForSIMReady(Landroid/os/Handler;ILjava/lang/Object;)V
  520.  
  521. .line 324
  522. const/4 v0, 0x0
  523.  
  524. .line 326
  525. .local v0, alarmTriggered:Z
  526. invoke-direct {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updatePowerState(Z)V
  527.  
  528. .line 329
  529. invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  530.  
  531. move-result-object v4
  532.  
  533. invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  534.  
  535. move-result-object v4
  536.  
  537. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cr:Landroid/content/ContentResolver;
  538.  
  539. .line 330
  540. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cr:Landroid/content/ContentResolver;
  541.  
  542. const-string v5, "auto_time"
  543.  
  544. invoke-static {v5}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
  545.  
  546. move-result-object v5
  547.  
  548. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeObserver:Landroid/database/ContentObserver;
  549.  
  550. invoke-virtual {v4, v5, v8, v6}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
  551.  
  552. .line 333
  553. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setSignalStrengthDefaultValues()V
  554.  
  555. .line 334
  556. iput-boolean v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedToRegForSimLoaded:Z
  557.  
  558. .line 337
  559. new-instance v2, Landroid/content/IntentFilter;
  560.  
  561. invoke-direct {v2}, Landroid/content/IntentFilter;-><init>()V
  562.  
  563. .line 338
  564. .local v2, filter:Landroid/content/IntentFilter;
  565. const-string v4, "android.intent.action.LOCALE_CHANGED"
  566.  
  567. invoke-virtual {v2, v4}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  568.  
  569. .line 340
  570. const-string v4, "android.intent.action.CONFIGURATION_CHANGED"
  571.  
  572. invoke-virtual {v2, v4}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
  573.  
  574. .line 345
  575. invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  576.  
  577. move-result-object v4
  578.  
  579. iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIntentReceiver:Landroid/content/BroadcastReceiver;
  580.  
  581. invoke-virtual {v4, v5, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
  582.  
  583. .line 349
  584. :try_start_12b
  585. invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  586.  
  587. move-result-object v4
  588.  
  589. const-string v5, "com.htc"
  590.  
  591. const/4 v6, 0x0
  592.  
  593. invoke-virtual {v4, v5, v6}, Landroid/content/Context;->createPackageContext(Ljava/lang/String;I)Landroid/content/Context;
  594.  
  595. move-result-object v4
  596.  
  597. iput-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mHtcContext:Landroid/content/Context;
  598. :try_end_138
  599. .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_12b .. :try_end_138} :catch_170
  600.  
  601. .line 369
  602. :goto_138
  603. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->handleIfLanguageChanged()V
  604.  
  605. .line 373
  606. const-string v4, "1"
  607.  
  608. const-string/jumbo v5, "ro.ril.emc.mode"
  609.  
  610. const-string v6, "0"
  611.  
  612. invoke-static {v5, v6}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  613.  
  614. move-result-object v5
  615.  
  616. invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  617.  
  618. move-result v4
  619.  
  620. iput-boolean v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSpecialEmMode:Z
  621.  
  622. .line 374
  623. const-string v4, "GSM"
  624.  
  625. new-instance v5, Ljava/lang/StringBuilder;
  626.  
  627. invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
  628.  
  629. const-string/jumbo v6, "mSpecialEmMode:"
  630.  
  631. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  632.  
  633. move-result-object v5
  634.  
  635. iget-boolean v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSpecialEmMode:Z
  636.  
  637. invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  638.  
  639. move-result-object v5
  640.  
  641. invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  642.  
  643. move-result-object v5
  644.  
  645. invoke-static {v4, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  646.  
  647. .line 377
  648. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  649.  
  650. move-result v4
  651.  
  652. if-eqz v4, :cond_16f
  653.  
  654. .line 378
  655. iput-boolean v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isFirstNetworkStateChange:Z
  656.  
  657. .line 380
  658. :cond_16f
  659. return-void
  660.  
  661. .line 350
  662. :catch_170
  663. move-exception v4
  664.  
  665. move-object v1, v4
  666.  
  667. .line 351
  668. .local v1, ex:Landroid/content/pm/PackageManager$NameNotFoundException;
  669. iput-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mHtcContext:Landroid/content/Context;
  670.  
  671. goto :goto_138
  672. .end method
  673.  
  674. .method static synthetic access$000(Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;)V
  675. .registers 1
  676. .parameter "x0"
  677.  
  678. .prologue
  679. .line 90
  680. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->revertToNitz()V
  681.  
  682. return-void
  683. .end method
  684.  
  685. .method private airplaneModeOn(Landroid/content/Context;)V
  686. .registers 7
  687. .parameter "context"
  688.  
  689. .prologue
  690. .line 2669
  691. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->checkOffAlarm()Z
  692.  
  693. move-result v1
  694.  
  695. .line 2670
  696. .local v1, isAlarmTriggered:Z
  697. if-eqz v1, :cond_28
  698.  
  699. .line 2673
  700. invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  701.  
  702. move-result-object v2
  703.  
  704. .line 2674
  705. .local v2, resolver:Landroid/content/ContentResolver;
  706. new-instance v0, Landroid/content/Intent;
  707.  
  708. const-string v3, "android.intent.action.AIRPLANE_MODE"
  709.  
  710. invoke-direct {v0, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  711.  
  712. .line 2675
  713. .local v0, airplaneIntent:Landroid/content/Intent;
  714. const/high16 v3, 0x2000
  715.  
  716. invoke-virtual {v0, v3}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  717.  
  718. .line 2676
  719. const-string/jumbo v3, "state"
  720.  
  721. const/4 v4, 0x1
  722.  
  723. invoke-virtual {v0, v3, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
  724.  
  725. .line 2677
  726. invoke-virtual {p1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
  727.  
  728. .line 2678
  729. const-string v3, "GSM"
  730.  
  731. const-string/jumbo v4, "turn on airplane mode"
  732.  
  733. invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  734.  
  735. .line 2680
  736. .end local v0 #airplaneIntent:Landroid/content/Intent;
  737. .end local v2 #resolver:Landroid/content/ContentResolver;
  738. :cond_28
  739. return-void
  740. .end method
  741.  
  742. .method private checkOffAlarm()Z
  743. .registers 2
  744.  
  745. .prologue
  746. .line 2638
  747. const/4 v0, 0x0
  748.  
  749. .line 2649
  750. .local v0, alarmTriggered:Z
  751. return v0
  752. .end method
  753.  
  754. .method private static displayNameFor(I)Ljava/lang/String;
  755. .registers 7
  756. .parameter "off"
  757.  
  758. .prologue
  759. const/4 v5, 0x3
  760.  
  761. .line 2202
  762. div-int/lit16 v3, p0, 0x3e8
  763.  
  764. div-int/lit8 p0, v3, 0x3c
  765.  
  766. .line 2204
  767. const/16 v3, 0x9
  768.  
  769. new-array v0, v3, [C
  770.  
  771. .line 2205
  772. .local v0, buf:[C
  773. const/4 v3, 0x0
  774.  
  775. const/16 v4, 0x47
  776.  
  777. aput-char v4, v0, v3
  778.  
  779. .line 2206
  780. const/4 v3, 0x1
  781.  
  782. const/16 v4, 0x4d
  783.  
  784. aput-char v4, v0, v3
  785.  
  786. .line 2207
  787. const/4 v3, 0x2
  788.  
  789. const/16 v4, 0x54
  790.  
  791. aput-char v4, v0, v3
  792.  
  793. .line 2209
  794. if-gez p0, :cond_4f
  795.  
  796. .line 2210
  797. const/16 v3, 0x2d
  798.  
  799. aput-char v3, v0, v5
  800.  
  801. .line 2211
  802. neg-int p0, p0
  803.  
  804. .line 2216
  805. :goto_1f
  806. div-int/lit8 v1, p0, 0x3c
  807.  
  808. .line 2217
  809. .local v1, hours:I
  810. rem-int/lit8 v2, p0, 0x3c
  811.  
  812. .line 2219
  813. .local v2, minutes:I
  814. const/4 v3, 0x4
  815.  
  816. div-int/lit8 v4, v1, 0xa
  817.  
  818. add-int/lit8 v4, v4, 0x30
  819.  
  820. int-to-char v4, v4
  821.  
  822. aput-char v4, v0, v3
  823.  
  824. .line 2220
  825. const/4 v3, 0x5
  826.  
  827. rem-int/lit8 v4, v1, 0xa
  828.  
  829. add-int/lit8 v4, v4, 0x30
  830.  
  831. int-to-char v4, v4
  832.  
  833. aput-char v4, v0, v3
  834.  
  835. .line 2222
  836. const/4 v3, 0x6
  837.  
  838. const/16 v4, 0x3a
  839.  
  840. aput-char v4, v0, v3
  841.  
  842. .line 2224
  843. const/4 v3, 0x7
  844.  
  845. div-int/lit8 v4, v2, 0xa
  846.  
  847. add-int/lit8 v4, v4, 0x30
  848.  
  849. int-to-char v4, v4
  850.  
  851. aput-char v4, v0, v3
  852.  
  853. .line 2225
  854. const/16 v3, 0x8
  855.  
  856. rem-int/lit8 v4, v2, 0xa
  857.  
  858. add-int/lit8 v4, v4, 0x30
  859.  
  860. int-to-char v4, v4
  861.  
  862. aput-char v4, v0, v3
  863.  
  864. .line 2227
  865. new-instance v3, Ljava/lang/String;
  866.  
  867. invoke-direct {v3, v0}, Ljava/lang/String;-><init>([C)V
  868.  
  869. return-object v3
  870.  
  871. .line 2213
  872. .end local v1 #hours:I
  873. .end local v2 #minutes:I
  874. :cond_4f
  875. const/16 v3, 0x2b
  876.  
  877. aput-char v3, v0, v5
  878.  
  879. goto :goto_1f
  880. .end method
  881.  
  882. .method private findTimeZone(IZJ)Ljava/util/TimeZone;
  883. .registers 15
  884. .parameter "offset"
  885. .parameter "dst"
  886. .parameter "when"
  887.  
  888. .prologue
  889. .line 1868
  890. move v5, p1
  891.  
  892. .line 1869
  893. .local v5, rawOffset:I
  894. if-eqz p2, :cond_7
  895.  
  896. .line 1870
  897. const v9, 0x36ee80
  898.  
  899. sub-int/2addr v5, v9
  900.  
  901. .line 1872
  902. :cond_7
  903. invoke-static {v5}, Ljava/util/TimeZone;->getAvailableIDs(I)[Ljava/lang/String;
  904.  
  905. move-result-object v8
  906.  
  907. .line 1873
  908. .local v8, zones:[Ljava/lang/String;
  909. const/4 v2, 0x0
  910.  
  911. .line 1874
  912. .local v2, guess:Ljava/util/TimeZone;
  913. new-instance v1, Ljava/util/Date;
  914.  
  915. invoke-direct {v1, p3, p4}, Ljava/util/Date;-><init>(J)V
  916.  
  917. .line 1875
  918. .local v1, d:Ljava/util/Date;
  919. move-object v0, v8
  920.  
  921. .local v0, arr$:[Ljava/lang/String;
  922. array-length v4, v0
  923.  
  924. .local v4, len$:I
  925. const/4 v3, 0x0
  926.  
  927. .local v3, i$:I
  928. :goto_14
  929. if-ge v3, v4, :cond_29
  930.  
  931. aget-object v7, v0, v3
  932.  
  933. .line 1876
  934. .local v7, zone:Ljava/lang/String;
  935. invoke-static {v7}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
  936.  
  937. move-result-object v6
  938.  
  939. .line 1877
  940. .local v6, tz:Ljava/util/TimeZone;
  941. invoke-virtual {v6, p3, p4}, Ljava/util/TimeZone;->getOffset(J)I
  942.  
  943. move-result v9
  944.  
  945. if-ne v9, p1, :cond_2a
  946.  
  947. invoke-virtual {v6, v1}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
  948.  
  949. move-result v9
  950.  
  951. if-ne v9, p2, :cond_2a
  952.  
  953. .line 1879
  954. move-object v2, v6
  955.  
  956. .line 1884
  957. .end local v6 #tz:Ljava/util/TimeZone;
  958. .end local v7 #zone:Ljava/lang/String;
  959. :cond_29
  960. return-object v2
  961.  
  962. .line 1875
  963. .restart local v6 #tz:Ljava/util/TimeZone;
  964. .restart local v7 #zone:Ljava/lang/String;
  965. :cond_2a
  966. add-int/lit8 v3, v3, 0x1
  967.  
  968. goto :goto_14
  969. .end method
  970.  
  971. .method private getAutoTime()Z
  972. .registers 5
  973.  
  974. .prologue
  975. const/4 v3, 0x1
  976.  
  977. .line 2411
  978. :try_start_1
  979. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  980.  
  981. invoke-virtual {v1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  982.  
  983. move-result-object v1
  984.  
  985. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  986.  
  987. move-result-object v1
  988.  
  989. const-string v2, "auto_time"
  990.  
  991. invoke-static {v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
  992. :try_end_10
  993. .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_1 .. :try_end_10} :catch_17
  994.  
  995. move-result v1
  996.  
  997. if-lez v1, :cond_15
  998.  
  999. move v1, v3
  1000.  
  1001. .line 2414
  1002. :goto_14
  1003. return v1
  1004.  
  1005. .line 2411
  1006. :cond_15
  1007. const/4 v1, 0x0
  1008.  
  1009. goto :goto_14
  1010.  
  1011. .line 2413
  1012. :catch_17
  1013. move-exception v1
  1014.  
  1015. move-object v0, v1
  1016.  
  1017. .local v0, snfe:Landroid/provider/Settings$SettingNotFoundException;
  1018. move v1, v3
  1019.  
  1020. .line 2414
  1021. goto :goto_14
  1022. .end method
  1023.  
  1024. .method private getNitzTimeZone(IZJ)Ljava/util/TimeZone;
  1025. .registers 9
  1026. .parameter "offset"
  1027. .parameter "dst"
  1028. .parameter "when"
  1029.  
  1030. .prologue
  1031. .line 1855
  1032. invoke-direct {p0, p1, p2, p3, p4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->findTimeZone(IZJ)Ljava/util/TimeZone;
  1033.  
  1034. move-result-object v0
  1035.  
  1036. .line 1856
  1037. .local v0, guess:Ljava/util/TimeZone;
  1038. if-nez v0, :cond_d
  1039.  
  1040. .line 1858
  1041. if-nez p2, :cond_29
  1042.  
  1043. const/4 v1, 0x1
  1044.  
  1045. :goto_9
  1046. invoke-direct {p0, p1, v1, p3, p4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->findTimeZone(IZJ)Ljava/util/TimeZone;
  1047.  
  1048. move-result-object v0
  1049.  
  1050. .line 1861
  1051. :cond_d
  1052. const-string v1, "GSM"
  1053.  
  1054. new-instance v2, Ljava/lang/StringBuilder;
  1055.  
  1056. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  1057.  
  1058. const-string v3, "getNitzTimeZone returning "
  1059.  
  1060. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1061.  
  1062. move-result-object v2
  1063.  
  1064. if-nez v0, :cond_2b
  1065.  
  1066. move-object v3, v0
  1067.  
  1068. :goto_1d
  1069. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  1070.  
  1071. move-result-object v2
  1072.  
  1073. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1074.  
  1075. move-result-object v2
  1076.  
  1077. invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  1078.  
  1079. .line 1864
  1080. return-object v0
  1081.  
  1082. .line 1858
  1083. :cond_29
  1084. const/4 v1, 0x0
  1085.  
  1086. goto :goto_9
  1087.  
  1088. .line 1861
  1089. :cond_2b
  1090. invoke-virtual {v0}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  1091.  
  1092. move-result-object v3
  1093.  
  1094. goto :goto_1d
  1095. .end method
  1096.  
  1097. .method private getOffAlarm()Z
  1098. .registers 3
  1099.  
  1100. .prologue
  1101. .line 2653
  1102. const-string v1, "dev.bootreason"
  1103.  
  1104. invoke-static {v1}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  1105.  
  1106. move-result-object v0
  1107.  
  1108. .line 2654
  1109. .local v0, reason:Ljava/lang/String;
  1110. const-string/jumbo v1, "rtc_alarm"
  1111.  
  1112. invoke-static {v0, v1}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
  1113.  
  1114. move-result v1
  1115.  
  1116. return v1
  1117. .end method
  1118.  
  1119. .method private handleIfLanguageChanged()V
  1120. .registers 8
  1121.  
  1122. .prologue
  1123. const/4 v6, 0x1
  1124.  
  1125. const-string v5, "GSM"
  1126.  
  1127. .line 2474
  1128. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mHtcContext:Landroid/content/Context;
  1129.  
  1130. if-eqz v3, :cond_d2
  1131.  
  1132. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mLocale:Ljava/util/Locale;
  1133.  
  1134. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mHtcContext:Landroid/content/Context;
  1135.  
  1136. invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  1137.  
  1138. move-result-object v4
  1139.  
  1140. invoke-virtual {v4}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
  1141.  
  1142. move-result-object v4
  1143.  
  1144. iget-object v4, v4, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
  1145.  
  1146. if-eq v3, v4, :cond_d2
  1147.  
  1148. .line 2475
  1149. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mHtcContext:Landroid/content/Context;
  1150.  
  1151. invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  1152.  
  1153. move-result-object v3
  1154.  
  1155. invoke-virtual {v3}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
  1156.  
  1157. move-result-object v3
  1158.  
  1159. iget-object v3, v3, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
  1160.  
  1161. iput-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mLocale:Ljava/util/Locale;
  1162.  
  1163. .line 2476
  1164. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mLocale:Ljava/util/Locale;
  1165.  
  1166. sget-object v4, Ljava/util/Locale;->TAIWAN:Ljava/util/Locale;
  1167.  
  1168. invoke-virtual {v3, v4}, Ljava/util/Locale;->equals(Ljava/lang/Object;)Z
  1169.  
  1170. move-result v3
  1171.  
  1172. if-nez v3, :cond_43
  1173.  
  1174. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mLocale:Ljava/util/Locale;
  1175.  
  1176. sget-object v4, Ljava/util/Locale;->TRADITIONAL_CHINESE:Ljava/util/Locale;
  1177.  
  1178. invoke-virtual {v3, v4}, Ljava/util/Locale;->equals(Ljava/lang/Object;)Z
  1179.  
  1180. move-result v3
  1181.  
  1182. if-nez v3, :cond_43
  1183.  
  1184. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mLocale:Ljava/util/Locale;
  1185.  
  1186. sget-object v4, Ljava/util/Locale;->CHINA:Ljava/util/Locale;
  1187.  
  1188. invoke-virtual {v3, v4}, Ljava/util/Locale;->equals(Ljava/lang/Object;)Z
  1189.  
  1190. move-result v3
  1191.  
  1192. if-eqz v3, :cond_78
  1193.  
  1194. .line 2479
  1195. :cond_43
  1196. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  1197.  
  1198. if-nez v3, :cond_4e
  1199.  
  1200. .line 2480
  1201. new-instance v3, Ljava/util/HashMap;
  1202.  
  1203. invoke-direct {v3}, Ljava/util/HashMap;-><init>()V
  1204.  
  1205. iput-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  1206.  
  1207. .line 2482
  1208. :cond_4e
  1209. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mHtcContext:Landroid/content/Context;
  1210.  
  1211. invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  1212.  
  1213. move-result-object v3
  1214.  
  1215. const v4, 0x207000d
  1216.  
  1217. invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;
  1218.  
  1219. move-result-object v1
  1220.  
  1221. .line 2483
  1222. .local v1, opStr:[Ljava/lang/String;
  1223. const/4 v0, 0x0
  1224.  
  1225. .local v0, i:I
  1226. :goto_5c
  1227. array-length v3, v1
  1228.  
  1229. if-ge v0, v3, :cond_81
  1230.  
  1231. .line 2484
  1232. aget-object v3, v1, v0
  1233.  
  1234. const-string v4, ","
  1235.  
  1236. invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
  1237.  
  1238. move-result-object v2
  1239.  
  1240. .line 2485
  1241. .local v2, strArray:[Ljava/lang/String;
  1242. array-length v3, v2
  1243.  
  1244. const/4 v4, 0x2
  1245.  
  1246. if-ne v3, v4, :cond_75
  1247.  
  1248. .line 2486
  1249. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  1250.  
  1251. const/4 v4, 0x0
  1252.  
  1253. aget-object v4, v2, v4
  1254.  
  1255. aget-object v5, v2, v6
  1256.  
  1257. invoke-virtual {v3, v4, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
  1258.  
  1259. .line 2483
  1260. :cond_75
  1261. add-int/lit8 v0, v0, 0x1
  1262.  
  1263. goto :goto_5c
  1264.  
  1265. .line 2491
  1266. .end local v0 #i:I
  1267. .end local v1 #opStr:[Ljava/lang/String;
  1268. .end local v2 #strArray:[Ljava/lang/String;
  1269. :cond_78
  1270. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  1271.  
  1272. if-eqz v3, :cond_81
  1273.  
  1274. .line 2492
  1275. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  1276.  
  1277. invoke-virtual {v3}, Ljava/util/HashMap;->clear()V
  1278.  
  1279. .line 2496
  1280. :cond_81
  1281. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1282.  
  1283. invoke-virtual {v3}, Landroid/telephony/ServiceState;->getState()I
  1284.  
  1285. move-result v3
  1286.  
  1287. if-nez v3, :cond_bd
  1288.  
  1289. .line 2497
  1290. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  1291.  
  1292. if-eqz v3, :cond_be
  1293.  
  1294. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  1295.  
  1296. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1297.  
  1298. invoke-virtual {v4}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  1299.  
  1300. move-result-object v4
  1301.  
  1302. invoke-virtual {v3, v4}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
  1303.  
  1304. move-result v3
  1305.  
  1306. if-ne v6, v3, :cond_be
  1307.  
  1308. .line 2498
  1309. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1310.  
  1311. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  1312.  
  1313. iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1314.  
  1315. invoke-virtual {v5}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  1316.  
  1317. move-result-object v5
  1318.  
  1319. invoke-virtual {v3, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  1320.  
  1321. move-result-object v3
  1322.  
  1323. check-cast v3, Ljava/lang/String;
  1324.  
  1325. iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1326.  
  1327. invoke-virtual {v5}, Landroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
  1328.  
  1329. move-result-object v5
  1330.  
  1331. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1332.  
  1333. invoke-virtual {v6}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  1334.  
  1335. move-result-object v6
  1336.  
  1337. invoke-virtual {v4, v3, v5, v6}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
  1338.  
  1339. .line 2502
  1340. :goto_ba
  1341. invoke-virtual {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateNetworkNameDisplay()V
  1342.  
  1343. .line 2511
  1344. :cond_bd
  1345. :goto_bd
  1346. return-void
  1347.  
  1348. .line 2500
  1349. :cond_be
  1350. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1351.  
  1352. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOriginalOperatorName:Ljava/lang/String;
  1353.  
  1354. iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1355.  
  1356. invoke-virtual {v5}, Landroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
  1357.  
  1358. move-result-object v5
  1359.  
  1360. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  1361.  
  1362. invoke-virtual {v6}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  1363.  
  1364. move-result-object v6
  1365.  
  1366. invoke-virtual {v3, v4, v5, v6}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
  1367.  
  1368. goto :goto_ba
  1369.  
  1370. .line 2505
  1371. :cond_d2
  1372. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mHtcContext:Landroid/content/Context;
  1373.  
  1374. if-nez v3, :cond_de
  1375.  
  1376. .line 2506
  1377. const-string v3, "GSM"
  1378.  
  1379. const-string v3, "No HTC Context was loaded!!"
  1380.  
  1381. invoke-static {v5, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  1382.  
  1383. goto :goto_bd
  1384.  
  1385. .line 2508
  1386. :cond_de
  1387. const-string v3, "GSM"
  1388.  
  1389. const-string v3, "Language is not changed, leave as what it was!!"
  1390.  
  1391. invoke-static {v5, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  1392.  
  1393. goto :goto_bd
  1394. .end method
  1395.  
  1396. .method private isGprsConsistent(II)Z
  1397. .registers 4
  1398. .parameter "gprsState"
  1399. .parameter "serviceState"
  1400.  
  1401. .prologue
  1402. .line 1847
  1403. if-nez p2, :cond_4
  1404.  
  1405. if-nez p1, :cond_6
  1406.  
  1407. :cond_4
  1408. const/4 v0, 0x1
  1409.  
  1410. :goto_5
  1411. return v0
  1412.  
  1413. :cond_6
  1414. const/4 v0, 0x0
  1415.  
  1416. goto :goto_5
  1417. .end method
  1418.  
  1419. .method private isRoamingBetweenOperators(ZLandroid/telephony/ServiceState;)Z
  1420. .registers 16
  1421. .parameter "gsmRoaming"
  1422. .parameter "s"
  1423.  
  1424. .prologue
  1425. const/4 v12, 0x1
  1426.  
  1427. const/4 v11, 0x0
  1428.  
  1429. .line 2141
  1430. const-string/jumbo v8, "gsm.sim.operator.alpha"
  1431.  
  1432. const-string v9, "empty"
  1433.  
  1434. invoke-static {v8, v9}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  1435.  
  1436. move-result-object v7
  1437.  
  1438. .line 2143
  1439. .local v7, spn:Ljava/lang/String;
  1440. invoke-virtual {p2}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
  1441.  
  1442. move-result-object v3
  1443.  
  1444. .line 2144
  1445. .local v3, onsl:Ljava/lang/String;
  1446. invoke-virtual {p2}, Landroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
  1447.  
  1448. move-result-object v4
  1449.  
  1450. .line 2146
  1451. .local v4, onss:Ljava/lang/String;
  1452. if-eqz v3, :cond_4d
  1453.  
  1454. invoke-virtual {v7, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  1455.  
  1456. move-result v8
  1457.  
  1458. if-eqz v8, :cond_4d
  1459.  
  1460. move v1, v12
  1461.  
  1462. .line 2147
  1463. .local v1, equalsOnsl:Z
  1464. :goto_1c
  1465. if-eqz v4, :cond_4f
  1466.  
  1467. invoke-virtual {v7, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  1468.  
  1469. move-result v8
  1470.  
  1471. if-eqz v8, :cond_4f
  1472.  
  1473. move v2, v12
  1474.  
  1475. .line 2149
  1476. .local v2, equalsOnss:Z
  1477. :goto_25
  1478. const-string/jumbo v8, "gsm.sim.operator.numeric"
  1479.  
  1480. const-string v9, ""
  1481.  
  1482. invoke-static {v8, v9}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  1483.  
  1484. move-result-object v6
  1485.  
  1486. .line 2151
  1487. .local v6, simNumeric:Ljava/lang/String;
  1488. invoke-virtual {p2}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  1489.  
  1490. move-result-object v5
  1491.  
  1492. .line 2153
  1493. .local v5, operatorNumeric:Ljava/lang/String;
  1494. const/4 v0, 0x1
  1495.  
  1496. .line 2155
  1497. .local v0, equalsMcc:Z
  1498. const/4 v8, 0x0
  1499.  
  1500. const/4 v9, 0x3
  1501.  
  1502. :try_start_35
  1503. invoke-virtual {v6, v8, v9}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  1504.  
  1505. move-result-object v8
  1506.  
  1507. const/4 v9, 0x0
  1508.  
  1509. const/4 v10, 0x3
  1510.  
  1511. invoke-virtual {v5, v9, v10}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  1512.  
  1513. move-result-object v9
  1514.  
  1515. invoke-virtual {v8, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  1516. :try_end_42
  1517. .catch Ljava/lang/Exception; {:try_start_35 .. :try_end_42} :catch_53
  1518.  
  1519. move-result v0
  1520.  
  1521. .line 2160
  1522. :goto_43
  1523. if-eqz p1, :cond_51
  1524.  
  1525. if-eqz v0, :cond_4b
  1526.  
  1527. if-nez v1, :cond_51
  1528.  
  1529. if-nez v2, :cond_51
  1530.  
  1531. :cond_4b
  1532. move v8, v12
  1533.  
  1534. :goto_4c
  1535. return v8
  1536.  
  1537. .end local v0 #equalsMcc:Z
  1538. .end local v1 #equalsOnsl:Z
  1539. .end local v2 #equalsOnss:Z
  1540. .end local v5 #operatorNumeric:Ljava/lang/String;
  1541. .end local v6 #simNumeric:Ljava/lang/String;
  1542. :cond_4d
  1543. move v1, v11
  1544.  
  1545. .line 2146
  1546. goto :goto_1c
  1547.  
  1548. .restart local v1 #equalsOnsl:Z
  1549. :cond_4f
  1550. move v2, v11
  1551.  
  1552. .line 2147
  1553. goto :goto_25
  1554.  
  1555. .restart local v0 #equalsMcc:Z
  1556. .restart local v2 #equalsOnss:Z
  1557. .restart local v5 #operatorNumeric:Ljava/lang/String;
  1558. .restart local v6 #simNumeric:Ljava/lang/String;
  1559. :cond_51
  1560. move v8, v11
  1561.  
  1562. .line 2160
  1563. goto :goto_4c
  1564.  
  1565. .line 2157
  1566. :catch_53
  1567. move-exception v8
  1568.  
  1569. goto :goto_43
  1570. .end method
  1571.  
  1572. .method private log(Ljava/lang/String;)V
  1573. .registers 5
  1574. .parameter "s"
  1575.  
  1576. .prologue
  1577. .line 2633
  1578. const-string v0, "GSM"
  1579.  
  1580. new-instance v1, Ljava/lang/StringBuilder;
  1581.  
  1582. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  1583.  
  1584. const-string v2, "[GsmServiceStateTracker] "
  1585.  
  1586. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1587.  
  1588. move-result-object v1
  1589.  
  1590. invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1591.  
  1592. move-result-object v1
  1593.  
  1594. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1595.  
  1596. move-result-object v1
  1597.  
  1598. invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  1599.  
  1600. .line 2634
  1601. return-void
  1602. .end method
  1603.  
  1604. .method private static networkTypeToString(I)Ljava/lang/String;
  1605. .registers 5
  1606. .parameter "type"
  1607.  
  1608. .prologue
  1609. .line 1463
  1610. const-string/jumbo v0, "unknown"
  1611.  
  1612. .line 1465
  1613. .local v0, ret:Ljava/lang/String;
  1614. packed-switch p0, :pswitch_data_38
  1615.  
  1616. .line 1492
  1617. :pswitch_6
  1618. const-string v1, "GSM"
  1619.  
  1620. new-instance v2, Ljava/lang/StringBuilder;
  1621.  
  1622. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  1623.  
  1624. const-string v3, "Wrong network type: "
  1625.  
  1626. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1627.  
  1628. move-result-object v2
  1629.  
  1630. invoke-static {p0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
  1631.  
  1632. move-result-object v3
  1633.  
  1634. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1635.  
  1636. move-result-object v2
  1637.  
  1638. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1639.  
  1640. move-result-object v2
  1641.  
  1642. invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  1643.  
  1644. .line 1497
  1645. :goto_22
  1646. return-object v0
  1647.  
  1648. .line 1467
  1649. :pswitch_23
  1650. const-string v0, "GPRS"
  1651.  
  1652. .line 1468
  1653. goto :goto_22
  1654.  
  1655. .line 1470
  1656. :pswitch_26
  1657. const-string v0, "EDGE"
  1658.  
  1659. .line 1471
  1660. goto :goto_22
  1661.  
  1662. .line 1473
  1663. :pswitch_29
  1664. const-string v0, "UMTS"
  1665.  
  1666. .line 1474
  1667. goto :goto_22
  1668.  
  1669. .line 1476
  1670. :pswitch_2c
  1671. const-string v0, "HSDPA"
  1672.  
  1673. .line 1477
  1674. goto :goto_22
  1675.  
  1676. .line 1479
  1677. :pswitch_2f
  1678. const-string v0, "HSUPA"
  1679.  
  1680. .line 1480
  1681. goto :goto_22
  1682.  
  1683. .line 1482
  1684. :pswitch_32
  1685. const-string v0, "HSPA"
  1686.  
  1687. .line 1483
  1688. goto :goto_22
  1689.  
  1690. .line 1486
  1691. :pswitch_35
  1692. const-string v0, "LTE"
  1693.  
  1694. .line 1487
  1695. goto :goto_22
  1696.  
  1697. .line 1465
  1698. :pswitch_data_38
  1699. .packed-switch 0x1
  1700. :pswitch_23
  1701. :pswitch_26
  1702. :pswitch_29
  1703. :pswitch_6
  1704. :pswitch_6
  1705. :pswitch_6
  1706. :pswitch_6
  1707. :pswitch_6
  1708. :pswitch_2c
  1709. :pswitch_2f
  1710. :pswitch_32
  1711. :pswitch_6
  1712. :pswitch_6
  1713. :pswitch_35
  1714. .end packed-switch
  1715. .end method
  1716.  
  1717. .method private onRestrictedStateChanged(Landroid/os/AsyncResult;)V
  1718. .registers 13
  1719. .parameter "ar"
  1720.  
  1721. .prologue
  1722. const/16 v10, 0x3ec
  1723.  
  1724. const/16 v9, 0x3eb
  1725.  
  1726. const/4 v8, 0x1
  1727.  
  1728. const/4 v6, 0x0
  1729.  
  1730. const-string v7, "GSM"
  1731.  
  1732. .line 1986
  1733. const-string v4, "GSM"
  1734.  
  1735. const-string v4, "[DSAC DEB] onRestrictedStateChanged"
  1736.  
  1737. invoke-static {v7, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  1738.  
  1739. .line 1987
  1740. new-instance v2, Lcom/android/internal/telephony/gsm/RestrictedState;
  1741.  
  1742. invoke-direct {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;-><init>()V
  1743.  
  1744. .line 1989
  1745. .local v2, newRs:Lcom/android/internal/telephony/gsm/RestrictedState;
  1746. const-string v4, "GSM"
  1747.  
  1748. new-instance v4, Ljava/lang/StringBuilder;
  1749.  
  1750. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  1751.  
  1752. const-string v5, "[DSAC DEB] current rs at enter "
  1753.  
  1754. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1755.  
  1756. move-result-object v4
  1757.  
  1758. iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  1759.  
  1760. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  1761.  
  1762. move-result-object v4
  1763.  
  1764. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1765.  
  1766. move-result-object v4
  1767.  
  1768. invoke-static {v7, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  1769.  
  1770. .line 1991
  1771. iget-object v4, p1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  1772.  
  1773. if-nez v4, :cond_ad
  1774.  
  1775. .line 1992
  1776. iget-object v4, p1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  1777.  
  1778. check-cast v4, [I
  1779.  
  1780. move-object v0, v4
  1781.  
  1782. check-cast v0, [I
  1783.  
  1784. move-object v1, v0
  1785.  
  1786. .line 1993
  1787. .local v1, ints:[I
  1788. aget v3, v1, v6
  1789.  
  1790. .line 1995
  1791. .local v3, state:I
  1792. and-int/lit8 v4, v3, 0x1
  1793.  
  1794. if-nez v4, :cond_44
  1795.  
  1796. and-int/lit8 v4, v3, 0x4
  1797.  
  1798. if-eqz v4, :cond_c8
  1799.  
  1800. :cond_44
  1801. move v4, v8
  1802.  
  1803. :goto_45
  1804. invoke-virtual {v2, v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->setCsEmergencyRestricted(Z)V
  1805.  
  1806. .line 1999
  1807. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  1808.  
  1809. invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/GSMPhone;->getIccCard()Lcom/android/internal/telephony/IccCard;
  1810.  
  1811. move-result-object v4
  1812.  
  1813. invoke-virtual {v4}, Lcom/android/internal/telephony/IccCard;->getState()Lcom/android/internal/telephony/IccCard$State;
  1814.  
  1815. move-result-object v4
  1816.  
  1817. sget-object v5, Lcom/android/internal/telephony/IccCard$State;->READY:Lcom/android/internal/telephony/IccCard$State;
  1818.  
  1819. if-ne v4, v5, :cond_6a
  1820.  
  1821. .line 2000
  1822. and-int/lit8 v4, v3, 0x2
  1823.  
  1824. if-nez v4, :cond_5e
  1825.  
  1826. and-int/lit8 v4, v3, 0x4
  1827.  
  1828. if-eqz v4, :cond_cb
  1829.  
  1830. :cond_5e
  1831. move v4, v8
  1832.  
  1833. :goto_5f
  1834. invoke-virtual {v2, v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->setCsNormalRestricted(Z)V
  1835.  
  1836. .line 2003
  1837. and-int/lit8 v4, v3, 0x10
  1838.  
  1839. if-eqz v4, :cond_cd
  1840.  
  1841. move v4, v8
  1842.  
  1843. :goto_67
  1844. invoke-virtual {v2, v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->setPsRestricted(Z)V
  1845.  
  1846. .line 2007
  1847. :cond_6a
  1848. const-string v4, "GSM"
  1849.  
  1850. new-instance v4, Ljava/lang/StringBuilder;
  1851.  
  1852. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  1853.  
  1854. const-string v5, "[DSAC DEB] new rs "
  1855.  
  1856. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1857.  
  1858. move-result-object v4
  1859.  
  1860. invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  1861.  
  1862. move-result-object v4
  1863.  
  1864. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1865.  
  1866. move-result-object v4
  1867.  
  1868. invoke-static {v7, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  1869.  
  1870. .line 2009
  1871. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  1872.  
  1873. invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->isPsRestricted()Z
  1874.  
  1875. move-result v4
  1876.  
  1877. if-nez v4, :cond_cf
  1878.  
  1879. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isPsRestricted()Z
  1880.  
  1881. move-result v4
  1882.  
  1883. if-eqz v4, :cond_cf
  1884.  
  1885. .line 2010
  1886. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->psRestrictEnabledRegistrants:Landroid/os/RegistrantList;
  1887.  
  1888. invoke-virtual {v4}, Landroid/os/RegistrantList;->notifyRegistrants()V
  1889.  
  1890. .line 2011
  1891. const/16 v4, 0x3e9
  1892.  
  1893. invoke-direct {p0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  1894.  
  1895. .line 2022
  1896. :cond_9a
  1897. :goto_9a
  1898. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  1899.  
  1900. invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsRestricted()Z
  1901.  
  1902. move-result v4
  1903.  
  1904. if-eqz v4, :cond_100
  1905.  
  1906. .line 2023
  1907. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsRestricted()Z
  1908.  
  1909. move-result v4
  1910.  
  1911. if-nez v4, :cond_e8
  1912.  
  1913. .line 2025
  1914. invoke-direct {p0, v10}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  1915.  
  1916. .line 2068
  1917. :cond_ab
  1918. :goto_ab
  1919. iput-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  1920.  
  1921. .line 2070
  1922. .end local v1 #ints:[I
  1923. .end local v3 #state:I
  1924. :cond_ad
  1925. const-string v4, "GSM"
  1926.  
  1927. new-instance v4, Ljava/lang/StringBuilder;
  1928.  
  1929. invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
  1930.  
  1931. const-string v5, "[DSAC DEB] current rs at return "
  1932.  
  1933. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  1934.  
  1935. move-result-object v4
  1936.  
  1937. iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  1938.  
  1939. invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  1940.  
  1941. move-result-object v4
  1942.  
  1943. invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  1944.  
  1945. move-result-object v4
  1946.  
  1947. invoke-static {v7, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  1948.  
  1949. .line 2071
  1950. return-void
  1951.  
  1952. .restart local v1 #ints:[I
  1953. .restart local v3 #state:I
  1954. :cond_c8
  1955. move v4, v6
  1956.  
  1957. .line 1995
  1958. goto/16 :goto_45
  1959.  
  1960. :cond_cb
  1961. move v4, v6
  1962.  
  1963. .line 2000
  1964. goto :goto_5f
  1965.  
  1966. :cond_cd
  1967. move v4, v6
  1968.  
  1969. .line 2003
  1970. goto :goto_67
  1971.  
  1972. .line 2012
  1973. :cond_cf
  1974. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  1975.  
  1976. invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->isPsRestricted()Z
  1977.  
  1978. move-result v4
  1979.  
  1980. if-eqz v4, :cond_9a
  1981.  
  1982. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isPsRestricted()Z
  1983.  
  1984. move-result v4
  1985.  
  1986. if-nez v4, :cond_9a
  1987.  
  1988. .line 2013
  1989. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->psRestrictDisabledRegistrants:Landroid/os/RegistrantList;
  1990.  
  1991. invoke-virtual {v4}, Landroid/os/RegistrantList;->notifyRegistrants()V
  1992.  
  1993. .line 2014
  1994. const/16 v4, 0x3ea
  1995.  
  1996. invoke-direct {p0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  1997.  
  1998. goto :goto_9a
  1999.  
  2000. .line 2026
  2001. :cond_e8
  2002. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsNormalRestricted()Z
  2003.  
  2004. move-result v4
  2005.  
  2006. if-nez v4, :cond_f4
  2007.  
  2008. .line 2028
  2009. const/16 v4, 0x3ee
  2010.  
  2011. invoke-direct {p0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2012.  
  2013. goto :goto_ab
  2014.  
  2015. .line 2029
  2016. :cond_f4
  2017. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsEmergencyRestricted()Z
  2018.  
  2019. move-result v4
  2020.  
  2021. if-nez v4, :cond_ab
  2022.  
  2023. .line 2031
  2024. const/16 v4, 0x3ed
  2025.  
  2026. invoke-direct {p0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2027.  
  2028. goto :goto_ab
  2029.  
  2030. .line 2033
  2031. :cond_100
  2032. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  2033.  
  2034. invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsEmergencyRestricted()Z
  2035.  
  2036. move-result v4
  2037.  
  2038. if-eqz v4, :cond_131
  2039.  
  2040. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  2041.  
  2042. invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsNormalRestricted()Z
  2043.  
  2044. move-result v4
  2045.  
  2046. if-nez v4, :cond_131
  2047.  
  2048. .line 2034
  2049. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsRestricted()Z
  2050.  
  2051. move-result v4
  2052.  
  2053. if-nez v4, :cond_11a
  2054.  
  2055. .line 2036
  2056. invoke-direct {p0, v10}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2057.  
  2058. goto :goto_ab
  2059.  
  2060. .line 2037
  2061. :cond_11a
  2062. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsRestricted()Z
  2063.  
  2064. move-result v4
  2065.  
  2066. if-eqz v4, :cond_124
  2067.  
  2068. .line 2039
  2069. invoke-direct {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2070.  
  2071. goto :goto_ab
  2072.  
  2073. .line 2040
  2074. :cond_124
  2075. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsNormalRestricted()Z
  2076.  
  2077. move-result v4
  2078.  
  2079. if-eqz v4, :cond_ab
  2080.  
  2081. .line 2042
  2082. const/16 v4, 0x3ed
  2083.  
  2084. invoke-direct {p0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2085.  
  2086. goto/16 :goto_ab
  2087.  
  2088. .line 2044
  2089. :cond_131
  2090. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  2091.  
  2092. invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsEmergencyRestricted()Z
  2093.  
  2094. move-result v4
  2095.  
  2096. if-nez v4, :cond_164
  2097.  
  2098. iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  2099.  
  2100. invoke-virtual {v4}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsNormalRestricted()Z
  2101.  
  2102. move-result v4
  2103.  
  2104. if-eqz v4, :cond_164
  2105.  
  2106. .line 2045
  2107. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsRestricted()Z
  2108.  
  2109. move-result v4
  2110.  
  2111. if-nez v4, :cond_14c
  2112.  
  2113. .line 2047
  2114. invoke-direct {p0, v10}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2115.  
  2116. goto/16 :goto_ab
  2117.  
  2118. .line 2048
  2119. :cond_14c
  2120. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsRestricted()Z
  2121.  
  2122. move-result v4
  2123.  
  2124. if-eqz v4, :cond_157
  2125.  
  2126. .line 2050
  2127. invoke-direct {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2128.  
  2129. goto/16 :goto_ab
  2130.  
  2131. .line 2051
  2132. :cond_157
  2133. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsEmergencyRestricted()Z
  2134.  
  2135. move-result v4
  2136.  
  2137. if-eqz v4, :cond_ab
  2138.  
  2139. .line 2053
  2140. const/16 v4, 0x3ee
  2141.  
  2142. invoke-direct {p0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2143.  
  2144. goto/16 :goto_ab
  2145.  
  2146. .line 2056
  2147. :cond_164
  2148. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsRestricted()Z
  2149.  
  2150. move-result v4
  2151.  
  2152. if-eqz v4, :cond_16f
  2153.  
  2154. .line 2058
  2155. invoke-direct {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2156.  
  2157. goto/16 :goto_ab
  2158.  
  2159. .line 2059
  2160. :cond_16f
  2161. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsEmergencyRestricted()Z
  2162.  
  2163. move-result v4
  2164.  
  2165. if-eqz v4, :cond_17c
  2166.  
  2167. .line 2061
  2168. const/16 v4, 0x3ee
  2169.  
  2170. invoke-direct {p0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2171.  
  2172. goto/16 :goto_ab
  2173.  
  2174. .line 2062
  2175. :cond_17c
  2176. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/RestrictedState;->isCsNormalRestricted()Z
  2177.  
  2178. move-result v4
  2179.  
  2180. if-eqz v4, :cond_ab
  2181.  
  2182. .line 2064
  2183. const/16 v4, 0x3ed
  2184.  
  2185. invoke-direct {p0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
  2186.  
  2187. goto/16 :goto_ab
  2188. .end method
  2189.  
  2190. .method private onSignalStrengthResult(Landroid/os/AsyncResult;)V
  2191. .registers 24
  2192. .parameter "ar"
  2193.  
  2194. .prologue
  2195. .line 1910
  2196. move-object/from16 v0, p0
  2197.  
  2198. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSignalStrength:Landroid/telephony/SignalStrength;
  2199.  
  2200. move-object/from16 v21, v0
  2201.  
  2202. .line 1911
  2203. .local v21, oldSignalStrength:Landroid/telephony/SignalStrength;
  2204. const/16 v3, 0x63
  2205.  
  2206. .line 1913
  2207. .local v3, rssi:I
  2208. const/16 v11, 0x63
  2209.  
  2210. .line 1914
  2211. .local v11, signalDbm:I
  2212. const/4 v12, -0x1
  2213.  
  2214. .line 1915
  2215. .local v12, ecno:I
  2216. const/4 v13, -0x1
  2217.  
  2218. .line 1916
  2219. .local v13, lteSignalStrength:I
  2220. const/4 v14, -0x1
  2221.  
  2222. .line 1917
  2223. .local v14, lteRsrp:I
  2224. const/4 v15, -0x1
  2225.  
  2226. .line 1918
  2227. .local v15, lteRsrq:I
  2228. const/16 v16, -0x1
  2229.  
  2230. .line 1919
  2231. .local v16, lteRssnr:I
  2232. const/16 v17, -0x1
  2233.  
  2234. .line 1920
  2235. .local v17, lteCqi:I
  2236. const/16 v19, 0x0
  2237.  
  2238. .line 1923
  2239. .local v19, extraInfo:Z
  2240. move-object/from16 v0, p1
  2241.  
  2242. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  2243.  
  2244. move-object v2, v0
  2245.  
  2246. if-eqz v2, :cond_48
  2247.  
  2248. .line 1926
  2249. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setSignalStrengthDefaultValues()V
  2250.  
  2251. .line 1957
  2252. .end local p1
  2253. :cond_1e
  2254. :goto_1e
  2255. if-eqz v19, :cond_8f
  2256.  
  2257. .line 1958
  2258. new-instance v2, Landroid/telephony/SignalStrength;
  2259.  
  2260. const/4 v4, -0x1
  2261.  
  2262. const/4 v5, -0x1
  2263.  
  2264. const/4 v6, -0x1
  2265.  
  2266. const/4 v7, -0x1
  2267.  
  2268. const/4 v8, -0x1
  2269.  
  2270. const/4 v9, -0x1
  2271.  
  2272. const/4 v10, 0x1
  2273.  
  2274. invoke-direct/range {v2 .. v17}, Landroid/telephony/SignalStrength;-><init>(IIIIIIIZIIIIIII)V
  2275.  
  2276. move-object v0, v2
  2277.  
  2278. move-object/from16 v1, p0
  2279.  
  2280. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSignalStrength:Landroid/telephony/SignalStrength;
  2281.  
  2282. .line 1967
  2283. :goto_31
  2284. move-object/from16 v0, p0
  2285.  
  2286. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSignalStrength:Landroid/telephony/SignalStrength;
  2287.  
  2288. move-object v2, v0
  2289.  
  2290. move-object v0, v2
  2291.  
  2292. move-object/from16 v1, v21
  2293.  
  2294. invoke-virtual {v0, v1}, Landroid/telephony/SignalStrength;->equals(Ljava/lang/Object;)Z
  2295.  
  2296. move-result v2
  2297.  
  2298. if-nez v2, :cond_47
  2299.  
  2300. .line 1970
  2301. :try_start_3f
  2302. move-object/from16 v0, p0
  2303.  
  2304. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  2305.  
  2306. move-object v2, v0
  2307.  
  2308. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifySignalStrength()V
  2309. :try_end_47
  2310. .catch Ljava/lang/NullPointerException; {:try_start_3f .. :try_end_47} :catch_a1
  2311.  
  2312. .line 1976
  2313. .end local v3 #rssi:I
  2314. :cond_47
  2315. :goto_47
  2316. return-void
  2317.  
  2318. .line 1928
  2319. .restart local v3 #rssi:I
  2320. .restart local p1
  2321. :cond_48
  2322. move-object/from16 v0, p1
  2323.  
  2324. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  2325.  
  2326. move-object/from16 p1, v0
  2327.  
  2328. .end local p1
  2329. check-cast p1, [I
  2330.  
  2331. move-object/from16 v0, p1
  2332.  
  2333. check-cast v0, [I
  2334.  
  2335. move-object/from16 v20, v0
  2336.  
  2337. .line 1931
  2338. .local v20, ints:[I
  2339. move-object/from16 v0, v20
  2340.  
  2341. array-length v0, v0
  2342.  
  2343. move v2, v0
  2344.  
  2345. if-eqz v2, :cond_85
  2346.  
  2347. .line 1932
  2348. const/4 v2, 0x0
  2349.  
  2350. aget v3, v20, v2
  2351.  
  2352. .line 1939
  2353. :goto_5f
  2354. move-object/from16 v0, v20
  2355.  
  2356. array-length v0, v0
  2357.  
  2358. move v2, v0
  2359.  
  2360. const/16 v4, 0xe
  2361.  
  2362. if-lt v2, v4, :cond_1e
  2363.  
  2364. .line 1940
  2365. const/16 v19, 0x1
  2366.  
  2367. .line 1941
  2368. const/4 v2, 0x7
  2369.  
  2370. aget v11, v20, v2
  2371.  
  2372. .line 1942
  2373. const/16 v2, 0x8
  2374.  
  2375. aget v12, v20, v2
  2376.  
  2377. .line 1943
  2378. const/16 v2, 0x9
  2379.  
  2380. aget v13, v20, v2
  2381.  
  2382. .line 1944
  2383. const/16 v2, 0xa
  2384.  
  2385. aget v14, v20, v2
  2386.  
  2387. .line 1945
  2388. const/16 v2, 0xb
  2389.  
  2390. aget v15, v20, v2
  2391.  
  2392. .line 1946
  2393. const/16 v2, 0xc
  2394.  
  2395. aget v16, v20, v2
  2396.  
  2397. .line 1947
  2398. const/16 v2, 0xd
  2399.  
  2400. aget v17, v20, v2
  2401.  
  2402. goto :goto_1e
  2403.  
  2404. .line 1934
  2405. :cond_85
  2406. const-string v2, "GSM"
  2407.  
  2408. const-string v3, "Bogus signal strength response"
  2409.  
  2410. .end local v3 #rssi:I
  2411. invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  2412.  
  2413. .line 1935
  2414. const/16 v3, 0x63
  2415.  
  2416. .restart local v3 #rssi:I
  2417. goto :goto_5f
  2418.  
  2419. .line 1962
  2420. .end local v20 #ints:[I
  2421. :cond_8f
  2422. new-instance v2, Landroid/telephony/SignalStrength;
  2423.  
  2424. const/4 v4, -0x1
  2425.  
  2426. const/4 v5, -0x1
  2427.  
  2428. const/4 v6, -0x1
  2429.  
  2430. const/4 v7, -0x1
  2431.  
  2432. const/4 v8, -0x1
  2433.  
  2434. const/4 v9, -0x1
  2435.  
  2436. const/4 v10, 0x1
  2437.  
  2438. invoke-direct/range {v2 .. v10}, Landroid/telephony/SignalStrength;-><init>(IIIIIIIZ)V
  2439.  
  2440. move-object v0, v2
  2441.  
  2442. move-object/from16 v1, p0
  2443.  
  2444. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSignalStrength:Landroid/telephony/SignalStrength;
  2445.  
  2446. goto :goto_31
  2447.  
  2448. .line 1971
  2449. :catch_a1
  2450. move-exception v2
  2451.  
  2452. move-object/from16 v18, v2
  2453.  
  2454. .line 1972
  2455. .local v18, ex:Ljava/lang/NullPointerException;
  2456. new-instance v2, Ljava/lang/StringBuilder;
  2457.  
  2458. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  2459.  
  2460. const-string/jumbo v3, "onSignalStrengthResult() Phone already destroyed: "
  2461.  
  2462. .end local v3 #rssi:I
  2463. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2464.  
  2465. move-result-object v2
  2466.  
  2467. move-object v0, v2
  2468.  
  2469. move-object/from16 v1, v18
  2470.  
  2471. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  2472.  
  2473. move-result-object v2
  2474.  
  2475. const-string v3, "SignalStrength not notified"
  2476.  
  2477. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2478.  
  2479. move-result-object v2
  2480.  
  2481. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2482.  
  2483. move-result-object v2
  2484.  
  2485. move-object/from16 v0, p0
  2486.  
  2487. move-object v1, v2
  2488.  
  2489. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
  2490.  
  2491. goto :goto_47
  2492. .end method
  2493.  
  2494. .method private pollState()V
  2495. .registers 5
  2496.  
  2497. .prologue
  2498. const/4 v3, 0x0
  2499.  
  2500. .line 1381
  2501. const/4 v0, 0x1
  2502.  
  2503. new-array v0, v0, [I
  2504.  
  2505. iput-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2506.  
  2507. .line 1382
  2508. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2509.  
  2510. aput v3, v0, v3
  2511.  
  2512. .line 1384
  2513. sget-object v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$3;->$SwitchMap$com$android$internal$telephony$CommandsInterface$RadioState:[I
  2514.  
  2515. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  2516.  
  2517. invoke-interface {v1}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  2518.  
  2519. move-result-object v1
  2520.  
  2521. invoke-virtual {v1}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->ordinal()I
  2522.  
  2523. move-result v1
  2524.  
  2525. aget v0, v0, v1
  2526.  
  2527. packed-switch v0, :pswitch_data_aa
  2528.  
  2529. .line 1420
  2530. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2531.  
  2532. aget v1, v0, v3
  2533.  
  2534. add-int/lit8 v1, v1, 0x1
  2535.  
  2536. aput v1, v0, v3
  2537.  
  2538. .line 1421
  2539. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  2540.  
  2541. const/4 v1, 0x6
  2542.  
  2543. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2544.  
  2545. invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
  2546.  
  2547. move-result-object v1
  2548.  
  2549. invoke-interface {v0, v1}, Lcom/android/internal/telephony/CommandsInterface;->getOperator(Landroid/os/Message;)V
  2550.  
  2551. .line 1442
  2552. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2553.  
  2554. aget v1, v0, v3
  2555.  
  2556. add-int/lit8 v1, v1, 0x1
  2557.  
  2558. aput v1, v0, v3
  2559.  
  2560. .line 1443
  2561. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  2562.  
  2563. const/4 v1, 0x4
  2564.  
  2565. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2566.  
  2567. invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
  2568.  
  2569. move-result-object v1
  2570.  
  2571. invoke-interface {v0, v1}, Lcom/android/internal/telephony/CommandsInterface;->getRegistrationState(Landroid/os/Message;)V
  2572.  
  2573. .line 1447
  2574. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2575.  
  2576. aget v1, v0, v3
  2577.  
  2578. add-int/lit8 v1, v1, 0x1
  2579.  
  2580. aput v1, v0, v3
  2581.  
  2582. .line 1448
  2583. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  2584.  
  2585. const/4 v1, 0x5
  2586.  
  2587. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2588.  
  2589. invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
  2590.  
  2591. move-result-object v1
  2592.  
  2593. invoke-interface {v0, v1}, Lcom/android/internal/telephony/CommandsInterface;->getGPRSRegistrationState(Landroid/os/Message;)V
  2594.  
  2595. .line 1453
  2596. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2597.  
  2598. aget v1, v0, v3
  2599.  
  2600. add-int/lit8 v1, v1, 0x1
  2601.  
  2602. aput v1, v0, v3
  2603.  
  2604. .line 1454
  2605. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  2606.  
  2607. const/16 v1, 0xe
  2608.  
  2609. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  2610.  
  2611. invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
  2612.  
  2613. move-result-object v1
  2614.  
  2615. invoke-interface {v0, v1}, Lcom/android/internal/telephony/CommandsInterface;->getNetworkSelectionMode(Landroid/os/Message;)V
  2616.  
  2617. .line 1459
  2618. :goto_6c
  2619. return-void
  2620.  
  2621. .line 1386
  2622. :pswitch_6d
  2623. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  2624.  
  2625. invoke-virtual {v0}, Landroid/telephony/ServiceState;->setStateOutOfService()V
  2626.  
  2627. .line 1387
  2628. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  2629.  
  2630. invoke-virtual {v0}, Landroid/telephony/gsm/GsmCellLocation;->setStateInvalid()V
  2631.  
  2632. .line 1388
  2633. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setSignalStrengthDefaultValues()V
  2634.  
  2635. .line 1389
  2636. iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
  2637.  
  2638. .line 1390
  2639. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollStateDone()V
  2640.  
  2641. goto :goto_6c
  2642.  
  2643. .line 1394
  2644. :pswitch_80
  2645. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  2646.  
  2647. invoke-virtual {v0}, Landroid/telephony/ServiceState;->setStateOff()V
  2648.  
  2649. .line 1395
  2650. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  2651.  
  2652. invoke-virtual {v0}, Landroid/telephony/gsm/GsmCellLocation;->setStateInvalid()V
  2653.  
  2654. .line 1396
  2655. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setSignalStrengthDefaultValues()V
  2656.  
  2657. .line 1397
  2658. iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
  2659.  
  2660. .line 1398
  2661. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollStateDone()V
  2662.  
  2663. goto :goto_6c
  2664.  
  2665. .line 1406
  2666. :pswitch_93
  2667. const-string v0, "GSM"
  2668.  
  2669. const-string v1, "Radio Technology Change ongoing, setting SS to off"
  2670.  
  2671. invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  2672.  
  2673. .line 1407
  2674. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  2675.  
  2676. invoke-virtual {v0}, Landroid/telephony/ServiceState;->setStateOff()V
  2677.  
  2678. .line 1408
  2679. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  2680.  
  2681. invoke-virtual {v0}, Landroid/telephony/gsm/GsmCellLocation;->setStateInvalid()V
  2682.  
  2683. .line 1409
  2684. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setSignalStrengthDefaultValues()V
  2685.  
  2686. .line 1410
  2687. iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
  2688.  
  2689. goto :goto_6c
  2690.  
  2691. .line 1384
  2692. :pswitch_data_aa
  2693. .packed-switch 0x1
  2694. :pswitch_6d
  2695. :pswitch_80
  2696. :pswitch_93
  2697. :pswitch_93
  2698. :pswitch_93
  2699. :pswitch_93
  2700. :pswitch_93
  2701. .end packed-switch
  2702. .end method
  2703.  
  2704. .method private pollStateDone()V
  2705. .registers 35
  2706.  
  2707. .prologue
  2708. .line 1502
  2709. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  2710.  
  2711. move-result v29
  2712.  
  2713. if-eqz v29, :cond_12
  2714.  
  2715. sget-boolean v29, Lcom/android/internal/telephony/gsm/GSMPhone;->mDropEvent:Z
  2716.  
  2717. if-eqz v29, :cond_12
  2718.  
  2719. .line 1503
  2720. const-string v29, "GSM"
  2721.  
  2722. const-string v30, " pollStateDone drop event "
  2723.  
  2724. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  2725.  
  2726. .line 1824
  2727. :cond_11
  2728. :goto_11
  2729. return-void
  2730.  
  2731. .line 1508
  2732. :cond_12
  2733. const-string v29, "GSM"
  2734.  
  2735. new-instance v30, Ljava/lang/StringBuilder;
  2736.  
  2737. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  2738.  
  2739. const-string v31, "Poll ServiceState done: oldSS=["
  2740.  
  2741. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2742.  
  2743. move-result-object v30
  2744.  
  2745. move-object/from16 v0, p0
  2746.  
  2747. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  2748.  
  2749. move-object/from16 v31, v0
  2750.  
  2751. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  2752.  
  2753. move-result-object v30
  2754.  
  2755. const-string v31, "] newSS=["
  2756.  
  2757. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2758.  
  2759. move-result-object v30
  2760.  
  2761. move-object/from16 v0, p0
  2762.  
  2763. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  2764.  
  2765. move-object/from16 v31, v0
  2766.  
  2767. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  2768.  
  2769. move-result-object v30
  2770.  
  2771. const-string v31, "] oldGprs="
  2772.  
  2773. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2774.  
  2775. move-result-object v30
  2776.  
  2777. move-object/from16 v0, p0
  2778.  
  2779. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  2780.  
  2781. move/from16 v31, v0
  2782.  
  2783. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2784.  
  2785. move-result-object v30
  2786.  
  2787. const-string v31, " newGprs="
  2788.  
  2789. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2790.  
  2791. move-result-object v30
  2792.  
  2793. move-object/from16 v0, p0
  2794.  
  2795. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  2796.  
  2797. move/from16 v31, v0
  2798.  
  2799. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  2800.  
  2801. move-result-object v30
  2802.  
  2803. const-string v31, " oldType="
  2804.  
  2805. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2806.  
  2807. move-result-object v30
  2808.  
  2809. move-object/from16 v0, p0
  2810.  
  2811. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkType:I
  2812.  
  2813. move/from16 v31, v0
  2814.  
  2815. invoke-static/range {v31 .. v31}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkTypeToString(I)Ljava/lang/String;
  2816.  
  2817. move-result-object v31
  2818.  
  2819. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2820.  
  2821. move-result-object v30
  2822.  
  2823. const-string v31, " newType="
  2824.  
  2825. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2826.  
  2827. move-result-object v30
  2828.  
  2829. move-object/from16 v0, p0
  2830.  
  2831. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  2832.  
  2833. move/from16 v31, v0
  2834.  
  2835. invoke-static/range {v31 .. v31}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkTypeToString(I)Ljava/lang/String;
  2836.  
  2837. move-result-object v31
  2838.  
  2839. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2840.  
  2841. move-result-object v30
  2842.  
  2843. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2844.  
  2845. move-result-object v30
  2846.  
  2847. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  2848.  
  2849. .line 1515
  2850. move-object/from16 v0, p0
  2851.  
  2852. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  2853.  
  2854. move-object/from16 v29, v0
  2855.  
  2856. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getState()I
  2857.  
  2858. move-result v29
  2859.  
  2860. if-eqz v29, :cond_731
  2861.  
  2862. move-object/from16 v0, p0
  2863.  
  2864. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  2865.  
  2866. move-object/from16 v29, v0
  2867.  
  2868. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getState()I
  2869.  
  2870. move-result v29
  2871.  
  2872. if-nez v29, :cond_731
  2873.  
  2874. const/16 v29, 0x1
  2875.  
  2876. move/from16 v15, v29
  2877.  
  2878. .line 1520
  2879. .local v15, hasRegistered:Z
  2880. :goto_a4
  2881. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  2882.  
  2883. move-result v29
  2884.  
  2885. if-eqz v29, :cond_109
  2886.  
  2887. .line 1522
  2888. if-nez v15, :cond_e2
  2889.  
  2890. .line 1524
  2891. move-object/from16 v0, p0
  2892.  
  2893. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCregChange:Z
  2894.  
  2895. move/from16 v29, v0
  2896.  
  2897. if-eqz v29, :cond_e2
  2898.  
  2899. move-object/from16 v0, p0
  2900.  
  2901. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  2902.  
  2903. move-object/from16 v29, v0
  2904.  
  2905. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getState()I
  2906.  
  2907. move-result v29
  2908.  
  2909. if-nez v29, :cond_e2
  2910.  
  2911. .line 1525
  2912. const-string v29, "GSM"
  2913.  
  2914. new-instance v30, Ljava/lang/StringBuilder;
  2915.  
  2916. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  2917.  
  2918. const-string v31, "Set the hasRegistered ="
  2919.  
  2920. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2921.  
  2922. move-result-object v30
  2923.  
  2924. move-object/from16 v0, v30
  2925.  
  2926. move v1, v15
  2927.  
  2928. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  2929.  
  2930. move-result-object v30
  2931.  
  2932. const-string v31, "due to there has network change during poll state"
  2933.  
  2934. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2935.  
  2936. move-result-object v30
  2937.  
  2938. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2939.  
  2940. move-result-object v30
  2941.  
  2942. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  2943.  
  2944. .line 1526
  2945. const/4 v15, 0x1
  2946.  
  2947. .line 1529
  2948. :cond_e2
  2949. const/16 v29, 0x0
  2950.  
  2951. move/from16 v0, v29
  2952.  
  2953. move-object/from16 v1, p0
  2954.  
  2955. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCregChange:Z
  2956.  
  2957. .line 1530
  2958. const-string v29, "GSM"
  2959.  
  2960. new-instance v30, Ljava/lang/StringBuilder;
  2961.  
  2962. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  2963.  
  2964. const-string/jumbo v31, "reset the mCregChange ="
  2965.  
  2966. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  2967.  
  2968. move-result-object v30
  2969.  
  2970. move-object/from16 v0, p0
  2971.  
  2972. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCregChange:Z
  2973.  
  2974. move/from16 v31, v0
  2975.  
  2976. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  2977.  
  2978. move-result-object v30
  2979.  
  2980. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  2981.  
  2982. move-result-object v30
  2983.  
  2984. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  2985.  
  2986. .line 1533
  2987. :cond_109
  2988. move-object/from16 v0, p0
  2989.  
  2990. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  2991.  
  2992. move-object/from16 v29, v0
  2993.  
  2994. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getState()I
  2995.  
  2996. move-result v29
  2997.  
  2998. if-nez v29, :cond_737
  2999.  
  3000. move-object/from16 v0, p0
  3001.  
  3002. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3003.  
  3004. move-object/from16 v29, v0
  3005.  
  3006. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getState()I
  3007.  
  3008. move-result v29
  3009.  
  3010. if-eqz v29, :cond_737
  3011.  
  3012. const/16 v29, 0x1
  3013.  
  3014. move/from16 v9, v29
  3015.  
  3016. .line 1537
  3017. .local v9, hasDeregistered:Z
  3018. :goto_125
  3019. move-object/from16 v0, p0
  3020.  
  3021. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  3022.  
  3023. move/from16 v29, v0
  3024.  
  3025. if-eqz v29, :cond_73d
  3026.  
  3027. move-object/from16 v0, p0
  3028.  
  3029. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  3030.  
  3031. move/from16 v29, v0
  3032.  
  3033. if-nez v29, :cond_73d
  3034.  
  3035. const/16 v29, 0x1
  3036.  
  3037. move/from16 v10, v29
  3038.  
  3039. .line 1542
  3040. .local v10, hasGprsAttached:Z
  3041. :goto_139
  3042. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  3043.  
  3044. move-result v29
  3045.  
  3046. if-eqz v29, :cond_19a
  3047.  
  3048. .line 1544
  3049. if-nez v10, :cond_173
  3050.  
  3051. .line 1546
  3052. move-object/from16 v0, p0
  3053.  
  3054. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCgregChange:Z
  3055.  
  3056. move/from16 v29, v0
  3057.  
  3058. if-eqz v29, :cond_173
  3059.  
  3060. move-object/from16 v0, p0
  3061.  
  3062. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  3063.  
  3064. move/from16 v29, v0
  3065.  
  3066. if-nez v29, :cond_173
  3067.  
  3068. .line 1547
  3069. const-string v29, "GSM"
  3070.  
  3071. new-instance v30, Ljava/lang/StringBuilder;
  3072.  
  3073. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  3074.  
  3075. const-string v31, "Set the hasGprsAttached ="
  3076.  
  3077. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3078.  
  3079. move-result-object v30
  3080.  
  3081. move-object/from16 v0, v30
  3082.  
  3083. move v1, v10
  3084.  
  3085. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  3086.  
  3087. move-result-object v30
  3088.  
  3089. const-string v31, "due to there has network change during poll state"
  3090.  
  3091. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3092.  
  3093. move-result-object v30
  3094.  
  3095. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3096.  
  3097. move-result-object v30
  3098.  
  3099. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  3100.  
  3101. .line 1548
  3102. const/4 v10, 0x1
  3103.  
  3104. .line 1551
  3105. :cond_173
  3106. const/16 v29, 0x0
  3107.  
  3108. move/from16 v0, v29
  3109.  
  3110. move-object/from16 v1, p0
  3111.  
  3112. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCgregChange:Z
  3113.  
  3114. .line 1552
  3115. const-string v29, "GSM"
  3116.  
  3117. new-instance v30, Ljava/lang/StringBuilder;
  3118.  
  3119. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  3120.  
  3121. const-string/jumbo v31, "reset the mCgregChange ="
  3122.  
  3123. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3124.  
  3125. move-result-object v30
  3126.  
  3127. move-object/from16 v0, p0
  3128.  
  3129. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCgregChange:Z
  3130.  
  3131. move/from16 v31, v0
  3132.  
  3133. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  3134.  
  3135. move-result-object v30
  3136.  
  3137. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3138.  
  3139. move-result-object v30
  3140.  
  3141. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  3142.  
  3143. .line 1556
  3144. :cond_19a
  3145. move-object/from16 v0, p0
  3146.  
  3147. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  3148.  
  3149. move/from16 v29, v0
  3150.  
  3151. if-nez v29, :cond_743
  3152.  
  3153. move-object/from16 v0, p0
  3154.  
  3155. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  3156.  
  3157. move/from16 v29, v0
  3158.  
  3159. if-eqz v29, :cond_743
  3160.  
  3161. const/16 v29, 0x1
  3162.  
  3163. move/from16 v11, v29
  3164.  
  3165. .line 1560
  3166. .local v11, hasGprsDetached:Z
  3167. :goto_1ae
  3168. move-object/from16 v0, p0
  3169.  
  3170. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkType:I
  3171.  
  3172. move/from16 v29, v0
  3173.  
  3174. move-object/from16 v0, p0
  3175.  
  3176. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  3177.  
  3178. move/from16 v30, v0
  3179.  
  3180. move/from16 v0, v29
  3181.  
  3182. move/from16 v1, v30
  3183.  
  3184. if-eq v0, v1, :cond_749
  3185.  
  3186. const/16 v29, 0x1
  3187.  
  3188. move/from16 v14, v29
  3189.  
  3190. .line 1562
  3191. .local v14, hasNetworkTypeChanged:Z
  3192. :goto_1c4
  3193. move-object/from16 v0, p0
  3194.  
  3195. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3196.  
  3197. move-object/from16 v29, v0
  3198.  
  3199. move-object/from16 v0, p0
  3200.  
  3201. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  3202.  
  3203. move-object/from16 v30, v0
  3204.  
  3205. invoke-virtual/range {v29 .. v30}, Landroid/telephony/ServiceState;->equals(Ljava/lang/Object;)Z
  3206.  
  3207. move-result v29
  3208.  
  3209. if-nez v29, :cond_74f
  3210.  
  3211. const/16 v29, 0x1
  3212.  
  3213. move/from16 v8, v29
  3214.  
  3215. .line 1564
  3216. .local v8, hasChanged:Z
  3217. :goto_1da
  3218. move-object/from16 v0, p0
  3219.  
  3220. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  3221.  
  3222. move-object/from16 v29, v0
  3223.  
  3224. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getRoaming()Z
  3225.  
  3226. move-result v29
  3227.  
  3228. if-nez v29, :cond_755
  3229.  
  3230. move-object/from16 v0, p0
  3231.  
  3232. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3233.  
  3234. move-object/from16 v29, v0
  3235.  
  3236. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getRoaming()Z
  3237.  
  3238. move-result v29
  3239.  
  3240. if-eqz v29, :cond_755
  3241.  
  3242. const/16 v29, 0x1
  3243.  
  3244. move/from16 v17, v29
  3245.  
  3246. .line 1566
  3247. .local v17, hasRoamingOn:Z
  3248. :goto_1f6
  3249. move-object/from16 v0, p0
  3250.  
  3251. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  3252.  
  3253. move-object/from16 v29, v0
  3254.  
  3255. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getRoaming()Z
  3256.  
  3257. move-result v29
  3258.  
  3259. if-eqz v29, :cond_75b
  3260.  
  3261. move-object/from16 v0, p0
  3262.  
  3263. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3264.  
  3265. move-object/from16 v29, v0
  3266.  
  3267. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getRoaming()Z
  3268.  
  3269. move-result v29
  3270.  
  3271. if-nez v29, :cond_75b
  3272.  
  3273. const/16 v29, 0x1
  3274.  
  3275. move/from16 v16, v29
  3276.  
  3277. .line 1568
  3278. .local v16, hasRoamingOff:Z
  3279. :goto_212
  3280. move-object/from16 v0, p0
  3281.  
  3282. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  3283.  
  3284. move-object/from16 v29, v0
  3285.  
  3286. move-object/from16 v0, p0
  3287.  
  3288. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
  3289.  
  3290. move-object/from16 v30, v0
  3291.  
  3292. invoke-virtual/range {v29 .. v30}, Landroid/telephony/gsm/GsmCellLocation;->equals(Ljava/lang/Object;)Z
  3293.  
  3294. move-result v29
  3295.  
  3296. if-nez v29, :cond_761
  3297.  
  3298. const/16 v29, 0x1
  3299.  
  3300. move/from16 v12, v29
  3301.  
  3302. .line 1571
  3303. .local v12, hasLocationChanged:Z
  3304. :goto_228
  3305. move-object/from16 v0, p0
  3306.  
  3307. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  3308.  
  3309. move-object/from16 v29, v0
  3310.  
  3311. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getState()I
  3312.  
  3313. move-result v29
  3314.  
  3315. move-object/from16 v0, p0
  3316.  
  3317. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3318.  
  3319. move-object/from16 v30, v0
  3320.  
  3321. invoke-virtual/range {v30 .. v30}, Landroid/telephony/ServiceState;->getState()I
  3322.  
  3323. move-result v30
  3324.  
  3325. move/from16 v0, v29
  3326.  
  3327. move/from16 v1, v30
  3328.  
  3329. if-ne v0, v1, :cond_254
  3330.  
  3331. move-object/from16 v0, p0
  3332.  
  3333. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  3334.  
  3335. move/from16 v29, v0
  3336.  
  3337. move-object/from16 v0, p0
  3338.  
  3339. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  3340.  
  3341. move/from16 v30, v0
  3342.  
  3343. move/from16 v0, v29
  3344.  
  3345. move/from16 v1, v30
  3346.  
  3347. if-eq v0, v1, :cond_2a2
  3348.  
  3349. .line 1572
  3350. :cond_254
  3351. const v29, 0xc3c2
  3352.  
  3353. const/16 v30, 0x4
  3354.  
  3355. move/from16 v0, v30
  3356.  
  3357. new-array v0, v0, [Ljava/lang/Object;
  3358.  
  3359. move-object/from16 v30, v0
  3360.  
  3361. const/16 v31, 0x0
  3362.  
  3363. move-object/from16 v0, p0
  3364.  
  3365. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  3366.  
  3367. move-object/from16 v32, v0
  3368.  
  3369. invoke-virtual/range {v32 .. v32}, Landroid/telephony/ServiceState;->getState()I
  3370.  
  3371. move-result v32
  3372.  
  3373. invoke-static/range {v32 .. v32}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3374.  
  3375. move-result-object v32
  3376.  
  3377. aput-object v32, v30, v31
  3378.  
  3379. const/16 v31, 0x1
  3380.  
  3381. move-object/from16 v0, p0
  3382.  
  3383. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  3384.  
  3385. move/from16 v32, v0
  3386.  
  3387. invoke-static/range {v32 .. v32}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3388.  
  3389. move-result-object v32
  3390.  
  3391. aput-object v32, v30, v31
  3392.  
  3393. const/16 v31, 0x2
  3394.  
  3395. move-object/from16 v0, p0
  3396.  
  3397. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3398.  
  3399. move-object/from16 v32, v0
  3400.  
  3401. invoke-virtual/range {v32 .. v32}, Landroid/telephony/ServiceState;->getState()I
  3402.  
  3403. move-result v32
  3404.  
  3405. invoke-static/range {v32 .. v32}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3406.  
  3407. move-result-object v32
  3408.  
  3409. aput-object v32, v30, v31
  3410.  
  3411. const/16 v31, 0x3
  3412.  
  3413. move-object/from16 v0, p0
  3414.  
  3415. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  3416.  
  3417. move/from16 v32, v0
  3418.  
  3419. invoke-static/range {v32 .. v32}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3420.  
  3421. move-result-object v32
  3422.  
  3423. aput-object v32, v30, v31
  3424.  
  3425. invoke-static/range {v29 .. v30}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  3426.  
  3427. .line 1577
  3428. :cond_2a2
  3429. move-object/from16 v0, p0
  3430.  
  3431. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMMRejectCause:I
  3432.  
  3433. move/from16 v29, v0
  3434.  
  3435. if-eqz v29, :cond_767
  3436.  
  3437. move-object/from16 v0, p0
  3438.  
  3439. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMMRejectCause:I
  3440.  
  3441. move/from16 v29, v0
  3442.  
  3443. move-object/from16 v0, p0
  3444.  
  3445. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMMRejectCause:I
  3446.  
  3447. move/from16 v30, v0
  3448.  
  3449. move/from16 v0, v29
  3450.  
  3451. move/from16 v1, v30
  3452.  
  3453. if-eq v0, v1, :cond_767
  3454.  
  3455. const/16 v29, 0x1
  3456.  
  3457. move/from16 v13, v29
  3458.  
  3459. .line 1582
  3460. .local v13, hasMMRejectChanged:Z
  3461. :goto_2c0
  3462. move-object/from16 v0, p0
  3463.  
  3464. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  3465.  
  3466. move-object/from16 v24, v0
  3467.  
  3468. .line 1583
  3469. .local v24, tss:Landroid/telephony/ServiceState;
  3470. move-object/from16 v0, p0
  3471.  
  3472. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3473.  
  3474. move-object/from16 v29, v0
  3475.  
  3476. move-object/from16 v0, v29
  3477.  
  3478. move-object/from16 v1, p0
  3479.  
  3480. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  3481.  
  3482. .line 1584
  3483. move-object/from16 v0, v24
  3484.  
  3485. move-object/from16 v1, p0
  3486.  
  3487. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3488.  
  3489. .line 1586
  3490. move-object/from16 v0, p0
  3491.  
  3492. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3493.  
  3494. move-object/from16 v29, v0
  3495.  
  3496. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->setStateOutOfService()V
  3497.  
  3498. .line 1588
  3499. move-object/from16 v0, p0
  3500.  
  3501. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
  3502.  
  3503. move-object/from16 v22, v0
  3504.  
  3505. .line 1589
  3506. .local v22, tcl:Landroid/telephony/gsm/GsmCellLocation;
  3507. move-object/from16 v0, p0
  3508.  
  3509. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  3510.  
  3511. move-object/from16 v29, v0
  3512.  
  3513. move-object/from16 v0, v29
  3514.  
  3515. move-object/from16 v1, p0
  3516.  
  3517. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
  3518.  
  3519. .line 1590
  3520. move-object/from16 v0, v22
  3521.  
  3522. move-object/from16 v1, p0
  3523.  
  3524. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  3525.  
  3526. .line 1595
  3527. if-eqz v14, :cond_383
  3528.  
  3529. .line 1596
  3530. const/4 v6, -0x1
  3531.  
  3532. .line 1597
  3533. .local v6, cid:I
  3534. move-object/from16 v0, p0
  3535.  
  3536. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  3537.  
  3538. move-object/from16 v29, v0
  3539.  
  3540. invoke-virtual/range {v29 .. v29}, Lcom/android/internal/telephony/gsm/GSMPhone;->getCellLocation()Landroid/telephony/CellLocation;
  3541.  
  3542. move-result-object v20
  3543.  
  3544. check-cast v20, Landroid/telephony/gsm/GsmCellLocation;
  3545.  
  3546. .line 1598
  3547. .local v20, loc:Landroid/telephony/gsm/GsmCellLocation;
  3548. if-eqz v20, :cond_30e
  3549.  
  3550. invoke-virtual/range {v20 .. v20}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I
  3551.  
  3552. move-result v6
  3553.  
  3554. .line 1599
  3555. :cond_30e
  3556. const v29, 0xc3c0
  3557.  
  3558. const/16 v30, 0x3
  3559.  
  3560. move/from16 v0, v30
  3561.  
  3562. new-array v0, v0, [Ljava/lang/Object;
  3563.  
  3564. move-object/from16 v30, v0
  3565.  
  3566. const/16 v31, 0x0
  3567.  
  3568. invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3569.  
  3570. move-result-object v32
  3571.  
  3572. aput-object v32, v30, v31
  3573.  
  3574. const/16 v31, 0x1
  3575.  
  3576. move-object/from16 v0, p0
  3577.  
  3578. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkType:I
  3579.  
  3580. move/from16 v32, v0
  3581.  
  3582. invoke-static/range {v32 .. v32}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3583.  
  3584. move-result-object v32
  3585.  
  3586. aput-object v32, v30, v31
  3587.  
  3588. const/16 v31, 0x2
  3589.  
  3590. move-object/from16 v0, p0
  3591.  
  3592. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  3593.  
  3594. move/from16 v32, v0
  3595.  
  3596. invoke-static/range {v32 .. v32}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  3597.  
  3598. move-result-object v32
  3599.  
  3600. aput-object v32, v30, v31
  3601.  
  3602. invoke-static/range {v29 .. v30}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  3603.  
  3604. .line 1600
  3605. const-string v29, "GSM"
  3606.  
  3607. new-instance v30, Ljava/lang/StringBuilder;
  3608.  
  3609. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  3610.  
  3611. const-string v31, "RAT switched "
  3612.  
  3613. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3614.  
  3615. move-result-object v30
  3616.  
  3617. move-object/from16 v0, p0
  3618.  
  3619. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkType:I
  3620.  
  3621. move/from16 v31, v0
  3622.  
  3623. invoke-static/range {v31 .. v31}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkTypeToString(I)Ljava/lang/String;
  3624.  
  3625. move-result-object v31
  3626.  
  3627. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3628.  
  3629. move-result-object v30
  3630.  
  3631. const-string v31, " -> "
  3632.  
  3633. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3634.  
  3635. move-result-object v30
  3636.  
  3637. move-object/from16 v0, p0
  3638.  
  3639. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  3640.  
  3641. move/from16 v31, v0
  3642.  
  3643. invoke-static/range {v31 .. v31}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkTypeToString(I)Ljava/lang/String;
  3644.  
  3645. move-result-object v31
  3646.  
  3647. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3648.  
  3649. move-result-object v30
  3650.  
  3651. const-string v31, " at cell "
  3652.  
  3653. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3654.  
  3655. move-result-object v30
  3656.  
  3657. move-object/from16 v0, v30
  3658.  
  3659. move v1, v6
  3660.  
  3661. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  3662.  
  3663. move-result-object v30
  3664.  
  3665. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3666.  
  3667. move-result-object v30
  3668.  
  3669. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  3670.  
  3671. .line 1605
  3672. .end local v6 #cid:I
  3673. .end local v20 #loc:Landroid/telephony/gsm/GsmCellLocation;
  3674. :cond_383
  3675. move-object/from16 v0, p0
  3676.  
  3677. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  3678.  
  3679. move/from16 v29, v0
  3680.  
  3681. move/from16 v0, v29
  3682.  
  3683. move-object/from16 v1, p0
  3684.  
  3685. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  3686.  
  3687. .line 1606
  3688. move-object/from16 v0, p0
  3689.  
  3690. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  3691.  
  3692. move/from16 v29, v0
  3693.  
  3694. move/from16 v0, v29
  3695.  
  3696. move-object/from16 v1, p0
  3697.  
  3698. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkType:I
  3699.  
  3700. .line 1608
  3701. move-object/from16 v0, p0
  3702.  
  3703. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  3704.  
  3705. move-object/from16 v29, v0
  3706.  
  3707. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->setStateOutOfService()V
  3708.  
  3709. .line 1610
  3710. if-eqz v14, :cond_3bc
  3711.  
  3712. .line 1614
  3713. move-object/from16 v0, p0
  3714.  
  3715. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  3716.  
  3717. move-object/from16 v29, v0
  3718.  
  3719. const-string/jumbo v30, "gsm.network.type"
  3720.  
  3721. move-object/from16 v0, p0
  3722.  
  3723. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkType:I
  3724.  
  3725. move/from16 v31, v0
  3726.  
  3727. invoke-static/range {v31 .. v31}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkTypeToString(I)Ljava/lang/String;
  3728.  
  3729. move-result-object v31
  3730.  
  3731. invoke-virtual/range {v29 .. v31}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
  3732.  
  3733. .line 1621
  3734. :cond_3bc
  3735. if-eqz v15, :cond_3c7
  3736.  
  3737. .line 1622
  3738. move-object/from16 v0, p0
  3739.  
  3740. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkAttachedRegistrants:Landroid/os/RegistrantList;
  3741.  
  3742. move-object/from16 v29, v0
  3743.  
  3744. invoke-virtual/range {v29 .. v29}, Landroid/os/RegistrantList;->notifyRegistrants()V
  3745.  
  3746. .line 1626
  3747. :cond_3c7
  3748. if-eqz v9, :cond_3da
  3749.  
  3750. .line 1627
  3751. const-string v29, ""
  3752.  
  3753. move-object/from16 v0, v29
  3754.  
  3755. move-object/from16 v1, p0
  3756.  
  3757. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOriginalOperatorName:Ljava/lang/String;
  3758.  
  3759. .line 1628
  3760. move-object/from16 v0, p0
  3761.  
  3762. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  3763.  
  3764. move-object/from16 v29, v0
  3765.  
  3766. invoke-virtual/range {v29 .. v29}, Lcom/android/internal/telephony/gsm/GSMPhone;->processRestartManualNetworkSelection()V
  3767.  
  3768. .line 1632
  3769. :cond_3da
  3770. if-eqz v8, :cond_63a
  3771.  
  3772. .line 1636
  3773. invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateNetworkNameDisplay()V
  3774.  
  3775. .line 1646
  3776. move-object/from16 v0, p0
  3777.  
  3778. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  3779.  
  3780. move-object/from16 v29, v0
  3781.  
  3782. invoke-virtual/range {v29 .. v29}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  3783.  
  3784. move-result-object v21
  3785.  
  3786. .line 1647
  3787. .local v21, operatorNumeric:Ljava/lang/String;
  3788. move-object/from16 v0, p0
  3789.  
  3790. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  3791.  
  3792. move-object/from16 v29, v0
  3793.  
  3794. const-string/jumbo v30, "gsm.operator.numeric"
  3795.  
  3796. move-object/from16 v0, v29
  3797.  
  3798. move-object/from16 v1, v30
  3799.  
  3800. move-object/from16 v2, v21
  3801.  
  3802. invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
  3803.  
  3804. .line 1648
  3805. if-nez v21, :cond_76d
  3806.  
  3807. .line 1649
  3808. move-object/from16 v0, p0
  3809.  
  3810. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  3811.  
  3812. move-object/from16 v29, v0
  3813.  
  3814. const-string/jumbo v30, "gsm.operator.iso-country"
  3815.  
  3816. const-string v31, ""
  3817.  
  3818. invoke-virtual/range {v29 .. v31}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
  3819.  
  3820. .line 1650
  3821. const-string v29, ""
  3822.  
  3823. move-object/from16 v0, v29
  3824.  
  3825. move-object/from16 v1, p0
  3826.  
  3827. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  3828.  
  3829. .line 1651
  3830. const/16 v29, 0x0
  3831.  
  3832. move/from16 v0, v29
  3833.  
  3834. move-object/from16 v1, p0
  3835.  
  3836. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
  3837.  
  3838. .line 1670
  3839. :goto_41b
  3840. move-object/from16 v0, p0
  3841.  
  3842. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  3843.  
  3844. move-object/from16 v29, v0
  3845.  
  3846. if-eqz v29, :cond_7ee
  3847.  
  3848. const/16 v29, 0x1
  3849.  
  3850. move-object/from16 v0, p0
  3851.  
  3852. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  3853.  
  3854. move-object/from16 v30, v0
  3855.  
  3856. move-object/from16 v0, v30
  3857.  
  3858. move-object/from16 v1, v21
  3859.  
  3860. invoke-virtual {v0, v1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
  3861.  
  3862. move-result v30
  3863.  
  3864. move/from16 v0, v29
  3865.  
  3866. move/from16 v1, v30
  3867.  
  3868. if-ne v0, v1, :cond_7ee
  3869.  
  3870. .line 1671
  3871. move-object/from16 v0, p0
  3872.  
  3873. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  3874.  
  3875. move-object/from16 v29, v0
  3876.  
  3877. const-string/jumbo v30, "gsm.operator.alpha"
  3878.  
  3879. move-object/from16 v0, p0
  3880.  
  3881. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  3882.  
  3883. move-object/from16 v31, v0
  3884.  
  3885. move-object/from16 v0, v31
  3886.  
  3887. move-object/from16 v1, v21
  3888.  
  3889. invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  3890.  
  3891. move-result-object v5
  3892.  
  3893. check-cast v5, Ljava/lang/String;
  3894.  
  3895. move-object/from16 v0, v29
  3896.  
  3897. move-object/from16 v1, v30
  3898.  
  3899. move-object v2, v5
  3900.  
  3901. invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
  3902.  
  3903. .line 1679
  3904. :goto_45a
  3905. move-object/from16 v0, p0
  3906.  
  3907. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  3908.  
  3909. move-object/from16 v29, v0
  3910.  
  3911. invoke-virtual/range {v29 .. v29}, Lcom/android/internal/telephony/gsm/GSMPhone;->checkTestIcc()Z
  3912.  
  3913. move-result v18
  3914.  
  3915. .line 1681
  3916. .local v18, isTestIcc:Z
  3917. move-object/from16 v0, p0
  3918.  
  3919. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  3920.  
  3921. move-object/from16 v29, v0
  3922.  
  3923. invoke-static/range {v29 .. v29}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  3924.  
  3925. move-result v29
  3926.  
  3927. if-eqz v29, :cond_472
  3928.  
  3929. if-eqz v18, :cond_5bc
  3930.  
  3931. :cond_472
  3932. move-object/from16 v0, p0
  3933.  
  3934. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZone:Z
  3935.  
  3936. move/from16 v29, v0
  3937.  
  3938. if-eqz v29, :cond_5bc
  3939.  
  3940. .line 1682
  3941. const/16 v27, 0x0
  3942.  
  3943. .line 1686
  3944. .local v27, zone:Ljava/util/TimeZone;
  3945. const-string v29, "GSM"
  3946.  
  3947. new-instance v30, Ljava/lang/StringBuilder;
  3948.  
  3949. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  3950.  
  3951. const-string v31, "fixTimeZone mOPERATOR_ISO_COUNTRY: "
  3952.  
  3953. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3954.  
  3955. move-result-object v30
  3956.  
  3957. move-object/from16 v0, p0
  3958.  
  3959. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  3960.  
  3961. move-object/from16 v31, v0
  3962.  
  3963. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3964.  
  3965. move-result-object v30
  3966.  
  3967. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  3968.  
  3969. move-result-object v30
  3970.  
  3971. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  3972.  
  3973. .line 1687
  3974. const-string v29, "GSM"
  3975.  
  3976. new-instance v30, Ljava/lang/StringBuilder;
  3977.  
  3978. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  3979.  
  3980. const-string/jumbo v31, "mZoneOffset: "
  3981.  
  3982. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3983.  
  3984. move-result-object v30
  3985.  
  3986. move-object/from16 v0, p0
  3987.  
  3988. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
  3989.  
  3990. move/from16 v31, v0
  3991.  
  3992. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  3993.  
  3994. move-result-object v30
  3995.  
  3996. const-string v31, " mZoneDst: "
  3997.  
  3998. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  3999.  
  4000. move-result-object v30
  4001.  
  4002. move-object/from16 v0, p0
  4003.  
  4004. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
  4005.  
  4006. move/from16 v31, v0
  4007.  
  4008. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4009.  
  4010. move-result-object v30
  4011.  
  4012. const-string v31, " mZoneTime:"
  4013.  
  4014. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4015.  
  4016. move-result-object v30
  4017.  
  4018. move-object/from16 v0, p0
  4019.  
  4020. iget-wide v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
  4021.  
  4022. move-wide/from16 v31, v0
  4023.  
  4024. invoke-virtual/range {v30 .. v32}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  4025.  
  4026. move-result-object v30
  4027.  
  4028. const-string v31, " isTestIcc:"
  4029.  
  4030. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4031.  
  4032. move-result-object v30
  4033.  
  4034. move-object/from16 v0, v30
  4035.  
  4036. move/from16 v1, v18
  4037.  
  4038. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  4039.  
  4040. move-result-object v30
  4041.  
  4042. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4043.  
  4044. move-result-object v30
  4045.  
  4046. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  4047.  
  4048. .line 1689
  4049. const-string/jumbo v29, "persist.sys.timezone"
  4050.  
  4051. invoke-static/range {v29 .. v29}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  4052.  
  4053. move-result-object v28
  4054.  
  4055. .line 1690
  4056. .local v28, zoneName:Ljava/lang/String;
  4057. move-object/from16 v0, p0
  4058.  
  4059. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
  4060.  
  4061. move/from16 v29, v0
  4062.  
  4063. if-nez v29, :cond_81c
  4064.  
  4065. move-object/from16 v0, p0
  4066.  
  4067. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
  4068.  
  4069. move/from16 v29, v0
  4070.  
  4071. if-nez v29, :cond_81c
  4072.  
  4073. if-eqz v28, :cond_81c
  4074.  
  4075. invoke-virtual/range {v28 .. v28}, Ljava/lang/String;->length()I
  4076.  
  4077. move-result v29
  4078.  
  4079. if-lez v29, :cond_81c
  4080.  
  4081. sget-object v29, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->GMT_COUNTRY_CODES:[Ljava/lang/String;
  4082.  
  4083. move-object/from16 v0, p0
  4084.  
  4085. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  4086.  
  4087. move-object/from16 v30, v0
  4088.  
  4089. invoke-static/range {v29 .. v30}, Ljava/util/Arrays;->binarySearch([Ljava/lang/Object;Ljava/lang/Object;)I
  4090.  
  4091. move-result v29
  4092.  
  4093. if-gez v29, :cond_81c
  4094.  
  4095. .line 1694
  4096. if-eqz v18, :cond_806
  4097.  
  4098. .line 1695
  4099. const-string v29, "UTC"
  4100.  
  4101. invoke-static/range {v29 .. v29}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
  4102.  
  4103. move-result-object v27
  4104.  
  4105. .line 1699
  4106. :goto_51c
  4107. const-string v29, "GSM"
  4108.  
  4109. new-instance v30, Ljava/lang/StringBuilder;
  4110.  
  4111. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  4112.  
  4113. const-string/jumbo v31, "mZoneOffset:0, mZoneDst:false, zoneName != null, zone:"
  4114.  
  4115. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4116.  
  4117. move-result-object v30
  4118.  
  4119. invoke-virtual/range {v27 .. v27}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  4120.  
  4121. move-result-object v31
  4122.  
  4123. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4124.  
  4125. move-result-object v30
  4126.  
  4127. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4128.  
  4129. move-result-object v30
  4130.  
  4131. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  4132.  
  4133. .line 1705
  4134. invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
  4135.  
  4136. move-result-wide v29
  4137.  
  4138. move-object/from16 v0, v27
  4139.  
  4140. move-wide/from16 v1, v29
  4141.  
  4142. invoke-virtual {v0, v1, v2}, Ljava/util/TimeZone;->getOffset(J)I
  4143.  
  4144. move-result v29
  4145.  
  4146. move/from16 v0, v29
  4147.  
  4148. int-to-long v0, v0
  4149.  
  4150. move-wide/from16 v25, v0
  4151.  
  4152. .line 1706
  4153. .local v25, tzOffset:J
  4154. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTime()Z
  4155.  
  4156. move-result v29
  4157.  
  4158. if-eqz v29, :cond_80c
  4159.  
  4160. .line 1707
  4161. invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
  4162.  
  4163. move-result-wide v29
  4164.  
  4165. sub-long v29, v29, v25
  4166.  
  4167. move-object/from16 v0, p0
  4168.  
  4169. move-wide/from16 v1, v29
  4170.  
  4171. invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTime(J)V
  4172.  
  4173. .line 1734
  4174. .end local v25 #tzOffset:J
  4175. :goto_55d
  4176. if-eqz v27, :cond_8d0
  4177.  
  4178. .line 1735
  4179. const-string v29, "GSM"
  4180.  
  4181. new-instance v30, Ljava/lang/StringBuilder;
  4182.  
  4183. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  4184.  
  4185. const-string v31, "fixTimeZone is done zone:"
  4186.  
  4187. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4188.  
  4189. move-result-object v30
  4190.  
  4191. invoke-virtual/range {v27 .. v27}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  4192.  
  4193. move-result-object v31
  4194.  
  4195. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4196.  
  4197. move-result-object v30
  4198.  
  4199. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4200.  
  4201. move-result-object v30
  4202.  
  4203. invoke-static/range {v29 .. v30}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  4204.  
  4205. .line 1736
  4206. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTime()Z
  4207.  
  4208. move-result v29
  4209.  
  4210. if-eqz v29, :cond_5a9
  4211.  
  4212. .line 1738
  4213. const-string v29, "GSM"
  4214.  
  4215. new-instance v30, Ljava/lang/StringBuilder;
  4216.  
  4217. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  4218.  
  4219. const-string/jumbo v31, "pollStateDone AUTO_TIME update time zone: "
  4220.  
  4221. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4222.  
  4223. move-result-object v30
  4224.  
  4225. invoke-virtual/range {v27 .. v27}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  4226.  
  4227. move-result-object v31
  4228.  
  4229. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4230.  
  4231. move-result-object v30
  4232.  
  4233. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4234.  
  4235. move-result-object v30
  4236.  
  4237. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  4238.  
  4239. .line 1740
  4240. invoke-virtual/range {v27 .. v27}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  4241.  
  4242. move-result-object v29
  4243.  
  4244. move-object/from16 v0, p0
  4245.  
  4246. move-object/from16 v1, v29
  4247.  
  4248. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
  4249.  
  4250. .line 1742
  4251. :cond_5a9
  4252. invoke-virtual/range {v27 .. v27}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  4253.  
  4254. move-result-object v29
  4255.  
  4256. move-object/from16 v0, p0
  4257.  
  4258. move-object/from16 v1, v29
  4259.  
  4260. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->saveNitzTimeZone(Ljava/lang/String;)V
  4261.  
  4262. .line 1743
  4263. const/16 v29, 0x0
  4264.  
  4265. move/from16 v0, v29
  4266.  
  4267. move-object/from16 v1, p0
  4268.  
  4269. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZone:Z
  4270.  
  4271. .line 1749
  4272. .end local v27 #zone:Ljava/util/TimeZone;
  4273. .end local v28 #zoneName:Ljava/lang/String;
  4274. :cond_5bc
  4275. :goto_5bc
  4276. move-object/from16 v0, p0
  4277.  
  4278. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4279.  
  4280. move-object/from16 v29, v0
  4281.  
  4282. const-string/jumbo v30, "gsm.operator.isroaming"
  4283.  
  4284. move-object/from16 v0, p0
  4285.  
  4286. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  4287.  
  4288. move-object/from16 v31, v0
  4289.  
  4290. invoke-virtual/range {v31 .. v31}, Landroid/telephony/ServiceState;->getRoaming()Z
  4291.  
  4292. move-result v31
  4293.  
  4294. if-eqz v31, :cond_8d9
  4295.  
  4296. const-string/jumbo v31, "true"
  4297.  
  4298. :goto_5d4
  4299. invoke-virtual/range {v29 .. v31}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
  4300.  
  4301. .line 1752
  4302. move-object/from16 v0, p0
  4303.  
  4304. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4305.  
  4306. move-object/from16 v29, v0
  4307.  
  4308. invoke-virtual/range {v29 .. v29}, Lcom/android/internal/telephony/gsm/GSMPhone;->getPhoneType()I
  4309.  
  4310. move-result v29
  4311.  
  4312. move-object/from16 v0, p0
  4313.  
  4314. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4315.  
  4316. move-object/from16 v30, v0
  4317.  
  4318. const/16 v30, 0x1
  4319.  
  4320. move/from16 v0, v29
  4321.  
  4322. move/from16 v1, v30
  4323.  
  4324. if-ne v0, v1, :cond_612
  4325.  
  4326. .line 1754
  4327. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->VERIZON_WPHONE_CONFIG()Z
  4328.  
  4329. move-result v29
  4330.  
  4331. if-nez v29, :cond_612
  4332.  
  4333. move-object/from16 v0, p0
  4334.  
  4335. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4336.  
  4337. move-object/from16 v29, v0
  4338.  
  4339. move-object/from16 v0, v29
  4340.  
  4341. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  4342.  
  4343. move-object/from16 v29, v0
  4344.  
  4345. if-eqz v29, :cond_612
  4346.  
  4347. .line 1755
  4348. move-object/from16 v0, p0
  4349.  
  4350. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4351.  
  4352. move-object/from16 v29, v0
  4353.  
  4354. move-object/from16 v0, v29
  4355.  
  4356. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  4357.  
  4358. move-object/from16 v29, v0
  4359.  
  4360. invoke-virtual/range {v29 .. v29}, Lcom/android/internal/telephony/gsm/SIMRecords;->queryCFUIfNecessary()V
  4361.  
  4362. .line 1760
  4363. :cond_612
  4364. move-object/from16 v0, p0
  4365.  
  4366. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4367.  
  4368. move-object/from16 v29, v0
  4369.  
  4370. move-object/from16 v0, p0
  4371.  
  4372. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  4373.  
  4374. move-object/from16 v30, v0
  4375.  
  4376. invoke-virtual/range {v29 .. v30}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyServiceStateChanged(Landroid/telephony/ServiceState;)V
  4377.  
  4378. .line 1762
  4379. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  4380.  
  4381. move-result v29
  4382.  
  4383. if-eqz v29, :cond_63a
  4384.  
  4385. .line 1763
  4386. move-object/from16 v0, p0
  4387.  
  4388. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  4389.  
  4390. move-object/from16 v29, v0
  4391.  
  4392. const/16 v30, 0x3
  4393.  
  4394. move-object/from16 v0, p0
  4395.  
  4396. move/from16 v1, v30
  4397.  
  4398. invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
  4399.  
  4400. move-result-object v30
  4401.  
  4402. invoke-interface/range {v29 .. v30}, Lcom/android/internal/telephony/CommandsInterface;->getSignalStrength(Landroid/os/Message;)V
  4403.  
  4404. .line 1768
  4405. .end local v18 #isTestIcc:Z
  4406. .end local v21 #operatorNumeric:Ljava/lang/String;
  4407. :cond_63a
  4408. if-eqz v10, :cond_645
  4409.  
  4410. .line 1769
  4411. move-object/from16 v0, p0
  4412.  
  4413. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsAttachedRegistrants:Landroid/os/RegistrantList;
  4414.  
  4415. move-object/from16 v29, v0
  4416.  
  4417. invoke-virtual/range {v29 .. v29}, Landroid/os/RegistrantList;->notifyRegistrants()V
  4418.  
  4419. .line 1772
  4420. :cond_645
  4421. if-eqz v11, :cond_650
  4422.  
  4423. .line 1773
  4424. move-object/from16 v0, p0
  4425.  
  4426. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsDetachedRegistrants:Landroid/os/RegistrantList;
  4427.  
  4428. move-object/from16 v29, v0
  4429.  
  4430. invoke-virtual/range {v29 .. v29}, Landroid/os/RegistrantList;->notifyRegistrants()V
  4431.  
  4432. .line 1781
  4433. :cond_650
  4434. if-nez v14, :cond_654
  4435.  
  4436. if-eqz v10, :cond_65f
  4437.  
  4438. .line 1783
  4439. :cond_654
  4440. move-object/from16 v0, p0
  4441.  
  4442. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4443.  
  4444. move-object/from16 v29, v0
  4445.  
  4446. const/16 v30, 0x0
  4447.  
  4448. invoke-virtual/range {v29 .. v30}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyDataConnection(Ljava/lang/String;)V
  4449.  
  4450. .line 1786
  4451. :cond_65f
  4452. if-eqz v17, :cond_66a
  4453.  
  4454. .line 1787
  4455. move-object/from16 v0, p0
  4456.  
  4457. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->roamingOnRegistrants:Landroid/os/RegistrantList;
  4458.  
  4459. move-object/from16 v29, v0
  4460.  
  4461. invoke-virtual/range {v29 .. v29}, Landroid/os/RegistrantList;->notifyRegistrants()V
  4462.  
  4463. .line 1790
  4464. :cond_66a
  4465. if-eqz v16, :cond_675
  4466.  
  4467. .line 1791
  4468. move-object/from16 v0, p0
  4469.  
  4470. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->roamingOffRegistrants:Landroid/os/RegistrantList;
  4471.  
  4472. move-object/from16 v29, v0
  4473.  
  4474. invoke-virtual/range {v29 .. v29}, Landroid/os/RegistrantList;->notifyRegistrants()V
  4475.  
  4476. .line 1794
  4477. :cond_675
  4478. if-eqz v12, :cond_680
  4479.  
  4480. .line 1795
  4481. move-object/from16 v0, p0
  4482.  
  4483. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4484.  
  4485. move-object/from16 v29, v0
  4486.  
  4487. invoke-virtual/range {v29 .. v29}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyLocationChanged()V
  4488.  
  4489. .line 1799
  4490. :cond_680
  4491. if-eqz v13, :cond_6cc
  4492.  
  4493. .line 1800
  4494. move-object/from16 v0, p0
  4495.  
  4496. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMMRejectCause:I
  4497.  
  4498. move/from16 v29, v0
  4499.  
  4500. move/from16 v0, v29
  4501.  
  4502. move-object/from16 v1, p0
  4503.  
  4504. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMMRejectCause:I
  4505.  
  4506. .line 1801
  4507. const-string v29, "GSM"
  4508.  
  4509. new-instance v30, Ljava/lang/StringBuilder;
  4510.  
  4511. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  4512.  
  4513. const-string v31, "MM Reject Cause: "
  4514.  
  4515. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4516.  
  4517. move-result-object v30
  4518.  
  4519. move-object/from16 v0, p0
  4520.  
  4521. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMMRejectCause:I
  4522.  
  4523. move/from16 v31, v0
  4524.  
  4525. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  4526.  
  4527. move-result-object v30
  4528.  
  4529. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4530.  
  4531. move-result-object v30
  4532.  
  4533. invoke-static/range {v29 .. v30}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  4534.  
  4535. .line 1802
  4536. move-object/from16 v0, p0
  4537.  
  4538. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4539.  
  4540. move-object/from16 v29, v0
  4541.  
  4542. const/16 v30, 0x1
  4543.  
  4544. move/from16 v0, v30
  4545.  
  4546. new-array v0, v0, [I
  4547.  
  4548. move-object/from16 v30, v0
  4549.  
  4550. const/16 v31, 0x0
  4551.  
  4552. move-object/from16 v0, p0
  4553.  
  4554. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMMRejectCause:I
  4555.  
  4556. move/from16 v32, v0
  4557.  
  4558. aput v32, v30, v31
  4559.  
  4560. invoke-virtual/range {v29 .. v30}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyMMLocationUpdateInfo([I)V
  4561.  
  4562. .line 1804
  4563. if-nez v8, :cond_6cc
  4564.  
  4565. .line 1805
  4566. invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateNetworkNameDisplay()V
  4567.  
  4568. .line 1810
  4569. :cond_6cc
  4570. move-object/from16 v0, p0
  4571.  
  4572. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  4573.  
  4574. move/from16 v29, v0
  4575.  
  4576. move-object/from16 v0, p0
  4577.  
  4578. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  4579.  
  4580. move-object/from16 v30, v0
  4581.  
  4582. invoke-virtual/range {v30 .. v30}, Landroid/telephony/ServiceState;->getState()I
  4583.  
  4584. move-result v30
  4585.  
  4586. move-object/from16 v0, p0
  4587.  
  4588. move/from16 v1, v29
  4589.  
  4590. move/from16 v2, v30
  4591.  
  4592. invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isGprsConsistent(II)Z
  4593.  
  4594. move-result v29
  4595.  
  4596. if-nez v29, :cond_8dd
  4597.  
  4598. .line 1811
  4599. move-object/from16 v0, p0
  4600.  
  4601. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
  4602.  
  4603. move/from16 v29, v0
  4604.  
  4605. if-nez v29, :cond_11
  4606.  
  4607. move-object/from16 v0, p0
  4608.  
  4609. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
  4610.  
  4611. move/from16 v29, v0
  4612.  
  4613. if-nez v29, :cond_11
  4614.  
  4615. .line 1812
  4616. const/16 v29, 0x1
  4617.  
  4618. move/from16 v0, v29
  4619.  
  4620. move-object/from16 v1, p0
  4621.  
  4622. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
  4623.  
  4624. .line 1814
  4625. move-object/from16 v0, p0
  4626.  
  4627. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4628.  
  4629. move-object/from16 v29, v0
  4630.  
  4631. invoke-virtual/range {v29 .. v29}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  4632.  
  4633. move-result-object v29
  4634.  
  4635. invoke-virtual/range {v29 .. v29}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  4636.  
  4637. move-result-object v29
  4638.  
  4639. const-string/jumbo v30, "gprs_register_check_period_ms"
  4640.  
  4641. const v31, 0xea60
  4642.  
  4643. invoke-static/range {v29 .. v31}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  4644.  
  4645. move-result v5
  4646.  
  4647. .line 1818
  4648. .local v5, check_period:I
  4649. const/16 v29, 0x16
  4650.  
  4651. move-object/from16 v0, p0
  4652.  
  4653. move/from16 v1, v29
  4654.  
  4655. invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
  4656.  
  4657. move-result-object v29
  4658.  
  4659. move v0, v5
  4660.  
  4661. int-to-long v0, v0
  4662.  
  4663. move-wide/from16 v30, v0
  4664.  
  4665. move-object/from16 v0, p0
  4666.  
  4667. move-object/from16 v1, v29
  4668.  
  4669. move-wide/from16 v2, v30
  4670.  
  4671. invoke-virtual {v0, v1, v2, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->sendMessageDelayed(Landroid/os/Message;J)Z
  4672.  
  4673. goto/16 :goto_11
  4674.  
  4675. .line 1515
  4676. .end local v5 #check_period:I
  4677. .end local v8 #hasChanged:Z
  4678. .end local v9 #hasDeregistered:Z
  4679. .end local v10 #hasGprsAttached:Z
  4680. .end local v11 #hasGprsDetached:Z
  4681. .end local v12 #hasLocationChanged:Z
  4682. .end local v13 #hasMMRejectChanged:Z
  4683. .end local v14 #hasNetworkTypeChanged:Z
  4684. .end local v15 #hasRegistered:Z
  4685. .end local v16 #hasRoamingOff:Z
  4686. .end local v17 #hasRoamingOn:Z
  4687. .end local v22 #tcl:Landroid/telephony/gsm/GsmCellLocation;
  4688. .end local v24 #tss:Landroid/telephony/ServiceState;
  4689. :cond_731
  4690. const/16 v29, 0x0
  4691.  
  4692. move/from16 v15, v29
  4693.  
  4694. goto/16 :goto_a4
  4695.  
  4696. .line 1533
  4697. .restart local v15 #hasRegistered:Z
  4698. :cond_737
  4699. const/16 v29, 0x0
  4700.  
  4701. move/from16 v9, v29
  4702.  
  4703. goto/16 :goto_125
  4704.  
  4705. .line 1537
  4706. .restart local v9 #hasDeregistered:Z
  4707. :cond_73d
  4708. const/16 v29, 0x0
  4709.  
  4710. move/from16 v10, v29
  4711.  
  4712. goto/16 :goto_139
  4713.  
  4714. .line 1556
  4715. .restart local v10 #hasGprsAttached:Z
  4716. :cond_743
  4717. const/16 v29, 0x0
  4718.  
  4719. move/from16 v11, v29
  4720.  
  4721. goto/16 :goto_1ae
  4722.  
  4723. .line 1560
  4724. .restart local v11 #hasGprsDetached:Z
  4725. :cond_749
  4726. const/16 v29, 0x0
  4727.  
  4728. move/from16 v14, v29
  4729.  
  4730. goto/16 :goto_1c4
  4731.  
  4732. .line 1562
  4733. .restart local v14 #hasNetworkTypeChanged:Z
  4734. :cond_74f
  4735. const/16 v29, 0x0
  4736.  
  4737. move/from16 v8, v29
  4738.  
  4739. goto/16 :goto_1da
  4740.  
  4741. .line 1564
  4742. .restart local v8 #hasChanged:Z
  4743. :cond_755
  4744. const/16 v29, 0x0
  4745.  
  4746. move/from16 v17, v29
  4747.  
  4748. goto/16 :goto_1f6
  4749.  
  4750. .line 1566
  4751. .restart local v17 #hasRoamingOn:Z
  4752. :cond_75b
  4753. const/16 v29, 0x0
  4754.  
  4755. move/from16 v16, v29
  4756.  
  4757. goto/16 :goto_212
  4758.  
  4759. .line 1568
  4760. .restart local v16 #hasRoamingOff:Z
  4761. :cond_761
  4762. const/16 v29, 0x0
  4763.  
  4764. move/from16 v12, v29
  4765.  
  4766. goto/16 :goto_228
  4767.  
  4768. .line 1577
  4769. .restart local v12 #hasLocationChanged:Z
  4770. :cond_767
  4771. const/16 v29, 0x0
  4772.  
  4773. move/from16 v13, v29
  4774.  
  4775. goto/16 :goto_2c0
  4776.  
  4777. .line 1653
  4778. .restart local v13 #hasMMRejectChanged:Z
  4779. .restart local v21 #operatorNumeric:Ljava/lang/String;
  4780. .restart local v22 #tcl:Landroid/telephony/gsm/GsmCellLocation;
  4781. .restart local v24 #tss:Landroid/telephony/ServiceState;
  4782. :cond_76d
  4783. const-string v19, ""
  4784.  
  4785. .line 1655
  4786. .local v19, iso:Ljava/lang/String;
  4787. const/16 v29, 0x0
  4788.  
  4789. const/16 v30, 0x3
  4790.  
  4791. :try_start_773
  4792. move-object/from16 v0, v21
  4793.  
  4794. move/from16 v1, v29
  4795.  
  4796. move/from16 v2, v30
  4797.  
  4798. invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  4799.  
  4800. move-result-object v29
  4801.  
  4802. invoke-static/range {v29 .. v29}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  4803.  
  4804. move-result v29
  4805.  
  4806. invoke-static/range {v29 .. v29}, Lcom/android/internal/telephony/MccTable;->countryCodeForMcc(I)Ljava/lang/String;
  4807. :try_end_784
  4808. .catch Ljava/lang/NumberFormatException; {:try_start_773 .. :try_end_784} :catch_7ad
  4809. .catch Ljava/lang/StringIndexOutOfBoundsException; {:try_start_773 .. :try_end_784} :catch_7cc
  4810.  
  4811. move-result-object v19
  4812.  
  4813. .line 1663
  4814. :goto_785
  4815. move-object/from16 v0, p0
  4816.  
  4817. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4818.  
  4819. move-object/from16 v29, v0
  4820.  
  4821. const-string/jumbo v30, "gsm.operator.iso-country"
  4822.  
  4823. move-object/from16 v0, v29
  4824.  
  4825. move-object/from16 v1, v30
  4826.  
  4827. move-object/from16 v2, v19
  4828.  
  4829. invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
  4830.  
  4831. .line 1664
  4832. move-object/from16 v0, v19
  4833.  
  4834. move-object/from16 v1, p0
  4835.  
  4836. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  4837.  
  4838. .line 1665
  4839. invoke-static/range {v19 .. v19}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  4840.  
  4841. move-result v29
  4842.  
  4843. if-nez v29, :cond_7eb
  4844.  
  4845. const/16 v29, 0x1
  4846.  
  4847. :goto_7a5
  4848. move/from16 v0, v29
  4849.  
  4850. move-object/from16 v1, p0
  4851.  
  4852. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
  4853.  
  4854. goto/16 :goto_41b
  4855.  
  4856. .line 1657
  4857. :catch_7ad
  4858. move-exception v29
  4859.  
  4860. move-object/from16 v7, v29
  4861.  
  4862. .line 1658
  4863. .local v7, ex:Ljava/lang/NumberFormatException;
  4864. const-string v29, "GSM"
  4865.  
  4866. new-instance v30, Ljava/lang/StringBuilder;
  4867.  
  4868. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  4869.  
  4870. const-string v31, "countryCodeForMcc error"
  4871.  
  4872. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4873.  
  4874. move-result-object v30
  4875.  
  4876. move-object/from16 v0, v30
  4877.  
  4878. move-object v1, v7
  4879.  
  4880. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  4881.  
  4882. move-result-object v30
  4883.  
  4884. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4885.  
  4886. move-result-object v30
  4887.  
  4888. invoke-static/range {v29 .. v30}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  4889.  
  4890. goto :goto_785
  4891.  
  4892. .line 1659
  4893. .end local v7 #ex:Ljava/lang/NumberFormatException;
  4894. :catch_7cc
  4895. move-exception v29
  4896.  
  4897. move-object/from16 v7, v29
  4898.  
  4899. .line 1660
  4900. .local v7, ex:Ljava/lang/StringIndexOutOfBoundsException;
  4901. const-string v29, "GSM"
  4902.  
  4903. new-instance v30, Ljava/lang/StringBuilder;
  4904.  
  4905. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  4906.  
  4907. const-string v31, "countryCodeForMcc error"
  4908.  
  4909. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  4910.  
  4911. move-result-object v30
  4912.  
  4913. move-object/from16 v0, v30
  4914.  
  4915. move-object v1, v7
  4916.  
  4917. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  4918.  
  4919. move-result-object v30
  4920.  
  4921. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  4922.  
  4923. move-result-object v30
  4924.  
  4925. invoke-static/range {v29 .. v30}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  4926.  
  4927. goto :goto_785
  4928.  
  4929. .line 1665
  4930. .end local v7 #ex:Ljava/lang/StringIndexOutOfBoundsException;
  4931. :cond_7eb
  4932. const/16 v29, 0x0
  4933.  
  4934. goto :goto_7a5
  4935.  
  4936. .line 1674
  4937. .end local v19 #iso:Ljava/lang/String;
  4938. :cond_7ee
  4939. move-object/from16 v0, p0
  4940.  
  4941. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  4942.  
  4943. move-object/from16 v29, v0
  4944.  
  4945. const-string/jumbo v30, "gsm.operator.alpha"
  4946.  
  4947. move-object/from16 v0, p0
  4948.  
  4949. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  4950.  
  4951. move-object/from16 v31, v0
  4952.  
  4953. invoke-virtual/range {v31 .. v31}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
  4954.  
  4955. move-result-object v31
  4956.  
  4957. invoke-virtual/range {v29 .. v31}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
  4958.  
  4959. goto/16 :goto_45a
  4960.  
  4961. .line 1697
  4962. .restart local v18 #isTestIcc:Z
  4963. .restart local v27 #zone:Ljava/util/TimeZone;
  4964. .restart local v28 #zoneName:Ljava/lang/String;
  4965. :cond_806
  4966. invoke-static {}, Ljava/util/TimeZone;->getDefault()Ljava/util/TimeZone;
  4967.  
  4968. move-result-object v27
  4969.  
  4970. goto/16 :goto_51c
  4971.  
  4972. .line 1710
  4973. .restart local v25 #tzOffset:J
  4974. :cond_80c
  4975. move-object/from16 v0, p0
  4976.  
  4977. iget-wide v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
  4978.  
  4979. move-wide/from16 v29, v0
  4980.  
  4981. sub-long v29, v29, v25
  4982.  
  4983. move-wide/from16 v0, v29
  4984.  
  4985. move-object/from16 v2, p0
  4986.  
  4987. iput-wide v0, v2, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
  4988.  
  4989. goto/16 :goto_55d
  4990.  
  4991. .line 1712
  4992. .end local v25 #tzOffset:J
  4993. :cond_81c
  4994. move-object/from16 v0, p0
  4995.  
  4996. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  4997.  
  4998. move-object/from16 v29, v0
  4999.  
  5000. const-string v30, ""
  5001.  
  5002. invoke-virtual/range {v29 .. v30}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  5003.  
  5004. move-result v29
  5005.  
  5006. if-eqz v29, :cond_8b2
  5007.  
  5008. .line 1716
  5009. const-string v23, "001"
  5010.  
  5011. .line 1717
  5012. .local v23, testOperatorMCC:Ljava/lang/String;
  5013. invoke-static/range {v21 .. v21}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  5014.  
  5015. move-result v29
  5016.  
  5017. if-nez v29, :cond_882
  5018.  
  5019. move-object/from16 v0, v21
  5020.  
  5021. move-object/from16 v1, v23
  5022.  
  5023. invoke-virtual {v0, v1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
  5024.  
  5025. move-result v29
  5026.  
  5027. if-eqz v29, :cond_882
  5028.  
  5029. .line 1719
  5030. const-string v29, "GSM"
  5031.  
  5032. new-instance v30, Ljava/lang/StringBuilder;
  5033.  
  5034. invoke-direct/range {v30 .. v30}, Ljava/lang/StringBuilder;-><init>()V
  5035.  
  5036. const-string/jumbo v31, "test operator :"
  5037.  
  5038. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5039.  
  5040. move-result-object v30
  5041.  
  5042. move-object/from16 v0, v30
  5043.  
  5044. move-object/from16 v1, v21
  5045.  
  5046. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5047.  
  5048. move-result-object v30
  5049.  
  5050. const-string v31, " for iso is empty"
  5051.  
  5052. invoke-virtual/range {v30 .. v31}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5053.  
  5054. move-result-object v30
  5055.  
  5056. invoke-virtual/range {v30 .. v30}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5057.  
  5058. move-result-object v30
  5059.  
  5060. invoke-static/range {v29 .. v30}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  5061.  
  5062. .line 1720
  5063. move-object/from16 v0, p0
  5064.  
  5065. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
  5066.  
  5067. move/from16 v29, v0
  5068.  
  5069. move-object/from16 v0, p0
  5070.  
  5071. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
  5072.  
  5073. move/from16 v30, v0
  5074.  
  5075. move-object/from16 v0, p0
  5076.  
  5077. iget-wide v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
  5078.  
  5079. move-wide/from16 v31, v0
  5080.  
  5081. const-string/jumbo v33, "us"
  5082.  
  5083. invoke-static/range {v29 .. v33}, Landroid/util/TimeUtils;->getTimeZone(IZJLjava/lang/String;)Ljava/util/TimeZone;
  5084.  
  5085. move-result-object v27
  5086.  
  5087. .line 1722
  5088. const/16 v29, 0x1
  5089.  
  5090. move/from16 v0, v29
  5091.  
  5092. move-object/from16 v1, p0
  5093.  
  5094. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZone:Z
  5095.  
  5096. goto/16 :goto_55d
  5097.  
  5098. .line 1724
  5099. :cond_882
  5100. const-string v29, "GSM"
  5101.  
  5102. const-string/jumbo v30, "to figure out time zone in no iso case"
  5103.  
  5104. invoke-static/range {v29 .. v30}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  5105.  
  5106. .line 1725
  5107. move-object/from16 v0, p0
  5108.  
  5109. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
  5110.  
  5111. move/from16 v29, v0
  5112.  
  5113. move-object/from16 v0, p0
  5114.  
  5115. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
  5116.  
  5117. move/from16 v30, v0
  5118.  
  5119. move-object/from16 v0, p0
  5120.  
  5121. iget-wide v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
  5122.  
  5123. move-wide/from16 v31, v0
  5124.  
  5125. move-object/from16 v0, p0
  5126.  
  5127. move/from16 v1, v29
  5128.  
  5129. move/from16 v2, v30
  5130.  
  5131. move-wide/from16 v3, v31
  5132.  
  5133. invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getNitzTimeZone(IZJ)Ljava/util/TimeZone;
  5134.  
  5135. move-result-object v27
  5136.  
  5137. .line 1726
  5138. const/16 v29, 0x1
  5139.  
  5140. move/from16 v0, v29
  5141.  
  5142. move-object/from16 v1, p0
  5143.  
  5144. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZone:Z
  5145.  
  5146. goto/16 :goto_55d
  5147.  
  5148. .line 1730
  5149. .end local v23 #testOperatorMCC:Ljava/lang/String;
  5150. :cond_8b2
  5151. move-object/from16 v0, p0
  5152.  
  5153. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
  5154.  
  5155. move/from16 v29, v0
  5156.  
  5157. move-object/from16 v0, p0
  5158.  
  5159. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
  5160.  
  5161. move/from16 v30, v0
  5162.  
  5163. move-object/from16 v0, p0
  5164.  
  5165. iget-wide v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
  5166.  
  5167. move-wide/from16 v31, v0
  5168.  
  5169. move-object/from16 v0, p0
  5170.  
  5171. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  5172.  
  5173. move-object/from16 v33, v0
  5174.  
  5175. invoke-static/range {v29 .. v33}, Landroid/util/TimeUtils;->getTimeZone(IZJLjava/lang/String;)Ljava/util/TimeZone;
  5176.  
  5177. move-result-object v27
  5178.  
  5179. goto/16 :goto_55d
  5180.  
  5181. .line 1745
  5182. :cond_8d0
  5183. const-string v29, "GSM"
  5184.  
  5185. const-string v30, "fixTimeZone zone is null"
  5186.  
  5187. invoke-static/range {v29 .. v30}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  5188.  
  5189. goto/16 :goto_5bc
  5190.  
  5191. .line 1749
  5192. .end local v27 #zone:Ljava/util/TimeZone;
  5193. .end local v28 #zoneName:Ljava/lang/String;
  5194. :cond_8d9
  5195. const-string v31, "false"
  5196.  
  5197. goto/16 :goto_5d4
  5198.  
  5199. .line 1822
  5200. .end local v18 #isTestIcc:Z
  5201. .end local v21 #operatorNumeric:Ljava/lang/String;
  5202. :cond_8dd
  5203. const/16 v29, 0x0
  5204.  
  5205. move/from16 v0, v29
  5206.  
  5207. move-object/from16 v1, p0
  5208.  
  5209. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
  5210.  
  5211. goto/16 :goto_11
  5212. .end method
  5213.  
  5214. .method private processIfDTMCase(I)I
  5215. .registers 7
  5216. .parameter "networkType"
  5217.  
  5218. .prologue
  5219. const/4 v4, 0x1
  5220.  
  5221. .line 2686
  5222. const-string v1, "GSM"
  5223.  
  5224. new-instance v2, Ljava/lang/StringBuilder;
  5225.  
  5226. invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
  5227.  
  5228. const-string/jumbo v3, "networkType:"
  5229.  
  5230. invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5231.  
  5232. move-result-object v2
  5233.  
  5234. invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5235.  
  5236. move-result-object v2
  5237.  
  5238. invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5239.  
  5240. move-result-object v2
  5241.  
  5242. invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  5243.  
  5244. .line 2688
  5245. move v0, p1
  5246.  
  5247. .line 2689
  5248. .local v0, resultType:I
  5249. const/4 v1, 0x0
  5250.  
  5251. iput-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->m2gWithDTM:Z
  5252.  
  5253. .line 2694
  5254. const/16 v1, 0x10
  5255.  
  5256. if-ne p1, v1, :cond_26
  5257.  
  5258. .line 2695
  5259. iput-boolean v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->m2gWithDTM:Z
  5260.  
  5261. .line 2696
  5262. const/4 v0, 0x1
  5263.  
  5264. .line 2701
  5265. :cond_25
  5266. :goto_25
  5267. return v0
  5268.  
  5269. .line 2697
  5270. :cond_26
  5271. const/16 v1, 0x13
  5272.  
  5273. if-ne p1, v1, :cond_25
  5274.  
  5275. .line 2698
  5276. iput-boolean v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->m2gWithDTM:Z
  5277.  
  5278. .line 2699
  5279. const/4 v0, 0x2
  5280.  
  5281. goto :goto_25
  5282. .end method
  5283.  
  5284. .method private queryCFUIfNecessary()V
  5285. .registers 6
  5286.  
  5287. .prologue
  5288. const/4 v4, 0x1
  5289.  
  5290. const/4 v3, 0x0
  5291.  
  5292. .line 1830
  5293. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  5294.  
  5295. invoke-virtual {v1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  5296.  
  5297. move-result-object v1
  5298.  
  5299. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  5300.  
  5301. move-result-object v1
  5302.  
  5303. const-string v2, "cfu_query_when_campon"
  5304.  
  5305. invoke-static {v1, v2, v3}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  5306.  
  5307. move-result v1
  5308.  
  5309. if-lez v1, :cond_2e
  5310.  
  5311. move v0, v4
  5312.  
  5313. .line 1832
  5314. .local v0, cfuQuery:Z
  5315. :goto_15
  5316. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  5317.  
  5318. invoke-virtual {v1}, Lcom/android/internal/telephony/gsm/GSMPhone;->checkTestIcc()Z
  5319.  
  5320. move-result v1
  5321.  
  5322. if-nez v1, :cond_2d
  5323.  
  5324. if-ne v0, v4, :cond_2d
  5325.  
  5326. .line 1833
  5327. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  5328.  
  5329. invoke-virtual {v1}, Landroid/telephony/ServiceState;->getState()I
  5330.  
  5331. move-result v1
  5332.  
  5333. if-nez v1, :cond_2d
  5334.  
  5335. .line 1834
  5336. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  5337.  
  5338. const/4 v2, 0x0
  5339.  
  5340. invoke-virtual {v1, v3, v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->getCallForwardingOption(ILandroid/os/Message;)V
  5341.  
  5342. .line 1837
  5343. :cond_2d
  5344. return-void
  5345.  
  5346. .end local v0 #cfuQuery:Z
  5347. :cond_2e
  5348. move v0, v3
  5349.  
  5350. .line 1830
  5351. goto :goto_15
  5352. .end method
  5353.  
  5354. .method private queueNextSignalStrengthPoll()V
  5355. .registers 4
  5356.  
  5357. .prologue
  5358. .line 1888
  5359. iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->dontPollSignalStrength:Z
  5360.  
  5361. if-nez v1, :cond_10
  5362.  
  5363. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  5364.  
  5365. invoke-interface {v1}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  5366.  
  5367. move-result-object v1
  5368.  
  5369. invoke-virtual {v1}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isCdma()Z
  5370.  
  5371. move-result v1
  5372.  
  5373. if-eqz v1, :cond_11
  5374.  
  5375. .line 1903
  5376. :cond_10
  5377. :goto_10
  5378. return-void
  5379.  
  5380. .line 1896
  5381. :cond_11
  5382. invoke-virtual {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage()Landroid/os/Message;
  5383.  
  5384. move-result-object v0
  5385.  
  5386. .line 1897
  5387. .local v0, msg:Landroid/os/Message;
  5388. const/16 v1, 0xa
  5389.  
  5390. iput v1, v0, Landroid/os/Message;->what:I
  5391.  
  5392. .line 1902
  5393. const-wide/16 v1, 0x4e20
  5394.  
  5395. invoke-virtual {p0, v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->sendMessageDelayed(Landroid/os/Message;J)Z
  5396.  
  5397. goto :goto_10
  5398. .end method
  5399.  
  5400. .method private regCodeIsRoaming(I)Z
  5401. .registers 3
  5402. .parameter "code"
  5403.  
  5404. .prologue
  5405. .line 2130
  5406. const/4 v0, 0x5
  5407.  
  5408. if-ne v0, p1, :cond_5
  5409.  
  5410. const/4 v0, 0x1
  5411.  
  5412. :goto_4
  5413. return v0
  5414.  
  5415. :cond_5
  5416. const/4 v0, 0x0
  5417.  
  5418. goto :goto_4
  5419. .end method
  5420.  
  5421. .method private regCodeToServiceState(I)I
  5422. .registers 6
  5423. .parameter "code"
  5424.  
  5425. .prologue
  5426. const/4 v0, 0x0
  5427.  
  5428. const/4 v1, 0x2
  5429.  
  5430. const/4 v2, 0x1
  5431.  
  5432. const-string v3, "GSM"
  5433.  
  5434. .line 2075
  5435. packed-switch p1, :pswitch_data_42
  5436.  
  5437. .line 2118
  5438. :pswitch_8
  5439. const-string v0, "GSM"
  5440.  
  5441. new-instance v0, Ljava/lang/StringBuilder;
  5442.  
  5443. invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
  5444.  
  5445. const-string/jumbo v1, "unexpected service state "
  5446.  
  5447. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5448.  
  5449. move-result-object v0
  5450.  
  5451. invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5452.  
  5453. move-result-object v0
  5454.  
  5455. invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5456.  
  5457. move-result-object v0
  5458.  
  5459. invoke-static {v3, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  5460.  
  5461. move v0, v2
  5462.  
  5463. .line 2119
  5464. :goto_22
  5465. :pswitch_22
  5466. return v0
  5467.  
  5468. :pswitch_23
  5469. move v0, v2
  5470.  
  5471. .line 2078
  5472. goto :goto_22
  5473.  
  5474. .line 2083
  5475. :pswitch_25
  5476. iget-boolean v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSpecialEmMode:Z
  5477.  
  5478. if-eqz v0, :cond_2b
  5479.  
  5480. move v0, v2
  5481.  
  5482. .line 2084
  5483. goto :goto_22
  5484.  
  5485. :cond_2b
  5486. move v0, v1
  5487.  
  5488. .line 2086
  5489. goto :goto_22
  5490.  
  5491. .line 2092
  5492. :pswitch_2d
  5493. iget-boolean v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSpecialEmMode:Z
  5494.  
  5495. if-eqz v0, :cond_33
  5496.  
  5497. move v0, v2
  5498.  
  5499. .line 2093
  5500. goto :goto_22
  5501.  
  5502. :cond_33
  5503. move v0, v1
  5504.  
  5505. .line 2095
  5506. goto :goto_22
  5507.  
  5508. :pswitch_35
  5509. move v0, v1
  5510.  
  5511. .line 2102
  5512. goto :goto_22
  5513.  
  5514. .line 2113
  5515. :pswitch_37
  5516. const-string v0, "GSM"
  5517.  
  5518. const-string/jumbo v0, "special emergency state with +CREG:15"
  5519.  
  5520. invoke-static {v3, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  5521.  
  5522. move v0, v1
  5523.  
  5524. .line 2114
  5525. goto :goto_22
  5526.  
  5527. .line 2075
  5528. nop
  5529.  
  5530. :pswitch_data_42
  5531. .packed-switch 0x0
  5532. :pswitch_23
  5533. :pswitch_22
  5534. :pswitch_25
  5535. :pswitch_2d
  5536. :pswitch_2d
  5537. :pswitch_22
  5538. :pswitch_8
  5539. :pswitch_8
  5540. :pswitch_8
  5541. :pswitch_8
  5542. :pswitch_35
  5543. :pswitch_8
  5544. :pswitch_35
  5545. :pswitch_35
  5546. :pswitch_35
  5547. :pswitch_37
  5548. .end packed-switch
  5549. .end method
  5550.  
  5551. .method private revertToNitz()V
  5552. .registers 7
  5553.  
  5554. .prologue
  5555. const-wide/16 v4, 0x0
  5556.  
  5557. .line 2458
  5558. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  5559.  
  5560. invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  5561.  
  5562. move-result-object v0
  5563.  
  5564. invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  5565.  
  5566. move-result-object v0
  5567.  
  5568. const-string v1, "auto_time"
  5569.  
  5570. const/4 v2, 0x0
  5571.  
  5572. invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  5573.  
  5574. move-result v0
  5575.  
  5576. if-nez v0, :cond_16
  5577.  
  5578. .line 2470
  5579. :cond_15
  5580. :goto_15
  5581. return-void
  5582.  
  5583. .line 2462
  5584. :cond_16
  5585. const-string v0, "GSM"
  5586.  
  5587. new-instance v1, Ljava/lang/StringBuilder;
  5588.  
  5589. invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  5590.  
  5591. const-string v2, "Reverting to NITZ: tz=\'"
  5592.  
  5593. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5594.  
  5595. move-result-object v1
  5596.  
  5597. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
  5598.  
  5599. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5600.  
  5601. move-result-object v1
  5602.  
  5603. const-string v2, "\' mSavedTime="
  5604.  
  5605. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5606.  
  5607. move-result-object v1
  5608.  
  5609. iget-wide v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
  5610.  
  5611. invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  5612.  
  5613. move-result-object v1
  5614.  
  5615. const-string v2, " mSavedAtTime="
  5616.  
  5617. invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5618.  
  5619. move-result-object v1
  5620.  
  5621. iget-wide v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
  5622.  
  5623. invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  5624.  
  5625. move-result-object v1
  5626.  
  5627. invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5628.  
  5629. move-result-object v1
  5630.  
  5631. invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  5632.  
  5633. .line 2465
  5634. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
  5635.  
  5636. if-eqz v0, :cond_15
  5637.  
  5638. iget-wide v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
  5639.  
  5640. cmp-long v0, v0, v4
  5641.  
  5642. if-eqz v0, :cond_15
  5643.  
  5644. iget-wide v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
  5645.  
  5646. cmp-long v0, v0, v4
  5647.  
  5648. if-eqz v0, :cond_15
  5649.  
  5650. .line 2466
  5651. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
  5652.  
  5653. invoke-direct {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
  5654.  
  5655. .line 2467
  5656. iget-wide v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
  5657.  
  5658. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  5659.  
  5660. move-result-wide v2
  5661.  
  5662. iget-wide v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
  5663.  
  5664. sub-long/2addr v2, v4
  5665.  
  5666. add-long/2addr v0, v2
  5667.  
  5668. invoke-direct {p0, v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTime(J)V
  5669.  
  5670. goto :goto_15
  5671. .end method
  5672.  
  5673. .method private saveNitzTime(J)V
  5674. .registers 5
  5675. .parameter "time"
  5676.  
  5677. .prologue
  5678. .line 2423
  5679. iput-wide p1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
  5680.  
  5681. .line 2424
  5682. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  5683.  
  5684. move-result-wide v0
  5685.  
  5686. iput-wide v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
  5687.  
  5688. .line 2425
  5689. return-void
  5690. .end method
  5691.  
  5692. .method private saveNitzTimeZone(Ljava/lang/String;)V
  5693. .registers 2
  5694. .parameter "zoneId"
  5695.  
  5696. .prologue
  5697. .line 2419
  5698. iput-object p1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
  5699.  
  5700. .line 2420
  5701. return-void
  5702. .end method
  5703.  
  5704. .method private setAndBroadcastNetworkSetTime(J)V
  5705. .registers 5
  5706. .parameter "time"
  5707.  
  5708. .prologue
  5709. .line 2450
  5710. invoke-static {p1, p2}, Landroid/os/SystemClock;->setCurrentTimeMillis(J)Z
  5711.  
  5712. .line 2451
  5713. new-instance v0, Landroid/content/Intent;
  5714.  
  5715. const-string v1, "android.intent.action.NETWORK_SET_TIME"
  5716.  
  5717. invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  5718.  
  5719. .line 2452
  5720. .local v0, intent:Landroid/content/Intent;
  5721. const/high16 v1, 0x2000
  5722.  
  5723. invoke-virtual {v0, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  5724.  
  5725. .line 2453
  5726. const-string/jumbo v1, "time"
  5727.  
  5728. invoke-virtual {v0, v1, p1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
  5729.  
  5730. .line 2454
  5731. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  5732.  
  5733. invoke-virtual {v1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  5734.  
  5735. move-result-object v1
  5736.  
  5737. invoke-virtual {v1, v0}, Landroid/content/Context;->sendStickyBroadcast(Landroid/content/Intent;)V
  5738.  
  5739. .line 2455
  5740. return-void
  5741. .end method
  5742.  
  5743. .method private setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
  5744. .registers 6
  5745. .parameter "zoneId"
  5746.  
  5747. .prologue
  5748. .line 2434
  5749. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  5750.  
  5751. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  5752.  
  5753. move-result-object v2
  5754.  
  5755. const-string v3, "alarm"
  5756.  
  5757. invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
  5758.  
  5759. move-result-object v0
  5760.  
  5761. check-cast v0, Landroid/app/AlarmManager;
  5762.  
  5763. .line 2436
  5764. .local v0, alarm:Landroid/app/AlarmManager;
  5765. invoke-virtual {v0, p1}, Landroid/app/AlarmManager;->setTimeZone(Ljava/lang/String;)V
  5766.  
  5767. .line 2437
  5768. new-instance v1, Landroid/content/Intent;
  5769.  
  5770. const-string v2, "android.intent.action.NETWORK_SET_TIMEZONE"
  5771.  
  5772. invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  5773.  
  5774. .line 2438
  5775. .local v1, intent:Landroid/content/Intent;
  5776. const/high16 v2, 0x2000
  5777.  
  5778. invoke-virtual {v1, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  5779.  
  5780. .line 2439
  5781. const-string/jumbo v2, "time-zone"
  5782.  
  5783. invoke-virtual {v1, v2, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
  5784.  
  5785. .line 2440
  5786. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  5787.  
  5788. invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  5789.  
  5790. move-result-object v2
  5791.  
  5792. invoke-virtual {v2, v1}, Landroid/content/Context;->sendStickyBroadcast(Landroid/content/Intent;)V
  5793.  
  5794. .line 2441
  5795. return-void
  5796. .end method
  5797.  
  5798. .method private setNotification(I)V
  5799. .registers 12
  5800. .parameter "notifyType"
  5801.  
  5802. .prologue
  5803. const-string v9, "GSM"
  5804.  
  5805. .line 2577
  5806. const-string v6, "GSM"
  5807.  
  5808. new-instance v6, Ljava/lang/StringBuilder;
  5809.  
  5810. invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
  5811.  
  5812. const-string v7, "[DSAC DEB] create notification "
  5813.  
  5814. invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5815.  
  5816. move-result-object v6
  5817.  
  5818. invoke-virtual {v6, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  5819.  
  5820. move-result-object v6
  5821.  
  5822. invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5823.  
  5824. move-result-object v6
  5825.  
  5826. invoke-static {v9, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  5827.  
  5828. .line 2578
  5829. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  5830.  
  5831. invoke-virtual {v6}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  5832.  
  5833. move-result-object v0
  5834.  
  5835. .line 2580
  5836. .local v0, context:Landroid/content/Context;
  5837. new-instance v6, Landroid/app/Notification;
  5838.  
  5839. invoke-direct {v6}, Landroid/app/Notification;-><init>()V
  5840.  
  5841. iput-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  5842.  
  5843. .line 2581
  5844. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  5845.  
  5846. invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
  5847.  
  5848. move-result-wide v7
  5849.  
  5850. iput-wide v7, v6, Landroid/app/Notification;->when:J
  5851.  
  5852. .line 2582
  5853. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  5854.  
  5855. const/16 v7, 0x10
  5856.  
  5857. iput v7, v6, Landroid/app/Notification;->flags:I
  5858.  
  5859. .line 2583
  5860. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  5861.  
  5862. const v7, 0x108008a
  5863.  
  5864. iput v7, v6, Landroid/app/Notification;->icon:I
  5865.  
  5866. .line 2584
  5867. new-instance v2, Landroid/content/Intent;
  5868.  
  5869. invoke-direct {v2}, Landroid/content/Intent;-><init>()V
  5870.  
  5871. .line 2585
  5872. .local v2, intent:Landroid/content/Intent;
  5873. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  5874.  
  5875. const/4 v7, 0x0
  5876.  
  5877. const/high16 v8, 0x1000
  5878.  
  5879. invoke-static {v0, v7, v2, v8}, Landroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
  5880.  
  5881. move-result-object v7
  5882.  
  5883. iput-object v7, v6, Landroid/app/Notification;->contentIntent:Landroid/app/PendingIntent;
  5884.  
  5885. .line 2588
  5886. const-string v1, ""
  5887.  
  5888. .line 2589
  5889. .local v1, details:Ljava/lang/CharSequence;
  5890. const v6, 0x1040115
  5891.  
  5892. invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
  5893.  
  5894. move-result-object v5
  5895.  
  5896. .line 2590
  5897. .local v5, title:Ljava/lang/CharSequence;
  5898. const/16 v3, 0x3e7
  5899.  
  5900. .line 2592
  5901. .local v3, notificationId:I
  5902. packed-switch p1, :pswitch_data_ca
  5903.  
  5904. .line 2614
  5905. :goto_5a
  5906. :pswitch_5a
  5907. const-string v6, "GSM"
  5908.  
  5909. new-instance v6, Ljava/lang/StringBuilder;
  5910.  
  5911. invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
  5912.  
  5913. const-string v7, "[DSAC DEB] put notification "
  5914.  
  5915. invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5916.  
  5917. move-result-object v6
  5918.  
  5919. invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  5920.  
  5921. move-result-object v6
  5922.  
  5923. const-string v7, " / "
  5924.  
  5925. invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  5926.  
  5927. move-result-object v6
  5928.  
  5929. invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  5930.  
  5931. move-result-object v6
  5932.  
  5933. invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  5934.  
  5935. move-result-object v6
  5936.  
  5937. invoke-static {v9, v6}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  5938.  
  5939. .line 2615
  5940. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  5941.  
  5942. iput-object v5, v6, Landroid/app/Notification;->tickerText:Ljava/lang/CharSequence;
  5943.  
  5944. .line 2616
  5945. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  5946.  
  5947. iget-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  5948.  
  5949. iget-object v7, v7, Landroid/app/Notification;->contentIntent:Landroid/app/PendingIntent;
  5950.  
  5951. invoke-virtual {v6, v0, v5, v1, v7}, Landroid/app/Notification;->setLatestEventInfo(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
  5952.  
  5953. .line 2619
  5954. const-string/jumbo v6, "notification"
  5955.  
  5956. invoke-virtual {v0, v6}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
  5957.  
  5958. move-result-object v4
  5959.  
  5960. check-cast v4, Landroid/app/NotificationManager;
  5961.  
  5962. .line 2622
  5963. .local v4, notificationManager:Landroid/app/NotificationManager;
  5964. const/16 v6, 0x3ea
  5965.  
  5966. if-eq p1, v6, :cond_9a
  5967.  
  5968. const/16 v6, 0x3ec
  5969.  
  5970. if-ne p1, v6, :cond_c3
  5971.  
  5972. .line 2624
  5973. :cond_9a
  5974. invoke-virtual {v4, v3}, Landroid/app/NotificationManager;->cancel(I)V
  5975.  
  5976. .line 2630
  5977. :goto_9d
  5978. return-void
  5979.  
  5980. .line 2594
  5981. .end local v4 #notificationManager:Landroid/app/NotificationManager;
  5982. :pswitch_9e
  5983. const/16 v3, 0x378
  5984.  
  5985. .line 2595
  5986. const v6, 0x1040116
  5987.  
  5988. invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
  5989.  
  5990. move-result-object v1
  5991.  
  5992. .line 2596
  5993. goto :goto_5a
  5994.  
  5995. .line 2598
  5996. :pswitch_a8
  5997. const/16 v3, 0x378
  5998.  
  5999. .line 2599
  6000. goto :goto_5a
  6001.  
  6002. .line 2601
  6003. :pswitch_ab
  6004. const v6, 0x1040119
  6005.  
  6006. invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
  6007.  
  6008. move-result-object v1
  6009.  
  6010. .line 2602
  6011. goto :goto_5a
  6012.  
  6013. .line 2604
  6014. :pswitch_b3
  6015. const v6, 0x1040118
  6016.  
  6017. invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
  6018.  
  6019. move-result-object v1
  6020.  
  6021. .line 2605
  6022. goto :goto_5a
  6023.  
  6024. .line 2607
  6025. :pswitch_bb
  6026. const v6, 0x1040117
  6027.  
  6028. invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
  6029.  
  6030. move-result-object v1
  6031.  
  6032. .line 2608
  6033. goto :goto_5a
  6034.  
  6035. .line 2627
  6036. .restart local v4 #notificationManager:Landroid/app/NotificationManager;
  6037. :cond_c3
  6038. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
  6039.  
  6040. invoke-virtual {v4, v3, v6}, Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
  6041.  
  6042. goto :goto_9d
  6043.  
  6044. .line 2592
  6045. nop
  6046.  
  6047. :pswitch_data_ca
  6048. .packed-switch 0x3e9
  6049. :pswitch_9e
  6050. :pswitch_a8
  6051. :pswitch_ab
  6052. :pswitch_5a
  6053. :pswitch_b3
  6054. :pswitch_bb
  6055. .end packed-switch
  6056. .end method
  6057.  
  6058. .method private setSignalStrengthDefaultValues()V
  6059. .registers 10
  6060.  
  6061. .prologue
  6062. const/4 v2, -0x1
  6063.  
  6064. .line 1369
  6065. new-instance v0, Landroid/telephony/SignalStrength;
  6066.  
  6067. const/16 v1, 0x63
  6068.  
  6069. const/4 v8, 0x1
  6070.  
  6071. move v3, v2
  6072.  
  6073. move v4, v2
  6074.  
  6075. move v5, v2
  6076.  
  6077. move v6, v2
  6078.  
  6079. move v7, v2
  6080.  
  6081. invoke-direct/range {v0 .. v8}, Landroid/telephony/SignalStrength;-><init>(IIIIIIIZ)V
  6082.  
  6083. iput-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSignalStrength:Landroid/telephony/SignalStrength;
  6084.  
  6085. .line 1370
  6086. return-void
  6087. .end method
  6088.  
  6089. .method private setTimeFromNITZString(Ljava/lang/String;J)V
  6090. .registers 37
  6091. .parameter "nitz"
  6092. .parameter "nitzReceiveTime"
  6093.  
  6094. .prologue
  6095. .line 2237
  6096. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  6097.  
  6098. move-result-wide v21
  6099.  
  6100. .line 2238
  6101. .local v21, start:J
  6102. const-string v27, "GSM"
  6103.  
  6104. new-instance v28, Ljava/lang/StringBuilder;
  6105.  
  6106. invoke-direct/range {v28 .. v28}, Ljava/lang/StringBuilder;-><init>()V
  6107.  
  6108. const-string v29, "NITZ: "
  6109.  
  6110. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6111.  
  6112. move-result-object v28
  6113.  
  6114. move-object/from16 v0, v28
  6115.  
  6116. move-object/from16 v1, p1
  6117.  
  6118. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6119.  
  6120. move-result-object v28
  6121.  
  6122. const-string v29, ","
  6123.  
  6124. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6125.  
  6126. move-result-object v28
  6127.  
  6128. move-object/from16 v0, v28
  6129.  
  6130. move-wide/from16 v1, p2
  6131.  
  6132. invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  6133.  
  6134. move-result-object v28
  6135.  
  6136. const-string v29, " start="
  6137.  
  6138. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6139.  
  6140. move-result-object v28
  6141.  
  6142. move-object/from16 v0, v28
  6143.  
  6144. move-wide/from16 v1, v21
  6145.  
  6146. invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  6147.  
  6148. move-result-object v28
  6149.  
  6150. const-string v29, " delay="
  6151.  
  6152. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6153.  
  6154. move-result-object v28
  6155.  
  6156. sub-long v29, v21, p2
  6157.  
  6158. invoke-virtual/range {v28 .. v30}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  6159.  
  6160. move-result-object v28
  6161.  
  6162. invoke-virtual/range {v28 .. v28}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6163.  
  6164. move-result-object v28
  6165.  
  6166. invoke-static/range {v27 .. v28}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  6167.  
  6168. .line 2244
  6169. :try_start_48
  6170. const-string v27, "GMT"
  6171.  
  6172. invoke-static/range {v27 .. v27}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
  6173.  
  6174. move-result-object v27
  6175.  
  6176. invoke-static/range {v27 .. v27}, Ljava/util/Calendar;->getInstance(Ljava/util/TimeZone;)Ljava/util/Calendar;
  6177.  
  6178. move-result-object v5
  6179.  
  6180. .line 2246
  6181. .local v5, c:Ljava/util/Calendar;
  6182. invoke-virtual {v5}, Ljava/util/Calendar;->clear()V
  6183.  
  6184. .line 2247
  6185. const/16 v27, 0x10
  6186.  
  6187. const/16 v28, 0x0
  6188.  
  6189. move-object v0, v5
  6190.  
  6191. move/from16 v1, v27
  6192.  
  6193. move/from16 v2, v28
  6194.  
  6195. invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->set(II)V
  6196.  
  6197. .line 2249
  6198. const-string v27, "[/:,+-]"
  6199.  
  6200. move-object/from16 v0, p1
  6201.  
  6202. move-object/from16 v1, v27
  6203.  
  6204. invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
  6205.  
  6206. move-result-object v18
  6207.  
  6208. .line 2251
  6209. .local v18, nitzSubs:[Ljava/lang/String;
  6210. const/16 v27, 0x0
  6211.  
  6212. aget-object v27, v18, v27
  6213.  
  6214. invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  6215.  
  6216. move-result v27
  6217.  
  6218. move/from16 v0, v27
  6219.  
  6220. add-int/lit16 v0, v0, 0x7d0
  6221.  
  6222. move/from16 v25, v0
  6223.  
  6224. .line 2252
  6225. .local v25, year:I
  6226. const/16 v27, 0x1
  6227.  
  6228. move-object v0, v5
  6229.  
  6230. move/from16 v1, v27
  6231.  
  6232. move/from16 v2, v25
  6233.  
  6234. invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->set(II)V
  6235.  
  6236. .line 2255
  6237. const/16 v27, 0x1
  6238.  
  6239. aget-object v27, v18, v27
  6240.  
  6241. invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  6242.  
  6243. move-result v27
  6244.  
  6245. const/16 v28, 0x1
  6246.  
  6247. sub-int v17, v27, v28
  6248.  
  6249. .line 2256
  6250. .local v17, month:I
  6251. const/16 v27, 0x2
  6252.  
  6253. move-object v0, v5
  6254.  
  6255. move/from16 v1, v27
  6256.  
  6257. move/from16 v2, v17
  6258.  
  6259. invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->set(II)V
  6260.  
  6261. .line 2258
  6262. const/16 v27, 0x2
  6263.  
  6264. aget-object v27, v18, v27
  6265.  
  6266. invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  6267.  
  6268. move-result v6
  6269.  
  6270. .line 2259
  6271. .local v6, date:I
  6272. const/16 v27, 0x5
  6273.  
  6274. move-object v0, v5
  6275.  
  6276. move/from16 v1, v27
  6277.  
  6278. move v2, v6
  6279.  
  6280. invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->set(II)V
  6281.  
  6282. .line 2261
  6283. const/16 v27, 0x3
  6284.  
  6285. aget-object v27, v18, v27
  6286.  
  6287. invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  6288.  
  6289. move-result v10
  6290.  
  6291. .line 2262
  6292. .local v10, hour:I
  6293. const/16 v27, 0xa
  6294.  
  6295. move-object v0, v5
  6296.  
  6297. move/from16 v1, v27
  6298.  
  6299. move v2, v10
  6300.  
  6301. invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->set(II)V
  6302.  
  6303. .line 2264
  6304. const/16 v27, 0x4
  6305.  
  6306. aget-object v27, v18, v27
  6307.  
  6308. invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  6309.  
  6310. move-result v16
  6311.  
  6312. .line 2265
  6313. .local v16, minute:I
  6314. const/16 v27, 0xc
  6315.  
  6316. move-object v0, v5
  6317.  
  6318. move/from16 v1, v27
  6319.  
  6320. move/from16 v2, v16
  6321.  
  6322. invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->set(II)V
  6323.  
  6324. .line 2267
  6325. const/16 v27, 0x5
  6326.  
  6327. aget-object v27, v18, v27
  6328.  
  6329. invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  6330.  
  6331. move-result v19
  6332.  
  6333. .line 2268
  6334. .local v19, second:I
  6335. const/16 v27, 0xd
  6336.  
  6337. move-object v0, v5
  6338.  
  6339. move/from16 v1, v27
  6340.  
  6341. move/from16 v2, v19
  6342.  
  6343. invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->set(II)V
  6344.  
  6345. .line 2270
  6346. const/16 v27, 0x2d
  6347.  
  6348. move-object/from16 v0, p1
  6349.  
  6350. move/from16 v1, v27
  6351.  
  6352. invoke-virtual {v0, v1}, Ljava/lang/String;->indexOf(I)I
  6353.  
  6354. move-result v27
  6355.  
  6356. const/16 v28, -0x1
  6357.  
  6358. move/from16 v0, v27
  6359.  
  6360. move/from16 v1, v28
  6361.  
  6362. if-ne v0, v1, :cond_265
  6363.  
  6364. const/16 v27, 0x1
  6365.  
  6366. move/from16 v20, v27
  6367.  
  6368. .line 2272
  6369. .local v20, sign:Z
  6370. :goto_f5
  6371. const/16 v27, 0x6
  6372.  
  6373. aget-object v27, v18, v27
  6374.  
  6375. invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  6376.  
  6377. move-result v23
  6378.  
  6379. .line 2274
  6380. .local v23, tzOffset:I
  6381. move-object/from16 v0, v18
  6382.  
  6383. array-length v0, v0
  6384.  
  6385. move/from16 v27, v0
  6386.  
  6387. const/16 v28, 0x8
  6388.  
  6389. move/from16 v0, v27
  6390.  
  6391. move/from16 v1, v28
  6392.  
  6393. if-lt v0, v1, :cond_26b
  6394.  
  6395. const/16 v27, 0x7
  6396.  
  6397. aget-object v27, v18, v27
  6398.  
  6399. invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  6400.  
  6401. move-result v27
  6402.  
  6403. move/from16 v7, v27
  6404.  
  6405. .line 2284
  6406. .local v7, dst:I
  6407. :goto_114
  6408. if-eqz v20, :cond_271
  6409.  
  6410. const/16 v27, 0x1
  6411.  
  6412. :goto_118
  6413. mul-int v27, v27, v23
  6414.  
  6415. mul-int/lit8 v27, v27, 0xf
  6416.  
  6417. mul-int/lit8 v27, v27, 0x3c
  6418.  
  6419. move/from16 v0, v27
  6420.  
  6421. mul-int/lit16 v0, v0, 0x3e8
  6422.  
  6423. move/from16 v23, v0
  6424.  
  6425. .line 2286
  6426. const/16 v26, 0x0
  6427.  
  6428. .line 2292
  6429. .local v26, zone:Ljava/util/TimeZone;
  6430. move-object/from16 v0, v18
  6431.  
  6432. array-length v0, v0
  6433.  
  6434. move/from16 v27, v0
  6435.  
  6436. const/16 v28, 0x9
  6437.  
  6438. move/from16 v0, v27
  6439.  
  6440. move/from16 v1, v28
  6441.  
  6442. if-lt v0, v1, :cond_143
  6443.  
  6444. .line 2293
  6445. const/16 v27, 0x8
  6446.  
  6447. aget-object v27, v18, v27
  6448.  
  6449. const/16 v28, 0x21
  6450.  
  6451. const/16 v29, 0x2f
  6452.  
  6453. invoke-virtual/range {v27 .. v29}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
  6454.  
  6455. move-result-object v24
  6456.  
  6457. .line 2294
  6458. .local v24, tzname:Ljava/lang/String;
  6459. invoke-static/range {v24 .. v24}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
  6460.  
  6461. move-result-object v26
  6462.  
  6463. .line 2297
  6464. .end local v24 #tzname:Ljava/lang/String;
  6465. :cond_143
  6466. const-string/jumbo v27, "gsm.operator.iso-country"
  6467.  
  6468. invoke-static/range {v27 .. v27}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  6469.  
  6470. move-result-object v13
  6471.  
  6472. .line 2298
  6473. .local v13, iso:Ljava/lang/String;
  6474. const-string v27, "GSM"
  6475.  
  6476. new-instance v28, Ljava/lang/StringBuilder;
  6477.  
  6478. invoke-direct/range {v28 .. v28}, Ljava/lang/StringBuilder;-><init>()V
  6479.  
  6480. const-string v29, "get ISO: "
  6481.  
  6482. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6483.  
  6484. move-result-object v28
  6485.  
  6486. move-object/from16 v0, v28
  6487.  
  6488. move-object v1, v13
  6489.  
  6490. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6491.  
  6492. move-result-object v28
  6493.  
  6494. const-string v29, " mGotCountryCode: "
  6495.  
  6496. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6497.  
  6498. move-result-object v28
  6499.  
  6500. move-object/from16 v0, p0
  6501.  
  6502. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
  6503.  
  6504. move/from16 v29, v0
  6505.  
  6506. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6507.  
  6508. move-result-object v28
  6509.  
  6510. const-string v29, " mOPERATOR_ISO_COUNTRY: "
  6511.  
  6512. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6513.  
  6514. move-result-object v28
  6515.  
  6516. move-object/from16 v0, p0
  6517.  
  6518. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  6519.  
  6520. move-object/from16 v29, v0
  6521.  
  6522. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6523.  
  6524. move-result-object v28
  6525.  
  6526. invoke-virtual/range {v28 .. v28}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6527.  
  6528. move-result-object v28
  6529.  
  6530. invoke-static/range {v27 .. v28}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  6531.  
  6532. .line 2299
  6533. if-nez v26, :cond_1aa
  6534.  
  6535. .line 2301
  6536. move-object/from16 v0, p0
  6537.  
  6538. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
  6539.  
  6540. move/from16 v27, v0
  6541.  
  6542. if-eqz v27, :cond_1aa
  6543.  
  6544. .line 2302
  6545. if-eqz v13, :cond_279
  6546.  
  6547. invoke-virtual {v13}, Ljava/lang/String;->length()I
  6548.  
  6549. move-result v27
  6550.  
  6551. if-lez v27, :cond_279
  6552.  
  6553. .line 2303
  6554. if-eqz v7, :cond_275
  6555.  
  6556. const/16 v27, 0x1
  6557.  
  6558. :goto_19b
  6559. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  6560.  
  6561. move-result-wide v28
  6562.  
  6563. move/from16 v0, v23
  6564.  
  6565. move/from16 v1, v27
  6566.  
  6567. move-wide/from16 v2, v28
  6568.  
  6569. move-object v4, v13
  6570.  
  6571. invoke-static {v0, v1, v2, v3, v4}, Landroid/util/TimeUtils;->getTimeZone(IZJLjava/lang/String;)Ljava/util/TimeZone;
  6572. :try_end_1a9
  6573. .catch Ljava/lang/RuntimeException; {:try_start_48 .. :try_end_1a9} :catch_2d1
  6574.  
  6575. move-result-object v26
  6576.  
  6577. .line 2321
  6578. :cond_1aa
  6579. :goto_1aa
  6580. const/4 v12, 0x0
  6581.  
  6582. .line 2323
  6583. .local v12, isTestIcc:Z
  6584. :try_start_1ab
  6585. move-object/from16 v0, p0
  6586.  
  6587. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  6588.  
  6589. move-object/from16 v27, v0
  6590.  
  6591. invoke-virtual/range {v27 .. v27}, Lcom/android/internal/telephony/gsm/GSMPhone;->checkTestIcc()Z
  6592. :try_end_1b4
  6593. .catch Ljava/lang/Exception; {:try_start_1ab .. :try_end_1b4} :catch_2c5
  6594. .catch Ljava/lang/RuntimeException; {:try_start_1ab .. :try_end_1b4} :catch_2d1
  6595.  
  6596. move-result v12
  6597.  
  6598. .line 2327
  6599. :goto_1b5
  6600. if-nez v26, :cond_1e9
  6601.  
  6602. if-eqz v12, :cond_1e9
  6603.  
  6604. .line 2328
  6605. :try_start_1b9
  6606. const-string v27, "GSM"
  6607.  
  6608. new-instance v28, Ljava/lang/StringBuilder;
  6609.  
  6610. invoke-direct/range {v28 .. v28}, Ljava/lang/StringBuilder;-><init>()V
  6611.  
  6612. const-string/jumbo v29, "isTestIcc: "
  6613.  
  6614. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6615.  
  6616. move-result-object v28
  6617.  
  6618. move-object/from16 v0, v28
  6619.  
  6620. move v1, v12
  6621.  
  6622. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  6623.  
  6624. move-result-object v28
  6625.  
  6626. invoke-virtual/range {v28 .. v28}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6627.  
  6628. move-result-object v28
  6629.  
  6630. invoke-static/range {v27 .. v28}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  6631.  
  6632. .line 2329
  6633. if-eqz v7, :cond_2f7
  6634.  
  6635. const/16 v27, 0x1
  6636.  
  6637. :goto_1d9
  6638. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  6639.  
  6640. move-result-wide v28
  6641.  
  6642. move-object/from16 v0, p0
  6643.  
  6644. move/from16 v1, v23
  6645.  
  6646. move/from16 v2, v27
  6647.  
  6648. move-wide/from16 v3, v28
  6649.  
  6650. invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getNitzTimeZone(IZJ)Ljava/util/TimeZone;
  6651.  
  6652. move-result-object v26
  6653.  
  6654. .line 2333
  6655. :cond_1e9
  6656. if-nez v26, :cond_20d
  6657.  
  6658. .line 2338
  6659. const/16 v27, 0x1
  6660.  
  6661. move/from16 v0, v27
  6662.  
  6663. move-object/from16 v1, p0
  6664.  
  6665. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZone:Z
  6666.  
  6667. .line 2339
  6668. move/from16 v0, v23
  6669.  
  6670. move-object/from16 v1, p0
  6671.  
  6672. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
  6673.  
  6674. .line 2340
  6675. if-eqz v7, :cond_2fb
  6676.  
  6677. const/16 v27, 0x1
  6678.  
  6679. :goto_1fd
  6680. move/from16 v0, v27
  6681.  
  6682. move-object/from16 v1, p0
  6683.  
  6684. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
  6685.  
  6686. .line 2341
  6687. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  6688.  
  6689. move-result-wide v27
  6690.  
  6691. move-wide/from16 v0, v27
  6692.  
  6693. move-object/from16 v2, p0
  6694.  
  6695. iput-wide v0, v2, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
  6696.  
  6697. .line 2344
  6698. :cond_20d
  6699. if-eqz v26, :cond_248
  6700.  
  6701. .line 2345
  6702. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTime()Z
  6703.  
  6704. move-result v27
  6705.  
  6706. if-eqz v27, :cond_23d
  6707.  
  6708. .line 2347
  6709. const-string v27, "GSM"
  6710.  
  6711. new-instance v28, Ljava/lang/StringBuilder;
  6712.  
  6713. invoke-direct/range {v28 .. v28}, Ljava/lang/StringBuilder;-><init>()V
  6714.  
  6715. const-string/jumbo v29, "setTimeFromNITZString AUTO_TIME update time zone: "
  6716.  
  6717. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6718.  
  6719. move-result-object v28
  6720.  
  6721. invoke-virtual/range {v26 .. v26}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  6722.  
  6723. move-result-object v29
  6724.  
  6725. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6726.  
  6727. move-result-object v28
  6728.  
  6729. invoke-virtual/range {v28 .. v28}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6730.  
  6731. move-result-object v28
  6732.  
  6733. invoke-static/range {v27 .. v28}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  6734.  
  6735. .line 2349
  6736. invoke-virtual/range {v26 .. v26}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  6737.  
  6738. move-result-object v27
  6739.  
  6740. move-object/from16 v0, p0
  6741.  
  6742. move-object/from16 v1, v27
  6743.  
  6744. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
  6745.  
  6746. .line 2351
  6747. :cond_23d
  6748. invoke-virtual/range {v26 .. v26}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
  6749.  
  6750. move-result-object v27
  6751.  
  6752. move-object/from16 v0, p0
  6753.  
  6754. move-object/from16 v1, v27
  6755.  
  6756. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->saveNitzTimeZone(Ljava/lang/String;)V
  6757.  
  6758. .line 2354
  6759. :cond_248
  6760. const-string/jumbo v27, "gsm.ignore-nitz"
  6761.  
  6762. invoke-static/range {v27 .. v27}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  6763.  
  6764. move-result-object v11
  6765.  
  6766. .line 2355
  6767. .local v11, ignore:Ljava/lang/String;
  6768. if-eqz v11, :cond_2ff
  6769.  
  6770. const-string/jumbo v27, "yes"
  6771.  
  6772. move-object v0, v11
  6773.  
  6774. move-object/from16 v1, v27
  6775.  
  6776. invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  6777.  
  6778. move-result v27
  6779.  
  6780. if-eqz v27, :cond_2ff
  6781.  
  6782. .line 2356
  6783. const-string v27, "GSM"
  6784.  
  6785. const-string v28, "NITZ: Not setting clock because gsm.ignore-nitz is set"
  6786.  
  6787. invoke-static/range {v27 .. v28}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  6788.  
  6789. .line 2407
  6790. .end local v5 #c:Ljava/util/Calendar;
  6791. .end local v6 #date:I
  6792. .end local v7 #dst:I
  6793. .end local v10 #hour:I
  6794. .end local v11 #ignore:Ljava/lang/String;
  6795. .end local v12 #isTestIcc:Z
  6796. .end local v13 #iso:Ljava/lang/String;
  6797. .end local v16 #minute:I
  6798. .end local v17 #month:I
  6799. .end local v18 #nitzSubs:[Ljava/lang/String;
  6800. .end local v19 #second:I
  6801. .end local v20 #sign:Z
  6802. .end local v23 #tzOffset:I
  6803. .end local v25 #year:I
  6804. .end local v26 #zone:Ljava/util/TimeZone;
  6805. :goto_264
  6806. return-void
  6807.  
  6808. .line 2270
  6809. .restart local v5 #c:Ljava/util/Calendar;
  6810. .restart local v6 #date:I
  6811. .restart local v10 #hour:I
  6812. .restart local v16 #minute:I
  6813. .restart local v17 #month:I
  6814. .restart local v18 #nitzSubs:[Ljava/lang/String;
  6815. .restart local v19 #second:I
  6816. .restart local v25 #year:I
  6817. :cond_265
  6818. const/16 v27, 0x0
  6819.  
  6820. move/from16 v20, v27
  6821.  
  6822. goto/16 :goto_f5
  6823.  
  6824. .line 2274
  6825. .restart local v20 #sign:Z
  6826. .restart local v23 #tzOffset:I
  6827. :cond_26b
  6828. const/16 v27, 0x0
  6829.  
  6830. move/from16 v7, v27
  6831.  
  6832. goto/16 :goto_114
  6833.  
  6834. .line 2284
  6835. .restart local v7 #dst:I
  6836. :cond_271
  6837. const/16 v27, -0x1
  6838.  
  6839. goto/16 :goto_118
  6840.  
  6841. .line 2303
  6842. .restart local v13 #iso:Ljava/lang/String;
  6843. .restart local v26 #zone:Ljava/util/TimeZone;
  6844. :cond_275
  6845. const/16 v27, 0x0
  6846.  
  6847. goto/16 :goto_19b
  6848.  
  6849. .line 2306
  6850. :cond_279
  6851. move-object/from16 v0, p0
  6852.  
  6853. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  6854.  
  6855. move-object/from16 v27, v0
  6856.  
  6857. if-eqz v27, :cond_2ac
  6858.  
  6859. move-object/from16 v0, p0
  6860.  
  6861. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  6862.  
  6863. move-object/from16 v27, v0
  6864.  
  6865. invoke-virtual/range {v27 .. v27}, Ljava/lang/String;->length()I
  6866.  
  6867. move-result v27
  6868.  
  6869. if-lez v27, :cond_2ac
  6870.  
  6871. .line 2307
  6872. if-eqz v7, :cond_2a9
  6873.  
  6874. const/16 v27, 0x1
  6875.  
  6876. :goto_291
  6877. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  6878.  
  6879. move-result-wide v28
  6880.  
  6881. move-object/from16 v0, p0
  6882.  
  6883. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOPERATOR_ISO_COUNTRY:Ljava/lang/String;
  6884.  
  6885. move-object/from16 v30, v0
  6886.  
  6887. move/from16 v0, v23
  6888.  
  6889. move/from16 v1, v27
  6890.  
  6891. move-wide/from16 v2, v28
  6892.  
  6893. move-object/from16 v4, v30
  6894.  
  6895. invoke-static {v0, v1, v2, v3, v4}, Landroid/util/TimeUtils;->getTimeZone(IZJLjava/lang/String;)Ljava/util/TimeZone;
  6896.  
  6897. move-result-object v26
  6898.  
  6899. goto/16 :goto_1aa
  6900.  
  6901. :cond_2a9
  6902. const/16 v27, 0x0
  6903.  
  6904. goto :goto_291
  6905.  
  6906. .line 2315
  6907. :cond_2ac
  6908. if-eqz v7, :cond_2c2
  6909.  
  6910. const/16 v27, 0x1
  6911.  
  6912. :goto_2b0
  6913. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  6914.  
  6915. move-result-wide v28
  6916.  
  6917. move-object/from16 v0, p0
  6918.  
  6919. move/from16 v1, v23
  6920.  
  6921. move/from16 v2, v27
  6922.  
  6923. move-wide/from16 v3, v28
  6924.  
  6925. invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getNitzTimeZone(IZJ)Ljava/util/TimeZone;
  6926.  
  6927. move-result-object v26
  6928.  
  6929. goto/16 :goto_1aa
  6930.  
  6931. :cond_2c2
  6932. const/16 v27, 0x0
  6933.  
  6934. goto :goto_2b0
  6935.  
  6936. .line 2324
  6937. .restart local v12 #isTestIcc:Z
  6938. :catch_2c5
  6939. move-exception v27
  6940.  
  6941. move-object/from16 v8, v27
  6942.  
  6943. .line 2325
  6944. .local v8, e:Ljava/lang/Exception;
  6945. const-string v27, "GSM"
  6946.  
  6947. const-string v28, "checkTestIcc fail"
  6948.  
  6949. invoke-static/range {v27 .. v28}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  6950. :try_end_2cf
  6951. .catch Ljava/lang/RuntimeException; {:try_start_1b9 .. :try_end_2cf} :catch_2d1
  6952.  
  6953. goto/16 :goto_1b5
  6954.  
  6955. .line 2404
  6956. .end local v5 #c:Ljava/util/Calendar;
  6957. .end local v6 #date:I
  6958. .end local v7 #dst:I
  6959. .end local v8 #e:Ljava/lang/Exception;
  6960. .end local v10 #hour:I
  6961. .end local v12 #isTestIcc:Z
  6962. .end local v13 #iso:Ljava/lang/String;
  6963. .end local v16 #minute:I
  6964. .end local v17 #month:I
  6965. .end local v18 #nitzSubs:[Ljava/lang/String;
  6966. .end local v19 #second:I
  6967. .end local v20 #sign:Z
  6968. .end local v23 #tzOffset:I
  6969. .end local v25 #year:I
  6970. .end local v26 #zone:Ljava/util/TimeZone;
  6971. :catch_2d1
  6972. move-exception v27
  6973.  
  6974. move-object/from16 v9, v27
  6975.  
  6976. .line 2405
  6977. .local v9, ex:Ljava/lang/RuntimeException;
  6978. const-string v27, "GSM"
  6979.  
  6980. new-instance v28, Ljava/lang/StringBuilder;
  6981.  
  6982. invoke-direct/range {v28 .. v28}, Ljava/lang/StringBuilder;-><init>()V
  6983.  
  6984. const-string v29, "NITZ: Parsing NITZ time "
  6985.  
  6986. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6987.  
  6988. move-result-object v28
  6989.  
  6990. move-object/from16 v0, v28
  6991.  
  6992. move-object/from16 v1, p1
  6993.  
  6994. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  6995.  
  6996. move-result-object v28
  6997.  
  6998. invoke-virtual/range {v28 .. v28}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  6999.  
  7000. move-result-object v28
  7001.  
  7002. move-object/from16 v0, v27
  7003.  
  7004. move-object/from16 v1, v28
  7005.  
  7006. move-object v2, v9
  7007.  
  7008. invoke-static {v0, v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  7009.  
  7010. goto/16 :goto_264
  7011.  
  7012. .line 2329
  7013. .end local v9 #ex:Ljava/lang/RuntimeException;
  7014. .restart local v5 #c:Ljava/util/Calendar;
  7015. .restart local v6 #date:I
  7016. .restart local v7 #dst:I
  7017. .restart local v10 #hour:I
  7018. .restart local v12 #isTestIcc:Z
  7019. .restart local v13 #iso:Ljava/lang/String;
  7020. .restart local v16 #minute:I
  7021. .restart local v17 #month:I
  7022. .restart local v18 #nitzSubs:[Ljava/lang/String;
  7023. .restart local v19 #second:I
  7024. .restart local v20 #sign:Z
  7025. .restart local v23 #tzOffset:I
  7026. .restart local v25 #year:I
  7027. .restart local v26 #zone:Ljava/util/TimeZone;
  7028. :cond_2f7
  7029. const/16 v27, 0x0
  7030.  
  7031. goto/16 :goto_1d9
  7032.  
  7033. .line 2340
  7034. :cond_2fb
  7035. const/16 v27, 0x0
  7036.  
  7037. goto/16 :goto_1fd
  7038.  
  7039. .line 2361
  7040. .restart local v11 #ignore:Ljava/lang/String;
  7041. :cond_2ff
  7042. :try_start_2ff
  7043. move-object/from16 v0, p0
  7044.  
  7045. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
  7046.  
  7047. move-object/from16 v27, v0
  7048.  
  7049. invoke-virtual/range {v27 .. v27}, Landroid/os/PowerManager$WakeLock;->acquire()V
  7050.  
  7051. .line 2363
  7052. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTime()Z
  7053.  
  7054. move-result v27
  7055.  
  7056. if-eqz v27, :cond_3e1
  7057.  
  7058. .line 2364
  7059. invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
  7060.  
  7061. move-result-wide v27
  7062.  
  7063. sub-long v14, v27, p2
  7064.  
  7065. .line 2367
  7066. .local v14, millisSinceNitzReceived:J
  7067. const-wide/16 v27, 0x0
  7068.  
  7069. cmp-long v27, v14, v27
  7070.  
  7071. if-gez v27, :cond_341
  7072.  
  7073. .line 2369
  7074. const-string v27, "GSM"
  7075.  
  7076. new-instance v28, Ljava/lang/StringBuilder;
  7077.  
  7078. invoke-direct/range {v28 .. v28}, Ljava/lang/StringBuilder;-><init>()V
  7079.  
  7080. const-string v29, "NITZ: not setting time, clock has rolled backwards since NITZ time was received, "
  7081.  
  7082. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7083.  
  7084. move-result-object v28
  7085.  
  7086. move-object/from16 v0, v28
  7087.  
  7088. move-object/from16 v1, p1
  7089.  
  7090. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7091.  
  7092. move-result-object v28
  7093.  
  7094. invoke-virtual/range {v28 .. v28}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7095.  
  7096. move-result-object v28
  7097.  
  7098. invoke-static/range {v27 .. v28}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  7099. :try_end_336
  7100. .catchall {:try_start_2ff .. :try_end_336} :catchall_405
  7101.  
  7102. .line 2402
  7103. :try_start_336
  7104. move-object/from16 v0, p0
  7105.  
  7106. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
  7107.  
  7108. move-object/from16 v27, v0
  7109.  
  7110. invoke-virtual/range {v27 .. v27}, Landroid/os/PowerManager$WakeLock;->release()V
  7111. :try_end_33f
  7112. .catch Ljava/lang/RuntimeException; {:try_start_336 .. :try_end_33f} :catch_2d1
  7113.  
  7114. goto/16 :goto_264
  7115.  
  7116. .line 2375
  7117. :cond_341
  7118. const-wide/32 v27, 0x7fffffff
  7119.  
  7120. cmp-long v27, v14, v27
  7121.  
  7122. if-lez v27, :cond_376
  7123.  
  7124. .line 2377
  7125. :try_start_348
  7126. const-string v27, "GSM"
  7127.  
  7128. new-instance v28, Ljava/lang/StringBuilder;
  7129.  
  7130. invoke-direct/range {v28 .. v28}, Ljava/lang/StringBuilder;-><init>()V
  7131.  
  7132. const-string v29, "NITZ: not setting time, processing has taken "
  7133.  
  7134. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7135.  
  7136. move-result-object v28
  7137.  
  7138. const-wide/32 v29, 0x5265c00
  7139.  
  7140. div-long v29, v14, v29
  7141.  
  7142. invoke-virtual/range {v28 .. v30}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7143.  
  7144. move-result-object v28
  7145.  
  7146. const-string v29, " days"
  7147.  
  7148. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7149.  
  7150. move-result-object v28
  7151.  
  7152. invoke-virtual/range {v28 .. v28}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7153.  
  7154. move-result-object v28
  7155.  
  7156. invoke-static/range {v27 .. v28}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  7157. :try_end_36b
  7158. .catchall {:try_start_348 .. :try_end_36b} :catchall_405
  7159.  
  7160. .line 2402
  7161. :try_start_36b
  7162. move-object/from16 v0, p0
  7163.  
  7164. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
  7165.  
  7166. move-object/from16 v27, v0
  7167.  
  7168. invoke-virtual/range {v27 .. v27}, Landroid/os/PowerManager$WakeLock;->release()V
  7169. :try_end_374
  7170. .catch Ljava/lang/RuntimeException; {:try_start_36b .. :try_end_374} :catch_2d1
  7171.  
  7172. goto/16 :goto_264
  7173.  
  7174. .line 2384
  7175. :cond_376
  7176. const/16 v27, 0xe
  7177.  
  7178. move-wide v0, v14
  7179.  
  7180. long-to-int v0, v0
  7181.  
  7182. move/from16 v28, v0
  7183.  
  7184. :try_start_37c
  7185. move-object v0, v5
  7186.  
  7187. move/from16 v1, v27
  7188.  
  7189. move/from16 v2, v28
  7190.  
  7191. invoke-virtual {v0, v1, v2}, Ljava/util/Calendar;->add(II)V
  7192.  
  7193. .line 2386
  7194. const-string v27, "GSM"
  7195.  
  7196. new-instance v28, Ljava/lang/StringBuilder;
  7197.  
  7198. invoke-direct/range {v28 .. v28}, Ljava/lang/StringBuilder;-><init>()V
  7199.  
  7200. const-string v29, "NITZ: Setting time of day to "
  7201.  
  7202. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7203.  
  7204. move-result-object v28
  7205.  
  7206. invoke-virtual {v5}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
  7207.  
  7208. move-result-object v29
  7209.  
  7210. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  7211.  
  7212. move-result-object v28
  7213.  
  7214. const-string v29, " NITZ receive delay(ms): "
  7215.  
  7216. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7217.  
  7218. move-result-object v28
  7219.  
  7220. move-object/from16 v0, v28
  7221.  
  7222. move-wide v1, v14
  7223.  
  7224. invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7225.  
  7226. move-result-object v28
  7227.  
  7228. const-string v29, " gained(ms): "
  7229.  
  7230. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7231.  
  7232. move-result-object v28
  7233.  
  7234. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  7235.  
  7236. move-result-wide v29
  7237.  
  7238. invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
  7239.  
  7240. move-result-wide v31
  7241.  
  7242. sub-long v29, v29, v31
  7243.  
  7244. invoke-virtual/range {v28 .. v30}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
  7245.  
  7246. move-result-object v28
  7247.  
  7248. const-string v29, " from "
  7249.  
  7250. invoke-virtual/range {v28 .. v29}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7251.  
  7252. move-result-object v28
  7253.  
  7254. move-object/from16 v0, v28
  7255.  
  7256. move-object/from16 v1, p1
  7257.  
  7258. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7259.  
  7260. move-result-object v28
  7261.  
  7262. invoke-virtual/range {v28 .. v28}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7263.  
  7264. move-result-object v28
  7265.  
  7266. invoke-static/range {v27 .. v28}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  7267.  
  7268. .line 2392
  7269. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  7270.  
  7271. move-result-wide v27
  7272.  
  7273. move-object/from16 v0, p0
  7274.  
  7275. move-wide/from16 v1, v27
  7276.  
  7277. invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTime(J)V
  7278.  
  7279. .line 2393
  7280. const-string v27, "GSM"
  7281.  
  7282. const-string v28, "NITZ: after Setting time of day"
  7283.  
  7284. invoke-static/range {v27 .. v28}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
  7285.  
  7286. .line 2395
  7287. .end local v14 #millisSinceNitzReceived:J
  7288. :cond_3e1
  7289. const-string/jumbo v27, "gsm.nitz.time"
  7290.  
  7291. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  7292.  
  7293. move-result-wide v28
  7294.  
  7295. invoke-static/range {v28 .. v29}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
  7296.  
  7297. move-result-object v28
  7298.  
  7299. invoke-static/range {v27 .. v28}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
  7300.  
  7301. .line 2396
  7302. invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
  7303.  
  7304. move-result-wide v27
  7305.  
  7306. move-object/from16 v0, p0
  7307.  
  7308. move-wide/from16 v1, v27
  7309.  
  7310. invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->saveNitzTime(J)V
  7311. :try_end_3fa
  7312. .catchall {:try_start_37c .. :try_end_3fa} :catchall_405
  7313.  
  7314. .line 2402
  7315. :try_start_3fa
  7316. move-object/from16 v0, p0
  7317.  
  7318. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
  7319.  
  7320. move-object/from16 v27, v0
  7321.  
  7322. invoke-virtual/range {v27 .. v27}, Landroid/os/PowerManager$WakeLock;->release()V
  7323.  
  7324. goto/16 :goto_264
  7325.  
  7326. :catchall_405
  7327. move-exception v27
  7328.  
  7329. move-object/from16 v0, p0
  7330.  
  7331. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
  7332.  
  7333. move-object/from16 v28, v0
  7334.  
  7335. invoke-virtual/range {v28 .. v28}, Landroid/os/PowerManager$WakeLock;->release()V
  7336.  
  7337. throw v27
  7338. :try_end_410
  7339. .catch Ljava/lang/RuntimeException; {:try_start_3fa .. :try_end_410} :catch_2d1
  7340. .end method
  7341.  
  7342. .method private static twoDigitsAt(Ljava/lang/String;I)I
  7343. .registers 6
  7344. .parameter "s"
  7345. .parameter "offset"
  7346.  
  7347. .prologue
  7348. const/16 v3, 0xa
  7349.  
  7350. .line 2166
  7351. invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C
  7352.  
  7353. move-result v2
  7354.  
  7355. invoke-static {v2, v3}, Ljava/lang/Character;->digit(CI)I
  7356.  
  7357. move-result v0
  7358.  
  7359. .line 2167
  7360. .local v0, a:I
  7361. add-int/lit8 v2, p1, 0x1
  7362.  
  7363. invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C
  7364.  
  7365. move-result v2
  7366.  
  7367. invoke-static {v2, v3}, Ljava/lang/Character;->digit(CI)I
  7368.  
  7369. move-result v1
  7370.  
  7371. .line 2169
  7372. .local v1, b:I
  7373. if-ltz v0, :cond_18
  7374.  
  7375. if-gez v1, :cond_21
  7376.  
  7377. .line 2171
  7378. :cond_18
  7379. new-instance v2, Ljava/lang/RuntimeException;
  7380.  
  7381. const-string/jumbo v3, "invalid format"
  7382.  
  7383. invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
  7384.  
  7385. throw v2
  7386.  
  7387. .line 2174
  7388. :cond_21
  7389. mul-int/lit8 v2, v0, 0xa
  7390.  
  7391. add-int/2addr v2, v1
  7392.  
  7393. return v2
  7394. .end method
  7395.  
  7396. .method private updateOperatorInfo()V
  7397. .registers 8
  7398.  
  7399. .prologue
  7400. const/4 v5, 0x1
  7401.  
  7402. const/4 v4, 0x0
  7403.  
  7404. const-string v6, ""
  7405.  
  7406. .line 2518
  7407. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  7408.  
  7409. invoke-virtual {v2}, Landroid/telephony/ServiceState;->getState()I
  7410.  
  7411. move-result v2
  7412.  
  7413. if-nez v2, :cond_70
  7414.  
  7415. .line 2519
  7416. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7417.  
  7418. iput-boolean v5, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->inService:Z
  7419.  
  7420. .line 2520
  7421. iget v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
  7422.  
  7423. and-int/lit8 v2, v2, 0x1
  7424.  
  7425. if-ne v2, v5, :cond_68
  7426.  
  7427. move v1, v5
  7428.  
  7429. .line 2522
  7430. .local v1, showSpn:Z
  7431. :goto_17
  7432. iget v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
  7433.  
  7434. and-int/lit8 v2, v2, 0x2
  7435.  
  7436. const/4 v3, 0x2
  7437.  
  7438. if-ne v2, v3, :cond_6a
  7439.  
  7440. move v0, v5
  7441.  
  7442. .line 2527
  7443. .local v0, showPlmn:Z
  7444. :goto_1f
  7445. if-eqz v1, :cond_36
  7446.  
  7447. if-eqz v0, :cond_36
  7448.  
  7449. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  7450.  
  7451. if-eqz v2, :cond_36
  7452.  
  7453. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  7454.  
  7455. if-eqz v2, :cond_36
  7456.  
  7457. .line 2528
  7458. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  7459.  
  7460. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  7461.  
  7462. invoke-virtual {v2, v3}, Ljava/lang/String;->compareToIgnoreCase(Ljava/lang/String;)I
  7463.  
  7464. move-result v2
  7465.  
  7466. if-nez v2, :cond_36
  7467.  
  7468. .line 2529
  7469. const/4 v0, 0x0
  7470.  
  7471. .line 2549
  7472. :cond_36
  7473. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7474.  
  7475. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  7476.  
  7477. invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  7478.  
  7479. move-result v3
  7480.  
  7481. if-eqz v3, :cond_6c
  7482.  
  7483. move v3, v4
  7484.  
  7485. :goto_41
  7486. iput-boolean v3, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->showSpn:Z
  7487.  
  7488. .line 2550
  7489. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7490.  
  7491. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  7492.  
  7493. invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  7494.  
  7495. move-result v3
  7496.  
  7497. if-eqz v3, :cond_6e
  7498.  
  7499. move v3, v4
  7500.  
  7501. :goto_4e
  7502. iput-boolean v3, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->showPlmn:Z
  7503.  
  7504. .line 2551
  7505. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7506.  
  7507. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  7508.  
  7509. iput-object v3, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->spn:Ljava/lang/String;
  7510.  
  7511. .line 2552
  7512. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7513.  
  7514. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  7515.  
  7516. iput-object v3, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->plmn:Ljava/lang/String;
  7517.  
  7518. .line 2562
  7519. .end local v0 #showPlmn:Z
  7520. .end local v1 #showSpn:Z
  7521. :goto_5c
  7522. const-string v2, "GSM"
  7523.  
  7524. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7525.  
  7526. invoke-virtual {v3}, Lcom/android/internal/telephony/gsm/OperatorInfo;->toString()Ljava/lang/String;
  7527.  
  7528. move-result-object v3
  7529.  
  7530. invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  7531.  
  7532. .line 2564
  7533. return-void
  7534.  
  7535. :cond_68
  7536. move v1, v4
  7537.  
  7538. .line 2520
  7539. goto :goto_17
  7540.  
  7541. .restart local v1 #showSpn:Z
  7542. :cond_6a
  7543. move v0, v4
  7544.  
  7545. .line 2522
  7546. goto :goto_1f
  7547.  
  7548. .restart local v0 #showPlmn:Z
  7549. :cond_6c
  7550. move v3, v1
  7551.  
  7552. .line 2549
  7553. goto :goto_41
  7554.  
  7555. :cond_6e
  7556. move v3, v0
  7557.  
  7558. .line 2550
  7559. goto :goto_4e
  7560.  
  7561. .line 2554
  7562. .end local v0 #showPlmn:Z
  7563. .end local v1 #showSpn:Z
  7564. :cond_70
  7565. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7566.  
  7567. iput-boolean v4, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->inService:Z
  7568.  
  7569. .line 2555
  7570. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7571.  
  7572. iput-boolean v4, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->showSpn:Z
  7573.  
  7574. .line 2556
  7575. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7576.  
  7577. iput-boolean v4, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->showPlmn:Z
  7578.  
  7579. .line 2557
  7580. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7581.  
  7582. const-string v3, ""
  7583.  
  7584. iput-object v6, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->spn:Ljava/lang/String;
  7585.  
  7586. .line 2558
  7587. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7588.  
  7589. const-string v3, ""
  7590.  
  7591. iput-object v6, v2, Lcom/android/internal/telephony/gsm/OperatorInfo;->plmn:Ljava/lang/String;
  7592.  
  7593. goto :goto_5c
  7594. .end method
  7595.  
  7596. .method private updatePowerState(Z)V
  7597. .registers 7
  7598. .parameter "alarmTriggered"
  7599.  
  7600. .prologue
  7601. const/4 v4, 0x0
  7602.  
  7603. const/4 v3, 0x1
  7604.  
  7605. .line 2659
  7606. if-ne v3, p1, :cond_10
  7607.  
  7608. move v0, v3
  7609.  
  7610. .line 2664
  7611. .local v0, airplaneMode:I
  7612. :goto_5
  7613. if-gtz v0, :cond_22
  7614.  
  7615. move v1, v3
  7616.  
  7617. :goto_8
  7618. iput-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDesiredPowerState:Z
  7619.  
  7620. .line 2665
  7621. if-lez v0, :cond_24
  7622.  
  7623. move v1, v3
  7624.  
  7625. :goto_d
  7626. iput-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mFlightModeBootup:Z
  7627.  
  7628. .line 2666
  7629. return-void
  7630.  
  7631. .line 2659
  7632. .end local v0 #airplaneMode:I
  7633. :cond_10
  7634. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  7635.  
  7636. invoke-virtual {v1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  7637.  
  7638. move-result-object v1
  7639.  
  7640. invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  7641.  
  7642. move-result-object v1
  7643.  
  7644. const-string v2, "airplane_mode_on"
  7645.  
  7646. invoke-static {v1, v2, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
  7647.  
  7648. move-result v1
  7649.  
  7650. move v0, v1
  7651.  
  7652. goto :goto_5
  7653.  
  7654. .restart local v0 #airplaneMode:I
  7655. :cond_22
  7656. move v1, v4
  7657.  
  7658. .line 2664
  7659. goto :goto_8
  7660.  
  7661. :cond_24
  7662. move v1, v4
  7663.  
  7664. .line 2665
  7665. goto :goto_d
  7666. .end method
  7667.  
  7668.  
  7669. # virtual methods
  7670. .method public dispose()V
  7671. .registers 3
  7672.  
  7673. .prologue
  7674. .line 384
  7675. const/16 v0, 0xa
  7676.  
  7677. invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->removeMessages(I)V
  7678.  
  7679. .line 385
  7680. const/4 v0, 0x3
  7681.  
  7682. invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->removeMessages(I)V
  7683.  
  7684. .line 388
  7685. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7686.  
  7687. invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unregisterForAvailable(Landroid/os/Handler;)V
  7688.  
  7689. .line 389
  7690. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7691.  
  7692. invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unregisterForRadioStateChanged(Landroid/os/Handler;)V
  7693.  
  7694. .line 390
  7695. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7696.  
  7697. invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unregisterForNetworkStateChanged(Landroid/os/Handler;)V
  7698.  
  7699. .line 391
  7700. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7701.  
  7702. invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unregisterForSIMReady(Landroid/os/Handler;)V
  7703.  
  7704. .line 393
  7705. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7706.  
  7707. invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unregisterForRadioStateChangedExt(Landroid/os/Handler;)V
  7708.  
  7709. .line 396
  7710. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  7711.  
  7712. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  7713.  
  7714. invoke-virtual {v0, p0}, Lcom/android/internal/telephony/gsm/SIMRecords;->unregisterForRecordsLoaded(Landroid/os/Handler;)V
  7715.  
  7716. .line 397
  7717. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7718.  
  7719. invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unSetOnSignalStrengthUpdate(Landroid/os/Handler;)V
  7720.  
  7721. .line 398
  7722. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7723.  
  7724. invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unSetOnRestrictedStateChanged(Landroid/os/Handler;)V
  7725.  
  7726. .line 399
  7727. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7728.  
  7729. invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unSetOnNITZTime(Landroid/os/Handler;)V
  7730.  
  7731. .line 400
  7732. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cr:Landroid/content/ContentResolver;
  7733.  
  7734. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeObserver:Landroid/database/ContentObserver;
  7735.  
  7736. invoke-virtual {v0, v1}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
  7737.  
  7738. .line 402
  7739. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  7740.  
  7741. invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  7742.  
  7743. move-result-object v0
  7744.  
  7745. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIntentReceiver:Landroid/content/BroadcastReceiver;
  7746.  
  7747. invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
  7748.  
  7749. .line 405
  7750. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  7751.  
  7752. move-result v0
  7753.  
  7754. if-eqz v0, :cond_53
  7755.  
  7756. .line 406
  7757. const/4 v0, 0x1
  7758.  
  7759. iput-boolean v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isFirstNetworkStateChange:Z
  7760.  
  7761. .line 408
  7762. :cond_53
  7763. return-void
  7764. .end method
  7765.  
  7766. .method protected finalize()V
  7767. .registers 3
  7768.  
  7769. .prologue
  7770. .line 411
  7771. const-string v0, "GSM"
  7772.  
  7773. const-string v1, "GsmServiceStateTracker finalized"
  7774.  
  7775. invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  7776.  
  7777. .line 412
  7778. return-void
  7779. .end method
  7780.  
  7781. .method getCurrentGprsState()I
  7782. .registers 2
  7783.  
  7784. .prologue
  7785. .line 2182
  7786. iget v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  7787.  
  7788. return v0
  7789. .end method
  7790.  
  7791. .method public getOperatorInfo()Ljava/lang/Object;
  7792. .registers 2
  7793.  
  7794. .prologue
  7795. .line 2514
  7796. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->operatorInfo:Lcom/android/internal/telephony/gsm/OperatorInfo;
  7797.  
  7798. return-object v0
  7799. .end method
  7800.  
  7801. .method public getPRIVersion()Ljava/lang/String;
  7802. .registers 2
  7803.  
  7804. .prologue
  7805. .line 526
  7806. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  7807.  
  7808. if-eqz v0, :cond_c
  7809.  
  7810. const-string/jumbo v0, "gsm.cdma.pri.version"
  7811.  
  7812. invoke-static {v0}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
  7813.  
  7814. move-result-object v0
  7815.  
  7816. :goto_b
  7817. return-object v0
  7818.  
  7819. :cond_c
  7820. const-string v0, "Not ready"
  7821.  
  7822. goto :goto_b
  7823. .end method
  7824.  
  7825. .method public getPrlVersion()Ljava/lang/String;
  7826. .registers 2
  7827.  
  7828. .prologue
  7829. .line 513
  7830. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  7831.  
  7832. if-eqz v0, :cond_9
  7833.  
  7834. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  7835.  
  7836. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->prl_version:Ljava/lang/String;
  7837.  
  7838. :goto_8
  7839. return-object v0
  7840.  
  7841. :cond_9
  7842. const/4 v0, 0x0
  7843.  
  7844. goto :goto_8
  7845. .end method
  7846.  
  7847. .method public handleMessage(Landroid/os/Message;)V
  7848. .registers 26
  7849. .parameter "msg"
  7850.  
  7851. .prologue
  7852. .line 537
  7853. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  7854.  
  7855. move-result v20
  7856.  
  7857. if-eqz v20, :cond_29
  7858.  
  7859. sget-boolean v20, Lcom/android/internal/telephony/gsm/GSMPhone;->mDropEvent:Z
  7860.  
  7861. if-eqz v20, :cond_29
  7862.  
  7863. .line 538
  7864. const-string v20, "GSM"
  7865.  
  7866. new-instance v21, Ljava/lang/StringBuilder;
  7867.  
  7868. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  7869.  
  7870. const-string v22, " GsmServiceTracker drop event "
  7871.  
  7872. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7873.  
  7874. move-result-object v21
  7875.  
  7876. move-object/from16 v0, p1
  7877.  
  7878. iget v0, v0, Landroid/os/Message;->what:I
  7879.  
  7880. move/from16 v22, v0
  7881.  
  7882. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7883.  
  7884. move-result-object v21
  7885.  
  7886. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7887.  
  7888. move-result-object v21
  7889.  
  7890. invoke-static/range {v20 .. v21}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  7891.  
  7892. .line 899
  7893. .end local p0
  7894. .end local p1
  7895. :cond_28
  7896. :goto_28
  7897. return-void
  7898.  
  7899. .line 548
  7900. .restart local p0
  7901. .restart local p1
  7902. :cond_29
  7903. move-object/from16 v0, p1
  7904.  
  7905. iget v0, v0, Landroid/os/Message;->what:I
  7906.  
  7907. move/from16 v20, v0
  7908.  
  7909. sparse-switch v20, :sswitch_data_704
  7910.  
  7911. .line 896
  7912. const-string v20, "GSM"
  7913.  
  7914. new-instance v21, Ljava/lang/StringBuilder;
  7915.  
  7916. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  7917.  
  7918. const-string v22, "Unhandled message with number: "
  7919.  
  7920. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  7921.  
  7922. move-result-object v21
  7923.  
  7924. move-object/from16 v0, p1
  7925.  
  7926. iget v0, v0, Landroid/os/Message;->what:I
  7927.  
  7928. move/from16 v22, v0
  7929.  
  7930. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  7931.  
  7932. move-result-object v21
  7933.  
  7934. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  7935.  
  7936. move-result-object v21
  7937.  
  7938. invoke-static/range {v20 .. v21}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  7939.  
  7940. goto :goto_28
  7941.  
  7942. .line 554
  7943. :sswitch_51
  7944. move-object/from16 v0, p0
  7945.  
  7946. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  7947.  
  7948. move-object/from16 v20, v0
  7949.  
  7950. const/16 v21, 0x34
  7951.  
  7952. move-object/from16 v0, p0
  7953.  
  7954. move/from16 v1, v21
  7955.  
  7956. invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
  7957.  
  7958. move-result-object v21
  7959.  
  7960. invoke-interface/range {v20 .. v21}, Lcom/android/internal/telephony/CommandsInterface;->requestGetRadioSysInfo(Landroid/os/Message;)V
  7961.  
  7962. .line 555
  7963. const-string v20, "Receive EVENT_RADIO_AVAILABLE and send EVENT_RIL_CDMA_RS_INFO."
  7964.  
  7965. move-object/from16 v0, p0
  7966.  
  7967. move-object/from16 v1, v20
  7968.  
  7969. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
  7970.  
  7971. goto :goto_28
  7972.  
  7973. .line 564
  7974. :sswitch_6e
  7975. move-object/from16 v0, p0
  7976.  
  7977. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedToRegForSimLoaded:Z
  7978.  
  7979. move/from16 v20, v0
  7980.  
  7981. if-eqz v20, :cond_99
  7982.  
  7983. .line 565
  7984. move-object/from16 v0, p0
  7985.  
  7986. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  7987.  
  7988. move-object/from16 v20, v0
  7989.  
  7990. move-object/from16 v0, v20
  7991.  
  7992. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  7993.  
  7994. move-object/from16 v20, v0
  7995.  
  7996. const/16 v21, 0x10
  7997.  
  7998. const/16 v22, 0x0
  7999.  
  8000. move-object/from16 v0, v20
  8001.  
  8002. move-object/from16 v1, p0
  8003.  
  8004. move/from16 v2, v21
  8005.  
  8006. move-object/from16 v3, v22
  8007.  
  8008. invoke-virtual {v0, v1, v2, v3}, Lcom/android/internal/telephony/gsm/SIMRecords;->registerForRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
  8009.  
  8010. .line 567
  8011. const/16 v20, 0x0
  8012.  
  8013. move/from16 v0, v20
  8014.  
  8015. move-object/from16 v1, p0
  8016.  
  8017. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedToRegForSimLoaded:Z
  8018.  
  8019. .line 571
  8020. :cond_99
  8021. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->QMI_CONFIG()Z
  8022.  
  8023. move-result v20
  8024.  
  8025. if-eqz v20, :cond_ba
  8026.  
  8027. .line 572
  8028. move-object/from16 v0, p0
  8029.  
  8030. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8031.  
  8032. move-object/from16 v20, v0
  8033.  
  8034. invoke-virtual/range {v20 .. v20}, Lcom/android/internal/telephony/gsm/GSMPhone;->getSavedNetworkSelection()Ljava/lang/String;
  8035.  
  8036. move-result-object v10
  8037.  
  8038. .line 575
  8039. .local v10, networkSelection:Ljava/lang/String;
  8040. invoke-static {v10}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  8041.  
  8042. move-result v20
  8043.  
  8044. if-nez v20, :cond_ba
  8045.  
  8046. .line 581
  8047. move-object/from16 v0, p0
  8048.  
  8049. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8050.  
  8051. move-object/from16 v20, v0
  8052.  
  8053. const/16 v21, 0x0
  8054.  
  8055. invoke-virtual/range {v20 .. v21}, Lcom/android/internal/telephony/gsm/GSMPhone;->restoreSavedNetworkSelection(Landroid/os/Message;)V
  8056.  
  8057. .line 598
  8058. .end local v10 #networkSelection:Ljava/lang/String;
  8059. :cond_ba
  8060. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
  8061.  
  8062. .line 600
  8063. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->queueNextSignalStrengthPoll()V
  8064.  
  8065. .line 613
  8066. const-string v20, "SIM READY, notify data connection"
  8067.  
  8068. move-object/from16 v0, p0
  8069.  
  8070. move-object/from16 v1, v20
  8071.  
  8072. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
  8073.  
  8074. .line 614
  8075. move-object/from16 v0, p0
  8076.  
  8077. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8078.  
  8079. move-object/from16 v20, v0
  8080.  
  8081. const/16 v21, 0x0
  8082.  
  8083. invoke-virtual/range {v20 .. v21}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyDataConnection(Ljava/lang/String;)V
  8084.  
  8085. goto/16 :goto_28
  8086.  
  8087. .line 619
  8088. :sswitch_d6
  8089. move-object/from16 v0, p1
  8090.  
  8091. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  8092.  
  8093. move-object v4, v0
  8094.  
  8095. check-cast v4, Landroid/os/AsyncResult;
  8096.  
  8097. .line 620
  8098. .local v4, ar:Landroid/os/AsyncResult;
  8099. move-object v0, v4
  8100.  
  8101. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  8102.  
  8103. move-object/from16 v20, v0
  8104.  
  8105. if-nez v20, :cond_ef
  8106.  
  8107. .line 621
  8108. const-string v20, "EVENT_RIL_CDMA_RS_INFO:CDMA Info ar.result == null."
  8109.  
  8110. move-object/from16 v0, p0
  8111.  
  8112. move-object/from16 v1, v20
  8113.  
  8114. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
  8115.  
  8116. goto/16 :goto_28
  8117.  
  8118. .line 622
  8119. :cond_ef
  8120. move-object v0, v4
  8121.  
  8122. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  8123.  
  8124. move-object/from16 v20, v0
  8125.  
  8126. if-nez v20, :cond_214
  8127.  
  8128. .line 623
  8129. move-object v0, v4
  8130.  
  8131. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  8132.  
  8133. move-object/from16 p1, v0
  8134.  
  8135. .end local p1
  8136. check-cast p1, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8137.  
  8138. move-object/from16 v0, p1
  8139.  
  8140. move-object/from16 v1, p0
  8141.  
  8142. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8143.  
  8144. .line 624
  8145. new-instance v20, Ljava/lang/StringBuilder;
  8146.  
  8147. invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;-><init>()V
  8148.  
  8149. const-string v21, "EVENT_RIL_CDMA_RS_INFO:version:"
  8150.  
  8151. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8152.  
  8153. move-result-object v20
  8154.  
  8155. move-object/from16 v0, p0
  8156.  
  8157. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8158.  
  8159. move-object/from16 v21, v0
  8160.  
  8161. move-object/from16 v0, v21
  8162.  
  8163. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->version:Ljava/lang/String;
  8164.  
  8165. move-object/from16 v21, v0
  8166.  
  8167. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8168.  
  8169. move-result-object v20
  8170.  
  8171. const-string v21, " mobile_sw_version:"
  8172.  
  8173. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8174.  
  8175. move-result-object v20
  8176.  
  8177. move-object/from16 v0, p0
  8178.  
  8179. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8180.  
  8181. move-object/from16 v21, v0
  8182.  
  8183. move-object/from16 v0, v21
  8184.  
  8185. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->mobile_sw_version:Ljava/lang/String;
  8186.  
  8187. move-object/from16 v21, v0
  8188.  
  8189. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8190.  
  8191. move-result-object v20
  8192.  
  8193. const-string v21, " esn:"
  8194.  
  8195. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8196.  
  8197. move-result-object v20
  8198.  
  8199. move-object/from16 v0, p0
  8200.  
  8201. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8202.  
  8203. move-object/from16 v21, v0
  8204.  
  8205. move-object/from16 v0, v21
  8206.  
  8207. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->esn:Ljava/lang/String;
  8208.  
  8209. move-object/from16 v21, v0
  8210.  
  8211. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8212.  
  8213. move-result-object v20
  8214.  
  8215. const-string v21, " prl:"
  8216.  
  8217. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8218.  
  8219. move-result-object v20
  8220.  
  8221. move-object/from16 v0, p0
  8222.  
  8223. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8224.  
  8225. move-object/from16 v21, v0
  8226.  
  8227. move-object/from16 v0, v21
  8228.  
  8229. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->prl_version:Ljava/lang/String;
  8230.  
  8231. move-object/from16 v21, v0
  8232.  
  8233. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8234.  
  8235. move-result-object v20
  8236.  
  8237. const-string v21, " pre_only:"
  8238.  
  8239. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8240.  
  8241. move-result-object v20
  8242.  
  8243. move-object/from16 v0, p0
  8244.  
  8245. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8246.  
  8247. move-object/from16 v21, v0
  8248.  
  8249. move-object/from16 v0, v21
  8250.  
  8251. iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->pre_only:I
  8252.  
  8253. move/from16 v21, v0
  8254.  
  8255. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8256.  
  8257. move-result-object v20
  8258.  
  8259. const-string v21, " imsi:"
  8260.  
  8261. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8262.  
  8263. move-result-object v20
  8264.  
  8265. move-object/from16 v0, p0
  8266.  
  8267. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8268.  
  8269. move-object/from16 v21, v0
  8270.  
  8271. move-object/from16 v0, v21
  8272.  
  8273. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->imsi:Ljava/lang/String;
  8274.  
  8275. move-object/from16 v21, v0
  8276.  
  8277. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8278.  
  8279. move-result-object v20
  8280.  
  8281. const-string v21, " customer_id:"
  8282.  
  8283. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8284.  
  8285. move-result-object v20
  8286.  
  8287. move-object/from16 v0, p0
  8288.  
  8289. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8290.  
  8291. move-object/from16 v21, v0
  8292.  
  8293. move-object/from16 v0, v21
  8294.  
  8295. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->customer_id:Ljava/lang/String;
  8296.  
  8297. move-object/from16 v21, v0
  8298.  
  8299. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8300.  
  8301. move-result-object v20
  8302.  
  8303. const-string v21, " prl:"
  8304.  
  8305. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8306.  
  8307. move-result-object v20
  8308.  
  8309. move-object/from16 v0, p0
  8310.  
  8311. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8312.  
  8313. move-object/from16 v21, v0
  8314.  
  8315. move-object/from16 v0, v21
  8316.  
  8317. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->prl_version:Ljava/lang/String;
  8318.  
  8319. move-object/from16 v21, v0
  8320.  
  8321. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8322.  
  8323. move-result-object v20
  8324.  
  8325. invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8326.  
  8327. move-result-object v20
  8328.  
  8329. move-object/from16 v0, p0
  8330.  
  8331. move-object/from16 v1, v20
  8332.  
  8333. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
  8334.  
  8335. .line 634
  8336. move-object/from16 v0, p0
  8337.  
  8338. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8339.  
  8340. move-object/from16 v20, v0
  8341.  
  8342. move-object/from16 v0, v20
  8343.  
  8344. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->pri_version:Ljava/lang/String;
  8345.  
  8346. move-object/from16 v19, v0
  8347.  
  8348. .line 635
  8349. .local v19, unifiedPRIversion:Ljava/lang/String;
  8350. move-object/from16 v0, p0
  8351.  
  8352. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8353.  
  8354. move-object/from16 v20, v0
  8355.  
  8356. move-object/from16 v0, v20
  8357.  
  8358. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->pri_version_2:Ljava/lang/String;
  8359.  
  8360. move-object/from16 v20, v0
  8361.  
  8362. invoke-static/range {v20 .. v20}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  8363.  
  8364. move-result v20
  8365.  
  8366. if-nez v20, :cond_208
  8367.  
  8368. .line 637
  8369. new-instance v20, Ljava/lang/StringBuilder;
  8370.  
  8371. invoke-direct/range {v20 .. v20}, Ljava/lang/StringBuilder;-><init>()V
  8372.  
  8373. move-object/from16 v0, v20
  8374.  
  8375. move-object/from16 v1, v19
  8376.  
  8377. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8378.  
  8379. move-result-object v20
  8380.  
  8381. const-string v21, ", "
  8382.  
  8383. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8384.  
  8385. move-result-object v20
  8386.  
  8387. move-object/from16 v0, p0
  8388.  
  8389. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRDInfo:Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;
  8390.  
  8391. move-object/from16 v21, v0
  8392.  
  8393. move-object/from16 v0, v21
  8394.  
  8395. iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaRadioStateInfo;->pri_version_2:Ljava/lang/String;
  8396.  
  8397. move-object/from16 v21, v0
  8398.  
  8399. invoke-virtual/range {v20 .. v21}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8400.  
  8401. move-result-object v20
  8402.  
  8403. invoke-virtual/range {v20 .. v20}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8404.  
  8405. move-result-object v19
  8406.  
  8407. .line 639
  8408. :cond_208
  8409. const-string/jumbo v20, "gsm.cdma.pri.version"
  8410.  
  8411. move-object/from16 v0, v20
  8412.  
  8413. move-object/from16 v1, v19
  8414.  
  8415. invoke-static {v0, v1}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
  8416.  
  8417. goto/16 :goto_28
  8418.  
  8419. .line 643
  8420. .end local v19 #unifiedPRIversion:Ljava/lang/String;
  8421. .restart local p1
  8422. :cond_214
  8423. const-string v20, "EVENT_RIL_CDMA_RS_INFO:No this section!!"
  8424.  
  8425. move-object/from16 v0, p0
  8426.  
  8427. move-object/from16 v1, v20
  8428.  
  8429. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
  8430.  
  8431. goto/16 :goto_28
  8432.  
  8433. .line 654
  8434. .end local v4 #ar:Landroid/os/AsyncResult;
  8435. :sswitch_21f
  8436. move-object/from16 v0, p0
  8437.  
  8438. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mImsFlightModeRequest:Z
  8439.  
  8440. move/from16 v20, v0
  8441.  
  8442. if-nez v20, :cond_22a
  8443.  
  8444. .line 655
  8445. invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setPowerStateToDesired()V
  8446.  
  8447. .line 658
  8448. :cond_22a
  8449. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
  8450.  
  8451. goto/16 :goto_28
  8452.  
  8453. .line 663
  8454. :sswitch_22f
  8455. move-object/from16 v0, p1
  8456.  
  8457. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  8458.  
  8459. move-object v4, v0
  8460.  
  8461. check-cast v4, Landroid/os/AsyncResult;
  8462.  
  8463. .line 664
  8464. .restart local v4 #ar:Landroid/os/AsyncResult;
  8465. move-object v0, v4
  8466.  
  8467. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  8468.  
  8469. move-object/from16 v20, v0
  8470.  
  8471. if-nez v20, :cond_28
  8472.  
  8473. .line 665
  8474. iget-object v14, v4, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  8475.  
  8476. check-cast v14, Lcom/android/internal/telephony/CommandsInterface$RadioState;
  8477.  
  8478. .line 666
  8479. .local v14, radioState:Lcom/android/internal/telephony/CommandsInterface$RadioState;
  8480. const-string v20, "GSM"
  8481.  
  8482. new-instance v21, Ljava/lang/StringBuilder;
  8483.  
  8484. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  8485.  
  8486. const-string v22, "Radio State: "
  8487.  
  8488. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8489.  
  8490. move-result-object v21
  8491.  
  8492. move-object/from16 v0, v21
  8493.  
  8494. move-object v1, v14
  8495.  
  8496. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  8497.  
  8498. move-result-object v21
  8499.  
  8500. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8501.  
  8502. move-result-object v21
  8503.  
  8504. invoke-static/range {v20 .. v21}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  8505.  
  8506. .line 667
  8507. move-object/from16 v0, p0
  8508.  
  8509. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8510.  
  8511. move-object/from16 v20, v0
  8512.  
  8513. move-object/from16 v0, v20
  8514.  
  8515. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mRadioOnDueToECC:Z
  8516.  
  8517. move/from16 v20, v0
  8518.  
  8519. if-nez v20, :cond_28e
  8520.  
  8521. sget-object v20, Lcom/android/internal/telephony/CommandsInterface$RadioState;->SIM_NOT_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;
  8522.  
  8523. move-object v0, v14
  8524.  
  8525. move-object/from16 v1, v20
  8526.  
  8527. if-ne v0, v1, :cond_28e
  8528.  
  8529. .line 669
  8530. move-object/from16 v0, p0
  8531.  
  8532. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8533.  
  8534. move-object/from16 v20, v0
  8535.  
  8536. invoke-virtual/range {v20 .. v20}, Lcom/android/internal/telephony/gsm/GSMPhone;->getSavedNetworkSelection()Ljava/lang/String;
  8537.  
  8538. move-result-object v10
  8539.  
  8540. .line 670
  8541. .restart local v10 #networkSelection:Ljava/lang/String;
  8542. invoke-static {v10}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  8543.  
  8544. move-result v20
  8545.  
  8546. if-nez v20, :cond_281
  8547.  
  8548. .line 676
  8549. :cond_281
  8550. move-object/from16 v0, p0
  8551.  
  8552. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8553.  
  8554. move-object/from16 v20, v0
  8555.  
  8556. const/16 v21, 0x0
  8557.  
  8558. invoke-virtual/range {v20 .. v21}, Lcom/android/internal/telephony/gsm/GSMPhone;->restoreSavedNetworkSelection(Landroid/os/Message;)V
  8559.  
  8560. goto/16 :goto_28
  8561.  
  8562. .line 677
  8563. .end local v10 #networkSelection:Ljava/lang/String;
  8564. :cond_28e
  8565. sget-object v20, Lcom/android/internal/telephony/CommandsInterface$RadioState;->SIM_READY:Lcom/android/internal/telephony/CommandsInterface$RadioState;
  8566.  
  8567. move-object v0, v14
  8568.  
  8569. move-object/from16 v1, v20
  8570.  
  8571. if-ne v0, v1, :cond_28
  8572.  
  8573. .line 678
  8574. move-object/from16 v0, p0
  8575.  
  8576. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8577.  
  8578. move-object/from16 v20, v0
  8579.  
  8580. move-object/from16 v0, v20
  8581.  
  8582. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mRadioOnDueToECC:Z
  8583.  
  8584. move/from16 v20, v0
  8585.  
  8586. const/16 v21, 0x1
  8587.  
  8588. move/from16 v0, v20
  8589.  
  8590. move/from16 v1, v21
  8591.  
  8592. if-ne v0, v1, :cond_28
  8593.  
  8594. .line 680
  8595. move-object/from16 v0, p0
  8596.  
  8597. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8598.  
  8599. move-object/from16 v20, v0
  8600.  
  8601. invoke-virtual/range {v20 .. v20}, Lcom/android/internal/telephony/gsm/GSMPhone;->getSavedNetworkSelection()Ljava/lang/String;
  8602.  
  8603. move-result-object v10
  8604.  
  8605. .line 681
  8606. .restart local v10 #networkSelection:Ljava/lang/String;
  8607. invoke-static {v10}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  8608.  
  8609. move-result v20
  8610.  
  8611. if-nez v20, :cond_2b9
  8612.  
  8613. .line 687
  8614. :cond_2b9
  8615. move-object/from16 v0, p0
  8616.  
  8617. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8618.  
  8619. move-object/from16 v20, v0
  8620.  
  8621. const/16 v21, 0x0
  8622.  
  8623. invoke-virtual/range {v20 .. v21}, Lcom/android/internal/telephony/gsm/GSMPhone;->restoreSavedNetworkSelection(Landroid/os/Message;)V
  8624.  
  8625. .line 688
  8626. move-object/from16 v0, p0
  8627.  
  8628. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  8629.  
  8630. move-object/from16 v20, v0
  8631.  
  8632. const/16 v21, 0x0
  8633.  
  8634. move/from16 v0, v21
  8635.  
  8636. move-object/from16 v1, v20
  8637.  
  8638. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GSMPhone;->mRadioOnDueToECC:Z
  8639.  
  8640. goto/16 :goto_28
  8641.  
  8642. .line 697
  8643. .end local v4 #ar:Landroid/os/AsyncResult;
  8644. .end local v10 #networkSelection:Ljava/lang/String;
  8645. .end local v14 #radioState:Lcom/android/internal/telephony/CommandsInterface$RadioState;
  8646. :sswitch_2d4
  8647. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  8648.  
  8649. move-result v20
  8650.  
  8651. if-eqz v20, :cond_3e6
  8652.  
  8653. .line 699
  8654. const-string/jumbo v20, "ril.notify.regstatus"
  8655.  
  8656. const-string v21, "-1"
  8657.  
  8658. invoke-static/range {v20 .. v21}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  8659.  
  8660. move-result-object v16
  8661.  
  8662. .line 700
  8663. .local v16, rilCregState:Ljava/lang/String;
  8664. const-string v20, "GSM"
  8665.  
  8666. new-instance v21, Ljava/lang/StringBuilder;
  8667.  
  8668. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  8669.  
  8670. const-string/jumbo v22, "rilCregState: "
  8671.  
  8672. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8673.  
  8674. move-result-object v21
  8675.  
  8676. move-object/from16 v0, v21
  8677.  
  8678. move-object/from16 v1, v16
  8679.  
  8680. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8681.  
  8682. move-result-object v21
  8683.  
  8684. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8685.  
  8686. move-result-object v21
  8687.  
  8688. invoke-static/range {v20 .. v21}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  8689.  
  8690. .line 701
  8691. const-string/jumbo v20, "ril.notify.gprsregstatus"
  8692.  
  8693. const-string v21, "-1"
  8694.  
  8695. invoke-static/range {v20 .. v21}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  8696.  
  8697. move-result-object v15
  8698.  
  8699. .line 702
  8700. .local v15, rilCgregState:Ljava/lang/String;
  8701. const-string v20, "GSM"
  8702.  
  8703. new-instance v21, Ljava/lang/StringBuilder;
  8704.  
  8705. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  8706.  
  8707. const-string/jumbo v22, "rilCgregState: "
  8708.  
  8709. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8710.  
  8711. move-result-object v21
  8712.  
  8713. move-object/from16 v0, v21
  8714.  
  8715. move-object v1, v15
  8716.  
  8717. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8718.  
  8719. move-result-object v21
  8720.  
  8721. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8722.  
  8723. move-result-object v21
  8724.  
  8725. invoke-static/range {v20 .. v21}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  8726.  
  8727. .line 703
  8728. move-object/from16 v0, p0
  8729.  
  8730. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isFirstNetworkStateChange:Z
  8731.  
  8732. move/from16 v20, v0
  8733.  
  8734. if-eqz v20, :cond_3eb
  8735.  
  8736. .line 705
  8737. invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  8738.  
  8739. move-result v20
  8740.  
  8741. move-object/from16 v0, p0
  8742.  
  8743. move/from16 v1, v20
  8744.  
  8745. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
  8746.  
  8747. move-result v20
  8748.  
  8749. move/from16 v0, v20
  8750.  
  8751. move-object/from16 v1, p0
  8752.  
  8753. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCregState:I
  8754.  
  8755. .line 706
  8756. invoke-static {v15}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  8757.  
  8758. move-result v20
  8759.  
  8760. move-object/from16 v0, p0
  8761.  
  8762. move/from16 v1, v20
  8763.  
  8764. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
  8765.  
  8766. move-result v20
  8767.  
  8768. move/from16 v0, v20
  8769.  
  8770. move-object/from16 v1, p0
  8771.  
  8772. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCgregState:I
  8773.  
  8774. .line 707
  8775. const/16 v20, 0x0
  8776.  
  8777. move/from16 v0, v20
  8778.  
  8779. move-object/from16 v1, p0
  8780.  
  8781. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isFirstNetworkStateChange:Z
  8782.  
  8783. .line 722
  8784. :cond_359
  8785. :goto_359
  8786. const-string v20, "GSM"
  8787.  
  8788. new-instance v21, Ljava/lang/StringBuilder;
  8789.  
  8790. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  8791.  
  8792. const-string/jumbo v22, "oldRilCREGState: "
  8793.  
  8794. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8795.  
  8796. move-result-object v21
  8797.  
  8798. move-object/from16 v0, p0
  8799.  
  8800. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->oldRilCregState:I
  8801.  
  8802. move/from16 v22, v0
  8803.  
  8804. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8805.  
  8806. move-result-object v21
  8807.  
  8808. const-string v22, " newRilCREGState: "
  8809.  
  8810. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8811.  
  8812. move-result-object v21
  8813.  
  8814. move-object/from16 v0, p0
  8815.  
  8816. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCregState:I
  8817.  
  8818. move/from16 v22, v0
  8819.  
  8820. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8821.  
  8822. move-result-object v21
  8823.  
  8824. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8825.  
  8826. move-result-object v21
  8827.  
  8828. invoke-static/range {v20 .. v21}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  8829.  
  8830. .line 723
  8831. const-string v20, "GSM"
  8832.  
  8833. new-instance v21, Ljava/lang/StringBuilder;
  8834.  
  8835. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  8836.  
  8837. const-string/jumbo v22, "oldRilCGREGState: "
  8838.  
  8839. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8840.  
  8841. move-result-object v21
  8842.  
  8843. move-object/from16 v0, p0
  8844.  
  8845. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->oldRilCgregState:I
  8846.  
  8847. move/from16 v22, v0
  8848.  
  8849. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8850.  
  8851. move-result-object v21
  8852.  
  8853. const-string v22, " newRilCGREGState: "
  8854.  
  8855. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8856.  
  8857. move-result-object v21
  8858.  
  8859. move-object/from16 v0, p0
  8860.  
  8861. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCgregState:I
  8862.  
  8863. move/from16 v22, v0
  8864.  
  8865. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  8866.  
  8867. move-result-object v21
  8868.  
  8869. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8870.  
  8871. move-result-object v21
  8872.  
  8873. invoke-static/range {v20 .. v21}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  8874.  
  8875. .line 724
  8876. const-string v20, "GSM"
  8877.  
  8878. new-instance v21, Ljava/lang/StringBuilder;
  8879.  
  8880. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  8881.  
  8882. const-string/jumbo v22, "mCregChange: "
  8883.  
  8884. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8885.  
  8886. move-result-object v21
  8887.  
  8888. move-object/from16 v0, p0
  8889.  
  8890. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCregChange:Z
  8891.  
  8892. move/from16 v22, v0
  8893.  
  8894. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8895.  
  8896. move-result-object v21
  8897.  
  8898. const-string v22, " mCgregChange: "
  8899.  
  8900. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  8901.  
  8902. move-result-object v21
  8903.  
  8904. move-object/from16 v0, p0
  8905.  
  8906. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCgregChange:Z
  8907.  
  8908. move/from16 v22, v0
  8909.  
  8910. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
  8911.  
  8912. move-result-object v21
  8913.  
  8914. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  8915.  
  8916. move-result-object v21
  8917.  
  8918. invoke-static/range {v20 .. v21}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  8919.  
  8920. .line 727
  8921. .end local v15 #rilCgregState:Ljava/lang/String;
  8922. .end local v16 #rilCregState:Ljava/lang/String;
  8923. :cond_3e6
  8924. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
  8925.  
  8926. goto/16 :goto_28
  8927.  
  8928. .line 711
  8929. .restart local v15 #rilCgregState:Ljava/lang/String;
  8930. .restart local v16 #rilCregState:Ljava/lang/String;
  8931. :cond_3eb
  8932. move-object/from16 v0, p0
  8933.  
  8934. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCregState:I
  8935.  
  8936. move/from16 v20, v0
  8937.  
  8938. move/from16 v0, v20
  8939.  
  8940. move-object/from16 v1, p0
  8941.  
  8942. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->oldRilCregState:I
  8943.  
  8944. .line 712
  8945. invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  8946.  
  8947. move-result v20
  8948.  
  8949. move-object/from16 v0, p0
  8950.  
  8951. move/from16 v1, v20
  8952.  
  8953. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
  8954.  
  8955. move-result v20
  8956.  
  8957. move/from16 v0, v20
  8958.  
  8959. move-object/from16 v1, p0
  8960.  
  8961. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCregState:I
  8962.  
  8963. .line 714
  8964. move-object/from16 v0, p0
  8965.  
  8966. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCgregState:I
  8967.  
  8968. move/from16 v20, v0
  8969.  
  8970. move/from16 v0, v20
  8971.  
  8972. move-object/from16 v1, p0
  8973.  
  8974. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->oldRilCgregState:I
  8975.  
  8976. .line 715
  8977. invoke-static {v15}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  8978.  
  8979. move-result v20
  8980.  
  8981. move-object/from16 v0, p0
  8982.  
  8983. move/from16 v1, v20
  8984.  
  8985. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
  8986.  
  8987. move-result v20
  8988.  
  8989. move/from16 v0, v20
  8990.  
  8991. move-object/from16 v1, p0
  8992.  
  8993. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCgregState:I
  8994.  
  8995. .line 717
  8996. move-object/from16 v0, p0
  8997.  
  8998. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->oldRilCregState:I
  8999.  
  9000. move/from16 v20, v0
  9001.  
  9002. move-object/from16 v0, p0
  9003.  
  9004. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCregState:I
  9005.  
  9006. move/from16 v21, v0
  9007.  
  9008. move/from16 v0, v20
  9009.  
  9010. move/from16 v1, v21
  9011.  
  9012. if-eq v0, v1, :cond_441
  9013.  
  9014. .line 718
  9015. const/16 v20, 0x1
  9016.  
  9017. move/from16 v0, v20
  9018.  
  9019. move-object/from16 v1, p0
  9020.  
  9021. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCregChange:Z
  9022.  
  9023. .line 719
  9024. :cond_441
  9025. move-object/from16 v0, p0
  9026.  
  9027. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->oldRilCgregState:I
  9028.  
  9029. move/from16 v20, v0
  9030.  
  9031. move-object/from16 v0, p0
  9032.  
  9033. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newRilCgregState:I
  9034.  
  9035. move/from16 v21, v0
  9036.  
  9037. move/from16 v0, v20
  9038.  
  9039. move/from16 v1, v21
  9040.  
  9041. if-eq v0, v1, :cond_359
  9042.  
  9043. .line 720
  9044. const/16 v20, 0x1
  9045.  
  9046. move/from16 v0, v20
  9047.  
  9048. move-object/from16 v1, p0
  9049.  
  9050. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mCgregChange:Z
  9051.  
  9052. goto/16 :goto_359
  9053.  
  9054. .line 731
  9055. .end local v15 #rilCgregState:Ljava/lang/String;
  9056. .end local v16 #rilCregState:Ljava/lang/String;
  9057. :sswitch_45d
  9058. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
  9059.  
  9060. goto/16 :goto_28
  9061.  
  9062. .line 737
  9063. :sswitch_462
  9064. move-object/from16 v0, p0
  9065.  
  9066. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  9067.  
  9068. move-object/from16 v20, v0
  9069.  
  9070. invoke-interface/range {v20 .. v20}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  9071.  
  9072. move-result-object v20
  9073.  
  9074. invoke-virtual/range {v20 .. v20}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
  9075.  
  9076. move-result v20
  9077.  
  9078. if-eqz v20, :cond_28
  9079.  
  9080. move-object/from16 v0, p0
  9081.  
  9082. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  9083.  
  9084. move-object/from16 v20, v0
  9085.  
  9086. invoke-interface/range {v20 .. v20}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  9087.  
  9088. move-result-object v20
  9089.  
  9090. invoke-virtual/range {v20 .. v20}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isCdma()Z
  9091.  
  9092. move-result v20
  9093.  
  9094. if-nez v20, :cond_28
  9095.  
  9096. .line 741
  9097. move-object/from16 v0, p1
  9098.  
  9099. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9100.  
  9101. move-object v4, v0
  9102.  
  9103. check-cast v4, Landroid/os/AsyncResult;
  9104.  
  9105. .line 742
  9106. .restart local v4 #ar:Landroid/os/AsyncResult;
  9107. move-object/from16 v0, p0
  9108.  
  9109. move-object v1, v4
  9110.  
  9111. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;)V
  9112.  
  9113. .line 743
  9114. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->queueNextSignalStrengthPoll()V
  9115.  
  9116. goto/16 :goto_28
  9117.  
  9118. .line 748
  9119. .end local v4 #ar:Landroid/os/AsyncResult;
  9120. :sswitch_494
  9121. move-object/from16 v0, p1
  9122.  
  9123. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9124.  
  9125. move-object v4, v0
  9126.  
  9127. check-cast v4, Landroid/os/AsyncResult;
  9128.  
  9129. .line 750
  9130. .restart local v4 #ar:Landroid/os/AsyncResult;
  9131. move-object v0, v4
  9132.  
  9133. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  9134.  
  9135. move-object/from16 v20, v0
  9136.  
  9137. if-nez v20, :cond_50a
  9138.  
  9139. .line 755
  9140. const/16 v17, 0x0
  9141.  
  9142. .line 756
  9143. .local v17, states:[Ljava/lang/String;
  9144. move-object v0, v4
  9145.  
  9146. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  9147.  
  9148. move-object/from16 p1, v0
  9149.  
  9150. .end local p1
  9151. check-cast p1, [Ljava/lang/String;
  9152.  
  9153. move-object/from16 v0, p1
  9154.  
  9155. check-cast v0, [Ljava/lang/String;
  9156.  
  9157. move-object/from16 v17, v0
  9158.  
  9159. .line 758
  9160. const/4 v7, -0x1
  9161.  
  9162. .line 759
  9163. .local v7, lac:I
  9164. const/4 v5, -0x1
  9165.  
  9166. .line 760
  9167. .local v5, cid:I
  9168. move-object/from16 v0, v17
  9169.  
  9170. array-length v0, v0
  9171.  
  9172. move/from16 v20, v0
  9173.  
  9174. const/16 v21, 0x3
  9175.  
  9176. move/from16 v0, v20
  9177.  
  9178. move/from16 v1, v21
  9179.  
  9180. if-lt v0, v1, :cond_4f4
  9181.  
  9182. .line 762
  9183. const/16 v20, 0x1
  9184.  
  9185. :try_start_4c2
  9186. aget-object v20, v17, v20
  9187.  
  9188. if-eqz v20, :cond_4da
  9189.  
  9190. const/16 v20, 0x1
  9191.  
  9192. aget-object v20, v17, v20
  9193.  
  9194. invoke-virtual/range {v20 .. v20}, Ljava/lang/String;->length()I
  9195.  
  9196. move-result v20
  9197.  
  9198. if-lez v20, :cond_4da
  9199.  
  9200. .line 763
  9201. const/16 v20, 0x1
  9202.  
  9203. aget-object v20, v17, v20
  9204.  
  9205. const/16 v21, 0x10
  9206.  
  9207. invoke-static/range {v20 .. v21}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
  9208.  
  9209. move-result v7
  9210.  
  9211. .line 765
  9212. :cond_4da
  9213. const/16 v20, 0x2
  9214.  
  9215. aget-object v20, v17, v20
  9216.  
  9217. if-eqz v20, :cond_4f4
  9218.  
  9219. const/16 v20, 0x2
  9220.  
  9221. aget-object v20, v17, v20
  9222.  
  9223. invoke-virtual/range {v20 .. v20}, Ljava/lang/String;->length()I
  9224.  
  9225. move-result v20
  9226.  
  9227. if-lez v20, :cond_4f4
  9228.  
  9229. .line 766
  9230. const/16 v20, 0x2
  9231.  
  9232. aget-object v20, v17, v20
  9233.  
  9234. const/16 v21, 0x10
  9235.  
  9236. invoke-static/range {v20 .. v21}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
  9237. :try_end_4f3
  9238. .catch Ljava/lang/NumberFormatException; {:try_start_4c2 .. :try_end_4f3} :catch_50f
  9239.  
  9240. move-result v5
  9241.  
  9242. .line 772
  9243. :cond_4f4
  9244. :goto_4f4
  9245. move-object/from16 v0, p0
  9246.  
  9247. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
  9248.  
  9249. move-object/from16 v20, v0
  9250.  
  9251. move-object/from16 v0, v20
  9252.  
  9253. move v1, v7
  9254.  
  9255. move v2, v5
  9256.  
  9257. invoke-virtual {v0, v1, v2}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
  9258.  
  9259. .line 773
  9260. move-object/from16 v0, p0
  9261.  
  9262. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  9263.  
  9264. move-object/from16 v20, v0
  9265.  
  9266. invoke-virtual/range {v20 .. v20}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyLocationChanged()V
  9267.  
  9268. .line 778
  9269. .end local v5 #cid:I
  9270. .end local v7 #lac:I
  9271. .end local v17 #states:[Ljava/lang/String;
  9272. :cond_50a
  9273. invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->disableSingleLocationUpdate()V
  9274.  
  9275. goto/16 :goto_28
  9276.  
  9277. .line 768
  9278. .restart local v5 #cid:I
  9279. .restart local v7 #lac:I
  9280. .restart local v17 #states:[Ljava/lang/String;
  9281. :catch_50f
  9282. move-exception v20
  9283.  
  9284. move-object/from16 v6, v20
  9285.  
  9286. .line 769
  9287. .local v6, ex:Ljava/lang/NumberFormatException;
  9288. const-string v20, "GSM"
  9289.  
  9290. new-instance v21, Ljava/lang/StringBuilder;
  9291.  
  9292. invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
  9293.  
  9294. const-string v22, "error parsing location: "
  9295.  
  9296. invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9297.  
  9298. move-result-object v21
  9299.  
  9300. move-object/from16 v0, v21
  9301.  
  9302. move-object v1, v6
  9303.  
  9304. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  9305.  
  9306. move-result-object v21
  9307.  
  9308. invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9309.  
  9310. move-result-object v21
  9311.  
  9312. invoke-static/range {v20 .. v21}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  9313.  
  9314. goto :goto_4f4
  9315.  
  9316. .line 786
  9317. .end local v4 #ar:Landroid/os/AsyncResult;
  9318. .end local v5 #cid:I
  9319. .end local v6 #ex:Ljava/lang/NumberFormatException;
  9320. .end local v7 #lac:I
  9321. .end local v17 #states:[Ljava/lang/String;
  9322. .restart local p1
  9323. :sswitch_52e
  9324. move-object/from16 v0, p1
  9325.  
  9326. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9327.  
  9328. move-object v4, v0
  9329.  
  9330. check-cast v4, Landroid/os/AsyncResult;
  9331.  
  9332. .line 788
  9333. .restart local v4 #ar:Landroid/os/AsyncResult;
  9334. move-object/from16 v0, p1
  9335.  
  9336. iget v0, v0, Landroid/os/Message;->what:I
  9337.  
  9338. move/from16 v20, v0
  9339.  
  9340. move-object/from16 v0, p0
  9341.  
  9342. move/from16 v1, v20
  9343.  
  9344. move-object v2, v4
  9345.  
  9346. invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->handlePollStateResult(ILandroid/os/AsyncResult;)V
  9347.  
  9348. goto/16 :goto_28
  9349.  
  9350. .line 794
  9351. .end local v4 #ar:Landroid/os/AsyncResult;
  9352. :sswitch_545
  9353. move-object/from16 v0, p0
  9354.  
  9355. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  9356.  
  9357. move-object/from16 v20, v0
  9358.  
  9359. const/16 v21, 0x3
  9360.  
  9361. move-object/from16 v0, p0
  9362.  
  9363. move/from16 v1, v21
  9364.  
  9365. invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
  9366.  
  9367. move-result-object v21
  9368.  
  9369. invoke-interface/range {v20 .. v21}, Lcom/android/internal/telephony/CommandsInterface;->getSignalStrength(Landroid/os/Message;)V
  9370.  
  9371. goto/16 :goto_28
  9372.  
  9373. .line 798
  9374. :sswitch_55a
  9375. move-object/from16 v0, p1
  9376.  
  9377. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9378.  
  9379. move-object v4, v0
  9380.  
  9381. check-cast v4, Landroid/os/AsyncResult;
  9382.  
  9383. .line 800
  9384. .restart local v4 #ar:Landroid/os/AsyncResult;
  9385. move-object v0, v4
  9386.  
  9387. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  9388.  
  9389. move-object/from16 p1, v0
  9390.  
  9391. .end local p1
  9392. check-cast p1, [Ljava/lang/Object;
  9393.  
  9394. check-cast p1, [Ljava/lang/Object;
  9395.  
  9396. const/16 v20, 0x0
  9397.  
  9398. aget-object v13, p1, v20
  9399.  
  9400. check-cast v13, Ljava/lang/String;
  9401.  
  9402. .line 801
  9403. .local v13, nitzString:Ljava/lang/String;
  9404. move-object v0, v4
  9405.  
  9406. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  9407.  
  9408. move-object/from16 p1, v0
  9409.  
  9410. check-cast p1, [Ljava/lang/Object;
  9411.  
  9412. check-cast p1, [Ljava/lang/Object;
  9413.  
  9414. const/16 v20, 0x1
  9415.  
  9416. aget-object p1, p1, v20
  9417.  
  9418. check-cast p1, Ljava/lang/Long;
  9419.  
  9420. invoke-virtual/range {p1 .. p1}, Ljava/lang/Long;->longValue()J
  9421.  
  9422. move-result-wide v11
  9423.  
  9424. .line 803
  9425. .local v11, nitzReceiveTime:J
  9426. move-object/from16 v0, p0
  9427.  
  9428. move-object v1, v13
  9429.  
  9430. move-wide v2, v11
  9431.  
  9432. invoke-direct {v0, v1, v2, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setTimeFromNITZString(Ljava/lang/String;J)V
  9433.  
  9434. goto/16 :goto_28
  9435.  
  9436. .line 810
  9437. .end local v4 #ar:Landroid/os/AsyncResult;
  9438. .end local v11 #nitzReceiveTime:J
  9439. .end local v13 #nitzString:Ljava/lang/String;
  9440. .restart local p1
  9441. :sswitch_58c
  9442. move-object/from16 v0, p1
  9443.  
  9444. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9445.  
  9446. move-object v4, v0
  9447.  
  9448. check-cast v4, Landroid/os/AsyncResult;
  9449.  
  9450. .line 814
  9451. .restart local v4 #ar:Landroid/os/AsyncResult;
  9452. const/16 v20, 0x1
  9453.  
  9454. move/from16 v0, v20
  9455.  
  9456. move-object/from16 v1, p0
  9457.  
  9458. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->dontPollSignalStrength:Z
  9459.  
  9460. .line 816
  9461. move-object/from16 v0, p0
  9462.  
  9463. move-object v1, v4
  9464.  
  9465. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;)V
  9466.  
  9467. goto/16 :goto_28
  9468.  
  9469. .line 822
  9470. .end local v4 #ar:Landroid/os/AsyncResult;
  9471. :sswitch_5a3
  9472. invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateNetworkNameDisplay()V
  9473.  
  9474. goto/16 :goto_28
  9475.  
  9476. .line 827
  9477. :sswitch_5a8
  9478. move-object/from16 v0, p1
  9479.  
  9480. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9481.  
  9482. move-object v4, v0
  9483.  
  9484. check-cast v4, Landroid/os/AsyncResult;
  9485.  
  9486. .line 829
  9487. .restart local v4 #ar:Landroid/os/AsyncResult;
  9488. move-object v0, v4
  9489.  
  9490. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  9491.  
  9492. move-object/from16 v20, v0
  9493.  
  9494. if-nez v20, :cond_28
  9495.  
  9496. .line 830
  9497. move-object/from16 v0, p0
  9498.  
  9499. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  9500.  
  9501. move-object/from16 v20, v0
  9502.  
  9503. const/16 v21, 0xf
  9504.  
  9505. const/16 v22, 0x0
  9506.  
  9507. move-object/from16 v0, p0
  9508.  
  9509. move/from16 v1, v21
  9510.  
  9511. move-object/from16 v2, v22
  9512.  
  9513. invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
  9514.  
  9515. move-result-object v21
  9516.  
  9517. invoke-interface/range {v20 .. v21}, Lcom/android/internal/telephony/CommandsInterface;->getRegistrationState(Landroid/os/Message;)V
  9518.  
  9519. goto/16 :goto_28
  9520.  
  9521. .line 835
  9522. .end local v4 #ar:Landroid/os/AsyncResult;
  9523. :sswitch_5cf
  9524. move-object/from16 v0, p1
  9525.  
  9526. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9527.  
  9528. move-object v4, v0
  9529.  
  9530. check-cast v4, Landroid/os/AsyncResult;
  9531.  
  9532. .line 837
  9533. .restart local v4 #ar:Landroid/os/AsyncResult;
  9534. const/16 v20, 0x15
  9535.  
  9536. move-object v0, v4
  9537.  
  9538. iget-object v0, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
  9539.  
  9540. move-object/from16 v21, v0
  9541.  
  9542. move-object/from16 v0, p0
  9543.  
  9544. move/from16 v1, v20
  9545.  
  9546. move-object/from16 v2, v21
  9547.  
  9548. invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
  9549.  
  9550. move-result-object v9
  9551.  
  9552. .line 838
  9553. .local v9, message:Landroid/os/Message;
  9554. move-object/from16 v0, p0
  9555.  
  9556. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  9557.  
  9558. move-object/from16 v20, v0
  9559.  
  9560. move-object/from16 v0, p0
  9561.  
  9562. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
  9563.  
  9564. move/from16 v21, v0
  9565.  
  9566. move-object/from16 v0, v20
  9567.  
  9568. move/from16 v1, v21
  9569.  
  9570. move-object v2, v9
  9571.  
  9572. invoke-interface {v0, v1, v2}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
  9573.  
  9574. goto/16 :goto_28
  9575.  
  9576. .line 842
  9577. .end local v4 #ar:Landroid/os/AsyncResult;
  9578. .end local v9 #message:Landroid/os/Message;
  9579. :sswitch_5fd
  9580. move-object/from16 v0, p1
  9581.  
  9582. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9583.  
  9584. move-object v4, v0
  9585.  
  9586. check-cast v4, Landroid/os/AsyncResult;
  9587.  
  9588. .line 843
  9589. .restart local v4 #ar:Landroid/os/AsyncResult;
  9590. move-object v0, v4
  9591.  
  9592. iget-object v0, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
  9593.  
  9594. move-object/from16 v20, v0
  9595.  
  9596. if-eqz v20, :cond_28
  9597.  
  9598. .line 844
  9599. move-object v0, v4
  9600.  
  9601. iget-object v0, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
  9602.  
  9603. move-object/from16 p0, v0
  9604.  
  9605. .end local p0
  9606. check-cast p0, Landroid/os/Message;
  9607.  
  9608. invoke-static/range {p0 .. p0}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
  9609.  
  9610. move-result-object v20
  9611.  
  9612. move-object v0, v4
  9613.  
  9614. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  9615.  
  9616. move-object/from16 v21, v0
  9617.  
  9618. move-object/from16 v0, v21
  9619.  
  9620. move-object/from16 v1, v20
  9621.  
  9622. iput-object v0, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  9623.  
  9624. .line 846
  9625. move-object v0, v4
  9626.  
  9627. iget-object v0, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
  9628.  
  9629. move-object/from16 p0, v0
  9630.  
  9631. check-cast p0, Landroid/os/Message;
  9632.  
  9633. invoke-virtual/range {p0 .. p0}, Landroid/os/Message;->sendToTarget()V
  9634.  
  9635. goto/16 :goto_28
  9636.  
  9637. .line 851
  9638. .end local v4 #ar:Landroid/os/AsyncResult;
  9639. .restart local p0
  9640. :sswitch_62d
  9641. move-object/from16 v0, p1
  9642.  
  9643. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9644.  
  9645. move-object v4, v0
  9646.  
  9647. check-cast v4, Landroid/os/AsyncResult;
  9648.  
  9649. .line 853
  9650. .restart local v4 #ar:Landroid/os/AsyncResult;
  9651. move-object v0, v4
  9652.  
  9653. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  9654.  
  9655. move-object/from16 v20, v0
  9656.  
  9657. if-nez v20, :cond_671
  9658.  
  9659. .line 854
  9660. move-object v0, v4
  9661.  
  9662. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  9663.  
  9664. move-object/from16 p1, v0
  9665.  
  9666. .end local p1
  9667. check-cast p1, [I
  9668.  
  9669. check-cast p1, [I
  9670.  
  9671. const/16 v20, 0x0
  9672.  
  9673. aget v20, p1, v20
  9674.  
  9675. move/from16 v0, v20
  9676.  
  9677. move-object/from16 v1, p0
  9678.  
  9679. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
  9680.  
  9681. .line 859
  9682. :goto_64e
  9683. const/16 v20, 0x14
  9684.  
  9685. move-object v0, v4
  9686.  
  9687. iget-object v0, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
  9688.  
  9689. move-object/from16 v21, v0
  9690.  
  9691. move-object/from16 v0, p0
  9692.  
  9693. move/from16 v1, v20
  9694.  
  9695. move-object/from16 v2, v21
  9696.  
  9697. invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
  9698.  
  9699. move-result-object v9
  9700.  
  9701. .line 860
  9702. .restart local v9 #message:Landroid/os/Message;
  9703. const/16 v18, 0x7
  9704.  
  9705. .line 862
  9706. .local v18, toggledNetworkType:I
  9707. move-object/from16 v0, p0
  9708.  
  9709. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  9710.  
  9711. move-object/from16 v20, v0
  9712.  
  9713. move-object/from16 v0, v20
  9714.  
  9715. move/from16 v1, v18
  9716.  
  9717. move-object v2, v9
  9718.  
  9719. invoke-interface {v0, v1, v2}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
  9720.  
  9721. goto/16 :goto_28
  9722.  
  9723. .line 856
  9724. .end local v9 #message:Landroid/os/Message;
  9725. .end local v18 #toggledNetworkType:I
  9726. .restart local p1
  9727. :cond_671
  9728. const/16 v20, 0x7
  9729.  
  9730. move/from16 v0, v20
  9731.  
  9732. move-object/from16 v1, p0
  9733.  
  9734. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
  9735.  
  9736. goto :goto_64e
  9737.  
  9738. .line 867
  9739. .end local v4 #ar:Landroid/os/AsyncResult;
  9740. :sswitch_67a
  9741. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->handleIfLanguageChanged()V
  9742.  
  9743. goto/16 :goto_28
  9744.  
  9745. .line 871
  9746. :sswitch_67f
  9747. move-object/from16 v0, p0
  9748.  
  9749. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  9750.  
  9751. move-object/from16 v20, v0
  9752.  
  9753. if-eqz v20, :cond_6e1
  9754.  
  9755. move-object/from16 v0, p0
  9756.  
  9757. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  9758.  
  9759. move/from16 v20, v0
  9760.  
  9761. move-object/from16 v0, p0
  9762.  
  9763. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  9764.  
  9765. move-object/from16 v21, v0
  9766.  
  9767. invoke-virtual/range {v21 .. v21}, Landroid/telephony/ServiceState;->getState()I
  9768.  
  9769. move-result v21
  9770.  
  9771. move-object/from16 v0, p0
  9772.  
  9773. move/from16 v1, v20
  9774.  
  9775. move/from16 v2, v21
  9776.  
  9777. invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isGprsConsistent(II)Z
  9778.  
  9779. move-result v20
  9780.  
  9781. if-nez v20, :cond_6e1
  9782.  
  9783. .line 876
  9784. move-object/from16 v0, p0
  9785.  
  9786. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  9787.  
  9788. move-object/from16 v20, v0
  9789.  
  9790. invoke-virtual/range {v20 .. v20}, Lcom/android/internal/telephony/gsm/GSMPhone;->getCellLocation()Landroid/telephony/CellLocation;
  9791.  
  9792. move-result-object v8
  9793.  
  9794. check-cast v8, Landroid/telephony/gsm/GsmCellLocation;
  9795.  
  9796. .line 877
  9797. .local v8, loc:Landroid/telephony/gsm/GsmCellLocation;
  9798. const v20, 0xc3bb
  9799.  
  9800. const/16 v21, 0x2
  9801.  
  9802. move/from16 v0, v21
  9803.  
  9804. new-array v0, v0, [Ljava/lang/Object;
  9805.  
  9806. move-object/from16 v21, v0
  9807.  
  9808. const/16 v22, 0x0
  9809.  
  9810. move-object/from16 v0, p0
  9811.  
  9812. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  9813.  
  9814. move-object/from16 v23, v0
  9815.  
  9816. invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  9817.  
  9818. move-result-object v23
  9819.  
  9820. aput-object v23, v21, v22
  9821.  
  9822. const/16 v22, 0x1
  9823.  
  9824. if-eqz v8, :cond_6eb
  9825.  
  9826. invoke-virtual {v8}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I
  9827.  
  9828. move-result v23
  9829.  
  9830. :goto_6d0
  9831. invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  9832.  
  9833. move-result-object v23
  9834.  
  9835. aput-object v23, v21, v22
  9836.  
  9837. invoke-static/range {v20 .. v21}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  9838.  
  9839. .line 879
  9840. const/16 v20, 0x1
  9841.  
  9842. move/from16 v0, v20
  9843.  
  9844. move-object/from16 v1, p0
  9845.  
  9846. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
  9847.  
  9848. .line 881
  9849. .end local v8 #loc:Landroid/telephony/gsm/GsmCellLocation;
  9850. :cond_6e1
  9851. const/16 v20, 0x0
  9852.  
  9853. move/from16 v0, v20
  9854.  
  9855. move-object/from16 v1, p0
  9856.  
  9857. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
  9858.  
  9859. goto/16 :goto_28
  9860.  
  9861. .line 877
  9862. .restart local v8 #loc:Landroid/telephony/gsm/GsmCellLocation;
  9863. :cond_6eb
  9864. const/16 v23, -0x1
  9865.  
  9866. goto :goto_6d0
  9867.  
  9868. .line 888
  9869. .end local v8 #loc:Landroid/telephony/gsm/GsmCellLocation;
  9870. :sswitch_6ee
  9871. const-string v20, "GSM"
  9872.  
  9873. const-string v21, "[DSAC DEB] EVENT_RESTRICTED_STATE_CHANGED"
  9874.  
  9875. invoke-static/range {v20 .. v21}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  9876.  
  9877. .line 890
  9878. move-object/from16 v0, p1
  9879.  
  9880. iget-object v0, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
  9881.  
  9882. move-object v4, v0
  9883.  
  9884. check-cast v4, Landroid/os/AsyncResult;
  9885.  
  9886. .line 892
  9887. .restart local v4 #ar:Landroid/os/AsyncResult;
  9888. move-object/from16 v0, p0
  9889.  
  9890. move-object v1, v4
  9891.  
  9892. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onRestrictedStateChanged(Landroid/os/AsyncResult;)V
  9893.  
  9894. goto/16 :goto_28
  9895.  
  9896. .line 548
  9897. :sswitch_data_704
  9898. .sparse-switch
  9899. 0x1 -> :sswitch_21f
  9900. 0x2 -> :sswitch_2d4
  9901. 0x3 -> :sswitch_462
  9902. 0x4 -> :sswitch_52e
  9903. 0x5 -> :sswitch_52e
  9904. 0x6 -> :sswitch_52e
  9905. 0xa -> :sswitch_545
  9906. 0xb -> :sswitch_55a
  9907. 0xc -> :sswitch_58c
  9908. 0xd -> :sswitch_51
  9909. 0xe -> :sswitch_52e
  9910. 0xf -> :sswitch_494
  9911. 0x10 -> :sswitch_5a3
  9912. 0x11 -> :sswitch_6e
  9913. 0x12 -> :sswitch_5a8
  9914. 0x13 -> :sswitch_62d
  9915. 0x14 -> :sswitch_5cf
  9916. 0x15 -> :sswitch_5fd
  9917. 0x16 -> :sswitch_67f
  9918. 0x17 -> :sswitch_6ee
  9919. 0x32 -> :sswitch_67a
  9920. 0x33 -> :sswitch_22f
  9921. 0x34 -> :sswitch_d6
  9922. 0x3d -> :sswitch_45d
  9923. 0x3e -> :sswitch_52e
  9924. .end sparse-switch
  9925. .end method
  9926.  
  9927. .method protected handlePollStateResult(ILandroid/os/AsyncResult;)V
  9928. .registers 23
  9929. .parameter "what"
  9930. .parameter "ar"
  9931.  
  9932. .prologue
  9933. .line 1171
  9934. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->GENERIC_WPHONE_CONFIG()Z
  9935.  
  9936. move-result v16
  9937.  
  9938. if-eqz v16, :cond_27
  9939.  
  9940. sget-boolean v16, Lcom/android/internal/telephony/gsm/GSMPhone;->mDropEvent:Z
  9941.  
  9942. if-eqz v16, :cond_27
  9943.  
  9944. .line 1172
  9945. const-string v16, "GSM"
  9946.  
  9947. new-instance v17, Ljava/lang/StringBuilder;
  9948.  
  9949. invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
  9950.  
  9951. const-string v18, " handlePollStateResult drop event "
  9952.  
  9953. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  9954.  
  9955. move-result-object v17
  9956.  
  9957. move-object/from16 v0, v17
  9958.  
  9959. move/from16 v1, p1
  9960.  
  9961. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  9962.  
  9963. move-result-object v17
  9964.  
  9965. invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  9966.  
  9967. move-result-object v17
  9968.  
  9969. invoke-static/range {v16 .. v17}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  9970.  
  9971. .line 1366
  9972. .end local p1
  9973. :cond_26
  9974. :goto_26
  9975. return-void
  9976.  
  9977. .line 1181
  9978. .restart local p1
  9979. :cond_27
  9980. move-object/from16 v0, p2
  9981.  
  9982. iget-object v0, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
  9983.  
  9984. move-object/from16 v16, v0
  9985.  
  9986. move-object/from16 v0, p0
  9987.  
  9988. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  9989.  
  9990. move-object/from16 v17, v0
  9991.  
  9992. move-object/from16 v0, v16
  9993.  
  9994. move-object/from16 v1, v17
  9995.  
  9996. if-ne v0, v1, :cond_26
  9997.  
  9998. .line 1183
  9999. move-object/from16 v0, p2
  10000.  
  10001. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  10002.  
  10003. move-object/from16 v16, v0
  10004.  
  10005. if-eqz v16, :cond_11a
  10006.  
  10007. .line 1184
  10008. const/4 v5, 0x0
  10009.  
  10010. .line 1186
  10011. .local v5, err:Lcom/android/internal/telephony/CommandException$Error;
  10012. move-object/from16 v0, p2
  10013.  
  10014. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  10015.  
  10016. move-object/from16 v16, v0
  10017.  
  10018. move-object/from16 v0, v16
  10019.  
  10020. instance-of v0, v0, Lcom/android/internal/telephony/CommandException;
  10021.  
  10022. move/from16 v16, v0
  10023.  
  10024. if-eqz v16, :cond_5e
  10025.  
  10026. .line 1187
  10027. move-object/from16 v0, p2
  10028.  
  10029. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  10030.  
  10031. move-object/from16 p1, v0
  10032.  
  10033. .end local p1
  10034. check-cast p1, Lcom/android/internal/telephony/CommandException;
  10035.  
  10036. check-cast p1, Lcom/android/internal/telephony/CommandException;
  10037.  
  10038. invoke-virtual/range {p1 .. p1}, Lcom/android/internal/telephony/CommandException;->getCommandError()Lcom/android/internal/telephony/CommandException$Error;
  10039.  
  10040. move-result-object v5
  10041.  
  10042. .line 1190
  10043. :cond_5e
  10044. sget-object v16, Lcom/android/internal/telephony/CommandException$Error;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/CommandException$Error;
  10045.  
  10046. move-object v0, v5
  10047.  
  10048. move-object/from16 v1, v16
  10049.  
  10050. if-ne v0, v1, :cond_69
  10051.  
  10052. .line 1192
  10053. invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cancelPollState()V
  10054.  
  10055. goto :goto_26
  10056.  
  10057. .line 1196
  10058. :cond_69
  10059. move-object/from16 v0, p0
  10060.  
  10061. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  10062.  
  10063. move-object/from16 v16, v0
  10064.  
  10065. invoke-interface/range {v16 .. v16}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  10066.  
  10067. move-result-object v16
  10068.  
  10069. invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
  10070.  
  10071. move-result v16
  10072.  
  10073. if-nez v16, :cond_7d
  10074.  
  10075. .line 1198
  10076. invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cancelPollState()V
  10077.  
  10078. goto :goto_26
  10079.  
  10080. .line 1202
  10081. :cond_7d
  10082. sget-object v16, Lcom/android/internal/telephony/CommandException$Error;->OP_NOT_ALLOWED_BEFORE_REG_NW:Lcom/android/internal/telephony/CommandException$Error;
  10083.  
  10084. move-object v0, v5
  10085.  
  10086. move-object/from16 v1, v16
  10087.  
  10088. if-eq v0, v1, :cond_a9
  10089.  
  10090. sget-object v16, Lcom/android/internal/telephony/CommandException$Error;->OP_NOT_ALLOWED_BEFORE_REG_NW:Lcom/android/internal/telephony/CommandException$Error;
  10091.  
  10092. move-object v0, v5
  10093.  
  10094. move-object/from16 v1, v16
  10095.  
  10096. if-eq v0, v1, :cond_a9
  10097.  
  10098. .line 1204
  10099. const-string v16, "GSM"
  10100.  
  10101. new-instance v17, Ljava/lang/StringBuilder;
  10102.  
  10103. invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
  10104.  
  10105. const-string v18, "RIL implementation has returned an error where it must succeed"
  10106.  
  10107. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10108.  
  10109. move-result-object v17
  10110.  
  10111. move-object/from16 v0, p2
  10112.  
  10113. iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
  10114.  
  10115. move-object/from16 v18, v0
  10116.  
  10117. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  10118.  
  10119. move-result-object v17
  10120.  
  10121. invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10122.  
  10123. move-result-object v17
  10124.  
  10125. invoke-static/range {v16 .. v17}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  10126.  
  10127. .line 1346
  10128. .end local v5 #err:Lcom/android/internal/telephony/CommandException$Error;
  10129. :cond_a9
  10130. :goto_a9
  10131. move-object/from16 v0, p0
  10132.  
  10133. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  10134.  
  10135. move-object/from16 v16, v0
  10136.  
  10137. const/16 v17, 0x0
  10138.  
  10139. aget v18, v16, v17
  10140.  
  10141. const/16 v19, 0x1
  10142.  
  10143. sub-int v18, v18, v19
  10144.  
  10145. aput v18, v16, v17
  10146.  
  10147. .line 1348
  10148. move-object/from16 v0, p0
  10149.  
  10150. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
  10151.  
  10152. move-object/from16 v16, v0
  10153.  
  10154. const/16 v17, 0x0
  10155.  
  10156. aget v16, v16, v17
  10157.  
  10158. if-nez v16, :cond_26
  10159.  
  10160. .line 1358
  10161. move-object/from16 v0, p0
  10162.  
  10163. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
  10164.  
  10165. move/from16 v16, v0
  10166.  
  10167. if-nez v16, :cond_d5
  10168.  
  10169. move-object/from16 v0, p0
  10170.  
  10171. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
  10172.  
  10173. move/from16 v16, v0
  10174.  
  10175. if-eqz v16, :cond_468
  10176.  
  10177. :cond_d5
  10178. const/16 v16, 0x1
  10179.  
  10180. move/from16 v13, v16
  10181.  
  10182. .line 1359
  10183. .local v13, roaming:Z
  10184. :goto_d9
  10185. move-object/from16 v0, p0
  10186.  
  10187. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
  10188.  
  10189. move/from16 v16, v0
  10190.  
  10191. if-eqz v16, :cond_fa
  10192.  
  10193. move-object/from16 v0, p0
  10194.  
  10195. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
  10196.  
  10197. move/from16 v16, v0
  10198.  
  10199. move-object/from16 v0, p0
  10200.  
  10201. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  10202.  
  10203. move-object/from16 v17, v0
  10204.  
  10205. move-object/from16 v0, p0
  10206.  
  10207. move/from16 v1, v16
  10208.  
  10209. move-object/from16 v2, v17
  10210.  
  10211. invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isRoamingBetweenOperators(ZLandroid/telephony/ServiceState;)Z
  10212.  
  10213. move-result v16
  10214.  
  10215. if-nez v16, :cond_fa
  10216.  
  10217. .line 1360
  10218. const/4 v13, 0x0
  10219.  
  10220. .line 1362
  10221. :cond_fa
  10222. move-object/from16 v0, p0
  10223.  
  10224. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  10225.  
  10226. move-object/from16 v16, v0
  10227.  
  10228. move-object/from16 v0, v16
  10229.  
  10230. move v1, v13
  10231.  
  10232. invoke-virtual {v0, v1}, Landroid/telephony/ServiceState;->setRoaming(Z)V
  10233.  
  10234. .line 1363
  10235. move-object/from16 v0, p0
  10236.  
  10237. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  10238.  
  10239. move-object/from16 v16, v0
  10240.  
  10241. move-object/from16 v0, p0
  10242.  
  10243. iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
  10244.  
  10245. move/from16 v17, v0
  10246.  
  10247. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setEmergencyOnly(Z)V
  10248.  
  10249. .line 1364
  10250. invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollStateDone()V
  10251.  
  10252. goto/16 :goto_26
  10253.  
  10254. .line 1209
  10255. .end local v13 #roaming:Z
  10256. .restart local p1
  10257. :cond_11a
  10258. sparse-switch p1, :sswitch_data_46e
  10259.  
  10260. goto :goto_a9
  10261.  
  10262. .line 1211
  10263. :sswitch_11e
  10264. :try_start_11e
  10265. move-object/from16 v0, p2
  10266.  
  10267. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  10268.  
  10269. move-object/from16 p1, v0
  10270.  
  10271. .end local p1
  10272. check-cast p1, [Ljava/lang/String;
  10273.  
  10274. move-object/from16 v0, p1
  10275.  
  10276. check-cast v0, [Ljava/lang/String;
  10277.  
  10278. move-object v14, v0
  10279.  
  10280. .line 1212
  10281. .local v14, states:[Ljava/lang/String;
  10282. const/4 v8, -0x1
  10283.  
  10284. .line 1213
  10285. .local v8, lac:I
  10286. const/4 v4, -0x1
  10287.  
  10288. .line 1214
  10289. .local v4, cid:I
  10290. const/4 v12, -0x1
  10291.  
  10292. .line 1215
  10293. .local v12, regState:I
  10294. const/4 v11, -0x1
  10295.  
  10296. .line 1216
  10297. .local v11, psc:I
  10298. move-object v0, v14
  10299.  
  10300. array-length v0, v0
  10301.  
  10302. move/from16 v16, v0
  10303. :try_end_133
  10304. .catch Ljava/lang/RuntimeException; {:try_start_11e .. :try_end_133} :catch_23d
  10305.  
  10306. if-lez v16, :cond_1e1
  10307.  
  10308. .line 1218
  10309. const/16 v16, 0x0
  10310.  
  10311. :try_start_137
  10312. aget-object v16, v14, v16
  10313.  
  10314. invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  10315.  
  10316. move-result v12
  10317.  
  10318. .line 1220
  10319. move-object v0, v14
  10320.  
  10321. array-length v0, v0
  10322.  
  10323. move/from16 v16, v0
  10324.  
  10325. const/16 v17, 0x3
  10326.  
  10327. move/from16 v0, v16
  10328.  
  10329. move/from16 v1, v17
  10330.  
  10331. if-lt v0, v1, :cond_17d
  10332.  
  10333. .line 1221
  10334. const/16 v16, 0x1
  10335.  
  10336. aget-object v16, v14, v16
  10337.  
  10338. if-eqz v16, :cond_163
  10339.  
  10340. const/16 v16, 0x1
  10341.  
  10342. aget-object v16, v14, v16
  10343.  
  10344. invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->length()I
  10345.  
  10346. move-result v16
  10347.  
  10348. if-lez v16, :cond_163
  10349.  
  10350. .line 1222
  10351. const/16 v16, 0x1
  10352.  
  10353. aget-object v16, v14, v16
  10354.  
  10355. const/16 v17, 0x10
  10356.  
  10357. invoke-static/range {v16 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
  10358.  
  10359. move-result v8
  10360.  
  10361. .line 1224
  10362. :cond_163
  10363. const/16 v16, 0x2
  10364.  
  10365. aget-object v16, v14, v16
  10366.  
  10367. if-eqz v16, :cond_17d
  10368.  
  10369. const/16 v16, 0x2
  10370.  
  10371. aget-object v16, v14, v16
  10372.  
  10373. invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->length()I
  10374.  
  10375. move-result v16
  10376.  
  10377. if-lez v16, :cond_17d
  10378.  
  10379. .line 1225
  10380. const/16 v16, 0x2
  10381.  
  10382. aget-object v16, v14, v16
  10383.  
  10384. const/16 v17, 0x10
  10385.  
  10386. invoke-static/range {v16 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
  10387.  
  10388. move-result v4
  10389.  
  10390. .line 1228
  10391. :cond_17d
  10392. move-object v0, v14
  10393.  
  10394. array-length v0, v0
  10395.  
  10396. move/from16 v16, v0
  10397.  
  10398. const/16 v17, 0xe
  10399.  
  10400. move/from16 v0, v16
  10401.  
  10402. move/from16 v1, v17
  10403.  
  10404. if-le v0, v1, :cond_1a3
  10405.  
  10406. .line 1229
  10407. const/16 v16, 0xe
  10408.  
  10409. aget-object v16, v14, v16
  10410.  
  10411. if-eqz v16, :cond_1a3
  10412.  
  10413. const/16 v16, 0xe
  10414.  
  10415. aget-object v16, v14, v16
  10416.  
  10417. invoke-virtual/range {v16 .. v16}, Ljava/lang/String;->length()I
  10418.  
  10419. move-result v16
  10420.  
  10421. if-lez v16, :cond_1a3
  10422.  
  10423. .line 1230
  10424. const/16 v16, 0xe
  10425.  
  10426. aget-object v16, v14, v16
  10427.  
  10428. const/16 v17, 0x10
  10429.  
  10430. invoke-static/range {v16 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
  10431.  
  10432. move-result v11
  10433.  
  10434. .line 1234
  10435. :cond_1a3
  10436. move-object v0, v14
  10437.  
  10438. array-length v0, v0
  10439.  
  10440. move/from16 v16, v0
  10441.  
  10442. const/16 v17, 0xe
  10443.  
  10444. move/from16 v0, v16
  10445.  
  10446. move/from16 v1, v17
  10447.  
  10448. if-lt v0, v1, :cond_24e
  10449.  
  10450. const/16 v16, 0xd
  10451.  
  10452. aget-object v16, v14, v16
  10453.  
  10454. if-eqz v16, :cond_24e
  10455.  
  10456. .line 1235
  10457. const/16 v16, 0xd
  10458.  
  10459. aget-object v16, v14, v16
  10460.  
  10461. invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  10462.  
  10463. move-result v16
  10464.  
  10465. move/from16 v0, v16
  10466.  
  10467. move-object/from16 v1, p0
  10468.  
  10469. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMMRejectCause:I
  10470.  
  10471. .line 1236
  10472. const-string v16, "GSM"
  10473.  
  10474. new-instance v17, Ljava/lang/StringBuilder;
  10475.  
  10476. invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
  10477.  
  10478. const-string v18, "MM Reject Cause from RIL: "
  10479.  
  10480. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10481.  
  10482. move-result-object v17
  10483.  
  10484. move-object/from16 v0, p0
  10485.  
  10486. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMMRejectCause:I
  10487.  
  10488. move/from16 v18, v0
  10489.  
  10490. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  10491.  
  10492. move-result-object v17
  10493.  
  10494. invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10495.  
  10496. move-result-object v17
  10497.  
  10498. invoke-static/range {v16 .. v17}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  10499. :try_end_1e1
  10500. .catch Ljava/lang/NumberFormatException; {:try_start_137 .. :try_end_1e1} :catch_257
  10501. .catch Ljava/lang/RuntimeException; {:try_start_137 .. :try_end_1e1} :catch_23d
  10502.  
  10503. .line 1246
  10504. :cond_1e1
  10505. :goto_1e1
  10506. :try_start_1e1
  10507. move-object/from16 v0, p0
  10508.  
  10509. move v1, v12
  10510.  
  10511. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeIsRoaming(I)Z
  10512.  
  10513. move-result v16
  10514.  
  10515. move/from16 v0, v16
  10516.  
  10517. move-object/from16 v1, p0
  10518.  
  10519. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
  10520.  
  10521. .line 1247
  10522. move-object/from16 v0, p0
  10523.  
  10524. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  10525.  
  10526. move-object/from16 v16, v0
  10527.  
  10528. move-object/from16 v0, p0
  10529.  
  10530. move v1, v12
  10531.  
  10532. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
  10533.  
  10534. move-result v17
  10535.  
  10536. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setState(I)V
  10537.  
  10538. .line 1249
  10539. const/16 v16, 0xa
  10540.  
  10541. move v0, v12
  10542.  
  10543. move/from16 v1, v16
  10544.  
  10545. if-eq v0, v1, :cond_21a
  10546.  
  10547. const/16 v16, 0xc
  10548.  
  10549. move v0, v12
  10550.  
  10551. move/from16 v1, v16
  10552.  
  10553. if-eq v0, v1, :cond_21a
  10554.  
  10555. const/16 v16, 0xd
  10556.  
  10557. move v0, v12
  10558.  
  10559. move/from16 v1, v16
  10560.  
  10561. if-eq v0, v1, :cond_21a
  10562.  
  10563. const/16 v16, 0xe
  10564.  
  10565. move v0, v12
  10566.  
  10567. move/from16 v1, v16
  10568.  
  10569. if-ne v0, v1, :cond_277
  10570.  
  10571. .line 1250
  10572. :cond_21a
  10573. const/16 v16, 0x1
  10574.  
  10575. move/from16 v0, v16
  10576.  
  10577. move-object/from16 v1, p0
  10578.  
  10579. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
  10580.  
  10581. .line 1256
  10582. :goto_222
  10583. move-object/from16 v0, p0
  10584.  
  10585. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  10586.  
  10587. move-object/from16 v16, v0
  10588.  
  10589. move-object/from16 v0, v16
  10590.  
  10591. move v1, v8
  10592.  
  10593. move v2, v4
  10594.  
  10595. invoke-virtual {v0, v1, v2}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
  10596.  
  10597. .line 1257
  10598. move-object/from16 v0, p0
  10599.  
  10600. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
  10601.  
  10602. move-object/from16 v16, v0
  10603.  
  10604. move-object/from16 v0, v16
  10605.  
  10606. move v1, v11
  10607.  
  10608. invoke-virtual {v0, v1}, Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
  10609. :try_end_23b
  10610. .catch Ljava/lang/RuntimeException; {:try_start_1e1 .. :try_end_23b} :catch_23d
  10611.  
  10612. goto/16 :goto_a9
  10613.  
  10614. .line 1341
  10615. .end local v4 #cid:I
  10616. .end local v8 #lac:I
  10617. .end local v11 #psc:I
  10618. .end local v12 #regState:I
  10619. .end local v14 #states:[Ljava/lang/String;
  10620. :catch_23d
  10621. move-exception v16
  10622.  
  10623. move-object/from16 v6, v16
  10624.  
  10625. .line 1342
  10626. .local v6, ex:Ljava/lang/RuntimeException;
  10627. const-string v16, "GSM"
  10628.  
  10629. const-string v17, "Exception while polling service state. Probably malformed RIL response."
  10630.  
  10631. move-object/from16 v0, v16
  10632.  
  10633. move-object/from16 v1, v17
  10634.  
  10635. move-object v2, v6
  10636.  
  10637. invoke-static {v0, v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  10638.  
  10639. goto/16 :goto_a9
  10640.  
  10641. .line 1238
  10642. .end local v6 #ex:Ljava/lang/RuntimeException;
  10643. .restart local v4 #cid:I
  10644. .restart local v8 #lac:I
  10645. .restart local v11 #psc:I
  10646. .restart local v12 #regState:I
  10647. .restart local v14 #states:[Ljava/lang/String;
  10648. :cond_24e
  10649. const/16 v16, 0x0
  10650.  
  10651. :try_start_250
  10652. move/from16 v0, v16
  10653.  
  10654. move-object/from16 v1, p0
  10655.  
  10656. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMMRejectCause:I
  10657. :try_end_256
  10658. .catch Ljava/lang/NumberFormatException; {:try_start_250 .. :try_end_256} :catch_257
  10659. .catch Ljava/lang/RuntimeException; {:try_start_250 .. :try_end_256} :catch_23d
  10660.  
  10661. goto :goto_1e1
  10662.  
  10663. .line 1241
  10664. :catch_257
  10665. move-exception v16
  10666.  
  10667. move-object/from16 v6, v16
  10668.  
  10669. .line 1242
  10670. .local v6, ex:Ljava/lang/NumberFormatException;
  10671. :try_start_25a
  10672. const-string v16, "GSM"
  10673.  
  10674. new-instance v17, Ljava/lang/StringBuilder;
  10675.  
  10676. invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
  10677.  
  10678. const-string v18, "error parsing RegistrationState: "
  10679.  
  10680. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10681.  
  10682. move-result-object v17
  10683.  
  10684. move-object/from16 v0, v17
  10685.  
  10686. move-object v1, v6
  10687.  
  10688. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  10689.  
  10690. move-result-object v17
  10691.  
  10692. invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10693.  
  10694. move-result-object v17
  10695.  
  10696. invoke-static/range {v16 .. v17}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  10697.  
  10698. goto/16 :goto_1e1
  10699.  
  10700. .line 1252
  10701. .end local v6 #ex:Ljava/lang/NumberFormatException;
  10702. :cond_277
  10703. const/16 v16, 0x0
  10704.  
  10705. move/from16 v0, v16
  10706.  
  10707. move-object/from16 v1, p0
  10708.  
  10709. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
  10710.  
  10711. goto :goto_222
  10712.  
  10713. .line 1261
  10714. .end local v4 #cid:I
  10715. .end local v8 #lac:I
  10716. .end local v11 #psc:I
  10717. .end local v12 #regState:I
  10718. .end local v14 #states:[Ljava/lang/String;
  10719. .restart local p1
  10720. :sswitch_280
  10721. move-object/from16 v0, p2
  10722.  
  10723. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  10724.  
  10725. move-object/from16 p1, v0
  10726.  
  10727. .end local p1
  10728. check-cast p1, [Ljava/lang/String;
  10729.  
  10730. move-object/from16 v0, p1
  10731.  
  10732. check-cast v0, [Ljava/lang/String;
  10733.  
  10734. move-object v14, v0
  10735.  
  10736. .line 1263
  10737. .restart local v14 #states:[Ljava/lang/String;
  10738. const/4 v15, 0x0
  10739.  
  10740. .line 1264
  10741. .local v15, type:I
  10742. const/4 v12, -0x1
  10743.  
  10744. .line 1265
  10745. .restart local v12 #regState:I
  10746. move-object v0, v14
  10747.  
  10748. array-length v0, v0
  10749.  
  10750. move/from16 v16, v0
  10751. :try_end_293
  10752. .catch Ljava/lang/RuntimeException; {:try_start_25a .. :try_end_293} :catch_23d
  10753.  
  10754. if-lez v16, :cond_2b7
  10755.  
  10756. .line 1267
  10757. const/16 v16, 0x0
  10758.  
  10759. :try_start_297
  10760. aget-object v16, v14, v16
  10761.  
  10762. invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  10763.  
  10764. move-result v12
  10765.  
  10766. .line 1269
  10767. move-object v0, v14
  10768.  
  10769. array-length v0, v0
  10770.  
  10771. move/from16 v16, v0
  10772.  
  10773. const/16 v17, 0x4
  10774.  
  10775. move/from16 v0, v16
  10776.  
  10777. move/from16 v1, v17
  10778.  
  10779. if-lt v0, v1, :cond_2b7
  10780.  
  10781. const/16 v16, 0x3
  10782.  
  10783. aget-object v16, v14, v16
  10784.  
  10785. if-eqz v16, :cond_2b7
  10786.  
  10787. .line 1270
  10788. const/16 v16, 0x3
  10789.  
  10790. aget-object v16, v14, v16
  10791.  
  10792. invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  10793. :try_end_2b6
  10794. .catch Ljava/lang/NumberFormatException; {:try_start_297 .. :try_end_2b6} :catch_30d
  10795. .catch Ljava/lang/RuntimeException; {:try_start_297 .. :try_end_2b6} :catch_23d
  10796.  
  10797. move-result v15
  10798.  
  10799. .line 1276
  10800. :cond_2b7
  10801. :goto_2b7
  10802. :try_start_2b7
  10803. move-object/from16 v0, p0
  10804.  
  10805. move v1, v12
  10806.  
  10807. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
  10808.  
  10809. move-result v16
  10810.  
  10811. move/from16 v0, v16
  10812.  
  10813. move-object/from16 v1, p0
  10814.  
  10815. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  10816.  
  10817. .line 1277
  10818. move-object/from16 v0, p0
  10819.  
  10820. move v1, v12
  10821.  
  10822. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeIsRoaming(I)Z
  10823.  
  10824. move-result v16
  10825.  
  10826. move/from16 v0, v16
  10827.  
  10828. move-object/from16 v1, p0
  10829.  
  10830. iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
  10831.  
  10832. .line 1283
  10833. move-object/from16 v0, p0
  10834.  
  10835. move v1, v15
  10836.  
  10837. invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->processIfDTMCase(I)I
  10838.  
  10839. move-result v16
  10840.  
  10841. move/from16 v0, v16
  10842.  
  10843. move-object/from16 v1, p0
  10844.  
  10845. iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  10846.  
  10847. .line 1285
  10848. move-object/from16 v0, p0
  10849.  
  10850. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  10851.  
  10852. move-object/from16 v16, v0
  10853.  
  10854. move-object/from16 v0, p0
  10855.  
  10856. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
  10857.  
  10858. move/from16 v17, v0
  10859.  
  10860. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setGPRSState(I)V
  10861.  
  10862. .line 1287
  10863. move-object/from16 v0, p0
  10864.  
  10865. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  10866.  
  10867. move-object/from16 v16, v0
  10868.  
  10869. move-object/from16 v0, p0
  10870.  
  10871. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  10872.  
  10873. move/from16 v17, v0
  10874.  
  10875. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setRadioTechnology(I)V
  10876.  
  10877. .line 1288
  10878. move-object/from16 v0, p0
  10879.  
  10880. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  10881.  
  10882. move-object/from16 v16, v0
  10883.  
  10884. move-object/from16 v0, p0
  10885.  
  10886. iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newNetworkType:I
  10887.  
  10888. move/from16 v17, v0
  10889.  
  10890. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setNetworkType(I)V
  10891.  
  10892. goto/16 :goto_a9
  10893.  
  10894. .line 1272
  10895. :catch_30d
  10896. move-exception v16
  10897.  
  10898. move-object/from16 v6, v16
  10899.  
  10900. .line 1273
  10901. .restart local v6 #ex:Ljava/lang/NumberFormatException;
  10902. const-string v16, "GSM"
  10903.  
  10904. new-instance v17, Ljava/lang/StringBuilder;
  10905.  
  10906. invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
  10907.  
  10908. const-string v18, "error parsing GprsRegistrationState: "
  10909.  
  10910. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  10911.  
  10912. move-result-object v17
  10913.  
  10914. move-object/from16 v0, v17
  10915.  
  10916. move-object v1, v6
  10917.  
  10918. invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  10919.  
  10920. move-result-object v17
  10921.  
  10922. invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  10923.  
  10924. move-result-object v17
  10925.  
  10926. invoke-static/range {v16 .. v17}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  10927.  
  10928. goto :goto_2b7
  10929.  
  10930. .line 1293
  10931. .end local v6 #ex:Ljava/lang/NumberFormatException;
  10932. .end local v12 #regState:I
  10933. .end local v14 #states:[Ljava/lang/String;
  10934. .end local v15 #type:I
  10935. .restart local p1
  10936. :sswitch_32c
  10937. move-object/from16 v0, p2
  10938.  
  10939. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  10940.  
  10941. move-object/from16 p1, v0
  10942.  
  10943. .end local p1
  10944. check-cast p1, [Ljava/lang/String;
  10945.  
  10946. move-object/from16 v0, p1
  10947.  
  10948. check-cast v0, [Ljava/lang/String;
  10949.  
  10950. move-object v10, v0
  10951.  
  10952. .line 1295
  10953. .local v10, opNames:[Ljava/lang/String;
  10954. if-eqz v10, :cond_a9
  10955.  
  10956. move-object v0, v10
  10957.  
  10958. array-length v0, v0
  10959.  
  10960. move/from16 v16, v0
  10961.  
  10962. const/16 v17, 0x3
  10963.  
  10964. move/from16 v0, v16
  10965.  
  10966. move/from16 v1, v17
  10967.  
  10968. if-lt v0, v1, :cond_a9
  10969.  
  10970. .line 1303
  10971. move-object/from16 v0, p0
  10972.  
  10973. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  10974.  
  10975. move-object/from16 v16, v0
  10976.  
  10977. if-eqz v16, :cond_421
  10978.  
  10979. const/16 v16, 0x1
  10980.  
  10981. move-object/from16 v0, p0
  10982.  
  10983. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  10984.  
  10985. move-object/from16 v17, v0
  10986.  
  10987. const/16 v18, 0x2
  10988.  
  10989. aget-object v18, v10, v18
  10990.  
  10991. invoke-virtual/range {v17 .. v18}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
  10992.  
  10993. move-result v17
  10994.  
  10995. move/from16 v0, v16
  10996.  
  10997. move/from16 v1, v17
  10998.  
  10999. if-ne v0, v1, :cond_421
  11000.  
  11001. .line 1304
  11002. move-object/from16 v0, p0
  11003.  
  11004. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  11005.  
  11006. move-object/from16 v16, v0
  11007.  
  11008. const/16 v17, 0x2
  11009.  
  11010. aget-object v17, v10, v17
  11011.  
  11012. invoke-virtual/range {v16 .. v17}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  11013.  
  11014. move-result-object v9
  11015.  
  11016. check-cast v9, Ljava/lang/String;
  11017.  
  11018. .line 1308
  11019. .local v9, opLong:Ljava/lang/String;
  11020. :goto_375
  11021. const/16 v16, 0x0
  11022.  
  11023. aget-object v16, v10, v16
  11024.  
  11025. move-object/from16 v0, v16
  11026.  
  11027. move-object/from16 v1, p0
  11028.  
  11029. iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOriginalOperatorName:Ljava/lang/String;
  11030.  
  11031. .line 1309
  11032. move-object/from16 v0, p0
  11033.  
  11034. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  11035.  
  11036. move-object/from16 v16, v0
  11037.  
  11038. const/16 v17, 0x1
  11039.  
  11040. aget-object v17, v10, v17
  11041.  
  11042. const/16 v18, 0x2
  11043.  
  11044. aget-object v18, v10, v18
  11045.  
  11046. move-object/from16 v0, v16
  11047.  
  11048. move-object v1, v9
  11049.  
  11050. move-object/from16 v2, v17
  11051.  
  11052. move-object/from16 v3, v18
  11053.  
  11054. invoke-virtual {v0, v1, v2, v3}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
  11055.  
  11056. .line 1312
  11057. sget-object v16, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedAppendixOpList:Ljava/util/ArrayList;
  11058.  
  11059. const/16 v17, 0x2
  11060.  
  11061. aget-object v17, v10, v17
  11062.  
  11063. invoke-virtual/range {v16 .. v17}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
  11064.  
  11065. move-result v16
  11066.  
  11067. if-eqz v16, :cond_433
  11068.  
  11069. .line 1313
  11070. const-string v16, "GSM"
  11071.  
  11072. new-instance v17, Ljava/lang/StringBuilder;
  11073.  
  11074. invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
  11075.  
  11076. const-string v18, "appendix criteria is matched: "
  11077.  
  11078. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11079.  
  11080. move-result-object v17
  11081.  
  11082. const/16 v18, 0x2
  11083.  
  11084. aget-object v18, v10, v18
  11085.  
  11086. invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  11087.  
  11088. move-result-object v17
  11089.  
  11090. invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  11091.  
  11092. move-result-object v17
  11093.  
  11094. invoke-static/range {v16 .. v17}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  11095.  
  11096. .line 1314
  11097. move-object/from16 v0, p0
  11098.  
  11099. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mLocale:Ljava/util/Locale;
  11100.  
  11101. move-object/from16 v16, v0
  11102.  
  11103. sget-object v17, Ljava/util/Locale;->TAIWAN:Ljava/util/Locale;
  11104.  
  11105. invoke-virtual/range {v16 .. v17}, Ljava/util/Locale;->equals(Ljava/lang/Object;)Z
  11106.  
  11107. move-result v16
  11108.  
  11109. if-nez v16, :cond_3db
  11110.  
  11111. move-object/from16 v0, p0
  11112.  
  11113. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mLocale:Ljava/util/Locale;
  11114.  
  11115. move-object/from16 v16, v0
  11116.  
  11117. sget-object v17, Ljava/util/Locale;->CHINA:Ljava/util/Locale;
  11118.  
  11119. invoke-virtual/range {v16 .. v17}, Ljava/util/Locale;->equals(Ljava/lang/Object;)Z
  11120.  
  11121. move-result v16
  11122.  
  11123. if-eqz v16, :cond_427
  11124.  
  11125. .line 1316
  11126. :cond_3db
  11127. move-object/from16 v0, p0
  11128.  
  11129. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  11130.  
  11131. move-object/from16 v16, v0
  11132.  
  11133. const/16 v17, 0x2
  11134.  
  11135. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setAppendixType(I)V
  11136.  
  11137. .line 1324
  11138. :goto_3e6
  11139. move-object v0, v10
  11140.  
  11141. array-length v0, v0
  11142.  
  11143. move/from16 v16, v0
  11144. :try_end_3ea
  11145. .catch Ljava/lang/RuntimeException; {:try_start_2b7 .. :try_end_3ea} :catch_23d
  11146.  
  11147. const/16 v17, 0x4
  11148.  
  11149. move/from16 v0, v16
  11150.  
  11151. move/from16 v1, v17
  11152.  
  11153. if-lt v0, v1, :cond_a9
  11154.  
  11155. .line 1326
  11156. :try_start_3f2
  11157. move-object/from16 v0, p0
  11158.  
  11159. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11160.  
  11161. move-object/from16 v16, v0
  11162.  
  11163. move-object/from16 v0, v16
  11164.  
  11165. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  11166.  
  11167. move-object/from16 v16, v0
  11168.  
  11169. const/16 v17, 0x3
  11170.  
  11171. aget-object v17, v10, v17
  11172.  
  11173. invoke-static/range {v17 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
  11174.  
  11175. move-result v17
  11176.  
  11177. invoke-virtual/range {v16 .. v17}, Lcom/android/internal/telephony/gsm/SIMRecords;->setOperatorNameSource(I)V
  11178. :try_end_409
  11179. .catch Ljava/lang/NumberFormatException; {:try_start_3f2 .. :try_end_409} :catch_40b
  11180. .catch Ljava/lang/RuntimeException; {:try_start_3f2 .. :try_end_409} :catch_23d
  11181.  
  11182. goto/16 :goto_a9
  11183.  
  11184. .line 1327
  11185. :catch_40b
  11186. move-exception v16
  11187.  
  11188. move-object/from16 v6, v16
  11189.  
  11190. .line 1328
  11191. .restart local v6 #ex:Ljava/lang/NumberFormatException;
  11192. :try_start_40e
  11193. move-object/from16 v0, p0
  11194.  
  11195. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11196.  
  11197. move-object/from16 v16, v0
  11198.  
  11199. move-object/from16 v0, v16
  11200.  
  11201. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  11202.  
  11203. move-object/from16 v16, v0
  11204.  
  11205. const/16 v17, -0x1
  11206.  
  11207. invoke-virtual/range {v16 .. v17}, Lcom/android/internal/telephony/gsm/SIMRecords;->setOperatorNameSource(I)V
  11208.  
  11209. goto/16 :goto_a9
  11210.  
  11211. .line 1306
  11212. .end local v6 #ex:Ljava/lang/NumberFormatException;
  11213. .end local v9 #opLong:Ljava/lang/String;
  11214. :cond_421
  11215. const/16 v16, 0x0
  11216.  
  11217. aget-object v9, v10, v16
  11218.  
  11219. .restart local v9 #opLong:Ljava/lang/String;
  11220. goto/16 :goto_375
  11221.  
  11222. .line 1318
  11223. :cond_427
  11224. move-object/from16 v0, p0
  11225.  
  11226. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  11227.  
  11228. move-object/from16 v16, v0
  11229.  
  11230. const/16 v17, 0x1
  11231.  
  11232. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setAppendixType(I)V
  11233.  
  11234. goto :goto_3e6
  11235.  
  11236. .line 1321
  11237. :cond_433
  11238. move-object/from16 v0, p0
  11239.  
  11240. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  11241.  
  11242. move-object/from16 v16, v0
  11243.  
  11244. const/16 v17, 0x0
  11245.  
  11246. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setAppendixType(I)V
  11247.  
  11248. goto :goto_3e6
  11249.  
  11250. .line 1336
  11251. .end local v9 #opLong:Ljava/lang/String;
  11252. .end local v10 #opNames:[Ljava/lang/String;
  11253. .restart local p1
  11254. :sswitch_43f
  11255. move-object/from16 v0, p2
  11256.  
  11257. iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
  11258.  
  11259. move-object/from16 p1, v0
  11260.  
  11261. .end local p1
  11262. check-cast p1, [I
  11263.  
  11264. move-object/from16 v0, p1
  11265.  
  11266. check-cast v0, [I
  11267.  
  11268. move-object v7, v0
  11269.  
  11270. .line 1337
  11271. .local v7, ints:[I
  11272. move-object/from16 v0, p0
  11273.  
  11274. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
  11275.  
  11276. move-object/from16 v16, v0
  11277.  
  11278. const/16 v17, 0x0
  11279.  
  11280. aget v17, v7, v17
  11281.  
  11282. const/16 v18, 0x1
  11283.  
  11284. move/from16 v0, v17
  11285.  
  11286. move/from16 v1, v18
  11287.  
  11288. if-ne v0, v1, :cond_465
  11289.  
  11290. const/16 v17, 0x1
  11291.  
  11292. :goto_460
  11293. invoke-virtual/range {v16 .. v17}, Landroid/telephony/ServiceState;->setIsManualSelection(Z)V
  11294. :try_end_463
  11295. .catch Ljava/lang/RuntimeException; {:try_start_40e .. :try_end_463} :catch_23d
  11296.  
  11297. goto/16 :goto_a9
  11298.  
  11299. :cond_465
  11300. const/16 v17, 0x0
  11301.  
  11302. goto :goto_460
  11303.  
  11304. .line 1358
  11305. .end local v7 #ints:[I
  11306. :cond_468
  11307. const/16 v16, 0x0
  11308.  
  11309. move/from16 v13, v16
  11310.  
  11311. goto/16 :goto_d9
  11312.  
  11313. .line 1209
  11314. :sswitch_data_46e
  11315. .sparse-switch
  11316. 0x4 -> :sswitch_11e
  11317. 0x5 -> :sswitch_280
  11318. 0x6 -> :sswitch_32c
  11319. 0xe -> :sswitch_43f
  11320. .end sparse-switch
  11321. .end method
  11322.  
  11323. .method isConcurrentVoiceAndData()Z
  11324. .registers 4
  11325.  
  11326. .prologue
  11327. const/4 v2, 0x1
  11328.  
  11329. .line 2192
  11330. iget v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkType:I
  11331.  
  11332. const/4 v1, 0x3
  11333.  
  11334. if-ge v0, v1, :cond_a
  11335.  
  11336. iget-boolean v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->m2gWithDTM:Z
  11337.  
  11338. if-ne v0, v2, :cond_c
  11339.  
  11340. :cond_a
  11341. move v0, v2
  11342.  
  11343. :goto_b
  11344. return v0
  11345.  
  11346. :cond_c
  11347. const/4 v0, 0x0
  11348.  
  11349. goto :goto_b
  11350. .end method
  11351.  
  11352. .method protected powerOffRadioSafely()V
  11353. .registers 7
  11354.  
  11355. .prologue
  11356. const-string v5, "GSM"
  11357.  
  11358. .line 947
  11359. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11360.  
  11361. iget-object v0, v3, Lcom/android/internal/telephony/gsm/GSMPhone;->mDataConnection:Lcom/android/internal/telephony/DataConnectionTracker;
  11362.  
  11363. .line 949
  11364. .local v0, dcTracker:Lcom/android/internal/telephony/DataConnectionTracker;
  11365. if-eqz v0, :cond_3c
  11366.  
  11367. .line 950
  11368. const-string v3, "GSM"
  11369.  
  11370. const-string v3, "Data shutdown starting"
  11371.  
  11372. invoke-static {v5, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  11373.  
  11374. .line 951
  11375. const/16 v3, 0x22
  11376.  
  11377. invoke-virtual {v0, v3}, Lcom/android/internal/telephony/DataConnectionTracker;->obtainMessage(I)Landroid/os/Message;
  11378.  
  11379. move-result-object v2
  11380.  
  11381. .line 952
  11382. .local v2, msg:Landroid/os/Message;
  11383. const/4 v3, 0x1
  11384.  
  11385. iput v3, v2, Landroid/os/Message;->arg1:I
  11386.  
  11387. .line 953
  11388. const-string/jumbo v3, "radioTurnedOff"
  11389.  
  11390. iput-object v3, v2, Landroid/os/Message;->obj:Ljava/lang/Object;
  11391.  
  11392. .line 954
  11393. invoke-virtual {v0, v2}, Lcom/android/internal/telephony/DataConnectionTracker;->sendMessage(Landroid/os/Message;)Z
  11394.  
  11395. .line 958
  11396. const/4 v1, 0x0
  11397.  
  11398. .local v1, i:I
  11399. :goto_21
  11400. const/16 v3, 0xf
  11401.  
  11402. if-ge v1, v3, :cond_3c
  11403.  
  11404. .line 959
  11405. invoke-virtual {v0}, Lcom/android/internal/telephony/DataConnectionTracker;->getState()Lcom/android/internal/telephony/DataConnectionTracker$State;
  11406.  
  11407. move-result-object v3
  11408.  
  11409. sget-object v4, Lcom/android/internal/telephony/DataConnectionTracker$State;->CONNECTED:Lcom/android/internal/telephony/DataConnectionTracker$State;
  11410.  
  11411. if-eq v3, v4, :cond_6c
  11412.  
  11413. invoke-virtual {v0}, Lcom/android/internal/telephony/DataConnectionTracker;->getState()Lcom/android/internal/telephony/DataConnectionTracker$State;
  11414.  
  11415. move-result-object v3
  11416.  
  11417. sget-object v4, Lcom/android/internal/telephony/DataConnectionTracker$State;->DISCONNECTING:Lcom/android/internal/telephony/DataConnectionTracker$State;
  11418.  
  11419. if-eq v3, v4, :cond_6c
  11420.  
  11421. .line 961
  11422. const-string v3, "GSM"
  11423.  
  11424. const-string v3, "Data shutdown complete."
  11425.  
  11426. invoke-static {v5, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  11427.  
  11428. .line 976
  11429. .end local v1 #i:I
  11430. .end local v2 #msg:Landroid/os/Message;
  11431. :cond_3c
  11432. const-wide/16 v3, 0x7d0
  11433.  
  11434. invoke-static {v3, v4}, Landroid/os/SystemClock;->sleep(J)V
  11435.  
  11436. .line 983
  11437. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11438.  
  11439. invoke-virtual {v3}, Lcom/android/internal/telephony/gsm/GSMPhone;->isInCall()Z
  11440.  
  11441. move-result v3
  11442.  
  11443. if-eqz v3, :cond_64
  11444.  
  11445. .line 984
  11446. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11447.  
  11448. iget-object v3, v3, Lcom/android/internal/telephony/gsm/GSMPhone;->mCT:Lcom/android/internal/telephony/gsm/GsmCallTracker;
  11449.  
  11450. iget-object v3, v3, Lcom/android/internal/telephony/gsm/GsmCallTracker;->ringingCall:Lcom/android/internal/telephony/gsm/GsmCall;
  11451.  
  11452. invoke-virtual {v3}, Lcom/android/internal/telephony/gsm/GsmCall;->hangupIfAlive()V
  11453.  
  11454. .line 985
  11455. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11456.  
  11457. iget-object v3, v3, Lcom/android/internal/telephony/gsm/GSMPhone;->mCT:Lcom/android/internal/telephony/gsm/GsmCallTracker;
  11458.  
  11459. iget-object v3, v3, Lcom/android/internal/telephony/gsm/GsmCallTracker;->backgroundCall:Lcom/android/internal/telephony/gsm/GsmCall;
  11460.  
  11461. invoke-virtual {v3}, Lcom/android/internal/telephony/gsm/GsmCall;->hangupIfAlive()V
  11462.  
  11463. .line 986
  11464. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11465.  
  11466. iget-object v3, v3, Lcom/android/internal/telephony/gsm/GSMPhone;->mCT:Lcom/android/internal/telephony/gsm/GsmCallTracker;
  11467.  
  11468. iget-object v3, v3, Lcom/android/internal/telephony/gsm/GsmCallTracker;->foregroundCall:Lcom/android/internal/telephony/gsm/GsmCall;
  11469.  
  11470. invoke-virtual {v3}, Lcom/android/internal/telephony/gsm/GsmCall;->hangupIfAlive()V
  11471.  
  11472. .line 989
  11473. :cond_64
  11474. iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  11475.  
  11476. const/4 v4, 0x0
  11477.  
  11478. const/4 v5, 0x0
  11479.  
  11480. invoke-interface {v3, v4, v5}, Lcom/android/internal/telephony/CommandsInterface;->setRadioPower(ZLandroid/os/Message;)V
  11481.  
  11482. .line 990
  11483. return-void
  11484.  
  11485. .line 964
  11486. .restart local v1 #i:I
  11487. .restart local v2 #msg:Landroid/os/Message;
  11488. :cond_6c
  11489. const-wide/16 v3, 0x64
  11490.  
  11491. invoke-static {v3, v4}, Landroid/os/SystemClock;->sleep(J)V
  11492.  
  11493. .line 958
  11494. add-int/lit8 v1, v1, 0x1
  11495.  
  11496. goto :goto_21
  11497. .end method
  11498.  
  11499. .method registerForGprsAttached(Landroid/os/Handler;ILjava/lang/Object;)V
  11500. .registers 6
  11501. .parameter "h"
  11502. .parameter "what"
  11503. .parameter "obj"
  11504.  
  11505. .prologue
  11506. .line 421
  11507. new-instance v0, Landroid/os/Registrant;
  11508.  
  11509. invoke-direct {v0, p1, p2, p3}, Landroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
  11510.  
  11511. .line 422
  11512. .local v0, r:Landroid/os/Registrant;
  11513. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsAttachedRegistrants:Landroid/os/RegistrantList;
  11514.  
  11515. invoke-virtual {v1, v0}, Landroid/os/RegistrantList;->add(Landroid/os/Registrant;)V
  11516.  
  11517. .line 424
  11518. iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  11519.  
  11520. if-nez v1, :cond_11
  11521.  
  11522. .line 425
  11523. invoke-virtual {v0}, Landroid/os/Registrant;->notifyRegistrant()V
  11524.  
  11525. .line 427
  11526. :cond_11
  11527. return-void
  11528. .end method
  11529.  
  11530. .method registerForGprsDetached(Landroid/os/Handler;ILjava/lang/Object;)V
  11531. .registers 7
  11532. .parameter "h"
  11533. .parameter "what"
  11534. .parameter "obj"
  11535.  
  11536. .prologue
  11537. .line 453
  11538. new-instance v0, Landroid/os/Registrant;
  11539.  
  11540. invoke-direct {v0, p1, p2, p3}, Landroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
  11541.  
  11542. .line 454
  11543. .local v0, r:Landroid/os/Registrant;
  11544. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsDetachedRegistrants:Landroid/os/RegistrantList;
  11545.  
  11546. invoke-virtual {v1, v0}, Landroid/os/RegistrantList;->add(Landroid/os/Registrant;)V
  11547.  
  11548. .line 456
  11549. iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
  11550.  
  11551. const/4 v2, 0x1
  11552.  
  11553. if-ne v1, v2, :cond_12
  11554.  
  11555. .line 457
  11556. invoke-virtual {v0}, Landroid/os/Registrant;->notifyRegistrant()V
  11557.  
  11558. .line 459
  11559. :cond_12
  11560. return-void
  11561. .end method
  11562.  
  11563. .method registerForNetworkAttach(Landroid/os/Handler;ILjava/lang/Object;)V
  11564. .registers 6
  11565. .parameter "h"
  11566. .parameter "what"
  11567. .parameter "obj"
  11568.  
  11569. .prologue
  11570. .line 434
  11571. new-instance v0, Landroid/os/Registrant;
  11572.  
  11573. invoke-direct {v0, p1, p2, p3}, Landroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
  11574.  
  11575. .line 435
  11576. .local v0, r:Landroid/os/Registrant;
  11577. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkAttachedRegistrants:Landroid/os/RegistrantList;
  11578.  
  11579. invoke-virtual {v1, v0}, Landroid/os/RegistrantList;->add(Landroid/os/Registrant;)V
  11580.  
  11581. .line 437
  11582. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  11583.  
  11584. invoke-virtual {v1}, Landroid/telephony/ServiceState;->getState()I
  11585.  
  11586. move-result v1
  11587.  
  11588. if-nez v1, :cond_15
  11589.  
  11590. .line 438
  11591. invoke-virtual {v0}, Landroid/os/Registrant;->notifyRegistrant()V
  11592.  
  11593. .line 440
  11594. :cond_15
  11595. return-void
  11596. .end method
  11597.  
  11598. .method registerForPsRestrictedDisabled(Landroid/os/Handler;ILjava/lang/Object;)V
  11599. .registers 7
  11600. .parameter "h"
  11601. .parameter "what"
  11602. .parameter "obj"
  11603.  
  11604. .prologue
  11605. .line 492
  11606. const-string v1, "GSM"
  11607.  
  11608. const-string v2, "[DSAC DEB] registerForPsRestrictedDisabled "
  11609.  
  11610. invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  11611.  
  11612. .line 493
  11613. new-instance v0, Landroid/os/Registrant;
  11614.  
  11615. invoke-direct {v0, p1, p2, p3}, Landroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
  11616.  
  11617. .line 494
  11618. .local v0, r:Landroid/os/Registrant;
  11619. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->psRestrictDisabledRegistrants:Landroid/os/RegistrantList;
  11620.  
  11621. invoke-virtual {v1, v0}, Landroid/os/RegistrantList;->add(Landroid/os/Registrant;)V
  11622.  
  11623. .line 496
  11624. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  11625.  
  11626. invoke-virtual {v1}, Lcom/android/internal/telephony/gsm/RestrictedState;->isPsRestricted()Z
  11627.  
  11628. move-result v1
  11629.  
  11630. if-eqz v1, :cond_1c
  11631.  
  11632. .line 497
  11633. invoke-virtual {v0}, Landroid/os/Registrant;->notifyRegistrant()V
  11634.  
  11635. .line 499
  11636. :cond_1c
  11637. return-void
  11638. .end method
  11639.  
  11640. .method registerForPsRestrictedEnabled(Landroid/os/Handler;ILjava/lang/Object;)V
  11641. .registers 7
  11642. .parameter "h"
  11643. .parameter "what"
  11644. .parameter "obj"
  11645.  
  11646. .prologue
  11647. .line 472
  11648. const-string v1, "GSM"
  11649.  
  11650. const-string v2, "[DSAC DEB] registerForPsRestrictedEnabled "
  11651.  
  11652. invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  11653.  
  11654. .line 473
  11655. new-instance v0, Landroid/os/Registrant;
  11656.  
  11657. invoke-direct {v0, p1, p2, p3}, Landroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
  11658.  
  11659. .line 474
  11660. .local v0, r:Landroid/os/Registrant;
  11661. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->psRestrictEnabledRegistrants:Landroid/os/RegistrantList;
  11662.  
  11663. invoke-virtual {v1, v0}, Landroid/os/RegistrantList;->add(Landroid/os/Registrant;)V
  11664.  
  11665. .line 476
  11666. iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->rs:Lcom/android/internal/telephony/gsm/RestrictedState;
  11667.  
  11668. invoke-virtual {v1}, Lcom/android/internal/telephony/gsm/RestrictedState;->isPsRestricted()Z
  11669.  
  11670. move-result v1
  11671.  
  11672. if-eqz v1, :cond_1c
  11673.  
  11674. .line 477
  11675. invoke-virtual {v0}, Landroid/os/Registrant;->notifyRegistrant()V
  11676.  
  11677. .line 479
  11678. :cond_1c
  11679. return-void
  11680. .end method
  11681.  
  11682. .method protected setPowerStateToDesired()V
  11683. .registers 9
  11684.  
  11685. .prologue
  11686. const/4 v4, 0x0
  11687.  
  11688. const/4 v6, 0x1
  11689.  
  11690. const/4 v5, 0x0
  11691.  
  11692. const-string v7, "GSM"
  11693.  
  11694. .line 903
  11695. iget-boolean v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDesiredPowerState:Z
  11696.  
  11697. if-eqz v2, :cond_19
  11698.  
  11699. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  11700.  
  11701. invoke-interface {v2}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  11702.  
  11703. move-result-object v2
  11704.  
  11705. sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_OFF:Lcom/android/internal/telephony/CommandsInterface$RadioState;
  11706.  
  11707. if-ne v2, v3, :cond_19
  11708.  
  11709. .line 905
  11710. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  11711.  
  11712. invoke-interface {v2, v6, v4}, Lcom/android/internal/telephony/CommandsInterface;->setRadioPower(ZLandroid/os/Message;)V
  11713.  
  11714. .line 942
  11715. :cond_18
  11716. :goto_18
  11717. return-void
  11718.  
  11719. .line 906
  11720. :cond_19
  11721. iget-boolean v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDesiredPowerState:Z
  11722.  
  11723. if-nez v2, :cond_57
  11724.  
  11725. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  11726.  
  11727. invoke-interface {v2}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  11728.  
  11729. move-result-object v2
  11730.  
  11731. invoke-virtual {v2}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
  11732.  
  11733. move-result v2
  11734.  
  11735. if-eqz v2, :cond_57
  11736.  
  11737. .line 907
  11738. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11739.  
  11740. iget-object v0, v2, Lcom/android/internal/telephony/gsm/GSMPhone;->mDataConnection:Lcom/android/internal/telephony/DataConnectionTracker;
  11741.  
  11742. .line 910
  11743. .local v0, dcTracker:Lcom/android/internal/telephony/DataConnectionTracker;
  11744. if-eqz v0, :cond_51
  11745.  
  11746. invoke-virtual {v0}, Lcom/android/internal/telephony/DataConnectionTracker;->isDataConnectionAsDesired()Z
  11747.  
  11748. move-result v2
  11749.  
  11750. if-nez v2, :cond_51
  11751.  
  11752. .line 912
  11753. const v2, 0xc3bc
  11754.  
  11755. const/4 v3, 0x2
  11756.  
  11757. new-array v3, v3, [Ljava/lang/Object;
  11758.  
  11759. invoke-virtual {v0}, Lcom/android/internal/telephony/DataConnectionTracker;->getStateInString()Ljava/lang/String;
  11760.  
  11761. move-result-object v4
  11762.  
  11763. aput-object v4, v3, v5
  11764.  
  11765. invoke-virtual {v0}, Lcom/android/internal/telephony/DataConnectionTracker;->getAnyDataEnabled()Z
  11766.  
  11767. move-result v4
  11768.  
  11769. if-eqz v4, :cond_55
  11770.  
  11771. move v4, v6
  11772.  
  11773. :goto_48
  11774. invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  11775.  
  11776. move-result-object v4
  11777.  
  11778. aput-object v4, v3, v6
  11779.  
  11780. invoke-static {v2, v3}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
  11781.  
  11782. .line 916
  11783. :cond_51
  11784. invoke-virtual {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->powerOffRadioSafely()V
  11785.  
  11786. goto :goto_18
  11787.  
  11788. :cond_55
  11789. move v4, v5
  11790.  
  11791. .line 912
  11792. goto :goto_48
  11793.  
  11794. .line 920
  11795. .end local v0 #dcTracker:Lcom/android/internal/telephony/DataConnectionTracker;
  11796. :cond_57
  11797. const/4 v1, 0x0
  11798.  
  11799. .line 921
  11800. .local v1, noRedundantCommand:Z
  11801. iget-boolean v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mFlightModeBootup:Z
  11802.  
  11803. if-eqz v2, :cond_75
  11804.  
  11805. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  11806.  
  11807. invoke-interface {v2}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  11808.  
  11809. move-result-object v2
  11810.  
  11811. sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_OFF:Lcom/android/internal/telephony/CommandsInterface$RadioState;
  11812.  
  11813. if-ne v2, v3, :cond_75
  11814.  
  11815. .line 924
  11816. const-string v2, "GSM"
  11817.  
  11818. const-string v2, "Boot-up with airplane mode is on"
  11819.  
  11820. invoke-static {v7, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  11821.  
  11822. .line 925
  11823. iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mFlightModeBootup:Z
  11824.  
  11825. .line 926
  11826. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  11827.  
  11828. invoke-interface {v2, v5, v4}, Lcom/android/internal/telephony/CommandsInterface;->setRadioPower(ZLandroid/os/Message;)V
  11829.  
  11830. .line 927
  11831. const/4 v1, 0x1
  11832.  
  11833. .line 932
  11834. :cond_75
  11835. invoke-static {}, Lcom/android/internal/telephony/HtcBuildUtils;->enableTmoWifiIms()Z
  11836.  
  11837. move-result v2
  11838.  
  11839. if-eqz v2, :cond_18
  11840.  
  11841. .line 934
  11842. if-nez v1, :cond_18
  11843.  
  11844. iget-boolean v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDesiredPowerState:Z
  11845.  
  11846. if-nez v2, :cond_18
  11847.  
  11848. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  11849.  
  11850. invoke-interface {v2}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  11851.  
  11852. move-result-object v2
  11853.  
  11854. sget-object v3, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_OFF:Lcom/android/internal/telephony/CommandsInterface$RadioState;
  11855.  
  11856. if-ne v2, v3, :cond_18
  11857.  
  11858. .line 936
  11859. const-string v2, "GSM"
  11860.  
  11861. const-string v2, "IMS flight mode on, but power off case"
  11862.  
  11863. invoke-static {v7, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  11864.  
  11865. .line 937
  11866. iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  11867.  
  11868. invoke-interface {v2, v5, v4}, Lcom/android/internal/telephony/CommandsInterface;->setRadioPower(ZLandroid/os/Message;)V
  11869.  
  11870. goto :goto_18
  11871. .end method
  11872.  
  11873. .method unregisterForGprsAttached(Landroid/os/Handler;)V
  11874. .registers 3
  11875. .parameter "h"
  11876.  
  11877. .prologue
  11878. .line 430
  11879. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsAttachedRegistrants:Landroid/os/RegistrantList;
  11880.  
  11881. invoke-virtual {v0, p1}, Landroid/os/RegistrantList;->remove(Landroid/os/Handler;)V
  11882.  
  11883. .line 431
  11884. return-void
  11885. .end method
  11886.  
  11887. .method unregisterForGprsDetached(Landroid/os/Handler;)V
  11888. .registers 3
  11889. .parameter "h"
  11890.  
  11891. .prologue
  11892. .line 462
  11893. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsDetachedRegistrants:Landroid/os/RegistrantList;
  11894.  
  11895. invoke-virtual {v0, p1}, Landroid/os/RegistrantList;->remove(Landroid/os/Handler;)V
  11896.  
  11897. .line 463
  11898. return-void
  11899. .end method
  11900.  
  11901. .method unregisterForNetworkAttach(Landroid/os/Handler;)V
  11902. .registers 3
  11903. .parameter "h"
  11904.  
  11905. .prologue
  11906. .line 443
  11907. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->networkAttachedRegistrants:Landroid/os/RegistrantList;
  11908.  
  11909. invoke-virtual {v0, p1}, Landroid/os/RegistrantList;->remove(Landroid/os/Handler;)V
  11910.  
  11911. .line 444
  11912. return-void
  11913. .end method
  11914.  
  11915. .method unregisterForPsRestrictedDisabled(Landroid/os/Handler;)V
  11916. .registers 3
  11917. .parameter "h"
  11918.  
  11919. .prologue
  11920. .line 502
  11921. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->psRestrictDisabledRegistrants:Landroid/os/RegistrantList;
  11922.  
  11923. invoke-virtual {v0, p1}, Landroid/os/RegistrantList;->remove(Landroid/os/Handler;)V
  11924.  
  11925. .line 503
  11926. return-void
  11927. .end method
  11928.  
  11929. .method unregisterForPsRestrictedEnabled(Landroid/os/Handler;)V
  11930. .registers 3
  11931. .parameter "h"
  11932.  
  11933. .prologue
  11934. .line 482
  11935. iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->psRestrictEnabledRegistrants:Landroid/os/RegistrantList;
  11936.  
  11937. invoke-virtual {v0, p1}, Landroid/os/RegistrantList;->remove(Landroid/os/Handler;)V
  11938.  
  11939. .line 483
  11940. return-void
  11941. .end method
  11942.  
  11943. .method protected updateNetworkNameDisplay()V
  11944. .registers 16
  11945.  
  11946. .prologue
  11947. .line 1030
  11948. new-instance v2, Landroid/content/Intent;
  11949.  
  11950. const-string v12, "android.provider.Telephony.SPN_STRINGS_UPDATED"
  11951.  
  11952. invoke-direct {v2, v12}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  11953.  
  11954. .line 1031
  11955. .local v2, intent:Landroid/content/Intent;
  11956. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  11957.  
  11958. invoke-virtual {v12}, Landroid/telephony/ServiceState;->getState()I
  11959.  
  11960. move-result v8
  11961.  
  11962. .line 1032
  11963. .local v8, serviceStatus:I
  11964. const-string/jumbo v12, "networkState"
  11965.  
  11966. invoke-virtual {v2, v12, v8}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
  11967.  
  11968. .line 1033
  11969. const-string/jumbo v12, "unregistered_icc"
  11970.  
  11971. iget v13, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMMRejectCause:I
  11972.  
  11973. if-lez v13, :cond_25
  11974.  
  11975. const/4 v13, 0x1
  11976.  
  11977. :goto_1b
  11978. invoke-virtual {v2, v12, v13}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
  11979.  
  11980. .line 1035
  11981. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  11982.  
  11983. iget-object v12, v12, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  11984.  
  11985. if-nez v12, :cond_27
  11986.  
  11987. .line 1163
  11988. :goto_24
  11989. return-void
  11990.  
  11991. .line 1033
  11992. :cond_25
  11993. const/4 v13, 0x0
  11994.  
  11995. goto :goto_1b
  11996.  
  11997. .line 1039
  11998. :cond_27
  11999. const-string v12, "GSM"
  12000.  
  12001. new-instance v13, Ljava/lang/StringBuilder;
  12002.  
  12003. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  12004.  
  12005. const-string v14, "SPN_STRINGS_UPDATED_ACTION serviceStatus: "
  12006.  
  12007. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12008.  
  12009. move-result-object v13
  12010.  
  12011. invoke-virtual {v13, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12012.  
  12013. move-result-object v13
  12014.  
  12015. const-string v14, " rejectCause:"
  12016.  
  12017. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12018.  
  12019. move-result-object v13
  12020.  
  12021. iget v14, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMMRejectCause:I
  12022.  
  12023. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12024.  
  12025. move-result-object v13
  12026.  
  12027. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12028.  
  12029. move-result-object v13
  12030.  
  12031. invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  12032.  
  12033. .line 1041
  12034. if-nez v8, :cond_1fb
  12035.  
  12036. .line 1042
  12037. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  12038.  
  12039. iget-object v12, v12, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  12040.  
  12041. iget-object v13, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12042.  
  12043. invoke-virtual {v13}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  12044.  
  12045. move-result-object v13
  12046.  
  12047. invoke-virtual {v12, v13}, Lcom/android/internal/telephony/gsm/SIMRecords;->getDisplayRule(Ljava/lang/String;)I
  12048.  
  12049. move-result v7
  12050.  
  12051. .line 1043
  12052. .local v7, rule:I
  12053. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  12054.  
  12055. iget-object v12, v12, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  12056.  
  12057. invoke-virtual {v12}, Lcom/android/internal/telephony/gsm/SIMRecords;->getServiceProviderName()Ljava/lang/String;
  12058.  
  12059. move-result-object v11
  12060.  
  12061. .line 1045
  12062. .local v11, spn:Ljava/lang/String;
  12063. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12064.  
  12065. invoke-virtual {v12}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  12066.  
  12067. move-result-object v5
  12068.  
  12069. .line 1047
  12070. .local v5, numeric:Ljava/lang/String;
  12071. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  12072.  
  12073. if-eqz v12, :cond_197
  12074.  
  12075. const/4 v12, 0x1
  12076.  
  12077. iget-object v13, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  12078.  
  12079. invoke-virtual {v13, v5}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
  12080.  
  12081. move-result v13
  12082.  
  12083. if-ne v12, v13, :cond_197
  12084.  
  12085. .line 1048
  12086. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mOperatorStringLists:Ljava/util/HashMap;
  12087.  
  12088. invoke-virtual {v12, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
  12089.  
  12090. move-result-object v6
  12091.  
  12092. check-cast v6, Ljava/lang/String;
  12093.  
  12094. .line 1049
  12095. .local v6, plmn:Ljava/lang/String;
  12096. const-string v12, "GSM"
  12097.  
  12098. new-instance v13, Ljava/lang/StringBuilder;
  12099.  
  12100. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  12101.  
  12102. const-string/jumbo v14, "plmn("
  12103.  
  12104. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12105.  
  12106. move-result-object v13
  12107.  
  12108. invoke-virtual {v13, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12109.  
  12110. move-result-object v13
  12111.  
  12112. const-string v14, ") name in resource: "
  12113.  
  12114. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12115.  
  12116. move-result-object v13
  12117.  
  12118. invoke-virtual {v13, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12119.  
  12120. move-result-object v13
  12121.  
  12122. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12123.  
  12124. move-result-object v13
  12125.  
  12126. invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  12127.  
  12128. .line 1056
  12129. :goto_a1
  12130. sget-object v12, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedAppendixOpList:Ljava/util/ArrayList;
  12131.  
  12132. iget-object v13, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12133.  
  12134. invoke-virtual {v13}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  12135.  
  12136. move-result-object v13
  12137.  
  12138. invoke-virtual {v12, v13}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
  12139.  
  12140. move-result v12
  12141.  
  12142. if-eqz v12, :cond_ff
  12143.  
  12144. .line 1057
  12145. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12146.  
  12147. invoke-virtual {v12}, Landroid/telephony/ServiceState;->getNetwrorkType()I
  12148.  
  12149. move-result v12
  12150.  
  12151. const/4 v13, 0x2
  12152.  
  12153. if-le v12, v13, :cond_1c2
  12154.  
  12155. const/4 v12, 0x1
  12156.  
  12157. move v3, v12
  12158.  
  12159. .line 1058
  12160. .local v3, is3Gtype:Z
  12161. :goto_ba
  12162. const-string v12, "GSM"
  12163.  
  12164. new-instance v13, Ljava/lang/StringBuilder;
  12165.  
  12166. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  12167.  
  12168. const-string/jumbo v14, "network Type: "
  12169.  
  12170. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12171.  
  12172. move-result-object v13
  12173.  
  12174. iget-object v14, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12175.  
  12176. invoke-virtual {v14}, Landroid/telephony/ServiceState;->getNetwrorkType()I
  12177.  
  12178. move-result v14
  12179.  
  12180. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  12181.  
  12182. move-result-object v13
  12183.  
  12184. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12185.  
  12186. move-result-object v13
  12187.  
  12188. invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  12189.  
  12190. .line 1059
  12191. if-eqz v3, :cond_ff
  12192.  
  12193. .line 1060
  12194. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12195.  
  12196. invoke-virtual {v12}, Landroid/telephony/ServiceState;->getAppendixType()I
  12197.  
  12198. move-result v0
  12199.  
  12200. .line 1061
  12201. .local v0, appendixType:I
  12202. const/4 v12, 0x2
  12203.  
  12204. if-ne v0, v12, :cond_1c6
  12205.  
  12206. .line 1062
  12207. const-string v12, "3G"
  12208.  
  12209. invoke-virtual {v6, v12}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
  12210.  
  12211. move-result v12
  12212.  
  12213. if-nez v12, :cond_ff
  12214.  
  12215. .line 1063
  12216. new-instance v12, Ljava/lang/StringBuilder;
  12217.  
  12218. invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
  12219.  
  12220. invoke-virtual {v12, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12221.  
  12222. move-result-object v12
  12223.  
  12224. const-string v13, "3G"
  12225.  
  12226. invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12227.  
  12228. move-result-object v12
  12229.  
  12230. invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12231.  
  12232. move-result-object v6
  12233.  
  12234. .line 1073
  12235. .end local v0 #appendixType:I
  12236. .end local v3 #is3Gtype:Z
  12237. :cond_ff
  12238. :goto_ff
  12239. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  12240.  
  12241. const-string/jumbo v13, "gsm.operator.alpha"
  12242.  
  12243. invoke-virtual {v12, v13, v6}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
  12244.  
  12245. .line 1075
  12246. iget v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
  12247.  
  12248. if-ne v7, v12, :cond_11b
  12249.  
  12250. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  12251.  
  12252. invoke-static {v11, v12}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
  12253.  
  12254. move-result v12
  12255.  
  12256. if-eqz v12, :cond_11b
  12257.  
  12258. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  12259.  
  12260. invoke-static {v6, v12}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
  12261.  
  12262. move-result v12
  12263.  
  12264. if-nez v12, :cond_18c
  12265.  
  12266. .line 1078
  12267. :cond_11b
  12268. and-int/lit8 v12, v7, 0x1
  12269.  
  12270. const/4 v13, 0x1
  12271.  
  12272. if-ne v12, v13, :cond_1e6
  12273.  
  12274. const/4 v12, 0x1
  12275.  
  12276. move v10, v12
  12277.  
  12278. .line 1080
  12279. .local v10, showSpn:Z
  12280. :goto_122
  12281. and-int/lit8 v12, v7, 0x2
  12282.  
  12283. const/4 v13, 0x2
  12284.  
  12285. if-ne v12, v13, :cond_1ea
  12286.  
  12287. const/4 v12, 0x1
  12288.  
  12289. move v9, v12
  12290.  
  12291. .line 1085
  12292. .local v9, showPlmn:Z
  12293. :goto_129
  12294. if-eqz v10, :cond_140
  12295.  
  12296. if-eqz v9, :cond_140
  12297.  
  12298. if-eqz v6, :cond_140
  12299.  
  12300. if-eqz v11, :cond_140
  12301.  
  12302. .line 1086
  12303. invoke-virtual {v6, v11}, Ljava/lang/String;->compareToIgnoreCase(Ljava/lang/String;)I
  12304.  
  12305. move-result v12
  12306.  
  12307. if-nez v12, :cond_140
  12308.  
  12309. .line 1087
  12310. const-string v12, "GSM"
  12311.  
  12312. const-string/jumbo v13, "spn and plmn are identical strings!!"
  12313.  
  12314. invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  12315.  
  12316. .line 1088
  12317. const/4 v9, 0x0
  12318.  
  12319. .line 1106
  12320. :cond_140
  12321. if-eqz v5, :cond_16b
  12322.  
  12323. .line 1108
  12324. const/4 v12, 0x0
  12325.  
  12326. const/4 v13, 0x3
  12327.  
  12328. :try_start_144
  12329. invoke-virtual {v5, v12, v13}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  12330.  
  12331. move-result-object v4
  12332.  
  12333. .line 1110
  12334. .local v4, mcc:Ljava/lang/String;
  12335. const-string v12, "404"
  12336.  
  12337. invoke-virtual {v4, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  12338.  
  12339. move-result v12
  12340.  
  12341. if-nez v12, :cond_158
  12342.  
  12343. const-string v12, "405"
  12344.  
  12345. invoke-virtual {v4, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  12346.  
  12347. move-result v12
  12348.  
  12349. if-eqz v12, :cond_16b
  12350.  
  12351. .line 1113
  12352. :cond_158
  12353. if-eqz v11, :cond_162
  12354.  
  12355. const-string v12, "Vodafone IN"
  12356.  
  12357. invoke-virtual {v11, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  12358.  
  12359. move-result v12
  12360.  
  12361. if-nez v12, :cond_16b
  12362.  
  12363. .line 1115
  12364. :cond_162
  12365. const-string v12, "GSM"
  12366.  
  12367. const-string v13, "According to customerization table, we only show PLMN!!"
  12368.  
  12369. invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  12370. :try_end_169
  12371. .catch Ljava/lang/Exception; {:try_start_144 .. :try_end_169} :catch_1ee
  12372.  
  12373. .line 1116
  12374. const/4 v10, 0x0
  12375.  
  12376. .line 1117
  12377. const/4 v9, 0x1
  12378.  
  12379. .line 1125
  12380. .end local v4 #mcc:Ljava/lang/String;
  12381. :cond_16b
  12382. :goto_16b
  12383. const-string/jumbo v12, "showSpn"
  12384.  
  12385. invoke-virtual {v2, v12, v10}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
  12386.  
  12387. .line 1126
  12388. const-string/jumbo v12, "spn"
  12389.  
  12390. invoke-virtual {v2, v12, v11}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
  12391.  
  12392. .line 1127
  12393. const-string/jumbo v12, "showPlmn"
  12394.  
  12395. invoke-virtual {v2, v12, v9}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
  12396.  
  12397. .line 1128
  12398. const-string/jumbo v12, "plmn"
  12399.  
  12400. invoke-virtual {v2, v12, v6}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
  12401.  
  12402. .line 1129
  12403. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  12404.  
  12405. invoke-virtual {v12}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  12406.  
  12407. move-result-object v12
  12408.  
  12409. invoke-virtual {v12, v2}, Landroid/content/Context;->sendStickyBroadcast(Landroid/content/Intent;)V
  12410.  
  12411. .line 1131
  12412. .end local v9 #showPlmn:Z
  12413. .end local v10 #showSpn:Z
  12414. :cond_18c
  12415. iput v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
  12416.  
  12417. .line 1132
  12418. iput-object v11, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  12419.  
  12420. .line 1133
  12421. iput-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  12422.  
  12423. .line 1162
  12424. .end local v5 #numeric:Ljava/lang/String;
  12425. .end local v6 #plmn:Ljava/lang/String;
  12426. .end local v7 #rule:I
  12427. .end local v11 #spn:Ljava/lang/String;
  12428. :goto_192
  12429. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateOperatorInfo()V
  12430.  
  12431. goto/16 :goto_24
  12432.  
  12433. .line 1051
  12434. .restart local v5 #numeric:Ljava/lang/String;
  12435. .restart local v7 #rule:I
  12436. .restart local v11 #spn:Ljava/lang/String;
  12437. :cond_197
  12438. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12439.  
  12440. invoke-virtual {v12}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
  12441.  
  12442. move-result-object v6
  12443.  
  12444. .line 1052
  12445. .restart local v6 #plmn:Ljava/lang/String;
  12446. const-string v12, "GSM"
  12447.  
  12448. new-instance v13, Ljava/lang/StringBuilder;
  12449.  
  12450. invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
  12451.  
  12452. const-string/jumbo v14, "plmn("
  12453.  
  12454. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12455.  
  12456. move-result-object v13
  12457.  
  12458. invoke-virtual {v13, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12459.  
  12460. move-result-object v13
  12461.  
  12462. const-string v14, ") name from RIL: "
  12463.  
  12464. invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12465.  
  12466. move-result-object v13
  12467.  
  12468. invoke-virtual {v13, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12469.  
  12470. move-result-object v13
  12471.  
  12472. invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12473.  
  12474. move-result-object v13
  12475.  
  12476. invoke-static {v12, v13}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  12477.  
  12478. goto/16 :goto_a1
  12479.  
  12480. .line 1057
  12481. :cond_1c2
  12482. const/4 v12, 0x0
  12483.  
  12484. move v3, v12
  12485.  
  12486. goto/16 :goto_ba
  12487.  
  12488. .line 1065
  12489. .restart local v0 #appendixType:I
  12490. .restart local v3 #is3Gtype:Z
  12491. :cond_1c6
  12492. const/4 v12, 0x1
  12493.  
  12494. if-ne v0, v12, :cond_ff
  12495.  
  12496. .line 1066
  12497. const-string v12, "3G "
  12498.  
  12499. invoke-virtual {v6, v12}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
  12500.  
  12501. move-result v12
  12502.  
  12503. if-nez v12, :cond_ff
  12504.  
  12505. .line 1067
  12506. new-instance v12, Ljava/lang/StringBuilder;
  12507.  
  12508. invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
  12509.  
  12510. const-string v13, "3G "
  12511.  
  12512. invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12513.  
  12514. move-result-object v12
  12515.  
  12516. invoke-virtual {v12, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  12517.  
  12518. move-result-object v12
  12519.  
  12520. invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  12521.  
  12522. move-result-object v6
  12523.  
  12524. goto/16 :goto_ff
  12525.  
  12526. .line 1078
  12527. .end local v0 #appendixType:I
  12528. .end local v3 #is3Gtype:Z
  12529. :cond_1e6
  12530. const/4 v12, 0x0
  12531.  
  12532. move v10, v12
  12533.  
  12534. goto/16 :goto_122
  12535.  
  12536. .line 1080
  12537. .restart local v10 #showSpn:Z
  12538. :cond_1ea
  12539. const/4 v12, 0x0
  12540.  
  12541. move v9, v12
  12542.  
  12543. goto/16 :goto_129
  12544.  
  12545. .line 1120
  12546. .restart local v9 #showPlmn:Z
  12547. :catch_1ee
  12548. move-exception v12
  12549.  
  12550. move-object v1, v12
  12551.  
  12552. .line 1121
  12553. .local v1, e:Ljava/lang/Exception;
  12554. const-string v12, "GSM"
  12555.  
  12556. invoke-virtual {v1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
  12557.  
  12558. move-result-object v13
  12559.  
  12560. invoke-static {v12, v13}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
  12561.  
  12562. goto/16 :goto_16b
  12563.  
  12564. .line 1153
  12565. .end local v1 #e:Ljava/lang/Exception;
  12566. .end local v5 #numeric:Ljava/lang/String;
  12567. .end local v6 #plmn:Ljava/lang/String;
  12568. .end local v7 #rule:I
  12569. .end local v9 #showPlmn:Z
  12570. .end local v10 #showSpn:Z
  12571. .end local v11 #spn:Ljava/lang/String;
  12572. :cond_1fb
  12573. const/4 v12, 0x0
  12574.  
  12575. iput v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
  12576.  
  12577. .line 1154
  12578. const/4 v12, 0x0
  12579.  
  12580. iput-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  12581.  
  12582. .line 1155
  12583. const/4 v12, 0x0
  12584.  
  12585. iput-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  12586.  
  12587. .line 1156
  12588. const-string/jumbo v12, "showSpn"
  12589.  
  12590. const/4 v13, 0x0
  12591.  
  12592. invoke-virtual {v2, v12, v13}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
  12593.  
  12594. .line 1157
  12595. const-string/jumbo v12, "spn"
  12596.  
  12597. iget-object v13, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  12598.  
  12599. invoke-virtual {v2, v12, v13}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
  12600.  
  12601. .line 1158
  12602. const-string/jumbo v12, "showPlmn"
  12603.  
  12604. const/4 v13, 0x0
  12605.  
  12606. invoke-virtual {v2, v12, v13}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
  12607.  
  12608. .line 1159
  12609. const-string/jumbo v12, "plmn"
  12610.  
  12611. iget-object v13, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  12612.  
  12613. invoke-virtual {v2, v12, v13}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
  12614.  
  12615. .line 1160
  12616. iget-object v12, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  12617.  
  12618. invoke-virtual {v12}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  12619.  
  12620. move-result-object v12
  12621.  
  12622. invoke-virtual {v12, v2}, Landroid/content/Context;->sendStickyBroadcast(Landroid/content/Intent;)V
  12623.  
  12624. goto/16 :goto_192
  12625. .end method
  12626.  
  12627. .method protected updateSpnDisplay()V
  12628. .registers 11
  12629.  
  12630. .prologue
  12631. const/4 v9, 0x0
  12632.  
  12633. const/4 v8, 0x1
  12634.  
  12635. .line 993
  12636. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  12637.  
  12638. iget-object v6, v6, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  12639.  
  12640. iget-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12641.  
  12642. invoke-virtual {v7}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  12643.  
  12644. move-result-object v7
  12645.  
  12646. invoke-virtual {v6, v7}, Lcom/android/internal/telephony/gsm/SIMRecords;->getDisplayRule(Ljava/lang/String;)I
  12647.  
  12648. move-result v2
  12649.  
  12650. .line 994
  12651. .local v2, rule:I
  12652. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  12653.  
  12654. iget-object v6, v6, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  12655.  
  12656. invoke-virtual {v6}, Lcom/android/internal/telephony/gsm/SIMRecords;->getServiceProviderName()Ljava/lang/String;
  12657.  
  12658. move-result-object v5
  12659.  
  12660. .line 995
  12661. .local v5, spn:Ljava/lang/String;
  12662. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
  12663.  
  12664. invoke-virtual {v6}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
  12665.  
  12666. move-result-object v1
  12667.  
  12668. .line 998
  12669. .local v1, plmn:Ljava/lang/String;
  12670. iget-boolean v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
  12671.  
  12672. if-eqz v6, :cond_3d
  12673.  
  12674. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
  12675.  
  12676. invoke-interface {v6}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
  12677.  
  12678. move-result-object v6
  12679.  
  12680. invoke-virtual {v6}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
  12681.  
  12682. move-result v6
  12683.  
  12684. if-eqz v6, :cond_3d
  12685.  
  12686. .line 999
  12687. invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
  12688.  
  12689. move-result-object v6
  12690.  
  12691. const v7, 0x10402d7
  12692.  
  12693. invoke-virtual {v6, v7}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
  12694.  
  12695. move-result-object v6
  12696.  
  12697. invoke-virtual {v6}, Ljava/lang/Object;->toString()Ljava/lang/String;
  12698.  
  12699. move-result-object v1
  12700.  
  12701. .line 1003
  12702. :cond_3d
  12703. iget v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
  12704.  
  12705. if-ne v2, v6, :cond_51
  12706.  
  12707. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  12708.  
  12709. invoke-static {v5, v6}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
  12710.  
  12711. move-result v6
  12712.  
  12713. if-eqz v6, :cond_51
  12714.  
  12715. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  12716.  
  12717. invoke-static {v1, v6}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
  12718.  
  12719. move-result v6
  12720.  
  12721. if-nez v6, :cond_8d
  12722.  
  12723. .line 1006
  12724. :cond_51
  12725. iget-boolean v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
  12726.  
  12727. if-nez v6, :cond_97
  12728.  
  12729. and-int/lit8 v6, v2, 0x1
  12730.  
  12731. if-ne v6, v8, :cond_97
  12732.  
  12733. move v4, v8
  12734.  
  12735. .line 1008
  12736. .local v4, showSpn:Z
  12737. :goto_5a
  12738. and-int/lit8 v6, v2, 0x2
  12739.  
  12740. const/4 v7, 0x2
  12741.  
  12742. if-ne v6, v7, :cond_99
  12743.  
  12744. move v3, v8
  12745.  
  12746. .line 1011
  12747. .local v3, showPlmn:Z
  12748. :goto_60
  12749. new-instance v0, Landroid/content/Intent;
  12750.  
  12751. const-string v6, "android.provider.Telephony.SPN_STRINGS_UPDATED"
  12752.  
  12753. invoke-direct {v0, v6}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  12754.  
  12755. .line 1012
  12756. .local v0, intent:Landroid/content/Intent;
  12757. const/high16 v6, 0x2000
  12758.  
  12759. invoke-virtual {v0, v6}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
  12760.  
  12761. .line 1013
  12762. const-string/jumbo v6, "showSpn"
  12763.  
  12764. invoke-virtual {v0, v6, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
  12765.  
  12766. .line 1014
  12767. const-string/jumbo v6, "spn"
  12768.  
  12769. invoke-virtual {v0, v6, v5}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
  12770.  
  12771. .line 1015
  12772. const-string/jumbo v6, "showPlmn"
  12773.  
  12774. invoke-virtual {v0, v6, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
  12775.  
  12776. .line 1016
  12777. const-string/jumbo v6, "plmn"
  12778.  
  12779. invoke-virtual {v0, v6, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
  12780.  
  12781. .line 1017
  12782. iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  12783.  
  12784. invoke-virtual {v6}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
  12785.  
  12786. move-result-object v6
  12787.  
  12788. invoke-virtual {v6, v0}, Landroid/content/Context;->sendStickyBroadcast(Landroid/content/Intent;)V
  12789.  
  12790. .line 1020
  12791. .end local v0 #intent:Landroid/content/Intent;
  12792. .end local v3 #showPlmn:Z
  12793. .end local v4 #showSpn:Z
  12794. :cond_8d
  12795. iput v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
  12796.  
  12797. .line 1021
  12798. iput-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
  12799.  
  12800. .line 1022
  12801. iput-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
  12802.  
  12803. .line 1024
  12804. invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateOperatorInfo()V
  12805.  
  12806. .line 1026
  12807. return-void
  12808.  
  12809. :cond_97
  12810. move v4, v9
  12811.  
  12812. .line 1006
  12813. goto :goto_5a
  12814.  
  12815. .restart local v4 #showSpn:Z
  12816. :cond_99
  12817. move v3, v9
  12818.  
  12819. .line 1008
  12820. goto :goto_60
  12821. .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement