NetUtils.smali
.class public Lcn/rongcloud/rtc/utils/NetUtils;
.super Ljava/lang/Object;
.source "NetUtils.java"
# static fields
.field public static final NETWORK_2G:I = 0x2
.field public static final NETWORK_3G:I = 0x3
.field public static final NETWORK_4G:I = 0x4
.field public static final NETWORK_MOBILE:I = 0x5
.field public static final NETWORK_NONE:I = 0x0
.field public static final NETWORK_WIFI:I = 0x1
# direct methods
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getNetworkState(Landroid/content/Context;)I
.registers 4
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
:cond_4
const-string v1, "connectivity"
.line 1
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/net/ConnectivityManager;
if-nez v1, :cond_f
return v0
.line 2
:cond_f
invoke-virtual {v1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v2
if-eqz v2, :cond_49
.line 3
invoke-virtual {v2}, Landroid/net/NetworkInfo;->isAvailable()Z
move-result v2
if-nez v2, :cond_1c
goto :goto_49
:cond_1c
const/4 v0, 0x1
.line 4
invoke-virtual {v1, v0}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
move-result-object v1
if-eqz v1, :cond_32
.line 5
invoke-virtual {v1}, Landroid/net/NetworkInfo;->getState()Landroid/net/NetworkInfo$State;
move-result-object v1
if-eqz v1, :cond_32
.line 6
sget-object v2, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
if-eq v1, v2, :cond_31
sget-object v2, Landroid/net/NetworkInfo$State;->CONNECTING:Landroid/net/NetworkInfo$State;
if-ne v1, v2, :cond_32
:cond_31
return v0
:cond_32
const-string v0, "phone"
.line 7
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/telephony/TelephonyManager;
.line 8
invoke-virtual {p0}, Landroid/telephony/TelephonyManager;->getNetworkType()I
move-result p0
packed-switch p0, :pswitch_data_4a
const/4 p0, 0x5
return p0
:pswitch_43
const/4 p0, 0x4
return p0
:pswitch_45
const/4 p0, 0x3
return p0
:pswitch_47
const/4 p0, 0x2
return p0
:cond_49
:goto_49
return v0
:pswitch_data_4a
.packed-switch 0x1
:pswitch_47
:pswitch_47
:pswitch_45
:pswitch_47
:pswitch_45
:pswitch_45
:pswitch_47
:pswitch_45
:pswitch_45
:pswitch_45
:pswitch_47
:pswitch_45
:pswitch_43
:pswitch_45
:pswitch_45
.end packed-switch
.end method
.method public static isNetConnected(Landroid/content/Context;)Z
.registers 2
const-string v0, "connectivity"
.line 1
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/net/ConnectivityManager;
if-eqz p0, :cond_20
.line 2
invoke-virtual {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object p0
if-eqz p0, :cond_20
.line 3
invoke-virtual {p0}, Landroid/net/NetworkInfo;->isConnected()Z
move-result v0
if-eqz v0, :cond_20
.line 4
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getState()Landroid/net/NetworkInfo$State;
move-result-object p0
sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
if-ne p0, v0, :cond_20
const/4 p0, 0x1
return p0
:cond_20
const/4 p0, 0x0
return p0
.end method
.method public static declared-synchronized isWifiConnected(Landroid/content/Context;)Z
.registers 4
const-class v0, Lcn/rongcloud/rtc/utils/NetUtils;
monitor-enter v0
:try_start_3
const-string v1, "connectivity"
.line 1
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/net/ConnectivityManager;
if-eqz p0, :cond_24
.line 2
invoke-virtual {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object p0
if-eqz p0, :cond_24
.line 3
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getType()I
move-result v1
const/4 v2, 0x1
if-eq v1, v2, :cond_1e
const/16 v2, 0x9
if-ne v1, v2, :cond_24
.line 4
:cond_1e
invoke-virtual {p0}, Landroid/net/NetworkInfo;->isConnected()Z
move-result p0
:try_end_22
.catchall {:try_start_3 .. :try_end_22} :catchall_27
monitor-exit v0
return p0
:cond_24
const/4 p0, 0x0
.line 5
monitor-exit v0
return p0
:catchall_27
move-exception p0
monitor-exit v0
throw p0
.end method