Merge branch 'master' of https://github.com/mateor/auto-patcher
[auto-patcher.git] / patches / openpdroid / 4.2 / provisionals / system / framework / telephony-common.jar.out / smali / com / android / internal / telephony / gsm / GsmServiceStateTracker.smali
blob771a127bf9e78fee9a55315398391b7423850ae1
1 .class final Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;
2 .super Lcom/android/internal/telephony/ServiceStateTracker;
3 .source "GsmServiceStateTracker.java"
6 # annotations
7 .annotation system Ldalvik/annotation/MemberClasses;
8     value = {
9         Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$4;
10     }
11 .end annotation
14 # static fields
15 .field static final CS_DISABLED:I = 0x3ec
17 .field static final CS_EMERGENCY_ENABLED:I = 0x3ee
19 .field static final CS_ENABLED:I = 0x3eb
21 .field static final CS_NORMAL_ENABLED:I = 0x3ed
23 .field static final CS_NOTIFICATION:I = 0x3e7
25 .field static final DBG:Z = true
27 .field static final DEFAULT_GPRS_CHECK_PERIOD_MILLIS:I = 0xea60
29 .field static final LOG_TAG:Ljava/lang/String; = "GSM"
31 .field static final PS_DISABLED:I = 0x3ea
33 .field static final PS_ENABLED:I = 0x3e9
35 .field static final PS_NOTIFICATION:I = 0x378
37 .field private static final WAKELOCK_TAG:Ljava/lang/String; = "ServiceStateTracker"
40 # instance fields
41 .field cellLoc:Landroid/telephony/gsm/GsmCellLocation;
43 .field private cr:Landroid/content/ContentResolver;
45 .field private curPlmn:Ljava/lang/String;
47 .field private curShowPlmn:Z
49 .field private curShowSpn:Z
51 .field private curSpn:Ljava/lang/String;
53 .field private gprsState:I
55 .field private mAutoTimeObserver:Landroid/database/ContentObserver;
57 .field private mAutoTimeZoneObserver:Landroid/database/ContentObserver;
59 .field private mDataRoaming:Z
61 .field private mEmergencyOnly:Z
63 .field private mGotCountryCode:Z
65 .field private mGsmRoaming:Z
67 .field private mIntentReceiver:Landroid/content/BroadcastReceiver;
69 .field private mMaxDataCalls:I
71 .field private mNeedFixZoneAfterNitz:Z
73 .field private mNewMaxDataCalls:I
75 .field private mNewReasonDataDenied:I
77 .field private mNitzUpdatedTime:Z
79 .field private mNotification:Landroid/app/Notification;
81 .field mPreferredNetworkType:I
83 .field private mReasonDataDenied:I
85 .field private mReportedGprsNoReg:Z
87 .field mSavedAtTime:J
89 .field mSavedTime:J
91 .field mSavedTimeZone:Ljava/lang/String;
93 .field private mStartedGprsRegCheck:Z
95 .field private mWakeLock:Landroid/os/PowerManager$WakeLock;
97 .field private mZoneDst:Z
99 .field private mZoneOffset:I
101 .field private mZoneTime:J
103 .field newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
105 .field private newGPRSState:I
107 .field phone:Lcom/android/internal/telephony/gsm/GSMPhone;
110 # direct methods
111 .method public constructor <init>(Lcom/android/internal/telephony/gsm/GSMPhone;)V
112     .registers 11
114     const/4 v8, -0x1
116     const/4 v7, 0x0
118     const/4 v4, 0x1
120     const/4 v3, 0x0
122     iget-object v5, p1, Lcom/android/internal/telephony/gsm/GSMPhone;->mCM:Lcom/android/internal/telephony/CommandsInterface;
124     new-instance v6, Landroid/telephony/CellInfoGsm;
126     invoke-direct {v6}, Landroid/telephony/CellInfoGsm;-><init>()V
128     invoke-direct {p0, p1, v5, v6}, Lcom/android/internal/telephony/ServiceStateTracker;-><init>(Lcom/android/internal/telephony/PhoneBase;Lcom/android/internal/telephony/CommandsInterface;Landroid/telephony/CellInfo;)V
130     iput v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
132     iput v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
134     iput v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMaxDataCalls:I
136     iput v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
138     iput v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReasonDataDenied:I
140     iput v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
142     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
144     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
146     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
148     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZoneAfterNitz:Z
150     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
152     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
154     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
156     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
158     iput-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
160     iput-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
162     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curShowPlmn:Z
164     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curShowSpn:Z
166     new-instance v5, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$1;
168     invoke-direct {v5, p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$1;-><init>(Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;)V
170     iput-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIntentReceiver:Landroid/content/BroadcastReceiver;
172     new-instance v5, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$2;
174     new-instance v6, Landroid/os/Handler;
176     invoke-direct {v6}, Landroid/os/Handler;-><init>()V
178     invoke-direct {v5, p0, v6}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$2;-><init>(Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;Landroid/os/Handler;)V
180     iput-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeObserver:Landroid/database/ContentObserver;
182     new-instance v5, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$3;
184     new-instance v6, Landroid/os/Handler;
186     invoke-direct {v6}, Landroid/os/Handler;-><init>()V
188     invoke-direct {v5, p0, v6}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$3;-><init>(Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;Landroid/os/Handler;)V
190     iput-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeZoneObserver:Landroid/database/ContentObserver;
192     iput-object p1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
194     new-instance v5, Landroid/telephony/gsm/GsmCellLocation;
196     invoke-direct {v5}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
198     iput-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
200     new-instance v5, Landroid/telephony/gsm/GsmCellLocation;
202     invoke-direct {v5}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
204     iput-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
206     invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
208     move-result-object v5
210     const-string v6, "power"
212     invoke-virtual {v5, v6}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
214     move-result-object v2
216     check-cast v2, Landroid/os/PowerManager;
218     const-string v5, "ServiceStateTracker"
220     invoke-virtual {v2, v4, v5}, Landroid/os/PowerManager;->newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;
222     move-result-object v5
224     iput-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
226     iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
228     const/16 v6, 0xd
230     invoke-interface {v5, p0, v6, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
232     iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
234     invoke-interface {v5, p0, v4, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForRadioStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
236     iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
238     const/4 v6, 0x2
240     invoke-interface {v5, p0, v6, v7}, Lcom/android/internal/telephony/CommandsInterface;->registerForVoiceNetworkStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
242     iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
244     const/16 v6, 0xb
246     invoke-interface {v5, p0, v6, v7}, Lcom/android/internal/telephony/CommandsInterface;->setOnNITZTime(Landroid/os/Handler;ILjava/lang/Object;)V
248     iget-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
250     const/16 v6, 0x17
252     invoke-interface {v5, p0, v6, v7}, Lcom/android/internal/telephony/CommandsInterface;->setOnRestrictedStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
254     invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
256     move-result-object v5
258     invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
260     move-result-object v5
262     const-string v6, "airplane_mode_on"
264     invoke-static {v5, v6, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
266     move-result v0
268     if-gtz v0, :cond_a6
270     move v3, v4
272     :cond_a6
273     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDesiredPowerState:Z
275     invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
277     move-result-object v3
279     invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
281     move-result-object v3
283     iput-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cr:Landroid/content/ContentResolver;
285     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cr:Landroid/content/ContentResolver;
287     const-string v5, "auto_time"
289     invoke-static {v5}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
291     move-result-object v5
293     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeObserver:Landroid/database/ContentObserver;
295     invoke-virtual {v3, v5, v4, v6}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
297     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cr:Landroid/content/ContentResolver;
299     const-string v5, "auto_time_zone"
301     invoke-static {v5}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
303     move-result-object v5
305     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeZoneObserver:Landroid/database/ContentObserver;
307     invoke-virtual {v3, v5, v4, v6}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
309     invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setSignalStrengthDefaultValues()V
311     new-instance v1, Landroid/content/IntentFilter;
313     invoke-direct {v1}, Landroid/content/IntentFilter;-><init>()V
315     const-string v3, "android.intent.action.LOCALE_CHANGED"
317     invoke-virtual {v1, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
319     invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
321     move-result-object v3
323     iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIntentReceiver:Landroid/content/BroadcastReceiver;
325     invoke-virtual {v3, v4, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
327     const/4 v3, 0x3
329     invoke-virtual {p1, v3}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyOtaspChanged(I)V
331     return-void
332 .end method
334 .method static synthetic access$000(Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;)V
335     .registers 1
337     invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->revertToNitzTime()V
339     return-void
340 .end method
342 .method static synthetic access$100(Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;)V
343     .registers 1
345     invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->revertToNitzTimeZone()V
347     return-void
348 .end method
350 .method private static displayNameFor(I)Ljava/lang/String;
351     .registers 7
353     const/4 v5, 0x3
355     div-int/lit16 v3, p0, 0x3e8
357     div-int/lit8 p0, v3, 0x3c
359     const/16 v3, 0x9
361     new-array v0, v3, [C
363     const/4 v3, 0x0
365     const/16 v4, 0x47
367     aput-char v4, v0, v3
369     const/4 v3, 0x1
371     const/16 v4, 0x4d
373     aput-char v4, v0, v3
375     const/4 v3, 0x2
377     const/16 v4, 0x54
379     aput-char v4, v0, v3
381     if-gez p0, :cond_4f
383     const/16 v3, 0x2d
385     aput-char v3, v0, v5
387     neg-int p0, p0
389     :goto_1f
390     div-int/lit8 v1, p0, 0x3c
392     rem-int/lit8 v2, p0, 0x3c
394     const/4 v3, 0x4
396     div-int/lit8 v4, v1, 0xa
398     add-int/lit8 v4, v4, 0x30
400     int-to-char v4, v4
402     aput-char v4, v0, v3
404     const/4 v3, 0x5
406     rem-int/lit8 v4, v1, 0xa
408     add-int/lit8 v4, v4, 0x30
410     int-to-char v4, v4
412     aput-char v4, v0, v3
414     const/4 v3, 0x6
416     const/16 v4, 0x3a
418     aput-char v4, v0, v3
420     const/4 v3, 0x7
422     div-int/lit8 v4, v2, 0xa
424     add-int/lit8 v4, v4, 0x30
426     int-to-char v4, v4
428     aput-char v4, v0, v3
430     const/16 v3, 0x8
432     rem-int/lit8 v4, v2, 0xa
434     add-int/lit8 v4, v4, 0x30
436     int-to-char v4, v4
438     aput-char v4, v0, v3
440     new-instance v3, Ljava/lang/String;
442     invoke-direct {v3, v0}, Ljava/lang/String;-><init>([C)V
444     return-object v3
446     :cond_4f
447     const/16 v3, 0x2b
449     aput-char v3, v0, v5
451     goto :goto_1f
452 .end method
454 .method private findTimeZone(IZJ)Ljava/util/TimeZone;
455     .registers 15
457     move v5, p1
459     if-eqz p2, :cond_7
461     const v9, 0x36ee80
463     sub-int/2addr v5, v9
465     :cond_7
466     invoke-static {v5}, Ljava/util/TimeZone;->getAvailableIDs(I)[Ljava/lang/String;
468     move-result-object v8
470     const/4 v2, 0x0
472     new-instance v1, Ljava/util/Date;
474     invoke-direct {v1, p3, p4}, Ljava/util/Date;-><init>(J)V
476     move-object v0, v8
478     array-length v4, v0
480     const/4 v3, 0x0
482     :goto_14
483     if-ge v3, v4, :cond_29
485     aget-object v7, v0, v3
487     invoke-static {v7}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
489     move-result-object v6
491     invoke-virtual {v6, p3, p4}, Ljava/util/TimeZone;->getOffset(J)I
493     move-result v9
495     if-ne v9, p1, :cond_2a
497     invoke-virtual {v6, v1}, Ljava/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
499     move-result v9
501     if-ne v9, p2, :cond_2a
503     move-object v2, v6
505     :cond_29
506     return-object v2
508     :cond_2a
509     add-int/lit8 v3, v3, 0x1
511     goto :goto_14
512 .end method
514 .method private getAutoTime()Z
515     .registers 5
517     const/4 v1, 0x1
519     :try_start_1
520     iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
522     invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
524     move-result-object v2
526     invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
528     move-result-object v2
530     const-string v3, "auto_time"
532     invoke-static {v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
533     :try_end_10
534     .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_1 .. :try_end_10} :catch_16
536     move-result v2
538     if-lez v2, :cond_14
540     :goto_13
541     return v1
543     :cond_14
544     const/4 v1, 0x0
546     goto :goto_13
548     :catch_16
549     move-exception v0
551     goto :goto_13
552 .end method
554 .method private getAutoTimeZone()Z
555     .registers 5
557     const/4 v1, 0x1
559     :try_start_1
560     iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
562     invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
564     move-result-object v2
566     invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
568     move-result-object v2
570     const-string v3, "auto_time_zone"
572     invoke-static {v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
573     :try_end_10
574     .catch Landroid/provider/Settings$SettingNotFoundException; {:try_start_1 .. :try_end_10} :catch_16
576     move-result v2
578     if-lez v2, :cond_14
580     :goto_13
581     return v1
583     :cond_14
584     const/4 v1, 0x0
586     goto :goto_13
588     :catch_16
589     move-exception v0
591     goto :goto_13
592 .end method
594 .method private getNitzTimeZone(IZJ)Ljava/util/TimeZone;
595     .registers 8
597     invoke-direct {p0, p1, p2, p3, p4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->findTimeZone(IZJ)Ljava/util/TimeZone;
599     move-result-object v0
601     if-nez v0, :cond_d
603     if-nez p2, :cond_27
605     const/4 v1, 0x1
607     :goto_9
608     invoke-direct {p0, p1, v1, p3, p4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->findTimeZone(IZJ)Ljava/util/TimeZone;
610     move-result-object v0
612     :cond_d
613     new-instance v1, Ljava/lang/StringBuilder;
615     invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
617     const-string v2, "getNitzTimeZone returning "
619     invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
621     move-result-object v2
623     if-nez v0, :cond_29
625     move-object v1, v0
627     :goto_1b
628     invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
630     move-result-object v1
632     invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
634     move-result-object v1
636     invoke-virtual {p0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
638     return-object v0
640     :cond_27
641     const/4 v1, 0x0
643     goto :goto_9
645     :cond_29
646     invoke-virtual {v0}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
648     move-result-object v1
650     goto :goto_1b
651 .end method
653 .method private isGprsConsistent(II)Z
654     .registers 4
656     if-nez p2, :cond_4
658     if-nez p1, :cond_6
660     :cond_4
661     const/4 v0, 0x1
663     :goto_5
664     return v0
666     :cond_6
667     const/4 v0, 0x0
669     goto :goto_5
670 .end method
672 .method private isRoamingBetweenOperators(ZLandroid/telephony/ServiceState;)Z
673     .registers 15
675     const-string v9, "gsm.sim.operator.alpha"
677     const-string v10, "empty"
679     invoke-static {v9, v10}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
681     move-result-object v8
683     invoke-virtual {p2}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
685     move-result-object v4
687     invoke-virtual {p2}, Landroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
689     move-result-object v5
691     if-eqz v4, :cond_60
693     invoke-virtual {v8, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
695     move-result v9
697     if-eqz v9, :cond_60
699     const/4 v1, 0x1
701     :goto_19
702     if-eqz v5, :cond_62
704     invoke-virtual {v8, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
706     move-result v9
708     if-eqz v9, :cond_62
710     const/4 v2, 0x1
712     :goto_22
713     const-string v9, "gsm.sim.operator.numeric"
715     const-string v10, ""
717     invoke-static {v9, v10}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
719     move-result-object v7
721     invoke-virtual {p2}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
723     move-result-object v6
725     const/4 v0, 0x1
727     const/4 v9, 0x0
729     const/4 v10, 0x3
731     :try_start_31
732     invoke-virtual {v7, v9, v10}, Ljava/lang/String;->substring(II)Ljava/lang/String;
734     move-result-object v9
736     const/4 v10, 0x0
738     const/4 v11, 0x3
740     invoke-virtual {v6, v10, v11}, Ljava/lang/String;->substring(II)Ljava/lang/String;
742     move-result-object v10
744     invoke-virtual {v9, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
745     :try_end_3e
746     .catch Ljava/lang/Exception; {:try_start_31 .. :try_end_3e} :catch_68
748     move-result v0
750     :goto_3f
751     iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
753     invoke-virtual {v9}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
755     move-result-object v9
757     invoke-virtual {v9}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
759     move-result-object v9
761     const-string v10, "mvno_roaming"
763     const/4 v11, 0x0
765     invoke-static {v9, v10, v11}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
767     move-result v9
769     const/4 v10, 0x1
771     if-ne v9, v10, :cond_64
773     const/4 v3, 0x1
775     :goto_54
776     if-eqz p1, :cond_66
778     if-eqz v0, :cond_5e
780     if-nez v1, :cond_66
782     if-nez v2, :cond_66
784     if-nez v3, :cond_66
786     :cond_5e
787     const/4 v9, 0x1
789     :goto_5f
790     return v9
792     :cond_60
793     const/4 v1, 0x0
795     goto :goto_19
797     :cond_62
798     const/4 v2, 0x0
800     goto :goto_22
802     :cond_64
803     const/4 v3, 0x0
805     goto :goto_54
807     :cond_66
808     const/4 v9, 0x0
810     goto :goto_5f
812     :catch_68
813     move-exception v9
815     goto :goto_3f
816 .end method
818 .method private onRestrictedStateChanged(Landroid/os/AsyncResult;)V
819     .registers 12
821     const/16 v9, 0x3ed
823     const/16 v8, 0x3ec
825     const/16 v7, 0x3eb
827     const/4 v5, 0x1
829     const/4 v4, 0x0
831     new-instance v1, Lcom/android/internal/telephony/RestrictedState;
833     invoke-direct {v1}, Lcom/android/internal/telephony/RestrictedState;-><init>()V
835     new-instance v3, Ljava/lang/StringBuilder;
837     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
839     const-string v6, "onRestrictedStateChanged: E rs "
841     invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
843     move-result-object v3
845     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
847     invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
849     move-result-object v3
851     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
853     move-result-object v3
855     invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
857     iget-object v3, p1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
859     if-nez v3, :cond_a0
861     iget-object v3, p1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
863     check-cast v3, [I
865     move-object v0, v3
867     check-cast v0, [I
869     aget v2, v0, v4
871     and-int/lit8 v3, v2, 0x1
873     if-nez v3, :cond_3a
875     and-int/lit8 v3, v2, 0x4
877     if-eqz v3, :cond_b9
879     :cond_3a
880     move v3, v5
882     :goto_3b
883     invoke-virtual {v1, v3}, Lcom/android/internal/telephony/RestrictedState;->setCsEmergencyRestricted(Z)V
885     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
887     if-eqz v3, :cond_5f
889     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
891     invoke-virtual {v3}, Lcom/android/internal/telephony/UiccCardApplication;->getState()Lcom/android/internal/telephony/IccCardApplicationStatus$AppState;
893     move-result-object v3
895     sget-object v6, Lcom/android/internal/telephony/IccCardApplicationStatus$AppState;->APPSTATE_READY:Lcom/android/internal/telephony/IccCardApplicationStatus$AppState;
897     if-ne v3, v6, :cond_5f
899     and-int/lit8 v3, v2, 0x2
901     if-nez v3, :cond_54
903     and-int/lit8 v3, v2, 0x4
905     if-eqz v3, :cond_bb
907     :cond_54
908     move v3, v5
910     :goto_55
911     invoke-virtual {v1, v3}, Lcom/android/internal/telephony/RestrictedState;->setCsNormalRestricted(Z)V
913     and-int/lit8 v3, v2, 0x10
915     if-eqz v3, :cond_bd
917     :goto_5c
918     invoke-virtual {v1, v5}, Lcom/android/internal/telephony/RestrictedState;->setPsRestricted(Z)V
920     :cond_5f
921     new-instance v3, Ljava/lang/StringBuilder;
923     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
925     const-string v4, "onRestrictedStateChanged: new rs "
927     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
929     move-result-object v3
931     invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
933     move-result-object v3
935     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
937     move-result-object v3
939     invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
941     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
943     invoke-virtual {v3}, Lcom/android/internal/telephony/RestrictedState;->isPsRestricted()Z
945     move-result v3
947     if-nez v3, :cond_bf
949     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isPsRestricted()Z
951     move-result v3
953     if-eqz v3, :cond_bf
955     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPsRestrictEnabledRegistrants:Landroid/os/RegistrantList;
957     invoke-virtual {v3}, Landroid/os/RegistrantList;->notifyRegistrants()V
959     const/16 v3, 0x3e9
961     invoke-direct {p0, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
963     :cond_8d
964     :goto_8d
965     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
967     invoke-virtual {v3}, Lcom/android/internal/telephony/RestrictedState;->isCsRestricted()Z
969     move-result v3
971     if-eqz v3, :cond_ee
973     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsRestricted()Z
975     move-result v3
977     if-nez v3, :cond_d8
979     invoke-direct {p0, v8}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
981     :cond_9e
982     :goto_9e
983     iput-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
985     :cond_a0
986     new-instance v3, Ljava/lang/StringBuilder;
988     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
990     const-string v4, "onRestrictedStateChanged: X rs "
992     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
994     move-result-object v3
996     iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
998     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1000     move-result-object v3
1002     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1004     move-result-object v3
1006     invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
1008     return-void
1010     :cond_b9
1011     move v3, v4
1013     goto :goto_3b
1015     :cond_bb
1016     move v3, v4
1018     goto :goto_55
1020     :cond_bd
1021     move v5, v4
1023     goto :goto_5c
1025     :cond_bf
1026     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
1028     invoke-virtual {v3}, Lcom/android/internal/telephony/RestrictedState;->isPsRestricted()Z
1030     move-result v3
1032     if-eqz v3, :cond_8d
1034     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isPsRestricted()Z
1036     move-result v3
1038     if-nez v3, :cond_8d
1040     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPsRestrictDisabledRegistrants:Landroid/os/RegistrantList;
1042     invoke-virtual {v3}, Landroid/os/RegistrantList;->notifyRegistrants()V
1044     const/16 v3, 0x3ea
1046     invoke-direct {p0, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1048     goto :goto_8d
1050     :cond_d8
1051     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsNormalRestricted()Z
1053     move-result v3
1055     if-nez v3, :cond_e4
1057     const/16 v3, 0x3ee
1059     invoke-direct {p0, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1061     goto :goto_9e
1063     :cond_e4
1064     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsEmergencyRestricted()Z
1066     move-result v3
1068     if-nez v3, :cond_9e
1070     invoke-direct {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1072     goto :goto_9e
1074     :cond_ee
1075     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
1077     invoke-virtual {v3}, Lcom/android/internal/telephony/RestrictedState;->isCsEmergencyRestricted()Z
1079     move-result v3
1081     if-eqz v3, :cond_11c
1083     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
1085     invoke-virtual {v3}, Lcom/android/internal/telephony/RestrictedState;->isCsNormalRestricted()Z
1087     move-result v3
1089     if-nez v3, :cond_11c
1091     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsRestricted()Z
1093     move-result v3
1095     if-nez v3, :cond_108
1097     invoke-direct {p0, v8}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1099     goto :goto_9e
1101     :cond_108
1102     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsRestricted()Z
1104     move-result v3
1106     if-eqz v3, :cond_112
1108     invoke-direct {p0, v7}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1110     goto :goto_9e
1112     :cond_112
1113     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsNormalRestricted()Z
1115     move-result v3
1117     if-eqz v3, :cond_9e
1119     invoke-direct {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1121     goto :goto_9e
1123     :cond_11c
1124     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
1126     invoke-virtual {v3}, Lcom/android/internal/telephony/RestrictedState;->isCsEmergencyRestricted()Z
1128     move-result v3
1130     if-nez v3, :cond_14f
1132     iget-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRestrictedState:Lcom/android/internal/telephony/RestrictedState;
1134     invoke-virtual {v3}, Lcom/android/internal/telephony/RestrictedState;->isCsNormalRestricted()Z
1136     move-result v3
1138     if-eqz v3, :cond_14f
1140     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsRestricted()Z
1142     move-result v3
1144     if-nez v3, :cond_137
1146     invoke-direct {p0, v8}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1148     goto/16 :goto_9e
1150     :cond_137
1151     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsRestricted()Z
1153     move-result v3
1155     if-eqz v3, :cond_142
1157     invoke-direct {p0, v7}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1159     goto/16 :goto_9e
1161     :cond_142
1162     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsEmergencyRestricted()Z
1164     move-result v3
1166     if-eqz v3, :cond_9e
1168     const/16 v3, 0x3ee
1170     invoke-direct {p0, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1172     goto/16 :goto_9e
1174     :cond_14f
1175     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsRestricted()Z
1177     move-result v3
1179     if-eqz v3, :cond_15a
1181     invoke-direct {p0, v7}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1183     goto/16 :goto_9e
1185     :cond_15a
1186     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsEmergencyRestricted()Z
1188     move-result v3
1190     if-eqz v3, :cond_167
1192     const/16 v3, 0x3ee
1194     invoke-direct {p0, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1196     goto/16 :goto_9e
1198     :cond_167
1199     invoke-virtual {v1}, Lcom/android/internal/telephony/RestrictedState;->isCsNormalRestricted()Z
1201     move-result v3
1203     if-eqz v3, :cond_9e
1205     invoke-direct {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setNotification(I)V
1207     goto/16 :goto_9e
1208 .end method
1210 .method private pollState()V
1211     .registers 5
1213     const/4 v3, 0x0
1215     const/4 v0, 0x1
1217     new-array v0, v0, [I
1219     iput-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1221     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1223     aput v3, v0, v3
1225     sget-object v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker$4;->$SwitchMap$com$android$internal$telephony$CommandsInterface$RadioState:[I
1227     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
1229     invoke-interface {v1}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
1231     move-result-object v1
1233     invoke-virtual {v1}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->ordinal()I
1235     move-result v1
1237     aget v0, v0, v1
1239     packed-switch v0, :pswitch_data_98
1241     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1243     aget v1, v0, v3
1245     add-int/lit8 v1, v1, 0x1
1247     aput v1, v0, v3
1249     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
1251     const/4 v1, 0x6
1253     iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1255     invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
1257     move-result-object v1
1259     invoke-interface {v0, v1}, Lcom/android/internal/telephony/CommandsInterface;->getOperator(Landroid/os/Message;)V
1261     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1263     aget v1, v0, v3
1265     add-int/lit8 v1, v1, 0x1
1267     aput v1, v0, v3
1269     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
1271     const/4 v1, 0x5
1273     iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1275     invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
1277     move-result-object v1
1279     invoke-interface {v0, v1}, Lcom/android/internal/telephony/CommandsInterface;->getDataRegistrationState(Landroid/os/Message;)V
1281     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1283     aget v1, v0, v3
1285     add-int/lit8 v1, v1, 0x1
1287     aput v1, v0, v3
1289     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
1291     const/4 v1, 0x4
1293     iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1295     invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
1297     move-result-object v1
1299     invoke-interface {v0, v1}, Lcom/android/internal/telephony/CommandsInterface;->getVoiceRegistrationState(Landroid/os/Message;)V
1301     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1303     aget v1, v0, v3
1305     add-int/lit8 v1, v1, 0x1
1307     aput v1, v0, v3
1309     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
1311     const/16 v1, 0xe
1313     iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
1315     invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
1317     move-result-object v1
1319     invoke-interface {v0, v1}, Lcom/android/internal/telephony/CommandsInterface;->getNetworkSelectionMode(Landroid/os/Message;)V
1321     :goto_6c
1322     return-void
1324     :pswitch_6d
1325     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1327     invoke-virtual {v0}, Landroid/telephony/ServiceState;->setStateOutOfService()V
1329     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
1331     invoke-virtual {v0}, Landroid/telephony/gsm/GsmCellLocation;->setStateInvalid()V
1333     invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setSignalStrengthDefaultValues()V
1335     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
1337     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
1339     invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollStateDone()V
1341     goto :goto_6c
1343     :pswitch_82
1344     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1346     invoke-virtual {v0}, Landroid/telephony/ServiceState;->setStateOff()V
1348     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
1350     invoke-virtual {v0}, Landroid/telephony/gsm/GsmCellLocation;->setStateInvalid()V
1352     invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setSignalStrengthDefaultValues()V
1354     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
1356     iput-boolean v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
1358     invoke-direct {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollStateDone()V
1360     goto :goto_6c
1362     nop
1364     :pswitch_data_98
1365     .packed-switch 0x1
1366         :pswitch_6d
1367         :pswitch_82
1368     .end packed-switch
1369 .end method
1371 .method private pollStateDone()V
1372     .registers 39
1374     new-instance v34, Ljava/lang/StringBuilder;
1376     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
1378     const-string v35, "Poll ServiceState done:  oldSS=["
1380     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1382     move-result-object v34
1384     move-object/from16 v0, p0
1386     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1388     move-object/from16 v35, v0
1390     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1392     move-result-object v34
1394     const-string v35, "] newSS=["
1396     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1398     move-result-object v34
1400     move-object/from16 v0, p0
1402     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1404     move-object/from16 v35, v0
1406     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1408     move-result-object v34
1410     const-string v35, "] oldGprs="
1412     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1414     move-result-object v34
1416     move-object/from16 v0, p0
1418     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
1420     move/from16 v35, v0
1422     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1424     move-result-object v34
1426     const-string v35, " newData="
1428     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1430     move-result-object v34
1432     move-object/from16 v0, p0
1434     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
1436     move/from16 v35, v0
1438     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1440     move-result-object v34
1442     const-string v35, " oldMaxDataCalls="
1444     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1446     move-result-object v34
1448     move-object/from16 v0, p0
1450     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMaxDataCalls:I
1452     move/from16 v35, v0
1454     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1456     move-result-object v34
1458     const-string v35, " mNewMaxDataCalls="
1460     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1462     move-result-object v34
1464     move-object/from16 v0, p0
1466     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
1468     move/from16 v35, v0
1470     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1472     move-result-object v34
1474     const-string v35, " oldReasonDataDenied="
1476     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1478     move-result-object v34
1480     move-object/from16 v0, p0
1482     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReasonDataDenied:I
1484     move/from16 v35, v0
1486     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1488     move-result-object v34
1490     const-string v35, " mNewReasonDataDenied="
1492     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1494     move-result-object v34
1496     move-object/from16 v0, p0
1498     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
1500     move/from16 v35, v0
1502     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
1504     move-result-object v34
1506     const-string v35, " oldType="
1508     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1510     move-result-object v34
1512     move-object/from16 v0, p0
1514     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRilRadioTechnology:I
1516     move/from16 v35, v0
1518     invoke-static/range {v35 .. v35}, Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
1520     move-result-object v35
1522     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1524     move-result-object v34
1526     const-string v35, " newType="
1528     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1530     move-result-object v34
1532     move-object/from16 v0, p0
1534     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
1536     move/from16 v35, v0
1538     invoke-static/range {v35 .. v35}, Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
1540     move-result-object v35
1542     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1544     move-result-object v34
1546     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1548     move-result-object v34
1550     move-object/from16 v0, p0
1552     move-object/from16 v1, v34
1554     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
1556     move-object/from16 v0, p0
1558     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1560     move-object/from16 v34, v0
1562     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getState()I
1564     move-result v34
1566     if-eqz v34, :cond_484
1568     move-object/from16 v0, p0
1570     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1572     move-object/from16 v34, v0
1574     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getState()I
1576     move-result v34
1578     if-nez v34, :cond_484
1580     const/16 v18, 0x1
1582     :goto_d2
1583     move-object/from16 v0, p0
1585     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1587     move-object/from16 v34, v0
1589     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getState()I
1591     move-result v34
1593     if-nez v34, :cond_488
1595     move-object/from16 v0, p0
1597     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1599     move-object/from16 v34, v0
1601     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getState()I
1603     move-result v34
1605     if-eqz v34, :cond_488
1607     const/4 v13, 0x1
1609     :goto_eb
1610     move-object/from16 v0, p0
1612     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
1614     move/from16 v34, v0
1616     if-eqz v34, :cond_48b
1618     move-object/from16 v0, p0
1620     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
1622     move/from16 v34, v0
1624     if-nez v34, :cond_48b
1626     const/4 v14, 0x1
1628     :goto_fc
1629     move-object/from16 v0, p0
1631     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
1633     move/from16 v34, v0
1635     if-nez v34, :cond_48e
1637     move-object/from16 v0, p0
1639     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
1641     move/from16 v34, v0
1643     if-eqz v34, :cond_48e
1645     const/4 v15, 0x1
1647     :goto_10d
1648     move-object/from16 v0, p0
1650     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRilRadioTechnology:I
1652     move/from16 v34, v0
1654     move-object/from16 v0, p0
1656     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
1658     move/from16 v35, v0
1660     move/from16 v0, v34
1662     move/from16 v1, v35
1664     if-eq v0, v1, :cond_491
1666     const/16 v17, 0x1
1668     :goto_121
1669     move-object/from16 v0, p0
1671     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1673     move-object/from16 v34, v0
1675     move-object/from16 v0, p0
1677     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1679     move-object/from16 v35, v0
1681     invoke-virtual/range {v34 .. v35}, Landroid/telephony/ServiceState;->equals(Ljava/lang/Object;)Z
1683     move-result v34
1685     if-nez v34, :cond_495
1687     const/4 v12, 0x1
1689     :goto_134
1690     move-object/from16 v0, p0
1692     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1694     move-object/from16 v34, v0
1696     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getRoaming()Z
1698     move-result v34
1700     if-nez v34, :cond_498
1702     move-object/from16 v0, p0
1704     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1706     move-object/from16 v34, v0
1708     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getRoaming()Z
1710     move-result v34
1712     if-eqz v34, :cond_498
1714     const/16 v20, 0x1
1716     :goto_14e
1717     move-object/from16 v0, p0
1719     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1721     move-object/from16 v34, v0
1723     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getRoaming()Z
1725     move-result v34
1727     if-eqz v34, :cond_49c
1729     move-object/from16 v0, p0
1731     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1733     move-object/from16 v34, v0
1735     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getRoaming()Z
1737     move-result v34
1739     if-nez v34, :cond_49c
1741     const/16 v19, 0x1
1743     :goto_168
1744     move-object/from16 v0, p0
1746     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
1748     move-object/from16 v34, v0
1750     move-object/from16 v0, p0
1752     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
1754     move-object/from16 v35, v0
1756     invoke-virtual/range {v34 .. v35}, Landroid/telephony/gsm/GsmCellLocation;->equals(Ljava/lang/Object;)Z
1758     move-result v34
1760     if-nez v34, :cond_4a0
1762     const/16 v16, 0x1
1764     :goto_17c
1765     move-object/from16 v0, p0
1767     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1769     move-object/from16 v34, v0
1771     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getState()I
1773     move-result v34
1775     move-object/from16 v0, p0
1777     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1779     move-object/from16 v35, v0
1781     invoke-virtual/range {v35 .. v35}, Landroid/telephony/ServiceState;->getState()I
1783     move-result v35
1785     move/from16 v0, v34
1787     move/from16 v1, v35
1789     if-ne v0, v1, :cond_1a8
1791     move-object/from16 v0, p0
1793     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
1795     move/from16 v34, v0
1797     move-object/from16 v0, p0
1799     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
1801     move/from16 v35, v0
1803     move/from16 v0, v34
1805     move/from16 v1, v35
1807     if-eq v0, v1, :cond_1f6
1809     :cond_1a8
1810     const v34, 0xc3c2
1812     const/16 v35, 0x4
1814     move/from16 v0, v35
1816     new-array v0, v0, [Ljava/lang/Object;
1818     move-object/from16 v35, v0
1820     const/16 v36, 0x0
1822     move-object/from16 v0, p0
1824     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1826     move-object/from16 v37, v0
1828     invoke-virtual/range {v37 .. v37}, Landroid/telephony/ServiceState;->getState()I
1830     move-result v37
1832     invoke-static/range {v37 .. v37}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1834     move-result-object v37
1836     aput-object v37, v35, v36
1838     const/16 v36, 0x1
1840     move-object/from16 v0, p0
1842     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
1844     move/from16 v37, v0
1846     invoke-static/range {v37 .. v37}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1848     move-result-object v37
1850     aput-object v37, v35, v36
1852     const/16 v36, 0x2
1854     move-object/from16 v0, p0
1856     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1858     move-object/from16 v37, v0
1860     invoke-virtual/range {v37 .. v37}, Landroid/telephony/ServiceState;->getState()I
1862     move-result v37
1864     invoke-static/range {v37 .. v37}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1866     move-result-object v37
1868     aput-object v37, v35, v36
1870     const/16 v36, 0x3
1872     move-object/from16 v0, p0
1874     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
1876     move/from16 v37, v0
1878     invoke-static/range {v37 .. v37}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1880     move-result-object v37
1882     aput-object v37, v35, v36
1884     invoke-static/range {v34 .. v35}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
1886     :cond_1f6
1887     move-object/from16 v0, p0
1889     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1891     move-object/from16 v28, v0
1893     move-object/from16 v0, p0
1895     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1897     move-object/from16 v34, v0
1899     move-object/from16 v0, v34
1901     move-object/from16 v1, p0
1903     iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
1905     move-object/from16 v0, v28
1907     move-object/from16 v1, p0
1909     iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1911     move-object/from16 v0, p0
1913     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
1915     move-object/from16 v34, v0
1917     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->setStateOutOfService()V
1919     move-object/from16 v0, p0
1921     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
1923     move-object/from16 v26, v0
1925     move-object/from16 v0, p0
1927     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
1929     move-object/from16 v34, v0
1931     move-object/from16 v0, v34
1933     move-object/from16 v1, p0
1935     iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
1937     move-object/from16 v0, v26
1939     move-object/from16 v1, p0
1941     iput-object v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
1943     if-eqz v17, :cond_2ba
1945     const/4 v8, -0x1
1947     move-object/from16 v0, p0
1949     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
1951     move-object/from16 v34, v0
1953     invoke-virtual/range {v34 .. v34}, Lcom/android/internal/telephony/gsm/GSMPhone;->getCellLocation()Landroid/telephony/CellLocation;
1955     move-result-object v22
1957     check-cast v22, Landroid/telephony/gsm/GsmCellLocation;
1959     if-eqz v22, :cond_244
1961     invoke-virtual/range {v22 .. v22}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I
1963     move-result v8
1965     :cond_244
1966     const v34, 0xc3c0
1968     const/16 v35, 0x3
1970     move/from16 v0, v35
1972     new-array v0, v0, [Ljava/lang/Object;
1974     move-object/from16 v35, v0
1976     const/16 v36, 0x0
1978     invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1980     move-result-object v37
1982     aput-object v37, v35, v36
1984     const/16 v36, 0x1
1986     move-object/from16 v0, p0
1988     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRilRadioTechnology:I
1990     move/from16 v37, v0
1992     invoke-static/range {v37 .. v37}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
1994     move-result-object v37
1996     aput-object v37, v35, v36
1998     const/16 v36, 0x2
2000     move-object/from16 v0, p0
2002     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
2004     move/from16 v37, v0
2006     invoke-static/range {v37 .. v37}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
2008     move-result-object v37
2010     aput-object v37, v35, v36
2012     invoke-static/range {v34 .. v35}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
2014     new-instance v34, Ljava/lang/StringBuilder;
2016     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
2018     const-string v35, "RAT switched "
2020     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2022     move-result-object v34
2024     move-object/from16 v0, p0
2026     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRilRadioTechnology:I
2028     move/from16 v35, v0
2030     invoke-static/range {v35 .. v35}, Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
2032     move-result-object v35
2034     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2036     move-result-object v34
2038     const-string v35, " -> "
2040     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2042     move-result-object v34
2044     move-object/from16 v0, p0
2046     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
2048     move/from16 v35, v0
2050     invoke-static/range {v35 .. v35}, Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
2052     move-result-object v35
2054     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2056     move-result-object v34
2058     const-string v35, " at cell "
2060     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2062     move-result-object v34
2064     move-object/from16 v0, v34
2066     invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2068     move-result-object v34
2070     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2072     move-result-object v34
2074     move-object/from16 v0, p0
2076     move-object/from16 v1, v34
2078     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
2080     :cond_2ba
2081     move-object/from16 v0, p0
2083     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
2085     move/from16 v34, v0
2087     move/from16 v0, v34
2089     move-object/from16 v1, p0
2091     iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
2093     move-object/from16 v0, p0
2095     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
2097     move/from16 v34, v0
2099     move/from16 v0, v34
2101     move-object/from16 v1, p0
2103     iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReasonDataDenied:I
2105     move-object/from16 v0, p0
2107     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
2109     move/from16 v34, v0
2111     move/from16 v0, v34
2113     move-object/from16 v1, p0
2115     iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMaxDataCalls:I
2117     move-object/from16 v0, p0
2119     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
2121     move/from16 v34, v0
2123     move/from16 v0, v34
2125     move-object/from16 v1, p0
2127     iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRilRadioTechnology:I
2129     const/16 v34, 0x0
2131     move/from16 v0, v34
2133     move-object/from16 v1, p0
2135     iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
2137     move-object/from16 v0, p0
2139     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
2141     move-object/from16 v34, v0
2143     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->setStateOutOfService()V
2145     if-eqz v17, :cond_312
2147     move-object/from16 v0, p0
2149     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2151     move-object/from16 v34, v0
2153     const-string v35, "gsm.network.type"
2155     move-object/from16 v0, p0
2157     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRilRadioTechnology:I
2159     move/from16 v36, v0
2161     invoke-static/range {v36 .. v36}, Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
2163     move-result-object v36
2165     invoke-virtual/range {v34 .. v36}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
2167     :cond_312
2168     if-eqz v18, :cond_34b
2170     move-object/from16 v0, p0
2172     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNetworkAttachedRegistrants:Landroid/os/RegistrantList;
2174     move-object/from16 v34, v0
2176     invoke-virtual/range {v34 .. v34}, Landroid/os/RegistrantList;->notifyRegistrants()V
2178     new-instance v34, Ljava/lang/StringBuilder;
2180     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
2182     const-string v35, "pollStateDone: registering current mNitzUpdatedTime="
2184     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2186     move-result-object v34
2188     move-object/from16 v0, p0
2190     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
2192     move/from16 v35, v0
2194     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
2196     move-result-object v34
2198     const-string v35, " changing to false"
2200     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2202     move-result-object v34
2204     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2206     move-result-object v34
2208     move-object/from16 v0, p0
2210     move-object/from16 v1, v34
2212     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
2214     const/16 v34, 0x0
2216     move/from16 v0, v34
2218     move-object/from16 v1, p0
2220     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
2222     :cond_34b
2223     if-eqz v12, :cond_3de
2225     invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateSpnDisplay()V
2227     move-object/from16 v0, p0
2229     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2231     move-object/from16 v34, v0
2233     const-string v35, "gsm.operator.alpha"
2235     move-object/from16 v0, p0
2237     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
2239     move-object/from16 v36, v0
2241     invoke-virtual/range {v36 .. v36}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
2243     move-result-object v36
2245     invoke-virtual/range {v34 .. v36}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
2247     const-string v34, "gsm.operator.numeric"
2249     const-string v35, ""
2251     invoke-static/range {v34 .. v35}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
2253     move-result-object v25
2255     move-object/from16 v0, p0
2257     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
2259     move-object/from16 v34, v0
2261     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
2263     move-result-object v24
2265     move-object/from16 v0, p0
2267     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2269     move-object/from16 v34, v0
2271     const-string v35, "gsm.operator.numeric"
2273     move-object/from16 v0, v34
2275     move-object/from16 v1, v35
2277     move-object/from16 v2, v24
2279     invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
2281     if-nez v24, :cond_4a4
2283     const-string v34, "operatorNumeric is null"
2285     move-object/from16 v0, p0
2287     move-object/from16 v1, v34
2289     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
2291     move-object/from16 v0, p0
2293     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2295     move-object/from16 v34, v0
2297     const-string v35, "gsm.operator.iso-country"
2299     const-string v36, ""
2301     invoke-virtual/range {v34 .. v36}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
2303     const/16 v34, 0x0
2305     move/from16 v0, v34
2307     move-object/from16 v1, p0
2309     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
2311     const/16 v34, 0x0
2313     move/from16 v0, v34
2315     move-object/from16 v1, p0
2317     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
2319     :cond_3b0
2320     :goto_3b0
2321     move-object/from16 v0, p0
2323     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2325     move-object/from16 v35, v0
2327     const-string v36, "gsm.operator.isroaming"
2329     move-object/from16 v0, p0
2331     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
2333     move-object/from16 v34, v0
2335     invoke-virtual/range {v34 .. v34}, Landroid/telephony/ServiceState;->getRoaming()Z
2337     move-result v34
2339     if-eqz v34, :cond_7da
2341     const-string v34, "true"
2343     :goto_3c6
2344     move-object/from16 v0, v35
2346     move-object/from16 v1, v36
2348     move-object/from16 v2, v34
2350     invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
2352     move-object/from16 v0, p0
2354     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2356     move-object/from16 v34, v0
2358     move-object/from16 v0, p0
2360     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
2362     move-object/from16 v35, v0
2364     invoke-virtual/range {v34 .. v35}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyServiceStateChanged(Landroid/telephony/ServiceState;)V
2366     :cond_3de
2367     if-eqz v14, :cond_3e9
2369     move-object/from16 v0, p0
2371     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAttachedRegistrants:Landroid/os/RegistrantList;
2373     move-object/from16 v34, v0
2375     invoke-virtual/range {v34 .. v34}, Landroid/os/RegistrantList;->notifyRegistrants()V
2377     :cond_3e9
2378     if-eqz v15, :cond_3f4
2380     move-object/from16 v0, p0
2382     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDetachedRegistrants:Landroid/os/RegistrantList;
2384     move-object/from16 v34, v0
2386     invoke-virtual/range {v34 .. v34}, Landroid/os/RegistrantList;->notifyRegistrants()V
2388     :cond_3f4
2389     if-eqz v17, :cond_401
2391     move-object/from16 v0, p0
2393     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2395     move-object/from16 v34, v0
2397     const-string v35, "nwTypeChanged"
2399     invoke-virtual/range {v34 .. v35}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyDataConnection(Ljava/lang/String;)V
2401     :cond_401
2402     if-eqz v20, :cond_40c
2404     move-object/from16 v0, p0
2406     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRoamingOnRegistrants:Landroid/os/RegistrantList;
2408     move-object/from16 v34, v0
2410     invoke-virtual/range {v34 .. v34}, Landroid/os/RegistrantList;->notifyRegistrants()V
2412     :cond_40c
2413     if-eqz v19, :cond_417
2415     move-object/from16 v0, p0
2417     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRoamingOffRegistrants:Landroid/os/RegistrantList;
2419     move-object/from16 v34, v0
2421     invoke-virtual/range {v34 .. v34}, Landroid/os/RegistrantList;->notifyRegistrants()V
2423     :cond_417
2424     if-eqz v16, :cond_422
2426     move-object/from16 v0, p0
2428     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2430     move-object/from16 v34, v0
2432     invoke-virtual/range {v34 .. v34}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyLocationChanged()V
2434     :cond_422
2435     move-object/from16 v0, p0
2437     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
2439     move/from16 v34, v0
2441     move-object/from16 v0, p0
2443     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
2445     move-object/from16 v35, v0
2447     invoke-virtual/range {v35 .. v35}, Landroid/telephony/ServiceState;->getState()I
2449     move-result v35
2451     move-object/from16 v0, p0
2453     move/from16 v1, v34
2455     move/from16 v2, v35
2457     invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isGprsConsistent(II)Z
2459     move-result v34
2461     if-nez v34, :cond_7de
2463     move-object/from16 v0, p0
2465     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
2467     move/from16 v34, v0
2469     if-nez v34, :cond_483
2471     move-object/from16 v0, p0
2473     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
2475     move/from16 v34, v0
2477     if-nez v34, :cond_483
2479     const/16 v34, 0x1
2481     move/from16 v0, v34
2483     move-object/from16 v1, p0
2485     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
2487     move-object/from16 v0, p0
2489     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2491     move-object/from16 v34, v0
2493     invoke-virtual/range {v34 .. v34}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
2495     move-result-object v34
2497     invoke-virtual/range {v34 .. v34}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2499     move-result-object v34
2501     const-string v35, "gprs_register_check_period_ms"
2503     const v36, 0xea60
2505     invoke-static/range {v34 .. v36}, Landroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
2507     move-result v7
2509     const/16 v34, 0x16
2511     move-object/from16 v0, p0
2513     move/from16 v1, v34
2515     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
2517     move-result-object v34
2519     int-to-long v0, v7
2521     move-wide/from16 v35, v0
2523     move-object/from16 v0, p0
2525     move-object/from16 v1, v34
2527     move-wide/from16 v2, v35
2529     invoke-virtual {v0, v1, v2, v3}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->sendMessageDelayed(Landroid/os/Message;J)Z
2531     :cond_483
2532     :goto_483
2533     return-void
2535     :cond_484
2536     const/16 v18, 0x0
2538     goto/16 :goto_d2
2540     :cond_488
2541     const/4 v13, 0x0
2543     goto/16 :goto_eb
2545     :cond_48b
2546     const/4 v14, 0x0
2548     goto/16 :goto_fc
2550     :cond_48e
2551     const/4 v15, 0x0
2553     goto/16 :goto_10d
2555     :cond_491
2556     const/16 v17, 0x0
2558     goto/16 :goto_121
2560     :cond_495
2561     const/4 v12, 0x0
2563     goto/16 :goto_134
2565     :cond_498
2566     const/16 v20, 0x0
2568     goto/16 :goto_14e
2570     :cond_49c
2571     const/16 v19, 0x0
2573     goto/16 :goto_168
2575     :cond_4a0
2576     const/16 v16, 0x0
2578     goto/16 :goto_17c
2580     :cond_4a4
2581     const-string v21, ""
2583     const-string v23, ""
2585     const/16 v34, 0x0
2587     const/16 v35, 0x3
2589     :try_start_4ac
2590     move-object/from16 v0, v24
2592     move/from16 v1, v34
2594     move/from16 v2, v35
2596     invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
2598     move-result-object v23
2600     invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
2602     move-result v34
2604     invoke-static/range {v34 .. v34}, Lcom/android/internal/telephony/MccTable;->countryCodeForMcc(I)Ljava/lang/String;
2605     :try_end_4bd
2606     .catch Ljava/lang/NumberFormatException; {:try_start_4ac .. :try_end_4bd} :catch_6dd
2607     .catch Ljava/lang/StringIndexOutOfBoundsException; {:try_start_4ac .. :try_end_4bd} :catch_6fc
2609     move-result-object v21
2611     :goto_4be
2612     move-object/from16 v0, p0
2614     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2616     move-object/from16 v34, v0
2618     const-string v35, "gsm.operator.iso-country"
2620     move-object/from16 v0, v34
2622     move-object/from16 v1, v35
2624     move-object/from16 v2, v21
2626     invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
2628     const/16 v34, 0x1
2630     move/from16 v0, v34
2632     move-object/from16 v1, p0
2634     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
2636     const/16 v32, 0x0
2638     move-object/from16 v0, p0
2640     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
2642     move/from16 v34, v0
2644     if-nez v34, :cond_576
2646     const-string v34, "000"
2648     move-object/from16 v0, v23
2650     move-object/from16 v1, v34
2652     invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2654     move-result v34
2656     if-nez v34, :cond_576
2658     invoke-static/range {v21 .. v21}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
2660     move-result v34
2662     if-nez v34, :cond_576
2664     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTimeZone()Z
2666     move-result v34
2668     if-eqz v34, :cond_576
2670     const-string v34, "telephony.test.ignore.nitz"
2672     const/16 v35, 0x0
2674     invoke-static/range {v34 .. v35}, Landroid/os/SystemProperties;->getBoolean(Ljava/lang/String;Z)Z
2676     move-result v34
2678     if-eqz v34, :cond_71b
2680     invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2682     move-result-wide v34
2684     const-wide/16 v36, 0x1
2686     and-long v34, v34, v36
2688     const-wide/16 v36, 0x0
2690     cmp-long v34, v34, v36
2692     if-nez v34, :cond_71b
2694     const/16 v27, 0x1
2696     :goto_513
2697     invoke-static/range {v21 .. v21}, Landroid/util/TimeUtils;->getTimeZonesWithUniqueOffsets(Ljava/lang/String;)Ljava/util/ArrayList;
2699     move-result-object v31
2701     invoke-virtual/range {v31 .. v31}, Ljava/util/ArrayList;->size()I
2703     move-result v34
2705     const/16 v35, 0x1
2707     move/from16 v0, v34
2709     move/from16 v1, v35
2711     if-eq v0, v1, :cond_525
2713     if-eqz v27, :cond_71f
2715     :cond_525
2716     const/16 v34, 0x0
2718     move-object/from16 v0, v31
2720     move/from16 v1, v34
2722     invoke-virtual {v0, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
2724     move-result-object v32
2726     check-cast v32, Ljava/util/TimeZone;
2728     new-instance v34, Ljava/lang/StringBuilder;
2730     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
2732     const-string v35, "pollStateDone: no nitz but one TZ for iso-cc="
2734     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2736     move-result-object v34
2738     move-object/from16 v0, v34
2740     move-object/from16 v1, v21
2742     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2744     move-result-object v34
2746     const-string v35, " with zone.getID="
2748     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2750     move-result-object v34
2752     invoke-virtual/range {v32 .. v32}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
2754     move-result-object v35
2756     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2758     move-result-object v34
2760     const-string v35, " testOneUniqueOffsetPath="
2762     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2764     move-result-object v34
2766     move-object/from16 v0, v34
2768     move/from16 v1, v27
2770     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
2772     move-result-object v34
2774     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2776     move-result-object v34
2778     move-object/from16 v0, p0
2780     move-object/from16 v1, v34
2782     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
2784     invoke-virtual/range {v32 .. v32}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
2786     move-result-object v34
2788     move-object/from16 v0, p0
2790     move-object/from16 v1, v34
2792     invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
2794     :cond_576
2795     :goto_576
2796     move-object/from16 v0, p0
2798     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
2800     move-object/from16 v34, v0
2802     move-object/from16 v0, p0
2804     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZoneAfterNitz:Z
2806     move/from16 v35, v0
2808     move-object/from16 v0, p0
2810     move-object/from16 v1, v34
2812     move-object/from16 v2, v24
2814     move-object/from16 v3, v25
2816     move/from16 v4, v35
2818     invoke-virtual {v0, v1, v2, v3, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->shouldFixTimeZoneNow(Lcom/android/internal/telephony/PhoneBase;Ljava/lang/String;Ljava/lang/String;Z)Z
2820     move-result v34
2822     if-eqz v34, :cond_3b0
2824     const-string v34, "persist.sys.timezone"
2826     invoke-static/range {v34 .. v34}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
2828     move-result-object v33
2830     new-instance v34, Ljava/lang/StringBuilder;
2832     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
2834     const-string v35, "pollStateDone: fix time zone zoneName=\'"
2836     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2838     move-result-object v34
2840     move-object/from16 v0, v34
2842     move-object/from16 v1, v33
2844     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2846     move-result-object v34
2848     const-string v35, "\' mZoneOffset="
2850     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2852     move-result-object v34
2854     move-object/from16 v0, p0
2856     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
2858     move/from16 v35, v0
2860     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2862     move-result-object v34
2864     const-string v35, " mZoneDst="
2866     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2868     move-result-object v34
2870     move-object/from16 v0, p0
2872     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
2874     move/from16 v35, v0
2876     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
2878     move-result-object v34
2880     const-string v35, " iso-cc=\'"
2882     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2884     move-result-object v34
2886     move-object/from16 v0, v34
2888     move-object/from16 v1, v21
2890     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2892     move-result-object v34
2894     const-string v35, "\' iso-cc-idx="
2896     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2898     move-result-object v34
2900     sget-object v35, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->GMT_COUNTRY_CODES:[Ljava/lang/String;
2902     move-object/from16 v0, v35
2904     move-object/from16 v1, v21
2906     invoke-static {v0, v1}, Ljava/util/Arrays;->binarySearch([Ljava/lang/Object;Ljava/lang/Object;)I
2908     move-result v35
2910     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2912     move-result-object v34
2914     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2916     move-result-object v34
2918     move-object/from16 v0, p0
2920     move-object/from16 v1, v34
2922     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
2924     move-object/from16 v0, p0
2926     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
2928     move/from16 v34, v0
2930     if-nez v34, :cond_771
2932     move-object/from16 v0, p0
2934     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
2936     move/from16 v34, v0
2938     if-nez v34, :cond_771
2940     if-eqz v33, :cond_771
2942     invoke-virtual/range {v33 .. v33}, Ljava/lang/String;->length()I
2944     move-result v34
2946     if-lez v34, :cond_771
2948     sget-object v34, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->GMT_COUNTRY_CODES:[Ljava/lang/String;
2950     move-object/from16 v0, v34
2952     move-object/from16 v1, v21
2954     invoke-static {v0, v1}, Ljava/util/Arrays;->binarySearch([Ljava/lang/Object;Ljava/lang/Object;)I
2956     move-result v34
2958     if-gez v34, :cond_771
2960     invoke-static {}, Ljava/util/TimeZone;->getDefault()Ljava/util/TimeZone;
2962     move-result-object v32
2964     move-object/from16 v0, p0
2966     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZoneAfterNitz:Z
2968     move/from16 v34, v0
2970     if-eqz v34, :cond_68e
2972     invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
2974     move-result-wide v9
2976     move-object/from16 v0, v32
2978     invoke-virtual {v0, v9, v10}, Ljava/util/TimeZone;->getOffset(J)I
2980     move-result v34
2982     move/from16 v0, v34
2984     int-to-long v0, v0
2986     move-wide/from16 v29, v0
2988     new-instance v34, Ljava/lang/StringBuilder;
2990     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
2992     const-string v35, "pollStateDone: tzOffset="
2994     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2996     move-result-object v34
2998     move-object/from16 v0, v34
3000     move-wide/from16 v1, v29
3002     invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
3004     move-result-object v34
3006     const-string v35, " ltod="
3008     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3010     move-result-object v34
3012     invoke-static {v9, v10}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
3014     move-result-object v35
3016     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3018     move-result-object v34
3020     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3022     move-result-object v34
3024     move-object/from16 v0, p0
3026     move-object/from16 v1, v34
3028     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3030     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTime()Z
3032     move-result v34
3034     if-eqz v34, :cond_761
3036     sub-long v5, v9, v29
3038     new-instance v34, Ljava/lang/StringBuilder;
3040     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
3042     const-string v35, "pollStateDone: adj ltod="
3044     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3046     move-result-object v34
3048     invoke-static {v5, v6}, Landroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
3050     move-result-object v35
3052     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3054     move-result-object v34
3056     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3058     move-result-object v34
3060     move-object/from16 v0, p0
3062     move-object/from16 v1, v34
3064     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3066     move-object/from16 v0, p0
3068     invoke-direct {v0, v5, v6}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTime(J)V
3070     :cond_68e
3071     :goto_68e
3072     const-string v34, "pollStateDone: using default TimeZone"
3074     move-object/from16 v0, p0
3076     move-object/from16 v1, v34
3078     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3080     :goto_697
3081     const/16 v34, 0x0
3083     move/from16 v0, v34
3085     move-object/from16 v1, p0
3087     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZoneAfterNitz:Z
3089     if-eqz v32, :cond_7cf
3091     new-instance v34, Ljava/lang/StringBuilder;
3093     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
3095     const-string v35, "pollStateDone: zone != null zone.getID="
3097     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3099     move-result-object v34
3101     invoke-virtual/range {v32 .. v32}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
3103     move-result-object v35
3105     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3107     move-result-object v34
3109     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3111     move-result-object v34
3113     move-object/from16 v0, p0
3115     move-object/from16 v1, v34
3117     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3119     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTimeZone()Z
3121     move-result v34
3123     if-eqz v34, :cond_6d0
3125     invoke-virtual/range {v32 .. v32}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
3127     move-result-object v34
3129     move-object/from16 v0, p0
3131     move-object/from16 v1, v34
3133     invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
3135     :cond_6d0
3136     invoke-virtual/range {v32 .. v32}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
3138     move-result-object v34
3140     move-object/from16 v0, p0
3142     move-object/from16 v1, v34
3144     invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->saveNitzTimeZone(Ljava/lang/String;)V
3146     goto/16 :goto_3b0
3148     :catch_6dd
3149     move-exception v11
3151     new-instance v34, Ljava/lang/StringBuilder;
3153     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
3155     const-string v35, "pollStateDone: countryCodeForMcc error"
3157     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3159     move-result-object v34
3161     move-object/from16 v0, v34
3163     invoke-virtual {v0, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3165     move-result-object v34
3167     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3169     move-result-object v34
3171     move-object/from16 v0, p0
3173     move-object/from16 v1, v34
3175     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
3177     goto/16 :goto_4be
3179     :catch_6fc
3180     move-exception v11
3182     new-instance v34, Ljava/lang/StringBuilder;
3184     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
3186     const-string v35, "pollStateDone: countryCodeForMcc error"
3188     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3190     move-result-object v34
3192     move-object/from16 v0, v34
3194     invoke-virtual {v0, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3196     move-result-object v34
3198     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3200     move-result-object v34
3202     move-object/from16 v0, p0
3204     move-object/from16 v1, v34
3206     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
3208     goto/16 :goto_4be
3210     :cond_71b
3211     const/16 v27, 0x0
3213     goto/16 :goto_513
3215     :cond_71f
3216     new-instance v34, Ljava/lang/StringBuilder;
3218     invoke-direct/range {v34 .. v34}, Ljava/lang/StringBuilder;-><init>()V
3220     const-string v35, "pollStateDone: there are "
3222     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3224     move-result-object v34
3226     invoke-virtual/range {v31 .. v31}, Ljava/util/ArrayList;->size()I
3228     move-result v35
3230     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3232     move-result-object v34
3234     const-string v35, " unique offsets for iso-cc=\'"
3236     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3238     move-result-object v34
3240     move-object/from16 v0, v34
3242     move-object/from16 v1, v21
3244     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3246     move-result-object v34
3248     const-string v35, " testOneUniqueOffsetPath="
3250     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3252     move-result-object v34
3254     move-object/from16 v0, v34
3256     move/from16 v1, v27
3258     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
3260     move-result-object v34
3262     const-string v35, "\', do nothing"
3264     invoke-virtual/range {v34 .. v35}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3266     move-result-object v34
3268     invoke-virtual/range {v34 .. v34}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3270     move-result-object v34
3272     move-object/from16 v0, p0
3274     move-object/from16 v1, v34
3276     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3278     goto/16 :goto_576
3280     :cond_761
3281     move-object/from16 v0, p0
3283     iget-wide v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
3285     move-wide/from16 v34, v0
3287     sub-long v34, v34, v29
3289     move-wide/from16 v0, v34
3291     move-object/from16 v2, p0
3293     iput-wide v0, v2, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
3295     goto/16 :goto_68e
3297     :cond_771
3298     const-string v34, ""
3300     move-object/from16 v0, v21
3302     move-object/from16 v1, v34
3304     invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3306     move-result v34
3308     if-eqz v34, :cond_7a6
3310     move-object/from16 v0, p0
3312     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
3314     move/from16 v34, v0
3316     move-object/from16 v0, p0
3318     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
3320     move/from16 v35, v0
3322     move-object/from16 v0, p0
3324     iget-wide v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
3326     move-wide/from16 v36, v0
3328     move-object/from16 v0, p0
3330     move/from16 v1, v34
3332     move/from16 v2, v35
3334     move-wide/from16 v3, v36
3336     invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getNitzTimeZone(IZJ)Ljava/util/TimeZone;
3338     move-result-object v32
3340     const-string v34, "pollStateDone: using NITZ TimeZone"
3342     move-object/from16 v0, p0
3344     move-object/from16 v1, v34
3346     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3348     goto/16 :goto_697
3350     :cond_7a6
3351     move-object/from16 v0, p0
3353     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
3355     move/from16 v34, v0
3357     move-object/from16 v0, p0
3359     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
3361     move/from16 v35, v0
3363     move-object/from16 v0, p0
3365     iget-wide v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
3367     move-wide/from16 v36, v0
3369     move/from16 v0, v34
3371     move/from16 v1, v35
3373     move-wide/from16 v2, v36
3375     move-object/from16 v4, v21
3377     invoke-static {v0, v1, v2, v3, v4}, Landroid/util/TimeUtils;->getTimeZone(IZJLjava/lang/String;)Ljava/util/TimeZone;
3379     move-result-object v32
3381     const-string v34, "pollStateDone: using getTimeZone(off, dst, time, iso)"
3383     move-object/from16 v0, p0
3385     move-object/from16 v1, v34
3387     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3389     goto/16 :goto_697
3391     :cond_7cf
3392     const-string v34, "pollStateDone: zone == null"
3394     move-object/from16 v0, p0
3396     move-object/from16 v1, v34
3398     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3400     goto/16 :goto_3b0
3402     :cond_7da
3403     const-string v34, "false"
3405     goto/16 :goto_3c6
3407     :cond_7de
3408     const/16 v34, 0x0
3410     move/from16 v0, v34
3412     move-object/from16 v1, p0
3414     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
3416     goto/16 :goto_483
3417 .end method
3419 .method private queueNextSignalStrengthPoll()V
3420     .registers 4
3422     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->dontPollSignalStrength:Z
3424     if-eqz v1, :cond_5
3426     :goto_4
3427     return-void
3429     :cond_5
3430     invoke-virtual {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage()Landroid/os/Message;
3432     move-result-object v0
3434     const/16 v1, 0xa
3436     iput v1, v0, Landroid/os/Message;->what:I
3438     const-wide/16 v1, 0x4e20
3440     invoke-virtual {p0, v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->sendMessageDelayed(Landroid/os/Message;J)Z
3442     goto :goto_4
3443 .end method
3445 .method private regCodeIsRoaming(I)Z
3446     .registers 3
3448     const/4 v0, 0x5
3450     if-ne v0, p1, :cond_5
3452     const/4 v0, 0x1
3454     :goto_4
3455     return v0
3457     :cond_5
3458     const/4 v0, 0x0
3460     goto :goto_4
3461 .end method
3463 .method private regCodeToServiceState(I)I
3464     .registers 5
3466     const/4 v0, 0x1
3468     const/4 v1, 0x0
3470     packed-switch p1, :pswitch_data_20
3472     :pswitch_5
3473     new-instance v1, Ljava/lang/StringBuilder;
3475     invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3477     const-string v2, "regCodeToServiceState: unexpected service state "
3479     invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3481     move-result-object v1
3483     invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3485     move-result-object v1
3487     invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3489     move-result-object v1
3491     invoke-virtual {p0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
3493     :goto_1b
3494     :pswitch_1b
3495     return v0
3497     :pswitch_1c
3498     move v0, v1
3500     goto :goto_1b
3502     :pswitch_1e
3503     move v0, v1
3505     goto :goto_1b
3507     :pswitch_data_20
3508     .packed-switch 0x0
3509         :pswitch_1b
3510         :pswitch_1c
3511         :pswitch_1b
3512         :pswitch_1b
3513         :pswitch_1b
3514         :pswitch_1e
3515         :pswitch_5
3516         :pswitch_5
3517         :pswitch_5
3518         :pswitch_5
3519         :pswitch_1b
3520         :pswitch_5
3521         :pswitch_1b
3522         :pswitch_1b
3523         :pswitch_1b
3524     .end packed-switch
3525 .end method
3527 .method private revertToNitzTime()V
3528     .registers 7
3530     const-wide/16 v3, 0x0
3532     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
3534     invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
3536     move-result-object v0
3538     invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3540     move-result-object v0
3542     const-string v1, "auto_time"
3544     const/4 v2, 0x0
3546     invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
3548     move-result v0
3550     if-nez v0, :cond_16
3552     :cond_15
3553     :goto_15
3554     return-void
3556     :cond_16
3557     new-instance v0, Ljava/lang/StringBuilder;
3559     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
3561     const-string v1, "Reverting to NITZ Time: mSavedTime="
3563     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3565     move-result-object v0
3567     iget-wide v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
3569     invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
3571     move-result-object v0
3573     const-string v1, " mSavedAtTime="
3575     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3577     move-result-object v0
3579     iget-wide v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
3581     invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
3583     move-result-object v0
3585     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3587     move-result-object v0
3589     invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3591     iget-wide v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
3593     cmp-long v0, v0, v3
3595     if-eqz v0, :cond_15
3597     iget-wide v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
3599     cmp-long v0, v0, v3
3601     if-eqz v0, :cond_15
3603     iget-wide v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
3605     invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
3607     move-result-wide v2
3609     iget-wide v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
3611     sub-long/2addr v2, v4
3613     add-long/2addr v0, v2
3615     invoke-direct {p0, v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTime(J)V
3617     goto :goto_15
3618 .end method
3620 .method private revertToNitzTimeZone()V
3621     .registers 4
3623     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
3625     invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
3627     move-result-object v0
3629     invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3631     move-result-object v0
3633     const-string v1, "auto_time_zone"
3635     const/4 v2, 0x0
3637     invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
3639     move-result v0
3641     if-nez v0, :cond_14
3643     :cond_13
3644     :goto_13
3645     return-void
3647     :cond_14
3648     new-instance v0, Ljava/lang/StringBuilder;
3650     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
3652     const-string v1, "Reverting to NITZ TimeZone: tz=\'"
3654     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3656     move-result-object v0
3658     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
3660     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3662     move-result-object v0
3664     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3666     move-result-object v0
3668     invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3670     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
3672     if-eqz v0, :cond_13
3674     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
3676     invoke-direct {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
3678     goto :goto_13
3679 .end method
3681 .method private saveNitzTime(J)V
3682     .registers 5
3684     iput-wide p1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
3686     invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
3688     move-result-wide v0
3690     iput-wide v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
3692     return-void
3693 .end method
3695 .method private saveNitzTimeZone(Ljava/lang/String;)V
3696     .registers 2
3698     iput-object p1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
3700     return-void
3701 .end method
3703 .method private setAndBroadcastNetworkSetTime(J)V
3704     .registers 6
3706     new-instance v1, Ljava/lang/StringBuilder;
3708     invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3710     const-string v2, "setAndBroadcastNetworkSetTime: time="
3712     invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3714     move-result-object v1
3716     invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
3718     move-result-object v1
3720     const-string v2, "ms"
3722     invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3724     move-result-object v1
3726     invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3728     move-result-object v1
3730     invoke-virtual {p0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3732     invoke-static {p1, p2}, Landroid/os/SystemClock;->setCurrentTimeMillis(J)Z
3734     new-instance v0, Landroid/content/Intent;
3736     const-string v1, "android.intent.action.NETWORK_SET_TIME"
3738     invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
3740     const/high16 v1, 0x2000
3742     invoke-virtual {v0, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
3744     const-string v1, "time"
3746     invoke-virtual {v0, v1, p1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
3748     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
3750     invoke-virtual {v1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
3752     move-result-object v1
3754     sget-object v2, Landroid/os/UserHandle;->ALL:Landroid/os/UserHandle;
3756     invoke-virtual {v1, v0, v2}, Landroid/content/Context;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
3758     return-void
3759 .end method
3761 .method private setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
3762     .registers 6
3764     new-instance v2, Ljava/lang/StringBuilder;
3766     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3768     const-string v3, "setAndBroadcastNetworkSetTimeZone: setTimeZone="
3770     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3772     move-result-object v2
3774     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3776     move-result-object v2
3778     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3780     move-result-object v2
3782     invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3784     iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
3786     invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
3788     move-result-object v2
3790     const-string v3, "alarm"
3792     invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
3794     move-result-object v0
3796     check-cast v0, Landroid/app/AlarmManager;
3798     invoke-virtual {v0, p1}, Landroid/app/AlarmManager;->setTimeZone(Ljava/lang/String;)V
3800     new-instance v1, Landroid/content/Intent;
3802     const-string v2, "android.intent.action.NETWORK_SET_TIMEZONE"
3804     invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
3806     const/high16 v2, 0x2000
3808     invoke-virtual {v1, v2}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
3810     const-string v2, "time-zone"
3812     invoke-virtual {v1, v2, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
3814     iget-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
3816     invoke-virtual {v2}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
3818     move-result-object v2
3820     sget-object v3, Landroid/os/UserHandle;->ALL:Landroid/os/UserHandle;
3822     invoke-virtual {v2, v1, v3}, Landroid/content/Context;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
3824     new-instance v2, Ljava/lang/StringBuilder;
3826     invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
3828     const-string v3, "setAndBroadcastNetworkSetTimeZone: call alarm.setTimeZone and broadcast zoneId="
3830     invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3832     move-result-object v2
3834     invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3836     move-result-object v2
3838     invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3840     move-result-object v2
3842     invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3844     return-void
3845 .end method
3847 .method private setNotification(I)V
3848     .registers 11
3850     new-instance v6, Ljava/lang/StringBuilder;
3852     invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
3854     const-string v7, "setNotification: create notification "
3856     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3858     move-result-object v6
3860     invoke-virtual {v6, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3862     move-result-object v6
3864     invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3866     move-result-object v6
3868     invoke-virtual {p0, v6}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3870     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
3872     invoke-virtual {v6}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
3874     move-result-object v0
3876     new-instance v6, Landroid/app/Notification;
3878     invoke-direct {v6}, Landroid/app/Notification;-><init>()V
3880     iput-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
3882     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
3884     invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
3886     move-result-wide v7
3888     iput-wide v7, v6, Landroid/app/Notification;->when:J
3890     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
3892     const/16 v7, 0x10
3894     iput v7, v6, Landroid/app/Notification;->flags:I
3896     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
3898     const v7, 0x108008a
3900     iput v7, v6, Landroid/app/Notification;->icon:I
3902     new-instance v2, Landroid/content/Intent;
3904     invoke-direct {v2}, Landroid/content/Intent;-><init>()V
3906     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
3908     const/4 v7, 0x0
3910     const/high16 v8, 0x1000
3912     invoke-static {v0, v7, v2, v8}, Landroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
3914     move-result-object v7
3916     iput-object v7, v6, Landroid/app/Notification;->contentIntent:Landroid/app/PendingIntent;
3918     const-string v1, ""
3920     const v6, 0x10400a6
3922     invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
3924     move-result-object v5
3926     const/16 v3, 0x3e7
3928     packed-switch p1, :pswitch_data_c2
3930     :goto_56
3931     :pswitch_56
3932     new-instance v6, Ljava/lang/StringBuilder;
3934     invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
3936     const-string v7, "setNotification: put notification "
3938     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3940     move-result-object v6
3942     invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3944     move-result-object v6
3946     const-string v7, " / "
3948     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3950     move-result-object v6
3952     invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
3954     move-result-object v6
3956     invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3958     move-result-object v6
3960     invoke-virtual {p0, v6}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
3962     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
3964     iput-object v5, v6, Landroid/app/Notification;->tickerText:Ljava/lang/CharSequence;
3966     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
3968     iget-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
3970     iget-object v7, v7, Landroid/app/Notification;->contentIntent:Landroid/app/PendingIntent;
3972     invoke-virtual {v6, v0, v5, v1, v7}, Landroid/app/Notification;->setLatestEventInfo(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
3974     const-string v6, "notification"
3976     invoke-virtual {v0, v6}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
3978     move-result-object v4
3980     check-cast v4, Landroid/app/NotificationManager;
3982     const/16 v6, 0x3ea
3984     if-eq p1, v6, :cond_93
3986     const/16 v6, 0x3ec
3988     if-ne p1, v6, :cond_bc
3990     :cond_93
3991     invoke-virtual {v4, v3}, Landroid/app/NotificationManager;->cancel(I)V
3993     :goto_96
3994     return-void
3996     :pswitch_97
3997     const/16 v3, 0x378
3999     const v6, 0x10400a7
4001     invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
4003     move-result-object v1
4005     goto :goto_56
4007     :pswitch_a1
4008     const/16 v3, 0x378
4010     goto :goto_56
4012     :pswitch_a4
4013     const v6, 0x10400aa
4015     invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
4017     move-result-object v1
4019     goto :goto_56
4021     :pswitch_ac
4022     const v6, 0x10400a9
4024     invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
4026     move-result-object v1
4028     goto :goto_56
4030     :pswitch_b4
4031     const v6, 0x10400a8
4033     invoke-virtual {v0, v6}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
4035     move-result-object v1
4037     goto :goto_56
4039     :cond_bc
4040     iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
4042     invoke-virtual {v4, v3, v6}, Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
4044     goto :goto_96
4046     :pswitch_data_c2
4047     .packed-switch 0x3e9
4048         :pswitch_97
4049         :pswitch_a1
4050         :pswitch_a4
4051         :pswitch_56
4052         :pswitch_ac
4053         :pswitch_b4
4054     .end packed-switch
4055 .end method
4057 .method private setSignalStrengthDefaultValues()V
4058     .registers 3
4060     new-instance v0, Landroid/telephony/SignalStrength;
4062     const/4 v1, 0x1
4064     invoke-direct {v0, v1}, Landroid/telephony/SignalStrength;-><init>(Z)V
4066     iput-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSignalStrength:Landroid/telephony/SignalStrength;
4068     return-void
4069 .end method
4071 .method private setTimeFromNITZString(Ljava/lang/String;J)V
4072     .registers 34
4074     invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
4076     move-result-wide v19
4078     new-instance v25, Ljava/lang/StringBuilder;
4080     invoke-direct/range {v25 .. v25}, Ljava/lang/StringBuilder;-><init>()V
4082     const-string v26, "NITZ: "
4084     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4086     move-result-object v25
4088     move-object/from16 v0, v25
4090     move-object/from16 v1, p1
4092     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4094     move-result-object v25
4096     const-string v26, ","
4098     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4100     move-result-object v25
4102     move-object/from16 v0, v25
4104     move-wide/from16 v1, p2
4106     invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
4108     move-result-object v25
4110     const-string v26, " start="
4112     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4114     move-result-object v25
4116     move-object/from16 v0, v25
4118     move-wide/from16 v1, v19
4120     invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
4122     move-result-object v25
4124     const-string v26, " delay="
4126     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4128     move-result-object v25
4130     sub-long v26, v19, p2
4132     invoke-virtual/range {v25 .. v27}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
4134     move-result-object v25
4136     invoke-virtual/range {v25 .. v25}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4138     move-result-object v25
4140     move-object/from16 v0, p0
4142     move-object/from16 v1, v25
4144     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
4146     :try_start_4a
4147     const-string v25, "GMT"
4149     invoke-static/range {v25 .. v25}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
4151     move-result-object v25
4153     invoke-static/range {v25 .. v25}, Ljava/util/Calendar;->getInstance(Ljava/util/TimeZone;)Ljava/util/Calendar;
4155     move-result-object v5
4157     invoke-virtual {v5}, Ljava/util/Calendar;->clear()V
4159     const/16 v25, 0x10
4161     const/16 v26, 0x0
4163     move/from16 v0, v25
4165     move/from16 v1, v26
4167     invoke-virtual {v5, v0, v1}, Ljava/util/Calendar;->set(II)V
4169     const-string v25, "[/:,+-]"
4171     move-object/from16 v0, p1
4173     move-object/from16 v1, v25
4175     invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
4177     move-result-object v16
4179     const/16 v25, 0x0
4181     aget-object v25, v16, v25
4183     invoke-static/range {v25 .. v25}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
4185     move-result v25
4187     move/from16 v0, v25
4189     add-int/lit16 v0, v0, 0x7d0
4191     move/from16 v23, v0
4193     const/16 v25, 0x1
4195     move/from16 v0, v25
4197     move/from16 v1, v23
4199     invoke-virtual {v5, v0, v1}, Ljava/util/Calendar;->set(II)V
4201     const/16 v25, 0x1
4203     aget-object v25, v16, v25
4205     invoke-static/range {v25 .. v25}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
4207     move-result v25
4209     add-int/lit8 v15, v25, -0x1
4211     const/16 v25, 0x2
4213     move/from16 v0, v25
4215     invoke-virtual {v5, v0, v15}, Ljava/util/Calendar;->set(II)V
4217     const/16 v25, 0x2
4219     aget-object v25, v16, v25
4221     invoke-static/range {v25 .. v25}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
4223     move-result v6
4225     const/16 v25, 0x5
4227     move/from16 v0, v25
4229     invoke-virtual {v5, v0, v6}, Ljava/util/Calendar;->set(II)V
4231     const/16 v25, 0x3
4233     aget-object v25, v16, v25
4235     invoke-static/range {v25 .. v25}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
4237     move-result v9
4239     const/16 v25, 0xa
4241     move/from16 v0, v25
4243     invoke-virtual {v5, v0, v9}, Ljava/util/Calendar;->set(II)V
4245     const/16 v25, 0x4
4247     aget-object v25, v16, v25
4249     invoke-static/range {v25 .. v25}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
4251     move-result v14
4253     const/16 v25, 0xc
4255     move/from16 v0, v25
4257     invoke-virtual {v5, v0, v14}, Ljava/util/Calendar;->set(II)V
4259     const/16 v25, 0x5
4261     aget-object v25, v16, v25
4263     invoke-static/range {v25 .. v25}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
4265     move-result v17
4267     const/16 v25, 0xd
4269     move/from16 v0, v25
4271     move/from16 v1, v17
4273     invoke-virtual {v5, v0, v1}, Ljava/util/Calendar;->set(II)V
4275     const/16 v25, 0x2d
4277     move-object/from16 v0, p1
4279     move/from16 v1, v25
4281     invoke-virtual {v0, v1}, Ljava/lang/String;->indexOf(I)I
4283     move-result v25
4285     const/16 v26, -0x1
4287     move/from16 v0, v25
4289     move/from16 v1, v26
4291     if-ne v0, v1, :cond_1d6
4293     const/16 v18, 0x1
4295     :goto_e6
4296     const/16 v25, 0x6
4298     aget-object v25, v16, v25
4300     invoke-static/range {v25 .. v25}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
4302     move-result v21
4304     move-object/from16 v0, v16
4306     array-length v0, v0
4308     move/from16 v25, v0
4310     const/16 v26, 0x8
4312     move/from16 v0, v25
4314     move/from16 v1, v26
4316     if-lt v0, v1, :cond_1da
4318     const/16 v25, 0x7
4320     aget-object v25, v16, v25
4322     invoke-static/range {v25 .. v25}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
4324     move-result v7
4326     :goto_103
4327     if-eqz v18, :cond_1dd
4329     const/16 v25, 0x1
4331     :goto_107
4332     mul-int v25, v25, v21
4334     mul-int/lit8 v25, v25, 0xf
4336     mul-int/lit8 v25, v25, 0x3c
4338     move/from16 v0, v25
4340     mul-int/lit16 v0, v0, 0x3e8
4342     move/from16 v21, v0
4344     const/16 v24, 0x0
4346     move-object/from16 v0, v16
4348     array-length v0, v0
4350     move/from16 v25, v0
4352     const/16 v26, 0x9
4354     move/from16 v0, v25
4356     move/from16 v1, v26
4358     if-lt v0, v1, :cond_132
4360     const/16 v25, 0x8
4362     aget-object v25, v16, v25
4364     const/16 v26, 0x21
4366     const/16 v27, 0x2f
4368     invoke-virtual/range {v25 .. v27}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
4370     move-result-object v22
4372     invoke-static/range {v22 .. v22}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
4374     move-result-object v24
4376     :cond_132
4377     const-string v25, "gsm.operator.iso-country"
4379     invoke-static/range {v25 .. v25}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
4381     move-result-object v11
4383     if-nez v24, :cond_15c
4385     move-object/from16 v0, p0
4387     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
4389     move/from16 v25, v0
4391     if-eqz v25, :cond_15c
4393     if-eqz v11, :cond_1e5
4395     invoke-virtual {v11}, Ljava/lang/String;->length()I
4397     move-result v25
4399     if-lez v25, :cond_1e5
4401     if-eqz v7, :cond_1e1
4403     const/16 v25, 0x1
4405     :goto_14e
4406     invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
4408     move-result-wide v26
4410     move/from16 v0, v21
4412     move/from16 v1, v25
4414     move-wide/from16 v2, v26
4416     invoke-static {v0, v1, v2, v3, v11}, Landroid/util/TimeUtils;->getTimeZone(IZJLjava/lang/String;)Ljava/util/TimeZone;
4418     move-result-object v24
4420     :cond_15c
4421     :goto_15c
4422     if-eqz v24, :cond_17a
4424     move-object/from16 v0, p0
4426     iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
4428     move/from16 v25, v0
4430     move/from16 v0, v25
4432     move/from16 v1, v21
4434     if-ne v0, v1, :cond_17a
4436     move-object/from16 v0, p0
4438     iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
4440     move/from16 v26, v0
4442     if-eqz v7, :cond_1fe
4444     const/16 v25, 0x1
4446     :goto_174
4447     move/from16 v0, v26
4449     move/from16 v1, v25
4451     if-eq v0, v1, :cond_19c
4453     :cond_17a
4454     const/16 v25, 0x1
4456     move/from16 v0, v25
4458     move-object/from16 v1, p0
4460     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZoneAfterNitz:Z
4462     move/from16 v0, v21
4464     move-object/from16 v1, p0
4466     iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
4468     if-eqz v7, :cond_202
4470     const/16 v25, 0x1
4472     :goto_18c
4473     move/from16 v0, v25
4475     move-object/from16 v1, p0
4477     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
4479     invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
4481     move-result-wide v25
4483     move-wide/from16 v0, v25
4485     move-object/from16 v2, p0
4487     iput-wide v0, v2, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
4489     :cond_19c
4490     if-eqz v24, :cond_1ba
4492     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTimeZone()Z
4494     move-result v25
4496     if-eqz v25, :cond_1af
4498     invoke-virtual/range {v24 .. v24}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
4500     move-result-object v25
4502     move-object/from16 v0, p0
4504     move-object/from16 v1, v25
4506     invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
4508     :cond_1af
4509     invoke-virtual/range {v24 .. v24}, Ljava/util/TimeZone;->getID()Ljava/lang/String;
4511     move-result-object v25
4513     move-object/from16 v0, p0
4515     move-object/from16 v1, v25
4517     invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->saveNitzTimeZone(Ljava/lang/String;)V
4519     :cond_1ba
4520     const-string v25, "gsm.ignore-nitz"
4522     invoke-static/range {v25 .. v25}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
4524     move-result-object v10
4526     if-eqz v10, :cond_205
4528     const-string v25, "yes"
4530     move-object/from16 v0, v25
4532     invoke-virtual {v10, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4534     move-result v25
4536     if-eqz v25, :cond_205
4538     const-string v25, "NITZ: Not setting clock because gsm.ignore-nitz is set"
4540     move-object/from16 v0, p0
4542     move-object/from16 v1, v25
4544     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
4546     :goto_1d5
4547     return-void
4549     :cond_1d6
4550     const/16 v18, 0x0
4552     goto/16 :goto_e6
4554     :cond_1da
4555     const/4 v7, 0x0
4557     goto/16 :goto_103
4559     :cond_1dd
4560     const/16 v25, -0x1
4562     goto/16 :goto_107
4564     :cond_1e1
4565     const/16 v25, 0x0
4567     goto/16 :goto_14e
4569     :cond_1e5
4570     if-eqz v7, :cond_1fb
4572     const/16 v25, 0x1
4574     :goto_1e9
4575     invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
4577     move-result-wide v26
4579     move-object/from16 v0, p0
4581     move/from16 v1, v21
4583     move/from16 v2, v25
4585     move-wide/from16 v3, v26
4587     invoke-direct {v0, v1, v2, v3, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getNitzTimeZone(IZJ)Ljava/util/TimeZone;
4588     :try_end_1f8
4589     .catch Ljava/lang/RuntimeException; {:try_start_4a .. :try_end_1f8} :catch_248
4591     move-result-object v24
4593     goto/16 :goto_15c
4595     :cond_1fb
4596     const/16 v25, 0x0
4598     goto :goto_1e9
4600     :cond_1fe
4601     const/16 v25, 0x0
4603     goto/16 :goto_174
4605     :cond_202
4606     const/16 v25, 0x0
4608     goto :goto_18c
4610     :cond_205
4611     :try_start_205
4612     move-object/from16 v0, p0
4614     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
4616     move-object/from16 v25, v0
4618     invoke-virtual/range {v25 .. v25}, Landroid/os/PowerManager$WakeLock;->acquire()V
4620     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->getAutoTime()Z
4622     move-result v25
4624     if-eqz v25, :cond_316
4626     invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
4628     move-result-wide v25
4630     sub-long v12, v25, p2
4632     const-wide/16 v25, 0x0
4634     cmp-long v25, v12, v25
4636     if-gez v25, :cond_275
4638     new-instance v25, Ljava/lang/StringBuilder;
4640     invoke-direct/range {v25 .. v25}, Ljava/lang/StringBuilder;-><init>()V
4642     const-string v26, "NITZ: not setting time, clock has rolled backwards since NITZ time was received, "
4644     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4646     move-result-object v25
4648     move-object/from16 v0, v25
4650     move-object/from16 v1, p1
4652     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4654     move-result-object v25
4656     invoke-virtual/range {v25 .. v25}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4658     move-result-object v25
4660     move-object/from16 v0, p0
4662     move-object/from16 v1, v25
4664     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
4665     :try_end_23e
4666     .catchall {:try_start_205 .. :try_end_23e} :catchall_341
4668     :try_start_23e
4669     move-object/from16 v0, p0
4671     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
4673     move-object/from16 v25, v0
4675     invoke-virtual/range {v25 .. v25}, Landroid/os/PowerManager$WakeLock;->release()V
4676     :try_end_247
4677     .catch Ljava/lang/RuntimeException; {:try_start_23e .. :try_end_247} :catch_248
4679     goto :goto_1d5
4681     :catch_248
4682     move-exception v8
4684     new-instance v25, Ljava/lang/StringBuilder;
4686     invoke-direct/range {v25 .. v25}, Ljava/lang/StringBuilder;-><init>()V
4688     const-string v26, "NITZ: Parsing NITZ time "
4690     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4692     move-result-object v25
4694     move-object/from16 v0, v25
4696     move-object/from16 v1, p1
4698     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4700     move-result-object v25
4702     const-string v26, " ex="
4704     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4706     move-result-object v25
4708     move-object/from16 v0, v25
4710     invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4712     move-result-object v25
4714     invoke-virtual/range {v25 .. v25}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4716     move-result-object v25
4718     move-object/from16 v0, p0
4720     move-object/from16 v1, v25
4722     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
4724     goto/16 :goto_1d5
4726     :cond_275
4727     const-wide/32 v25, 0x7fffffff
4729     cmp-long v25, v12, v25
4731     if-lez v25, :cond_2ac
4733     :try_start_27c
4734     new-instance v25, Ljava/lang/StringBuilder;
4736     invoke-direct/range {v25 .. v25}, Ljava/lang/StringBuilder;-><init>()V
4738     const-string v26, "NITZ: not setting time, processing has taken "
4740     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4742     move-result-object v25
4744     const-wide/32 v26, 0x5265c00
4746     div-long v26, v12, v26
4748     invoke-virtual/range {v25 .. v27}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
4750     move-result-object v25
4752     const-string v26, " days"
4754     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4756     move-result-object v25
4758     invoke-virtual/range {v25 .. v25}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4760     move-result-object v25
4762     move-object/from16 v0, p0
4764     move-object/from16 v1, v25
4766     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
4767     :try_end_2a1
4768     .catchall {:try_start_27c .. :try_end_2a1} :catchall_341
4770     :try_start_2a1
4771     move-object/from16 v0, p0
4773     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
4775     move-object/from16 v25, v0
4777     invoke-virtual/range {v25 .. v25}, Landroid/os/PowerManager$WakeLock;->release()V
4778     :try_end_2aa
4779     .catch Ljava/lang/RuntimeException; {:try_start_2a1 .. :try_end_2aa} :catch_248
4781     goto/16 :goto_1d5
4783     :cond_2ac
4784     const/16 v25, 0xe
4786     long-to-int v0, v12
4788     move/from16 v26, v0
4790     :try_start_2b1
4791     move/from16 v0, v25
4793     move/from16 v1, v26
4795     invoke-virtual {v5, v0, v1}, Ljava/util/Calendar;->add(II)V
4797     new-instance v25, Ljava/lang/StringBuilder;
4799     invoke-direct/range {v25 .. v25}, Ljava/lang/StringBuilder;-><init>()V
4801     const-string v26, "NITZ: Setting time of day to "
4803     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4805     move-result-object v25
4807     invoke-virtual {v5}, Ljava/util/Calendar;->getTime()Ljava/util/Date;
4809     move-result-object v26
4811     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4813     move-result-object v25
4815     const-string v26, " NITZ receive delay(ms): "
4817     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4819     move-result-object v25
4821     move-object/from16 v0, v25
4823     invoke-virtual {v0, v12, v13}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
4825     move-result-object v25
4827     const-string v26, " gained(ms): "
4829     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4831     move-result-object v25
4833     invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
4835     move-result-wide v26
4837     invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
4839     move-result-wide v28
4841     sub-long v26, v26, v28
4843     invoke-virtual/range {v25 .. v27}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
4845     move-result-object v25
4847     const-string v26, " from "
4849     invoke-virtual/range {v25 .. v26}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4851     move-result-object v25
4853     move-object/from16 v0, v25
4855     move-object/from16 v1, p1
4857     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4859     move-result-object v25
4861     invoke-virtual/range {v25 .. v25}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4863     move-result-object v25
4865     move-object/from16 v0, p0
4867     move-object/from16 v1, v25
4869     invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
4871     invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
4873     move-result-wide v25
4875     move-object/from16 v0, p0
4877     move-wide/from16 v1, v25
4879     invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setAndBroadcastNetworkSetTime(J)V
4881     const-string v25, "GSM"
4883     const-string v26, "NITZ: after Setting time of day"
4885     invoke-static/range {v25 .. v26}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
4887     :cond_316
4888     const-string v25, "gsm.nitz.time"
4890     invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
4892     move-result-wide v26
4894     invoke-static/range {v26 .. v27}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
4896     move-result-object v26
4898     invoke-static/range {v25 .. v26}, Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
4900     invoke-virtual {v5}, Ljava/util/Calendar;->getTimeInMillis()J
4902     move-result-wide v25
4904     move-object/from16 v0, p0
4906     move-wide/from16 v1, v25
4908     invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->saveNitzTime(J)V
4910     const/16 v25, 0x1
4912     move/from16 v0, v25
4914     move-object/from16 v1, p0
4916     iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
4917     :try_end_336
4918     .catchall {:try_start_2b1 .. :try_end_336} :catchall_341
4920     :try_start_336
4921     move-object/from16 v0, p0
4923     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
4925     move-object/from16 v25, v0
4927     invoke-virtual/range {v25 .. v25}, Landroid/os/PowerManager$WakeLock;->release()V
4929     goto/16 :goto_1d5
4931     :catchall_341
4932     move-exception v25
4934     move-object/from16 v0, p0
4936     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
4938     move-object/from16 v26, v0
4940     invoke-virtual/range {v26 .. v26}, Landroid/os/PowerManager$WakeLock;->release()V
4942     throw v25
4943     :try_end_34c
4944     .catch Ljava/lang/RuntimeException; {:try_start_336 .. :try_end_34c} :catch_248
4945 .end method
4947 .method private static sloge(Ljava/lang/String;)V
4948     .registers 4
4950     const-string v0, "GSM"
4952     new-instance v1, Ljava/lang/StringBuilder;
4954     invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4956     const-string v2, "[GsmSST] "
4958     invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4960     move-result-object v1
4962     invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4964     move-result-object v1
4966     invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4968     move-result-object v1
4970     invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4972     return-void
4973 .end method
4975 .method private static twoDigitsAt(Ljava/lang/String;I)I
4976     .registers 6
4978     const/16 v3, 0xa
4980     invoke-virtual {p0, p1}, Ljava/lang/String;->charAt(I)C
4982     move-result v2
4984     invoke-static {v2, v3}, Ljava/lang/Character;->digit(CI)I
4986     move-result v0
4988     add-int/lit8 v2, p1, 0x1
4990     invoke-virtual {p0, v2}, Ljava/lang/String;->charAt(I)C
4992     move-result v2
4994     invoke-static {v2, v3}, Ljava/lang/Character;->digit(CI)I
4996     move-result v1
4998     if-ltz v0, :cond_18
5000     if-gez v1, :cond_20
5002     :cond_18
5003     new-instance v2, Ljava/lang/RuntimeException;
5005     const-string v3, "invalid format"
5007     invoke-direct {v2, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
5009     throw v2
5011     :cond_20
5012     mul-int/lit8 v2, v0, 0xa
5014     add-int/2addr v2, v1
5016     return v2
5017 .end method
5020 # virtual methods
5021 .method public dispose()V
5022     .registers 3
5024     invoke-virtual {p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->checkCorrectThread()V
5026     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
5028     invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unregisterForAvailable(Landroid/os/Handler;)V
5030     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
5032     invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unregisterForRadioStateChanged(Landroid/os/Handler;)V
5034     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
5036     invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unregisterForVoiceNetworkStateChanged(Landroid/os/Handler;)V
5038     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
5040     if-eqz v0, :cond_1b
5042     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
5044     invoke-virtual {v0, p0}, Lcom/android/internal/telephony/UiccCardApplication;->unregisterForReady(Landroid/os/Handler;)V
5046     :cond_1b
5047     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
5049     if-eqz v0, :cond_24
5051     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
5053     invoke-virtual {v0, p0}, Lcom/android/internal/telephony/IccRecords;->unregisterForRecordsLoaded(Landroid/os/Handler;)V
5055     :cond_24
5056     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
5058     invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unSetOnRestrictedStateChanged(Landroid/os/Handler;)V
5060     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
5062     invoke-interface {v0, p0}, Lcom/android/internal/telephony/CommandsInterface;->unSetOnNITZTime(Landroid/os/Handler;)V
5064     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cr:Landroid/content/ContentResolver;
5066     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeObserver:Landroid/database/ContentObserver;
5068     invoke-virtual {v0, v1}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
5070     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cr:Landroid/content/ContentResolver;
5072     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mAutoTimeZoneObserver:Landroid/database/ContentObserver;
5074     invoke-virtual {v0, v1}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
5076     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
5078     invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
5080     move-result-object v0
5082     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIntentReceiver:Landroid/content/BroadcastReceiver;
5084     invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
5086     invoke-super {p0}, Lcom/android/internal/telephony/ServiceStateTracker;->dispose()V
5088     return-void
5089 .end method
5091 .method public dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
5092     .registers 7
5094     const-string v0, "GsmServiceStateTracker extends:"
5096     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5098     invoke-super {p0, p1, p2, p3}, Lcom/android/internal/telephony/ServiceStateTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
5100     new-instance v0, Ljava/lang/StringBuilder;
5102     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5104     const-string v1, " phone="
5106     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5108     move-result-object v0
5110     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
5112     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5114     move-result-object v0
5116     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5118     move-result-object v0
5120     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5122     new-instance v0, Ljava/lang/StringBuilder;
5124     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5126     const-string v1, " cellLoc="
5128     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5130     move-result-object v0
5132     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
5134     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5136     move-result-object v0
5138     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5140     move-result-object v0
5142     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5144     new-instance v0, Ljava/lang/StringBuilder;
5146     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5148     const-string v1, " newCellLoc="
5150     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5152     move-result-object v0
5154     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
5156     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5158     move-result-object v0
5160     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5162     move-result-object v0
5164     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5166     new-instance v0, Ljava/lang/StringBuilder;
5168     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5170     const-string v1, " mPreferredNetworkType="
5172     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5174     move-result-object v0
5176     iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
5178     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5180     move-result-object v0
5182     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5184     move-result-object v0
5186     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5188     new-instance v0, Ljava/lang/StringBuilder;
5190     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5192     const-string v1, " gprsState="
5194     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5196     move-result-object v0
5198     iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
5200     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5202     move-result-object v0
5204     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5206     move-result-object v0
5208     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5210     new-instance v0, Ljava/lang/StringBuilder;
5212     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5214     const-string v1, " newGPRSState="
5216     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5218     move-result-object v0
5220     iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
5222     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5224     move-result-object v0
5226     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5228     move-result-object v0
5230     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5232     new-instance v0, Ljava/lang/StringBuilder;
5234     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5236     const-string v1, " mMaxDataCalls="
5238     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5240     move-result-object v0
5242     iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mMaxDataCalls:I
5244     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5246     move-result-object v0
5248     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5250     move-result-object v0
5252     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5254     new-instance v0, Ljava/lang/StringBuilder;
5256     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5258     const-string v1, " mNewMaxDataCalls="
5260     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5262     move-result-object v0
5264     iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
5266     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5268     move-result-object v0
5270     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5272     move-result-object v0
5274     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5276     new-instance v0, Ljava/lang/StringBuilder;
5278     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5280     const-string v1, " mReasonDataDenied="
5282     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5284     move-result-object v0
5286     iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReasonDataDenied:I
5288     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5290     move-result-object v0
5292     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5294     move-result-object v0
5296     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5298     new-instance v0, Ljava/lang/StringBuilder;
5300     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5302     const-string v1, " mNewReasonDataDenied="
5304     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5306     move-result-object v0
5308     iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
5310     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5312     move-result-object v0
5314     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5316     move-result-object v0
5318     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5320     new-instance v0, Ljava/lang/StringBuilder;
5322     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5324     const-string v1, " mGsmRoaming="
5326     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5328     move-result-object v0
5330     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
5332     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5334     move-result-object v0
5336     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5338     move-result-object v0
5340     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5342     new-instance v0, Ljava/lang/StringBuilder;
5344     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5346     const-string v1, " mDataRoaming="
5348     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5350     move-result-object v0
5352     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
5354     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5356     move-result-object v0
5358     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5360     move-result-object v0
5362     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5364     new-instance v0, Ljava/lang/StringBuilder;
5366     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5368     const-string v1, " mEmergencyOnly="
5370     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5372     move-result-object v0
5374     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
5376     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5378     move-result-object v0
5380     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5382     move-result-object v0
5384     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5386     new-instance v0, Ljava/lang/StringBuilder;
5388     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5390     const-string v1, " mNeedFixZoneAfterNitz="
5392     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5394     move-result-object v0
5396     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedFixZoneAfterNitz:Z
5398     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5400     move-result-object v0
5402     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5404     move-result-object v0
5406     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5408     new-instance v0, Ljava/lang/StringBuilder;
5410     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5412     const-string v1, " mZoneOffset="
5414     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5416     move-result-object v0
5418     iget v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneOffset:I
5420     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5422     move-result-object v0
5424     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5426     move-result-object v0
5428     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5430     new-instance v0, Ljava/lang/StringBuilder;
5432     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5434     const-string v1, " mZoneDst="
5436     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5438     move-result-object v0
5440     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneDst:Z
5442     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5444     move-result-object v0
5446     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5448     move-result-object v0
5450     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5452     new-instance v0, Ljava/lang/StringBuilder;
5454     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5456     const-string v1, " mZoneTime="
5458     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5460     move-result-object v0
5462     iget-wide v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mZoneTime:J
5464     invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
5466     move-result-object v0
5468     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5470     move-result-object v0
5472     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5474     new-instance v0, Ljava/lang/StringBuilder;
5476     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5478     const-string v1, " mGotCountryCode="
5480     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5482     move-result-object v0
5484     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGotCountryCode:Z
5486     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5488     move-result-object v0
5490     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5492     move-result-object v0
5494     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5496     new-instance v0, Ljava/lang/StringBuilder;
5498     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5500     const-string v1, " mNitzUpdatedTime="
5502     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5504     move-result-object v0
5506     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNitzUpdatedTime:Z
5508     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5510     move-result-object v0
5512     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5514     move-result-object v0
5516     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5518     new-instance v0, Ljava/lang/StringBuilder;
5520     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5522     const-string v1, " mSavedTimeZone="
5524     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5526     move-result-object v0
5528     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTimeZone:Ljava/lang/String;
5530     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5532     move-result-object v0
5534     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5536     move-result-object v0
5538     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5540     new-instance v0, Ljava/lang/StringBuilder;
5542     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5544     const-string v1, " mSavedTime="
5546     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5548     move-result-object v0
5550     iget-wide v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedTime:J
5552     invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
5554     move-result-object v0
5556     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5558     move-result-object v0
5560     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5562     new-instance v0, Ljava/lang/StringBuilder;
5564     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5566     const-string v1, " mSavedAtTime="
5568     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5570     move-result-object v0
5572     iget-wide v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mSavedAtTime:J
5574     invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
5576     move-result-object v0
5578     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5580     move-result-object v0
5582     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5584     new-instance v0, Ljava/lang/StringBuilder;
5586     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5588     const-string v1, " mStartedGprsRegCheck="
5590     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5592     move-result-object v0
5594     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
5596     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5598     move-result-object v0
5600     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5602     move-result-object v0
5604     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5606     new-instance v0, Ljava/lang/StringBuilder;
5608     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5610     const-string v1, " mReportedGprsNoReg="
5612     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5614     move-result-object v0
5616     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
5618     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5620     move-result-object v0
5622     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5624     move-result-object v0
5626     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5628     new-instance v0, Ljava/lang/StringBuilder;
5630     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5632     const-string v1, " mNotification="
5634     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5636     move-result-object v0
5638     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNotification:Landroid/app/Notification;
5640     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5642     move-result-object v0
5644     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5646     move-result-object v0
5648     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5650     new-instance v0, Ljava/lang/StringBuilder;
5652     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5654     const-string v1, " mWakeLock="
5656     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5658     move-result-object v0
5660     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mWakeLock:Landroid/os/PowerManager$WakeLock;
5662     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5664     move-result-object v0
5666     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5668     move-result-object v0
5670     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5672     new-instance v0, Ljava/lang/StringBuilder;
5674     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5676     const-string v1, " curSpn="
5678     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5680     move-result-object v0
5682     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
5684     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5686     move-result-object v0
5688     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5690     move-result-object v0
5692     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5694     new-instance v0, Ljava/lang/StringBuilder;
5696     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5698     const-string v1, " curShowSpn="
5700     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5702     move-result-object v0
5704     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curShowSpn:Z
5706     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5708     move-result-object v0
5710     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5712     move-result-object v0
5714     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5716     new-instance v0, Ljava/lang/StringBuilder;
5718     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5720     const-string v1, " curPlmn="
5722     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5724     move-result-object v0
5726     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
5728     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5730     move-result-object v0
5732     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5734     move-result-object v0
5736     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5738     new-instance v0, Ljava/lang/StringBuilder;
5740     invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
5742     const-string v1, " curShowPlmn="
5744     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5746     move-result-object v0
5748     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curShowPlmn:Z
5750     invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
5752     move-result-object v0
5754     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5756     move-result-object v0
5758     invoke-virtual {p2, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
5760     return-void
5761 .end method
5763 .method protected finalize()V
5764     .registers 2
5766     const-string v0, "finalize"
5768     invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
5770     return-void
5771 .end method
5773 .method public getCurrentDataConnectionState()I
5774     .registers 2
5776     iget v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
5778     return v0
5779 .end method
5781 .method getCurrentGprsState()I
5782     .registers 2
5784     iget v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
5786     return v0
5787 .end method
5789 .method protected getPhone()Lcom/android/internal/telephony/Phone;
5790     .registers 2
5792     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
5794     return-object v0
5795 .end method
5797 .method public handleMessage(Landroid/os/Message;)V
5798     .registers 19
5800     move-object/from16 v0, p0
5802     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
5804     iget-boolean v13, v13, Lcom/android/internal/telephony/gsm/GSMPhone;->mIsTheCurrentActivePhone:Z
5806     if-nez v13, :cond_37
5808     const-string v13, "GSM"
5810     new-instance v14, Ljava/lang/StringBuilder;
5812     invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
5814     const-string v15, "Received message "
5816     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5818     move-result-object v14
5820     move-object/from16 v0, p1
5822     invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5824     move-result-object v14
5826     const-string v15, "["
5828     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5830     move-result-object v14
5832     move-object/from16 v0, p1
5834     iget v15, v0, Landroid/os/Message;->what:I
5836     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5838     move-result-object v14
5840     const-string v15, "] while being destroyed. Ignoring."
5842     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5844     move-result-object v14
5846     invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5848     move-result-object v14
5850     invoke-static {v13, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5852     :cond_36
5853     :goto_36
5854     :pswitch_36
5855     return-void
5857     :cond_37
5858     move-object/from16 v0, p1
5860     iget v13, v0, Landroid/os/Message;->what:I
5862     packed-switch v13, :pswitch_data_25c
5864     :pswitch_3e
5865     invoke-super/range {p0 .. p1}, Lcom/android/internal/telephony/ServiceStateTracker;->handleMessage(Landroid/os/Message;)V
5867     goto :goto_36
5869     :pswitch_42
5870     move-object/from16 v0, p0
5872     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
5874     invoke-interface {v13}, Lcom/android/internal/telephony/CommandsInterface;->setCurrentPreferredNetworkType()V
5876     move-object/from16 v0, p0
5878     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
5880     invoke-virtual {v13}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
5882     move-result-object v13
5884     invoke-virtual {v13}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
5886     move-result-object v13
5888     const v14, 0x1110038
5890     invoke-virtual {v13, v14}, Landroid/content/res/Resources;->getBoolean(I)Z
5892     move-result v10
5894     if-nez v10, :cond_66
5896     move-object/from16 v0, p0
5898     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
5900     const/4 v14, 0x0
5902     invoke-virtual {v13, v14}, Lcom/android/internal/telephony/gsm/GSMPhone;->restoreSavedNetworkSelection(Landroid/os/Message;)V
5904     :cond_66
5905     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
5907     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->queueNextSignalStrengthPoll()V
5909     goto :goto_36
5911     :pswitch_6d
5912     invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setPowerStateToDesired()V
5914     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
5916     goto :goto_36
5918     :pswitch_74
5919     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
5921     goto :goto_36
5923     :pswitch_78
5924     move-object/from16 v0, p0
5926     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
5928     invoke-interface {v13}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
5930     move-result-object v13
5932     invoke-virtual {v13}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
5934     move-result v13
5936     if-eqz v13, :cond_36
5938     move-object/from16 v0, p1
5940     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
5942     check-cast v1, Landroid/os/AsyncResult;
5944     const/4 v13, 0x1
5946     move-object/from16 v0, p0
5948     invoke-virtual {v0, v1, v13}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;Z)Z
5950     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->queueNextSignalStrengthPoll()V
5952     goto :goto_36
5954     :pswitch_96
5955     move-object/from16 v0, p1
5957     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
5959     check-cast v1, Landroid/os/AsyncResult;
5961     iget-object v13, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
5963     if-nez v13, :cond_e9
5965     iget-object v13, v1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
5967     check-cast v13, [Ljava/lang/String;
5969     move-object v11, v13
5971     check-cast v11, [Ljava/lang/String;
5973     const/4 v4, -0x1
5975     const/4 v2, -0x1
5977     array-length v13, v11
5979     const/4 v14, 0x3
5981     if-lt v13, v14, :cond_db
5983     const/4 v13, 0x1
5985     :try_start_ae
5986     aget-object v13, v11, v13
5988     if-eqz v13, :cond_c4
5990     const/4 v13, 0x1
5992     aget-object v13, v11, v13
5994     invoke-virtual {v13}, Ljava/lang/String;->length()I
5996     move-result v13
5998     if-lez v13, :cond_c4
6000     const/4 v13, 0x1
6002     aget-object v13, v11, v13
6004     const/16 v14, 0x10
6006     invoke-static {v13, v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
6008     move-result v4
6010     :cond_c4
6011     const/4 v13, 0x2
6013     aget-object v13, v11, v13
6015     if-eqz v13, :cond_db
6017     const/4 v13, 0x2
6019     aget-object v13, v11, v13
6021     invoke-virtual {v13}, Ljava/lang/String;->length()I
6023     move-result v13
6025     if-lez v13, :cond_db
6027     const/4 v13, 0x2
6029     aget-object v13, v11, v13
6031     const/16 v14, 0x10
6033     invoke-static {v13, v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
6034     :try_end_da
6035     .catch Ljava/lang/NumberFormatException; {:try_start_ae .. :try_end_da} :catch_ee
6037     move-result v2
6039     :cond_db
6040     :goto_db
6041     move-object/from16 v0, p0
6043     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
6045     invoke-virtual {v13, v4, v2}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
6047     move-object/from16 v0, p0
6049     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
6051     invoke-virtual {v13}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyLocationChanged()V
6053     :cond_e9
6054     invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->disableSingleLocationUpdate()V
6056     goto/16 :goto_36
6058     :catch_ee
6059     move-exception v3
6061     const-string v13, "GSM"
6063     new-instance v14, Ljava/lang/StringBuilder;
6065     invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
6067     const-string v15, "error parsing location: "
6069     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6071     move-result-object v14
6073     invoke-virtual {v14, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6075     move-result-object v14
6077     invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6079     move-result-object v14
6081     invoke-static {v13, v14}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
6083     goto :goto_db
6085     :pswitch_108
6086     move-object/from16 v0, p1
6088     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6090     check-cast v1, Landroid/os/AsyncResult;
6092     move-object/from16 v0, p1
6094     iget v13, v0, Landroid/os/Message;->what:I
6096     move-object/from16 v0, p0
6098     invoke-virtual {v0, v13, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->handlePollStateResult(ILandroid/os/AsyncResult;)V
6100     goto/16 :goto_36
6102     :pswitch_119
6103     move-object/from16 v0, p0
6105     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
6107     const/4 v14, 0x3
6109     move-object/from16 v0, p0
6111     invoke-virtual {v0, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
6113     move-result-object v14
6115     invoke-interface {v13, v14}, Lcom/android/internal/telephony/CommandsInterface;->getSignalStrength(Landroid/os/Message;)V
6117     goto/16 :goto_36
6119     :pswitch_129
6120     move-object/from16 v0, p1
6122     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6124     check-cast v1, Landroid/os/AsyncResult;
6126     iget-object v13, v1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
6128     check-cast v13, [Ljava/lang/Object;
6130     check-cast v13, [Ljava/lang/Object;
6132     const/4 v14, 0x0
6134     aget-object v9, v13, v14
6136     check-cast v9, Ljava/lang/String;
6138     iget-object v13, v1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
6140     check-cast v13, [Ljava/lang/Object;
6142     check-cast v13, [Ljava/lang/Object;
6144     const/4 v14, 0x1
6146     aget-object v13, v13, v14
6148     check-cast v13, Ljava/lang/Long;
6150     invoke-virtual {v13}, Ljava/lang/Long;->longValue()J
6152     move-result-wide v7
6154     move-object/from16 v0, p0
6156     invoke-direct {v0, v9, v7, v8}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setTimeFromNITZString(Ljava/lang/String;J)V
6158     goto/16 :goto_36
6160     :pswitch_150
6161     move-object/from16 v0, p1
6163     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6165     check-cast v1, Landroid/os/AsyncResult;
6167     const/4 v13, 0x1
6169     move-object/from16 v0, p0
6171     iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->dontPollSignalStrength:Z
6173     const/4 v13, 0x1
6175     move-object/from16 v0, p0
6177     invoke-virtual {v0, v1, v13}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;Z)Z
6179     goto/16 :goto_36
6181     :pswitch_163
6182     invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateSpnDisplay()V
6184     goto/16 :goto_36
6186     :pswitch_168
6187     move-object/from16 v0, p1
6189     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6191     check-cast v1, Landroid/os/AsyncResult;
6193     iget-object v13, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
6195     if-nez v13, :cond_36
6197     move-object/from16 v0, p0
6199     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
6201     const/16 v14, 0xf
6203     const/4 v15, 0x0
6205     move-object/from16 v0, p0
6207     invoke-virtual {v0, v14, v15}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
6209     move-result-object v14
6211     invoke-interface {v13, v14}, Lcom/android/internal/telephony/CommandsInterface;->getVoiceRegistrationState(Landroid/os/Message;)V
6213     goto/16 :goto_36
6215     :pswitch_184
6216     move-object/from16 v0, p1
6218     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6220     check-cast v1, Landroid/os/AsyncResult;
6222     const/16 v13, 0x15
6224     iget-object v14, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
6226     move-object/from16 v0, p0
6228     invoke-virtual {v0, v13, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
6230     move-result-object v6
6232     move-object/from16 v0, p0
6234     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
6236     move-object/from16 v0, p0
6238     iget v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
6240     invoke-interface {v13, v14, v6}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
6242     goto/16 :goto_36
6244     :pswitch_1a1
6245     move-object/from16 v0, p1
6247     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6249     check-cast v1, Landroid/os/AsyncResult;
6251     iget-object v13, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
6253     if-eqz v13, :cond_36
6255     iget-object v13, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
6257     check-cast v13, Landroid/os/Message;
6259     invoke-static {v13}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
6261     move-result-object v13
6263     iget-object v14, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
6265     iput-object v14, v13, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
6267     iget-object v13, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
6269     check-cast v13, Landroid/os/Message;
6271     invoke-virtual {v13}, Landroid/os/Message;->sendToTarget()V
6273     goto/16 :goto_36
6275     :pswitch_1c0
6276     move-object/from16 v0, p1
6278     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6280     check-cast v1, Landroid/os/AsyncResult;
6282     iget-object v13, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
6284     if-nez v13, :cond_1eb
6286     iget-object v13, v1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
6288     check-cast v13, [I
6290     check-cast v13, [I
6292     const/4 v14, 0x0
6294     aget v13, v13, v14
6296     move-object/from16 v0, p0
6298     iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
6300     :goto_1d7
6301     const/16 v13, 0x14
6303     iget-object v14, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
6305     move-object/from16 v0, p0
6307     invoke-virtual {v0, v13, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
6309     move-result-object v6
6311     const/4 v12, 0x7
6313     move-object/from16 v0, p0
6315     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
6317     invoke-interface {v13, v12, v6}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
6319     goto/16 :goto_36
6321     :cond_1eb
6322     const/4 v13, 0x7
6324     move-object/from16 v0, p0
6326     iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
6328     goto :goto_1d7
6330     :pswitch_1f1
6331     move-object/from16 v0, p0
6333     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
6335     if-eqz v13, :cond_23e
6337     move-object/from16 v0, p0
6339     iget v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
6341     move-object/from16 v0, p0
6343     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
6345     invoke-virtual {v14}, Landroid/telephony/ServiceState;->getState()I
6347     move-result v14
6349     move-object/from16 v0, p0
6351     invoke-direct {v0, v13, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isGprsConsistent(II)Z
6353     move-result v13
6355     if-nez v13, :cond_23e
6357     move-object/from16 v0, p0
6359     iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
6361     invoke-virtual {v13}, Lcom/android/internal/telephony/gsm/GSMPhone;->getCellLocation()Landroid/telephony/CellLocation;
6363     move-result-object v5
6365     check-cast v5, Landroid/telephony/gsm/GsmCellLocation;
6367     const v14, 0xc3bb
6369     const/4 v13, 0x2
6371     new-array v15, v13, [Ljava/lang/Object;
6373     const/4 v13, 0x0
6375     move-object/from16 v0, p0
6377     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
6379     move-object/from16 v16, v0
6381     invoke-virtual/range {v16 .. v16}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
6383     move-result-object v16
6385     aput-object v16, v15, v13
6387     const/16 v16, 0x1
6389     if-eqz v5, :cond_245
6391     invoke-virtual {v5}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I
6393     move-result v13
6395     :goto_230
6396     invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
6398     move-result-object v13
6400     aput-object v13, v15, v16
6402     invoke-static {v14, v15}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
6404     const/4 v13, 0x1
6406     move-object/from16 v0, p0
6408     iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
6410     :cond_23e
6411     const/4 v13, 0x0
6413     move-object/from16 v0, p0
6415     iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
6417     goto/16 :goto_36
6419     :cond_245
6420     const/4 v13, -0x1
6422     goto :goto_230
6424     :pswitch_247
6425     const-string v13, "EVENT_RESTRICTED_STATE_CHANGED"
6427     move-object/from16 v0, p0
6429     invoke-virtual {v0, v13}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
6431     move-object/from16 v0, p1
6433     iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6435     check-cast v1, Landroid/os/AsyncResult;
6437     move-object/from16 v0, p0
6439     invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onRestrictedStateChanged(Landroid/os/AsyncResult;)V
6441     goto/16 :goto_36
6443     nop
6445     :pswitch_data_25c
6446     .packed-switch 0x1
6447         :pswitch_6d
6448         :pswitch_74
6449         :pswitch_78
6450         :pswitch_108
6451         :pswitch_108
6452         :pswitch_108
6453         :pswitch_3e
6454         :pswitch_3e
6455         :pswitch_3e
6456         :pswitch_119
6457         :pswitch_129
6458         :pswitch_150
6459         :pswitch_36
6460         :pswitch_108
6461         :pswitch_96
6462         :pswitch_163
6463         :pswitch_42
6464         :pswitch_168
6465         :pswitch_1c0
6466         :pswitch_184
6467         :pswitch_1a1
6468         :pswitch_1f1
6469         :pswitch_247
6470     .end packed-switch
6471 .end method
6473 .method protected handlePollStateResult(ILandroid/os/AsyncResult;)V
6474     .registers 21
6476     move-object/from16 v0, p2
6478     iget-object v14, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
6480     move-object/from16 v0, p0
6482     iget-object v15, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
6484     if-eq v14, v15, :cond_b
6486     :cond_a
6487     :goto_a
6488     return-void
6490     :cond_b
6491     move-object/from16 v0, p2
6493     iget-object v14, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
6495     if-eqz v14, :cond_d5
6497     const/4 v2, 0x0
6499     move-object/from16 v0, p2
6501     iget-object v14, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
6503     instance-of v14, v14, Lcom/android/internal/telephony/CommandException;
6505     if-eqz v14, :cond_26
6507     move-object/from16 v0, p2
6509     iget-object v14, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
6511     check-cast v14, Lcom/android/internal/telephony/CommandException;
6513     check-cast v14, Lcom/android/internal/telephony/CommandException;
6515     invoke-virtual {v14}, Lcom/android/internal/telephony/CommandException;->getCommandError()Lcom/android/internal/telephony/CommandException$Error;
6517     move-result-object v2
6519     :cond_26
6520     sget-object v14, Lcom/android/internal/telephony/CommandException$Error;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/CommandException$Error;
6522     if-ne v2, v14, :cond_2e
6524     invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cancelPollState()V
6526     goto :goto_a
6528     :cond_2e
6529     move-object/from16 v0, p0
6531     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
6533     invoke-interface {v14}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
6535     move-result-object v14
6537     invoke-virtual {v14}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
6539     move-result v14
6541     if-nez v14, :cond_40
6543     invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cancelPollState()V
6545     goto :goto_a
6547     :cond_40
6548     sget-object v14, Lcom/android/internal/telephony/CommandException$Error;->OP_NOT_ALLOWED_BEFORE_REG_NW:Lcom/android/internal/telephony/CommandException$Error;
6550     if-eq v2, v14, :cond_60
6552     new-instance v14, Ljava/lang/StringBuilder;
6554     invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
6556     const-string v15, "RIL implementation has returned an error where it must succeed"
6558     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6560     move-result-object v14
6562     move-object/from16 v0, p2
6564     iget-object v15, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
6566     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6568     move-result-object v14
6570     invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6572     move-result-object v14
6574     move-object/from16 v0, p0
6576     invoke-virtual {v0, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
6578     :cond_60
6579     :goto_60
6580     move-object/from16 v0, p0
6582     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
6584     invoke-virtual {v14}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
6586     move-result-object v14
6588     invoke-virtual {v14}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
6590     move-result-object v14
6592     const v15, 0x1110032
6594     invoke-virtual {v14, v15}, Landroid/content/res/Resources;->getBoolean(I)Z
6596     move-result v13
6598     if-nez v13, :cond_86
6600     move-object/from16 v0, p0
6602     iget v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
6604     if-nez v14, :cond_86
6606     move-object/from16 v0, p0
6608     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
6610     move-object/from16 v0, p0
6612     iget v15, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
6614     invoke-virtual {v14, v15}, Landroid/telephony/ServiceState;->setState(I)V
6616     :cond_86
6617     move-object/from16 v0, p0
6619     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
6621     const/4 v15, 0x0
6623     aget v16, v14, v15
6625     add-int/lit8 v16, v16, -0x1
6627     aput v16, v14, v15
6629     move-object/from16 v0, p0
6631     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
6633     const/4 v15, 0x0
6635     aget v14, v14, v15
6637     if-nez v14, :cond_a
6639     move-object/from16 v0, p0
6641     iget-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
6643     if-nez v14, :cond_a6
6645     move-object/from16 v0, p0
6647     iget-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
6649     if-eqz v14, :cond_289
6651     :cond_a6
6652     const/4 v10, 0x1
6654     :goto_a7
6655     move-object/from16 v0, p0
6657     iget-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
6659     if-eqz v14, :cond_be
6661     move-object/from16 v0, p0
6663     iget-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
6665     move-object/from16 v0, p0
6667     iget-object v15, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
6669     move-object/from16 v0, p0
6671     invoke-direct {v0, v14, v15}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isRoamingBetweenOperators(ZLandroid/telephony/ServiceState;)Z
6673     move-result v14
6675     if-nez v14, :cond_be
6677     const/4 v10, 0x0
6679     :cond_be
6680     move-object/from16 v0, p0
6682     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
6684     invoke-virtual {v14, v10}, Landroid/telephony/ServiceState;->setRoaming(Z)V
6686     move-object/from16 v0, p0
6688     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
6690     move-object/from16 v0, p0
6692     iget-boolean v15, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
6694     invoke-virtual {v14, v15}, Landroid/telephony/ServiceState;->setEmergencyOnly(Z)V
6696     invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollStateDone()V
6698     goto/16 :goto_a
6700     :cond_d5
6701     sparse-switch p1, :sswitch_data_28c
6703     goto :goto_60
6705     :sswitch_d9
6706     :try_start_d9
6707     move-object/from16 v0, p2
6709     iget-object v14, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
6711     check-cast v14, [Ljava/lang/String;
6713     move-object v0, v14
6715     check-cast v0, [Ljava/lang/String;
6717     move-object v11, v0
6719     const/4 v5, -0x1
6721     const/4 v1, -0x1
6723     const/4 v9, -0x1
6725     const/4 v8, -0x1
6727     const/4 v7, -0x1
6729     array-length v14, v11
6730     :try_end_e9
6731     .catch Ljava/lang/RuntimeException; {:try_start_d9 .. :try_end_e9} :catch_17f
6733     if-lez v14, :cond_143
6735     const/4 v14, 0x0
6737     :try_start_ec
6738     aget-object v14, v11, v14
6740     invoke-static {v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
6742     move-result v9
6744     array-length v14, v11
6746     const/4 v15, 0x3
6748     if-lt v14, v15, :cond_124
6750     const/4 v14, 0x1
6752     aget-object v14, v11, v14
6754     if-eqz v14, :cond_10d
6756     const/4 v14, 0x1
6758     aget-object v14, v11, v14
6760     invoke-virtual {v14}, Ljava/lang/String;->length()I
6762     move-result v14
6764     if-lez v14, :cond_10d
6766     const/4 v14, 0x1
6768     aget-object v14, v11, v14
6770     const/16 v15, 0x10
6772     invoke-static {v14, v15}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
6774     move-result v5
6776     :cond_10d
6777     const/4 v14, 0x2
6779     aget-object v14, v11, v14
6781     if-eqz v14, :cond_124
6783     const/4 v14, 0x2
6785     aget-object v14, v11, v14
6787     invoke-virtual {v14}, Ljava/lang/String;->length()I
6789     move-result v14
6791     if-lez v14, :cond_124
6793     const/4 v14, 0x2
6795     aget-object v14, v11, v14
6797     const/16 v15, 0x10
6799     invoke-static {v14, v15}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
6801     move-result v1
6803     :cond_124
6804     array-length v14, v11
6806     const/16 v15, 0xe
6808     if-le v14, v15, :cond_143
6810     const/16 v14, 0xe
6812     aget-object v14, v11, v14
6814     if-eqz v14, :cond_143
6816     const/16 v14, 0xe
6818     aget-object v14, v11, v14
6820     invoke-virtual {v14}, Ljava/lang/String;->length()I
6822     move-result v14
6824     if-lez v14, :cond_143
6826     const/16 v14, 0xe
6828     aget-object v14, v11, v14
6830     const/16 v15, 0x10
6832     invoke-static {v14, v15}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
6833     :try_end_142
6834     .catch Ljava/lang/NumberFormatException; {:try_start_ec .. :try_end_142} :catch_19a
6835     .catch Ljava/lang/RuntimeException; {:try_start_ec .. :try_end_142} :catch_17f
6837     move-result v7
6839     :cond_143
6840     :goto_143
6841     :try_start_143
6842     move-object/from16 v0, p0
6844     invoke-direct {v0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeIsRoaming(I)Z
6846     move-result v14
6848     move-object/from16 v0, p0
6850     iput-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
6852     move-object/from16 v0, p0
6854     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
6856     move-object/from16 v0, p0
6858     invoke-direct {v0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
6860     move-result v15
6862     invoke-virtual {v14, v15}, Landroid/telephony/ServiceState;->setState(I)V
6864     const/16 v14, 0xa
6866     if-eq v9, v14, :cond_16a
6868     const/16 v14, 0xc
6870     if-eq v9, v14, :cond_16a
6872     const/16 v14, 0xd
6874     if-eq v9, v14, :cond_16a
6876     const/16 v14, 0xe
6878     if-ne v9, v14, :cond_1b4
6880     :cond_16a
6881     const/4 v14, 0x1
6883     move-object/from16 v0, p0
6885     iput-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
6887     :goto_16f
6888     move-object/from16 v0, p0
6890     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
6892     invoke-virtual {v14, v5, v1}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
6894     move-object/from16 v0, p0
6896     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
6898     invoke-virtual {v14, v7}, Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
6899     :try_end_17d
6900     .catch Ljava/lang/RuntimeException; {:try_start_143 .. :try_end_17d} :catch_17f
6902     goto/16 :goto_60
6904     :catch_17f
6905     move-exception v3
6907     new-instance v14, Ljava/lang/StringBuilder;
6909     invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
6911     const-string v15, "Exception while polling service state. Probably malformed RIL response."
6913     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6915     move-result-object v14
6917     invoke-virtual {v14, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6919     move-result-object v14
6921     invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6923     move-result-object v14
6925     move-object/from16 v0, p0
6927     invoke-virtual {v0, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
6929     goto/16 :goto_60
6931     :catch_19a
6932     move-exception v3
6934     :try_start_19b
6935     new-instance v14, Ljava/lang/StringBuilder;
6937     invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
6939     const-string v15, "error parsing RegistrationState: "
6941     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6943     move-result-object v14
6945     invoke-virtual {v14, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6947     move-result-object v14
6949     invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6951     move-result-object v14
6953     move-object/from16 v0, p0
6955     invoke-virtual {v0, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
6957     goto :goto_143
6959     :cond_1b4
6960     const/4 v14, 0x0
6962     move-object/from16 v0, p0
6964     iput-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
6966     goto :goto_16f
6968     :sswitch_1ba
6969     move-object/from16 v0, p2
6971     iget-object v14, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
6973     check-cast v14, [Ljava/lang/String;
6975     move-object v0, v14
6977     check-cast v0, [Ljava/lang/String;
6979     move-object v11, v0
6981     const/4 v12, 0x0
6983     const/4 v9, -0x1
6985     const/4 v14, -0x1
6987     move-object/from16 v0, p0
6989     iput v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
6991     const/4 v14, 0x1
6993     move-object/from16 v0, p0
6995     iput v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
6997     array-length v14, v11
6998     :try_end_1d1
6999     .catch Ljava/lang/RuntimeException; {:try_start_19b .. :try_end_1d1} :catch_17f
7001     if-lez v14, :cond_20b
7003     const/4 v14, 0x0
7005     :try_start_1d4
7006     aget-object v14, v11, v14
7008     invoke-static {v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
7010     move-result v9
7012     array-length v14, v11
7014     const/4 v15, 0x4
7016     if-lt v14, v15, :cond_1ea
7018     const/4 v14, 0x3
7020     aget-object v14, v11, v14
7022     if-eqz v14, :cond_1ea
7024     const/4 v14, 0x3
7026     aget-object v14, v11, v14
7028     invoke-static {v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
7030     move-result v12
7032     :cond_1ea
7033     array-length v14, v11
7035     const/4 v15, 0x5
7037     if-lt v14, v15, :cond_1fc
7039     const/4 v14, 0x3
7041     if-ne v9, v14, :cond_1fc
7043     const/4 v14, 0x4
7045     aget-object v14, v11, v14
7047     invoke-static {v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
7049     move-result v14
7051     move-object/from16 v0, p0
7053     iput v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
7055     :cond_1fc
7056     array-length v14, v11
7058     const/4 v15, 0x6
7060     if-lt v14, v15, :cond_20b
7062     const/4 v14, 0x5
7064     aget-object v14, v11, v14
7066     invoke-static {v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
7068     move-result v14
7070     move-object/from16 v0, p0
7072     iput v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
7073     :try_end_20b
7074     .catch Ljava/lang/NumberFormatException; {:try_start_1d4 .. :try_end_20b} :catch_22c
7075     .catch Ljava/lang/RuntimeException; {:try_start_1d4 .. :try_end_20b} :catch_17f
7077     :cond_20b
7078     :goto_20b
7079     :try_start_20b
7080     move-object/from16 v0, p0
7082     invoke-direct {v0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
7084     move-result v14
7086     move-object/from16 v0, p0
7088     iput v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
7090     move-object/from16 v0, p0
7092     invoke-direct {v0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeIsRoaming(I)Z
7094     move-result v14
7096     move-object/from16 v0, p0
7098     iput-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
7100     move-object/from16 v0, p0
7102     iput v12, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
7104     move-object/from16 v0, p0
7106     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
7108     invoke-virtual {v14, v12}, Landroid/telephony/ServiceState;->setRadioTechnology(I)V
7110     goto/16 :goto_60
7112     :catch_22c
7113     move-exception v3
7115     new-instance v14, Ljava/lang/StringBuilder;
7117     invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
7119     const-string v15, "error parsing GprsRegistrationState: "
7121     invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7123     move-result-object v14
7125     invoke-virtual {v14, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7127     move-result-object v14
7129     invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7131     move-result-object v14
7133     move-object/from16 v0, p0
7135     invoke-virtual {v0, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
7137     goto :goto_20b
7139     :sswitch_246
7140     move-object/from16 v0, p2
7142     iget-object v14, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
7144     check-cast v14, [Ljava/lang/String;
7146     move-object v0, v14
7148     check-cast v0, [Ljava/lang/String;
7150     move-object v6, v0
7152     if-eqz v6, :cond_60
7154     array-length v14, v6
7156     const/4 v15, 0x3
7158     if-lt v14, v15, :cond_60
7160     move-object/from16 v0, p0
7162     iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
7164     const/4 v15, 0x0
7166     aget-object v15, v6, v15
7168     const/16 v16, 0x1
7170     aget-object v16, v6, v16
7172     const/16 v17, 0x2
7174     aget-object v17, v6, v17
7176     invoke-virtual/range {v14 .. v17}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
7178     goto/16 :goto_60
7180     :sswitch_26a
7181     move-object/from16 v0, p2
7183     iget-object v14, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
7185     check-cast v14, [I
7187     move-object v0, v14
7189     check-cast v0, [I
7191     move-object v4, v0
7193     move-object/from16 v0, p0
7195     iget-object v15, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
7197     const/4 v14, 0x0
7199     aget v14, v4, v14
7201     const/16 v16, 0x1
7203     move/from16 v0, v16
7205     if-ne v14, v0, :cond_287
7207     const/4 v14, 0x1
7209     :goto_282
7210     invoke-virtual {v15, v14}, Landroid/telephony/ServiceState;->setIsManualSelection(Z)V
7211     :try_end_285
7212     .catch Ljava/lang/RuntimeException; {:try_start_20b .. :try_end_285} :catch_17f
7214     goto/16 :goto_60
7216     :cond_287
7217     const/4 v14, 0x0
7219     goto :goto_282
7221     :cond_289
7222     const/4 v10, 0x0
7224     goto/16 :goto_a7
7226     :sswitch_data_28c
7227     .sparse-switch
7228         0x4 -> :sswitch_d9
7229         0x5 -> :sswitch_1ba
7230         0x6 -> :sswitch_246
7231         0xe -> :sswitch_26a
7232     .end sparse-switch
7233 .end method
7235 .method protected hangupAndPowerOff()V
7236     .registers 4
7238     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
7240     invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GSMPhone;->isInCall()Z
7242     move-result v0
7244     if-eqz v0, :cond_23
7246     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
7248     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mCT:Lcom/android/internal/telephony/gsm/GsmCallTracker;
7250     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmCallTracker;->ringingCall:Lcom/android/internal/telephony/gsm/GsmCall;
7252     invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GsmCall;->hangupIfAlive()V
7254     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
7256     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mCT:Lcom/android/internal/telephony/gsm/GsmCallTracker;
7258     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmCallTracker;->backgroundCall:Lcom/android/internal/telephony/gsm/GsmCall;
7260     invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GsmCall;->hangupIfAlive()V
7262     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
7264     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mCT:Lcom/android/internal/telephony/gsm/GsmCallTracker;
7266     iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmCallTracker;->foregroundCall:Lcom/android/internal/telephony/gsm/GsmCall;
7268     invoke-virtual {v0}, Lcom/android/internal/telephony/gsm/GsmCall;->hangupIfAlive()V
7270     :cond_23
7271     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
7273     const/4 v1, 0x0
7275     const/4 v2, 0x0
7277     invoke-interface {v0, v1, v2}, Lcom/android/internal/telephony/CommandsInterface;->setRadioPower(ZLandroid/os/Message;)V
7279     return-void
7280 .end method
7282 .method public isConcurrentVoiceAndDataAllowed()Z
7283     .registers 3
7285     iget v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mRilRadioTechnology:I
7287     const/4 v1, 0x3
7289     if-lt v0, v1, :cond_7
7291     const/4 v0, 0x1
7293     :goto_6
7294     return v0
7296     :cond_7
7297     const/4 v0, 0x0
7299     goto :goto_6
7300 .end method
7302 .method protected log(Ljava/lang/String;)V
7303     .registers 5
7305     const-string v0, "GSM"
7307     new-instance v1, Ljava/lang/StringBuilder;
7309     invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
7311     const-string v2, "[GsmSST] "
7313     invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7315     move-result-object v1
7317     invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7319     move-result-object v1
7321     invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7323     move-result-object v1
7325     invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
7327     return-void
7328 .end method
7330 .method protected loge(Ljava/lang/String;)V
7331     .registers 5
7333     const-string v0, "GSM"
7335     new-instance v1, Ljava/lang/StringBuilder;
7337     invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
7339     const-string v2, "[GsmSST] "
7341     invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7343     move-result-object v1
7345     invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7347     move-result-object v1
7349     invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7351     move-result-object v1
7353     invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7355     return-void
7356 .end method
7358 .method protected onUpdateIccAvailability()V
7359     .registers 5
7361     const/4 v3, 0x0
7363     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccController:Lcom/android/internal/telephony/uicc/UiccController;
7365     if-nez v1, :cond_6
7367     :cond_5
7368     :goto_5
7369     return-void
7371     :cond_6
7372     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccController:Lcom/android/internal/telephony/uicc/UiccController;
7374     const/4 v2, 0x1
7376     invoke-virtual {v1, v2}, Lcom/android/internal/telephony/uicc/UiccController;->getUiccCardApplication(I)Lcom/android/internal/telephony/UiccCardApplication;
7378     move-result-object v0
7380     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
7382     if-eq v1, v0, :cond_5
7384     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
7386     if-eqz v1, :cond_2c
7388     const-string v1, "Removing stale icc objects."
7390     invoke-virtual {p0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
7392     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
7394     invoke-virtual {v1, p0}, Lcom/android/internal/telephony/UiccCardApplication;->unregisterForReady(Landroid/os/Handler;)V
7396     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
7398     if-eqz v1, :cond_28
7400     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
7402     invoke-virtual {v1, p0}, Lcom/android/internal/telephony/IccRecords;->unregisterForRecordsLoaded(Landroid/os/Handler;)V
7404     :cond_28
7405     iput-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
7407     iput-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
7409     :cond_2c
7410     if-eqz v0, :cond_5
7412     const-string v1, "New card found"
7414     invoke-virtual {p0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
7416     iput-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
7418     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
7420     invoke-virtual {v1}, Lcom/android/internal/telephony/UiccCardApplication;->getIccRecords()Lcom/android/internal/telephony/IccRecords;
7422     move-result-object v1
7424     iput-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
7426     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/UiccCardApplication;
7428     const/16 v2, 0x11
7430     invoke-virtual {v1, p0, v2, v3}, Lcom/android/internal/telephony/UiccCardApplication;->registerForReady(Landroid/os/Handler;ILjava/lang/Object;)V
7432     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
7434     if-eqz v1, :cond_5
7436     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
7438     const/16 v2, 0x10
7440     invoke-virtual {v1, p0, v2, v3}, Lcom/android/internal/telephony/IccRecords;->registerForRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
7442     goto :goto_5
7443 .end method
7445 .method protected setPowerStateToDesired()V
7446     .registers 5
7448     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDesiredPowerState:Z
7450     if-eqz v1, :cond_16
7452     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
7454     invoke-interface {v1}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
7456     move-result-object v1
7458     sget-object v2, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_OFF:Lcom/android/internal/telephony/CommandsInterface$RadioState;
7460     if-ne v1, v2, :cond_16
7462     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
7464     const/4 v2, 0x1
7466     const/4 v3, 0x0
7468     invoke-interface {v1, v2, v3}, Lcom/android/internal/telephony/CommandsInterface;->setRadioPower(ZLandroid/os/Message;)V
7470     :cond_15
7471     :goto_15
7472     return-void
7474     :cond_16
7475     iget-boolean v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDesiredPowerState:Z
7477     if-nez v1, :cond_15
7479     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
7481     invoke-interface {v1}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
7483     move-result-object v1
7485     invoke-virtual {v1}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
7487     move-result v1
7489     if-eqz v1, :cond_15
7491     iget-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
7493     iget-object v0, v1, Lcom/android/internal/telephony/gsm/GSMPhone;->mDataConnectionTracker:Lcom/android/internal/telephony/DataConnectionTracker;
7495     invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->powerOffRadioSafely(Lcom/android/internal/telephony/DataConnectionTracker;)V
7497     goto :goto_15
7498 .end method
7500 .method protected updateSpnDisplay()V
7501     .registers 14
7503     const/4 v12, 0x2
7505     const/4 v7, 0x0
7507     const/4 v8, 0x1
7509     iget-object v0, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
7511     const/4 v2, 0x0
7513     const/4 v4, 0x0
7515     if-eqz v0, :cond_e4
7517     iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
7519     invoke-virtual {v9}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
7521     move-result-object v9
7523     invoke-virtual {v0, v9}, Lcom/android/internal/telephony/IccRecords;->getDisplayRule(Ljava/lang/String;)I
7525     move-result v3
7527     :goto_13
7528     iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
7530     invoke-virtual {v9}, Landroid/telephony/ServiceState;->getState()I
7532     move-result v9
7534     if-eq v9, v8, :cond_23
7536     iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
7538     invoke-virtual {v9}, Landroid/telephony/ServiceState;->getState()I
7540     move-result v9
7542     if-ne v9, v12, :cond_f8
7544     :cond_23
7545     const/4 v4, 0x1
7547     iget-boolean v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
7549     if-eqz v9, :cond_e7
7551     invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
7553     move-result-object v9
7555     const v10, 0x104031c
7557     invoke-virtual {v9, v10}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
7559     move-result-object v9
7561     invoke-virtual {v9}, Ljava/lang/Object;->toString()Ljava/lang/String;
7563     move-result-object v2
7565     :goto_37
7566     new-instance v9, Ljava/lang/StringBuilder;
7568     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
7570     const-string v10, "updateSpnDisplay: radio is on but out of service, set plmn=\'"
7572     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7574     move-result-object v9
7576     invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7578     move-result-object v9
7580     const-string v10, "\'"
7582     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7584     move-result-object v9
7586     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7588     move-result-object v9
7590     invoke-virtual {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
7592     :goto_53
7593     if-eqz v0, :cond_137
7595     invoke-virtual {v0}, Lcom/android/internal/telephony/IccRecords;->getServiceProviderName()Ljava/lang/String;
7597     move-result-object v6
7599     :goto_59
7600     invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
7602     move-result v9
7604     if-nez v9, :cond_13b
7606     and-int/lit8 v9, v3, 0x1
7608     if-ne v9, v8, :cond_13b
7610     move v5, v8
7612     :goto_64
7613     iget-boolean v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curShowPlmn:Z
7615     if-ne v4, v9, :cond_7c
7617     iget-boolean v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curShowSpn:Z
7619     if-ne v5, v9, :cond_7c
7621     iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
7623     invoke-static {v6, v9}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
7625     move-result v9
7627     if-eqz v9, :cond_7c
7629     iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
7631     invoke-static {v2, v9}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
7633     move-result v9
7635     if-nez v9, :cond_db
7637     :cond_7c
7638     new-instance v9, Ljava/lang/StringBuilder;
7640     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
7642     const-string v10, "updateSpnDisplay: changed sending intent rule="
7644     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7646     move-result-object v9
7648     invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
7650     move-result-object v9
7652     const-string v10, " showPlmn=\'%b\' plmn=\'%s\' showSpn=\'%b\' spn=\'%s\'"
7654     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7656     move-result-object v9
7658     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7660     move-result-object v9
7662     const/4 v10, 0x4
7664     new-array v10, v10, [Ljava/lang/Object;
7666     invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
7668     move-result-object v11
7670     aput-object v11, v10, v7
7672     aput-object v2, v10, v8
7674     invoke-static {v5}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
7676     move-result-object v7
7678     aput-object v7, v10, v12
7680     const/4 v7, 0x3
7682     aput-object v6, v10, v7
7684     invoke-static {v9, v10}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
7686     move-result-object v7
7688     invoke-virtual {p0, v7}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
7690     new-instance v1, Landroid/content/Intent;
7692     const-string v7, "android.provider.Telephony.SPN_STRINGS_UPDATED"
7694     invoke-direct {v1, v7}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
7696     const/high16 v7, 0x2000
7698     invoke-virtual {v1, v7}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
7700     const-string v7, "showSpn"
7702     invoke-virtual {v1, v7, v5}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
7704     const-string v7, "spn"
7706     invoke-virtual {v1, v7, v6}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7708     const-string v7, "showPlmn"
7710     invoke-virtual {v1, v7, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
7712     const-string v7, "plmn"
7714     invoke-virtual {v1, v7, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
7716     iget-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
7718     invoke-virtual {v7}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
7720     move-result-object v7
7722     sget-object v8, Landroid/os/UserHandle;->ALL:Landroid/os/UserHandle;
7724     invoke-virtual {v7, v1, v8}, Landroid/content/Context;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
7726     :cond_db
7727     iput-boolean v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curShowSpn:Z
7729     iput-boolean v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curShowPlmn:Z
7731     iput-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
7733     iput-object v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
7735     return-void
7737     :cond_e4
7738     move v3, v7
7740     goto/16 :goto_13
7742     :cond_e7
7743     invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
7745     move-result-object v9
7747     const v10, 0x1040301
7749     invoke-virtual {v9, v10}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
7751     move-result-object v9
7753     invoke-virtual {v9}, Ljava/lang/Object;->toString()Ljava/lang/String;
7755     move-result-object v2
7757     goto/16 :goto_37
7759     :cond_f8
7760     iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
7762     invoke-virtual {v9}, Landroid/telephony/ServiceState;->getState()I
7764     move-result v9
7766     if-nez v9, :cond_115
7768     iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
7770     invoke-virtual {v9}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
7772     move-result-object v2
7774     invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
7776     move-result v9
7778     if-nez v9, :cond_113
7780     and-int/lit8 v9, v3, 0x2
7782     if-ne v9, v12, :cond_113
7784     move v4, v8
7786     :goto_111
7787     goto/16 :goto_53
7789     :cond_113
7790     move v4, v7
7792     goto :goto_111
7794     :cond_115
7795     new-instance v9, Ljava/lang/StringBuilder;
7797     invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
7799     const-string v10, "updateSpnDisplay: radio is off w/ showPlmn="
7801     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7803     move-result-object v9
7805     invoke-virtual {v9, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
7807     move-result-object v9
7809     const-string v10, " plmn="
7811     invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7813     move-result-object v9
7815     invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7817     move-result-object v9
7819     invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7821     move-result-object v9
7823     invoke-virtual {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
7825     goto/16 :goto_53
7827     :cond_137
7828     const-string v6, ""
7830     goto/16 :goto_59
7832     :cond_13b
7833     move v5, v7
7835     goto/16 :goto_64
7836 .end method