bo.smali
.class public Lcom/xiaomi/push/bo;
.super Ljava/lang/Object;
# static fields
.field private static final a:J
.field private static final e:Ljava/lang/Object;
# instance fields
.field private b:Landroid/content/Context;
.field private c:Landroid/net/ConnectivityManager;
.field private d:Lcom/xiaomi/push/bx;
.field private f:Lcom/xiaomi/push/bj;
.field private g:Landroid/os/HandlerThread;
.field private h:Lcom/xiaomi/push/bw;
.field private i:Landroid/content/BroadcastReceiver;
# direct methods
.method static constructor <clinit>()V
.registers 2
invoke-static {}, Lcom/xiaomi/push/as;->a()Lcom/xiaomi/push/as;
invoke-static {}, Lcom/xiaomi/push/as;->b()Z
move-result v0
if-eqz v0, :cond_15
const-wide/16 v0, 0x7530
:goto_b
sput-wide v0, Lcom/xiaomi/push/bo;->a:J
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/xiaomi/push/bo;->e:Ljava/lang/Object;
return-void
:cond_15
const-wide/32 v0, 0x1b7740
goto :goto_b
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/xiaomi/push/bt;
invoke-direct {v0, p0}, Lcom/xiaomi/push/bt;-><init>(Lcom/xiaomi/push/bo;)V
iput-object v0, p0, Lcom/xiaomi/push/bo;->i:Landroid/content/BroadcastReceiver;
iput-object p1, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
return-void
.end method
.method static synthetic a(Lcom/xiaomi/push/bo;)Lcom/xiaomi/push/bw;
.registers 2
iget-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
return-object v0
.end method
.method static synthetic a(Lcom/xiaomi/push/bo;Z)V
.registers 2
invoke-direct {p0, p1}, Lcom/xiaomi/push/bo;->a(Z)V
return-void
.end method
.method private a(Z)V
.registers 8
const/4 v5, 0x1
const/4 v4, 0x2
const/4 v0, 0x0
:try_start_3
iget-object v1, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
if-eqz v1, :cond_25
iget-object v1, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
const-string v2, "android.permission.ACCESS_NETWORK_STATE"
iget-object v3, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
move-result v1
if-nez v1, :cond_25
iget-object v1, p0, Lcom/xiaomi/push/bo;->c:Landroid/net/ConnectivityManager;
if-eqz v1, :cond_25
iget-object v1, p0, Lcom/xiaomi/push/bo;->c:Landroid/net/ConnectivityManager;
invoke-virtual {v1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
:try_end_24
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_24} :catch_86
move-result-object v0
:cond_25
:goto_25
iget-object v1, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
if-nez v1, :cond_2a
:goto_29
return-void
:cond_2a
if-eqz v0, :cond_80
invoke-virtual {v0}, Landroid/net/NetworkInfo;->getType()I
move-result v1
if-ne v1, v5, :cond_80
invoke-virtual {v0}, Landroid/net/NetworkInfo;->isConnected()Z
move-result v0
if-eqz v0, :cond_80
iget-object v0, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
invoke-static {v0, v5}, Lcom/xiaomi/push/br;->a(Landroid/content/Context;I)Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v1}, Lcom/xiaomi/push/bj;->b()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_52
iget-object v1, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v1}, Lcom/xiaomi/push/bj;->b()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_57
:cond_52
iget-object v1, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v1, v0}, Lcom/xiaomi/push/bj;->a(Ljava/lang/String;)V
:cond_57
iget-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v0, v4}, Lcom/xiaomi/push/bw;->hasMessages(I)Z
move-result v0
if-eqz v0, :cond_64
iget-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v0, v4}, Lcom/xiaomi/push/bw;->removeMessages(I)V
:cond_64
iget-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v0, v4}, Lcom/xiaomi/push/bw;->obtainMessage(I)Landroid/os/Message;
move-result-object v0
sget-wide v2, Lcom/xiaomi/push/bo;->a:J
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
iput-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
if-eqz p1, :cond_7a
iget-object v1, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v1, v0}, Lcom/xiaomi/push/bw;->sendMessage(Landroid/os/Message;)Z
goto :goto_29
:cond_7a
iget-object v1, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v1, v0, v2, v3}, Lcom/xiaomi/push/bw;->sendMessageDelayed(Landroid/os/Message;J)Z
goto :goto_29
:cond_80
iget-object v0, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v0}, Lcom/xiaomi/push/bj;->h()V
goto :goto_29
:catch_86
move-exception v1
goto :goto_25
.end method
.method static synthetic b(Lcom/xiaomi/push/bo;Z)V
.registers 2
invoke-direct {p0, p1}, Lcom/xiaomi/push/bo;->b(Z)V
return-void
.end method
.method private b(Z)V
.registers 3
invoke-static {}, Lcom/xiaomi/push/as;->a()Lcom/xiaomi/push/as;
move-result-object v0
invoke-virtual {v0}, Lcom/xiaomi/push/as;->f()Z
move-result v0
if-eqz v0, :cond_2b
if-nez p1, :cond_1e
invoke-direct {p0}, Lcom/xiaomi/push/bo;->e()Z
move-result v0
if-eqz v0, :cond_2b
invoke-direct {p0}, Lcom/xiaomi/push/bo;->g()Z
move-result v0
if-eqz v0, :cond_2b
invoke-direct {p0}, Lcom/xiaomi/push/bo;->f()Z
move-result v0
if-eqz v0, :cond_2b
:cond_1e
invoke-direct {p0}, Lcom/xiaomi/push/bo;->h()V
iget-object v0, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v0}, Lcom/xiaomi/push/bj;->g()V
iget-object v0, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v0}, Lcom/xiaomi/push/bj;->i()V
:cond_2b
return-void
.end method
.method private e()Z
.registers 11
const/4 v2, 0x1
const/4 v3, 0x0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
iget-object v0, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v0}, Lcom/xiaomi/push/bj;->c()J
move-result-wide v6
invoke-static {}, Lcom/xiaomi/push/as;->a()Lcom/xiaomi/push/as;
move-result-object v0
invoke-virtual {v0}, Lcom/xiaomi/push/as;->j()J
move-result-wide v0
const-wide v8, 0x7fffffffffffffffL
cmp-long v8, v0, v8
if-nez v8, :cond_1f
sget-wide v0, Lcom/xiaomi/push/bo;->a:J
:cond_1f
iget-object v8, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v8}, Lcom/xiaomi/push/bj;->b()Ljava/lang/String;
move-result-object v8
if-eqz v8, :cond_3a
iget-object v9, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
invoke-static {v9, v2}, Lcom/xiaomi/push/br;->a(Landroid/content/Context;I)Ljava/lang/String;
move-result-object v9
invoke-virtual {v8, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_3a
sub-long/2addr v4, v6
cmp-long v0, v4, v0
if-ltz v0, :cond_3a
move v0, v2
:goto_39
return v0
:cond_3a
move v0, v3
goto :goto_39
.end method
.method private f()Z
.registers 7
const/4 v2, 0x1
const/4 v3, 0x0
invoke-static {}, Lcom/xiaomi/push/as;->a()Lcom/xiaomi/push/as;
move-result-object v0
invoke-virtual {v0}, Lcom/xiaomi/push/as;->h()Z
move-result v0
if-eqz v0, :cond_32
invoke-static {}, Lcom/xiaomi/push/as;->a()Lcom/xiaomi/push/as;
move-result-object v0
invoke-virtual {v0}, Lcom/xiaomi/push/as;->i()J
move-result-wide v0
const-wide v4, 0x7fffffffffffffffL
cmp-long v4, v0, v4
if-eqz v4, :cond_2e
:goto_1d
iget-object v4, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v4}, Lcom/xiaomi/push/bj;->f()V
iget-object v4, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v4}, Lcom/xiaomi/push/bj;->d()J
move-result-wide v4
cmp-long v0, v4, v0
if-lez v0, :cond_34
move v0, v2
:goto_2d
return v0
:cond_2e
const-wide/32 v0, 0xa4cb800
goto :goto_1d
:cond_32
move v0, v2
goto :goto_2d
:cond_34
move v0, v3
goto :goto_2d
.end method
.method private g()Z
.registers 11
const/4 v4, 0x0
iget-object v0, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v0}, Lcom/xiaomi/push/bj;->e()J
move-result-wide v6
const-wide/32 v2, 0xa4cb800
invoke-static {}, Lcom/xiaomi/push/as;->a()Lcom/xiaomi/push/as;
move-result-object v0
invoke-virtual {v0}, Lcom/xiaomi/push/as;->g()J
move-result-wide v0
const-wide v8, 0x7fffffffffffffffL
cmp-long v5, v0, v8
if-eqz v5, :cond_28
:goto_1b
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
sub-long/2addr v2, v6
cmp-long v0, v2, v0
if-lez v0, :cond_26
const/4 v0, 0x1
:goto_25
return v0
:cond_26
move v0, v4
goto :goto_25
:cond_28
move-wide v0, v2
goto :goto_1b
.end method
.method private h()V
.registers 7
iget-object v0, p0, Lcom/xiaomi/push/bo;->d:Lcom/xiaomi/push/bx;
iget-object v1, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v1}, Lcom/xiaomi/push/bj;->b()Ljava/lang/String;
move-result-object v1
iget-object v2, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v2}, Lcom/xiaomi/push/bj;->c()J
move-result-wide v2
iget-object v4, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v4}, Lcom/xiaomi/push/bj;->d()J
move-result-wide v4
invoke-interface/range {v0 .. v5}, Lcom/xiaomi/push/bx;->a(Ljava/lang/String;JJ)V
return-void
.end method
.method private i()I
.registers 2
:try_start_0
iget-object v0, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
check-cast v0, Lcom/xiaomi/push/bl;
invoke-virtual {v0}, Lcom/xiaomi/push/bl;->b()I
:try_end_7
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_7} :catch_9
move-result v0
:goto_8
return v0
:catch_9
move-exception v0
const/4 v0, 0x0
goto :goto_8
.end method
.method private j()V
.registers 4
new-instance v0, Landroid/content/IntentFilter;
const-string v1, "android.net.conn.CONNECTIVITY_CHANGE"
invoke-direct {v0, v1}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
iget-object v1, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
iget-object v2, p0, Lcom/xiaomi/push/bo;->i:Landroid/content/BroadcastReceiver;
invoke-virtual {v1, v2, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
return-void
.end method
.method private k()V
.registers 4
const/4 v2, 0x2
const/4 v1, 0x1
iget-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v0, v1}, Lcom/xiaomi/push/bw;->hasMessages(I)Z
move-result v0
if-eqz v0, :cond_f
iget-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v0, v1}, Lcom/xiaomi/push/bw;->removeMessages(I)V
:cond_f
iget-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v0, v2}, Lcom/xiaomi/push/bw;->hasMessages(I)Z
move-result v0
if-eqz v0, :cond_1c
iget-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-virtual {v0, v2}, Lcom/xiaomi/push/bw;->removeMessages(I)V
:cond_1c
iget-object v0, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
iget-object v1, p0, Lcom/xiaomi/push/bo;->i:Landroid/content/BroadcastReceiver;
invoke-virtual {v0, v1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
return-void
.end method
# virtual methods
.method public a()V
.registers 2
const/4 v0, 0x1
invoke-direct {p0, v0}, Lcom/xiaomi/push/bo;->a(Z)V
return-void
.end method
.method public a(Lcom/xiaomi/push/bx;)V
.registers 4
sget-object v1, Lcom/xiaomi/push/bo;->e:Ljava/lang/Object;
monitor-enter v1
:try_start_3
iput-object p1, p0, Lcom/xiaomi/push/bo;->d:Lcom/xiaomi/push/bx;
monitor-exit v1
return-void
:catchall_7
move-exception v0
monitor-exit v1
:try_end_9
.catchall {:try_start_3 .. :try_end_9} :catchall_7
throw v0
.end method
.method public b()V
.registers 3
new-instance v0, Lcom/xiaomi/push/bj;
iget-object v1, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
invoke-direct {v0, v1}, Lcom/xiaomi/push/bj;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
iget-object v0, p0, Lcom/xiaomi/push/bo;->b:Landroid/content/Context;
const-string v1, "connectivity"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/ConnectivityManager;
iput-object v0, p0, Lcom/xiaomi/push/bo;->c:Landroid/net/ConnectivityManager;
new-instance v0, Landroid/os/HandlerThread;
const-string v1, "WifiCampStatics"
invoke-direct {v0, v1}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcom/xiaomi/push/bo;->g:Landroid/os/HandlerThread;
iget-object v0, p0, Lcom/xiaomi/push/bo;->g:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
new-instance v0, Lcom/xiaomi/push/bw;
iget-object v1, p0, Lcom/xiaomi/push/bo;->g:Landroid/os/HandlerThread;
invoke-virtual {v1}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, p0, v1}, Lcom/xiaomi/push/bw;-><init>(Lcom/xiaomi/push/bo;Landroid/os/Looper;)V
iput-object v0, p0, Lcom/xiaomi/push/bo;->h:Lcom/xiaomi/push/bw;
invoke-direct {p0}, Lcom/xiaomi/push/bo;->i()I
move-result v0
if-nez v0, :cond_39
invoke-direct {p0}, Lcom/xiaomi/push/bo;->j()V
:cond_39
return-void
.end method
.method public c()V
.registers 3
const/4 v1, 0x0
invoke-direct {p0}, Lcom/xiaomi/push/bo;->i()I
move-result v0
if-nez v0, :cond_a
invoke-direct {p0}, Lcom/xiaomi/push/bo;->k()V
:cond_a
iput-object v1, p0, Lcom/xiaomi/push/bo;->c:Landroid/net/ConnectivityManager;
iget-object v0, p0, Lcom/xiaomi/push/bo;->f:Lcom/xiaomi/push/bj;
invoke-virtual {v0}, Lcom/xiaomi/push/bj;->a()V
iget-object v0, p0, Lcom/xiaomi/push/bo;->g:Landroid/os/HandlerThread;
if-eqz v0, :cond_1c
iget-object v0, p0, Lcom/xiaomi/push/bo;->g:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->quitSafely()Z
iput-object v1, p0, Lcom/xiaomi/push/bo;->g:Landroid/os/HandlerThread;
:cond_1c
return-void
.end method
.method public d()V
.registers 3
sget-object v1, Lcom/xiaomi/push/bo;->e:Ljava/lang/Object;
monitor-enter v1
const/4 v0, 0x0
:try_start_4
iput-object v0, p0, Lcom/xiaomi/push/bo;->d:Lcom/xiaomi/push/bx;
monitor-exit v1
return-void
:catchall_8
move-exception v0
monitor-exit v1
:try_end_a
.catchall {:try_start_4 .. :try_end_a} :catchall_8
throw v0
.end method