NetworkUtil.smali
.class public Lcom/iflytek/cloud/msc/util/NetworkUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final NET_CMWAP:Ljava/lang/String; = "cmwap"
.field public static final NET_CTNET:Ljava/lang/String; = "ctnet"
.field public static final NET_CTWAP:Ljava/lang/String; = "ctwap"
.field public static final NET_UNIWAP:Ljava/lang/String; = "uniwap"
.field public static final NET_UNKNOWN:Ljava/lang/String; = "none"
.field public static final NET_WIFI:Ljava/lang/String; = "wifi"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkNetwork(Landroid/content/Context;)V
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/iflytek/cloud/SpeechError;
}
.end annotation
.prologue
.line 60
if-nez p0, :cond_3
.line 78
:cond_2
:goto_2
return-void
.line 63
:cond_3
const-string v0, "connectivity"
.line 64
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/ConnectivityManager;
.line 67
:try_start_b
invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
move-result-object v1
.line 68
if-eqz v1, :cond_41
array-length v0, v1
if-lez v0, :cond_41
.line 69
array-length v2, v1
const/4 v0, 0x0
:goto_16
if-ge v0, v2, :cond_41
aget-object v3, v1, v0
.line 71
if-eqz v3, :cond_2
invoke-virtual {v3}, Landroid/net/NetworkInfo;->isConnectedOrConnecting()Z
:try_end_1f
.catch Ljava/lang/SecurityException; {:try_start_b .. :try_end_1f} :catch_25
move-result v3
if-nez v3, :cond_2
.line 69
add-int/lit8 v0, v0, 0x1
goto :goto_16
.line 76
:catch_25
move-exception v0
.line 77
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "check network failed: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/SecurityException;->getLocalizedMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
goto :goto_2
.line 81
:cond_41
new-instance v0, Lcom/iflytek/cloud/SpeechError;
const/16 v1, 0x4e21
invoke-direct {v0, v1}, Lcom/iflytek/cloud/SpeechError;-><init>(I)V
throw v0
.end method
.method private static checkPermission(Landroid/content/Context;Ljava/lang/String;)Z
.registers 3
.prologue
.line 179
invoke-virtual {p0, p1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
move-result v0
if-nez v0, :cond_8
const/4 v0, 0x1
:goto_7
return v0
:cond_8
const/4 v0, 0x0
goto :goto_7
.end method
.method public static getNetSubType(Landroid/net/NetworkInfo;)Ljava/lang/String;
.registers 3
.prologue
.line 131
if-nez p0, :cond_5
.line 132
const-string v0, "none"
.line 146
:goto_4
return-object v0
.line 134
:cond_5
:try_start_5
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getType()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_f
.line 135
const-string v0, "none"
goto :goto_4
.line 138
:cond_f
const-string v0, ""
.line 139
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getSubtypeName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 140
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ";"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getSubtype()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
:try_end_40
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_40} :catch_42
move-result-object v0
goto :goto_4
.line 143
:catch_42
move-exception v0
.line 144
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
.line 146
const-string v0, "none"
goto :goto_4
.end method
.method public static getNetType(Landroid/net/NetworkInfo;)Ljava/lang/String;
.registers 3
.prologue
.line 92
if-nez p0, :cond_5
.line 93
const-string v0, "none"
.line 121
:cond_4
:goto_4
return-object v0
.line 96
:cond_5
:try_start_5
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getType()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_f
.line 97
const-string v0, "wifi"
goto :goto_4
.line 100
:cond_f
invoke-virtual {p0}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
.line 101
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_20
.line 102
const-string v0, "none"
goto :goto_4
.line 104
:cond_20
const-string v1, "3gwap"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_30
const-string v1, "uniwap"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_33
.line 106
:cond_30
const-string v0, "uniwap"
goto :goto_4
.line 107
:cond_33
const-string v1, "cmwap"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_3e
.line 109
const-string v0, "cmwap"
goto :goto_4
.line 110
:cond_3e
const-string v1, "ctwap"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_49
.line 112
const-string v0, "ctwap"
goto :goto_4
.line 113
:cond_49
const-string v1, "ctnet"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_4
.line 114
const-string v0, "ctnet"
:try_end_53
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_53} :catch_54
goto :goto_4
.line 118
:catch_54
move-exception v0
.line 119
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/log/DebugLog;->LogD(Ljava/lang/String;)V
.line 121
const-string v0, "none"
goto :goto_4
.end method
.method public static int2ip(J)Ljava/lang/String;
.registers 8
.prologue
const-wide/16 v4, 0xff
.line 407
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 408
and-long v2, p0, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 409
const/16 v1, 0x8
shr-long v2, p0, v1
and-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 410
const/16 v1, 0x10
shr-long v2, p0, v1
and-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 411
const/16 v1, 0x18
shr-long v2, p0, v1
and-long/2addr v2, v4
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
.line 412
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static ip2int(Ljava/lang/String;)J
.registers 7
.prologue
.line 396
const-string v0, "\\."
invoke-virtual {p0, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 397
const/4 v1, 0x0
aget-object v1, v0, v1
invoke-static {v1}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v2
const/16 v1, 0x18
shl-long/2addr v2, v1
const/4 v1, 0x1
aget-object v1, v0, v1
.line 398
invoke-static {v1}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v4
const/16 v1, 0x10
shl-long/2addr v4, v1
or-long/2addr v2, v4
const/4 v1, 0x2
aget-object v1, v0, v1
.line 399
invoke-static {v1}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v4
const/16 v1, 0x8
shl-long/2addr v4, v1
or-long/2addr v2, v4
const/4 v1, 0x3
aget-object v0, v0, v1
invoke-static {v0}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
or-long/2addr v0, v2
.line 397
return-wide v0
.end method
.method public static isNetworkAvailable(Landroid/content/Context;)Z
.registers 3
.prologue
const/4 v1, 0x0
.line 157
const-string v0, "android.permission.INTERNET"
invoke-static {p0, v0}, Lcom/iflytek/cloud/msc/util/NetworkUtil;->checkPermission(Landroid/content/Context;Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_21
.line 158
const-string v0, "connectivity"
.line 159
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/ConnectivityManager;
.line 160
invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v0
.line 161
if-eqz v0, :cond_1f
invoke-virtual {v0}, Landroid/net/NetworkInfo;->isAvailable()Z
move-result v0
if-eqz v0, :cond_1f
.line 162
const/4 v0, 0x1
.line 167
:goto_1e
return v0
:cond_1f
move v0, v1
.line 164
goto :goto_1e
:cond_21
move v0, v1
.line 167
goto :goto_1e
.end method
.method public static isWifiConnect(Landroid/content/Context;)Z
.registers 3
.prologue
.line 38
const-string v1, ""
.line 39
if-eqz p0, :cond_1f
.line 41
const-string v0, "connectivity"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/ConnectivityManager;
.line 42
invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v0
.line 43
if-nez v0, :cond_1a
move-object v0, v1
.line 50
:goto_13
const-string v1, "wifi"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
return v0
.line 47
:cond_1a
invoke-static {v0}, Lcom/iflytek/cloud/msc/util/NetworkUtil;->getNetType(Landroid/net/NetworkInfo;)Ljava/lang/String;
move-result-object v0
goto :goto_13
:cond_1f
move-object v0, v1
goto :goto_13
.end method