ConnectChangeReceiver.smali
.class public Lio/rong/imlib/ConnectChangeReceiver;
.super Landroid/content/BroadcastReceiver;
.source "ConnectChangeReceiver.java"
# static fields
.field public static final RECONNECT_ACTION:Ljava/lang/String; = "action_reconnect"
.field private static final TAG:Ljava/lang/String; = "ConnectChangeReceiver"
# direct methods
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
return-void
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.registers 12
const-string v0, "null"
if-eqz p2, :cond_14f
.line 1
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_c
goto/16 :goto_14f
:cond_c
const-string v1, "connectivity"
.line 2
invoke-virtual {p1, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/net/ConnectivityManager;
const-string v2, "ConnectChangeReceiver"
if-nez v1, :cond_1e
const-string p1, "ConnectivityManager is null"
.line 3
invoke-static {v2, p1}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;)I
return-void
:cond_1e
const/4 v3, 0x0
.line 4
:try_start_1f
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "intent : "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Landroid/content/Intent;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v2, v4}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 5
invoke-virtual {v1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v3
.line 6
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "network : "
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-eqz v3, :cond_64
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isAvailable()Z
move-result v5
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v5, " "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isConnected()Z
move-result v5
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
goto :goto_65
:cond_64
move-object v4, v0
:goto_65
invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v2, v1}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
:try_end_6f
.catch Ljava/lang/Exception; {:try_start_1f .. :try_end_6f} :catch_70
goto :goto_76
:catch_70
move-exception v1
const-string v4, "getActiveNetworkInfo Exception"
.line 7
invoke-static {v2, v4, v1}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_76
const/4 v1, 0x0
const/4 v4, 0x1
if-eqz v3, :cond_88
.line 8
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isAvailable()Z
move-result v5
if-eqz v5, :cond_88
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isConnected()Z
move-result v5
if-eqz v5, :cond_88
const/4 v5, 0x1
goto :goto_89
:cond_88
const/4 v5, 0x0
.line 9
:goto_89
invoke-static {v5}, Lio/rong/imlib/common/NetUtils;->updateCacheNetworkAvailable(Z)V
const/4 v6, 0x3
.line 10
sget-object v7, Lio/rong/common/fwlog/FwLog$LogTag;->L_NETWORK_CHANGED_S:Lio/rong/common/fwlog/FwLog$LogTag;
invoke-virtual {v7}, Lio/rong/common/fwlog/FwLog$LogTag;->getTag()Ljava/lang/String;
move-result-object v7
const/4 v8, 0x2
new-array v8, v8, [Ljava/lang/Object;
invoke-static {p1}, Lio/rong/imlib/common/DeviceUtils;->getNetworkType(Landroid/content/Context;)Ljava/lang/String;
move-result-object p1
aput-object p1, v8, v1
invoke-static {v5}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
aput-object p1, v8, v4
const-string p1, "network|available"
invoke-static {v6, v4, v7, p1, v8}, Lio/rong/common/fwlog/FwLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 11
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
const-string v1, "android.net.conn.CONNECTIVITY_CHANGE"
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_ba
if-eqz v5, :cond_ba
.line 12
invoke-static {}, Lio/rong/imlib/RongIMClient;->reconnectServer()V
goto/16 :goto_14f
.line 13
:cond_ba
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
const-string v1, "action_reconnect"
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_cd
if-eqz v5, :cond_cd
.line 14
invoke-static {}, Lio/rong/imlib/RongIMClient;->reconnectServer()V
goto/16 :goto_14f
.line 15
:cond_cd
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
const-string v4, "android.intent.action.USER_PRESENT"
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_ef
.line 16
invoke-static {}, Lio/rong/imlib/RongIMClient;->getInstance()Lio/rong/imlib/RongIMClient;
move-result-object p1
invoke-virtual {p1}, Lio/rong/imlib/RongIMClient;->getCurrentConnectionStatus()Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;
move-result-object p1
.line 17
sget-object p2, Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;->NETWORK_UNAVAILABLE:Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;
invoke-virtual {p1, p2}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_14f
if-eqz v5, :cond_14f
.line 18
invoke-static {}, Lio/rong/imlib/RongIMClient;->reconnectServer()V
goto :goto_14f
.line 19
:cond_ef
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object p1
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_11d
if-eqz v3, :cond_11d
.line 20
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isAvailable()Z
move-result p1
if-eqz p1, :cond_11d
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isConnected()Z
move-result p1
if-nez p1, :cond_11d
.line 21
invoke-static {}, Lio/rong/imlib/RongIMClient;->getInstance()Lio/rong/imlib/RongIMClient;
move-result-object p1
invoke-virtual {p1}, Lio/rong/imlib/RongIMClient;->getCurrentConnectionStatus()Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;
move-result-object p1
.line 22
sget-object p2, Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;->NETWORK_UNAVAILABLE:Lio/rong/imlib/RongIMClient$ConnectionStatusListener$ConnectionStatus;
invoke-virtual {p1, p2}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_14f
if-eqz v5, :cond_14f
.line 23
invoke-static {}, Lio/rong/imlib/RongIMClient;->reconnectServer()V
goto :goto_14f
.line 24
:cond_11d
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "Network exception, NetworkInfo = "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-eqz v3, :cond_145
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isAvailable()Z
move-result v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v0, ", "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isConnected()Z
move-result v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:cond_145
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v2, p1}, Lio/rong/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;)I
:cond_14f
:goto_14f
return-void
.end method