Alarms.smali
.class public Lcom/imo/android/imoim/Alarms;
.super Landroid/content/BroadcastReceiver;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/imo/android/imoim/Alarms$a;,
Lcom/imo/android/imoim/Alarms$b;
}
.end annotation
# static fields
.field private static a:Lcom/imo/android/imoim/Alarms$a;
# direct methods
.method public constructor <init>()V
.registers 1
.line 27
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
.method private static a(Landroid/content/Context;)Landroid/app/AlarmManager;
.registers 4
const-string v0, "alarm"
.line 201
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/app/AlarmManager;
if-nez p0, :cond_12
const/4 v0, 0x1
const-string v1, "Alarms"
const-string v2, "alarm manager null"
.line 3079
invoke-static {v1, v2, v0}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V
:cond_12
return-object p0
.end method
.method private static a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/PendingIntent;
.registers 6
.line 211
new-instance v0, Landroid/content/Intent;
const-class v1, Lcom/imo/android/imoim/Alarms;
invoke-direct {v0, p0, v1}, Landroid/content/Intent;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
.line 212
invoke-virtual {v0, p1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
if-eqz p3, :cond_20
.line 214
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p3, "extra"
invoke-virtual {v0, p3, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
:cond_20
if-eqz p2, :cond_27
const-string p1, "reason"
.line 216
invoke-virtual {v0, p1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
:cond_27
const/16 p1, 0x3e9
const/high16 p2, 0x8000000
.line 219
invoke-static {p0, p1, v0, p2}, Landroid/app/PendingIntent;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
move-result-object p0
return-object p0
.end method
.method static a()V
.registers 3
.line 48
new-instance v0, Landroid/os/HandlerThread;
const-string v1, "alarmhandler"
const/16 v2, 0xa
invoke-direct {v0, v1, v2}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;I)V
.line 49
invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
.line 50
new-instance v1, Lcom/imo/android/imoim/Alarms$a;
invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v0
invoke-direct {v1, v0}, Lcom/imo/android/imoim/Alarms$a;-><init>(Landroid/os/Looper;)V
sput-object v1, Lcom/imo/android/imoim/Alarms;->a:Lcom/imo/android/imoim/Alarms$a;
return-void
.end method
.method public static a(Ljava/lang/String;JLjava/lang/String;Landroid/content/Context;)V
.registers 13
.line 120
sget-object v0, Lcom/imo/android/imoim/Alarms;->a:Lcom/imo/android/imoim/Alarms$a;
new-instance v7, Lcom/imo/android/imoim/Alarms$b;
move-object v1, v7
move-object v2, p0
move-wide v3, p1
move-object v5, p3
move-object v6, p4
invoke-direct/range {v1 .. v6}, Lcom/imo/android/imoim/Alarms$b;-><init>(Ljava/lang/String;JLjava/lang/String;Landroid/content/Context;)V
const/4 p0, 0x0
invoke-virtual {v0, p0, v7}, Lcom/imo/android/imoim/Alarms$a;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
move-result-object p0
invoke-virtual {v0, p0}, Lcom/imo/android/imoim/Alarms$a;->sendMessage(Landroid/os/Message;)Z
return-void
.end method
.method public static a(Ljava/lang/String;Landroid/content/Context;)V
.registers 10
.line 125
sget-object v0, Lcom/imo/android/imoim/Alarms;->a:Lcom/imo/android/imoim/Alarms$a;
new-instance v7, Lcom/imo/android/imoim/Alarms$b;
const-wide/16 v3, 0x0
const/4 v5, 0x0
move-object v1, v7
move-object v2, p0
move-object v6, p1
invoke-direct/range {v1 .. v6}, Lcom/imo/android/imoim/Alarms$b;-><init>(Ljava/lang/String;JLjava/lang/String;Landroid/content/Context;)V
const/4 p0, 0x1
invoke-virtual {v0, p0, v7}, Lcom/imo/android/imoim/Alarms$a;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
move-result-object p0
invoke-virtual {v0, p0}, Lcom/imo/android/imoim/Alarms$a;->sendMessage(Landroid/os/Message;)Z
return-void
.end method
.method static synthetic b(Ljava/lang/String;JLjava/lang/String;Landroid/content/Context;)V
.registers 12
.line 3166
invoke-static {p4}, Lcom/imo/android/imoim/Alarms;->a(Landroid/content/Context;)Landroid/app/AlarmManager;
move-result-object v0
if-eqz v0, :cond_41
.line 3174
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v1
add-long/2addr v1, p1
.line 3176
new-instance p1, Ljava/lang/StringBuilder;
const-string p2, " "
invoke-direct {p1, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/Math;->random()D
move-result-wide v3
const-wide v5, 0x40c3880000000000L # 10000.0
mul-double v3, v3, v5
double-to-int p2, v3
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
.line 3177
invoke-static {p4, p0, p3, p1}, Lcom/imo/android/imoim/Alarms;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/PendingIntent;
move-result-object p0
.line 3179
sget p1, Lcom/imo/android/imoim/util/al;->b:I
const/16 p2, 0x17
const/4 p3, 0x2
if-lt p1, p2, :cond_34
.line 3180
invoke-virtual {v0, p3, v1, v2, p0}, Landroid/app/AlarmManager;->setExactAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V
return-void
.line 3181
:cond_34
sget p1, Lcom/imo/android/imoim/util/al;->b:I
const/16 p2, 0x13
if-lt p1, p2, :cond_3e
.line 3182
invoke-virtual {v0, p3, v1, v2, p0}, Landroid/app/AlarmManager;->setExact(IJLandroid/app/PendingIntent;)V
return-void
.line 3184
:cond_3e
invoke-virtual {v0, p3, v1, v2, p0}, Landroid/app/AlarmManager;->set(IJLandroid/app/PendingIntent;)V
:cond_41
return-void
.end method
.method static synthetic b(Ljava/lang/String;Landroid/content/Context;)V
.registers 4
.line 3189
invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "cancelAlarm. action: "
invoke-virtual {v1, v0}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v1, "Alarms"
.line 4071
invoke-static {v1, v0}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x0
.line 3191
invoke-static {p1, p0, v0, v0}, Lcom/imo/android/imoim/Alarms;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/PendingIntent;
move-result-object p0
.line 3192
invoke-virtual {p0}, Landroid/app/PendingIntent;->cancel()V
.line 3194
invoke-static {p1}, Lcom/imo/android/imoim/Alarms;->a(Landroid/content/Context;)Landroid/app/AlarmManager;
move-result-object p1
if-eqz p1, :cond_20
.line 3196
invoke-virtual {p1, p0}, Landroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
:cond_20
return-void
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.registers 9
const-string p1, "Alarms"
const/4 v0, 0x0
.line 56
:try_start_3
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v1
.line 57
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "onReceive action: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, ", thread: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 1071
invoke-static {p1, v2}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 59
invoke-static {}, Lcom/imo/android/imoim/util/ei;->aZ()V
if-nez v1, :cond_2b
const-string v1, ""
:cond_2b
const/4 v2, -0x1
.line 65
invoke-virtual {v1}, Ljava/lang/String;->hashCode()I
move-result v3
const/4 v4, 0x1
sparse-switch v3, :sswitch_data_10a
goto :goto_84
:sswitch_35
const-string v3, "com.imo.android.imoim.TIMEOUT_TCP"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_84
const/4 v2, 0x5
goto :goto_84
:sswitch_3f
const-string v3, "com.imo.android.imoim.TIMEOUT_GCM"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_84
const/4 v2, 0x6
goto :goto_84
:sswitch_49
const-string v3, "com.imo.android.imoim.APPALIVE"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_84
const/4 v2, 0x4
goto :goto_84
:sswitch_53
const-string v3, "com.imo.android.imoim.SEND_SESSION_ON_BACKEND"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_84
const/4 v2, 0x2
goto :goto_84
:sswitch_5d
const-string v3, "com.imo.android.imoim.KEEPALIVE"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_84
const/4 v2, 0x3
goto :goto_84
:sswitch_67
const-string v3, "com.imo.android.imoim.RETRANSMIT"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_84
const/4 v2, 0x0
goto :goto_84
:sswitch_71
const-string v3, "com.imo.android.imoim.CHECK_APP_ACTIVITY"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_84
const/4 v2, 0x1
goto :goto_84
:sswitch_7b
const-string v3, "com.imo.android.imoim.RECONNECT"
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
:try_end_81
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_81} :catch_101
if-eqz v3, :cond_84
const/4 v2, 0x7
:cond_84
:goto_84
const-string v3, "unknown"
const-string v5, "reason"
packed-switch v2, :pswitch_data_12c
goto :goto_f3
.line 100
:pswitch_8c
:try_start_8c
invoke-virtual {p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object p2
invoke-virtual {p2, v5}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 101
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_9b
goto :goto_9c
:cond_9b
move-object v3, p2
.line 104
:goto_9c
sget-object p2, Lcom/imo/android/imoim/IMO;->c:Lcom/imo/android/imoim/network/Dispatcher4;
invoke-virtual {p2, v3, v0}, Lcom/imo/android/imoim/network/Dispatcher4;->reconnect(Ljava/lang/String;Z)V
return-void
.line 96
:pswitch_a2
sget-object p2, Lcom/imo/android/imoim/IMO;->c:Lcom/imo/android/imoim/network/Dispatcher4;
const-string v1, "timeout"
invoke-virtual {p2, v1, v0}, Lcom/imo/android/imoim/network/Dispatcher4;->reconnect(Ljava/lang/String;Z)V
return-void
.line 91
:pswitch_aa
invoke-static {}, Lcom/imo/android/imoim/util/ei;->s()V
return-void
.line 87
:pswitch_ae
sget-object p2, Lcom/imo/android/imoim/IMO;->c:Lcom/imo/android/imoim/network/Dispatcher4;
invoke-virtual {p2}, Lcom/imo/android/imoim/network/Dispatcher4;->keepAlive()V
return-void
.line 83
:pswitch_b4
const-class p2, Lcom/imo/android/imoim/profile/level/a;
invoke-static {p2}, Lsg/bigo/mobile/android/a/a/a;->a(Ljava/lang/Class;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/imo/android/imoim/profile/level/a;
invoke-interface {p2}, Lcom/imo/android/imoim/profile/level/a;->b()V
return-void
.line 79
:pswitch_c0
sget-object p2, Lcom/imo/android/imoim/IMO;->o:Lcom/imo/android/imoim/managers/f;
invoke-virtual {p2}, Lcom/imo/android/imoim/managers/f;->a()V
return-void
.line 67
:pswitch_c6
invoke-virtual {p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
move-result-object p2
invoke-virtual {p2, v5}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 68
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_d5
goto :goto_d6
:cond_d5
move-object v3, p2
:goto_d6
const-string p2, "onReceive RETRANSMIT reason: "
.line 72
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 2071
invoke-static {p1, p2}, Lcom/imo/android/imoim/util/bt;->d(Ljava/lang/String;Ljava/lang/String;)V
const-string p2, "retransmit#"
.line 73
invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 74
sget-object v1, Lcom/imo/android/imoim/IMO;->c:Lcom/imo/android/imoim/network/Dispatcher4;
invoke-virtual {v1, p2, v0}, Lcom/imo/android/imoim/network/Dispatcher4;->reconnect(Ljava/lang/String;Z)V
return-void
:goto_f3
const-string p2, "unhandled action: "
.line 109
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
.line 2079
invoke-static {p1, p2, v4}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V
:try_end_100
.catch Ljava/lang/Exception; {:try_start_8c .. :try_end_100} :catch_101
return-void
:catch_101
move-exception p2
.line 114
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
invoke-static {p1, p2, v0}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Z)V
return-void
:sswitch_data_10a
.sparse-switch
-0x4564af57 -> :sswitch_7b
-0x27f7a7ae -> :sswitch_71
0x74cf2b1 -> :sswitch_67
0x17858dba -> :sswitch_5d
0x5f7ded86 -> :sswitch_53
0x62981f9a -> :sswitch_49
0x7991a3e5 -> :sswitch_3f
0x7991d4b5 -> :sswitch_35
.end sparse-switch
:pswitch_data_12c
.packed-switch 0x0
:pswitch_c6
:pswitch_c0
:pswitch_b4
:pswitch_ae
:pswitch_aa
:pswitch_a2
:pswitch_a2
:pswitch_8c
.end packed-switch
.end method