NetUtil.smali
.class public Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;
.super Ljava/lang/Object;
# static fields
.field public static final NETWORKINFO_INVALID:I = 0x0
.field public static final NETWORKINFO_MOBILE_NET:I = 0x2
.field public static final NETWORKINFO_MOBILE_WAP:I = 0x1
.field public static final NETWORKINFO_WIFI:I = 0x3
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkIsCurrentWifiHasPassword(Landroid/content/Context;)Z
.registers 9
const/4 v2, 0x0
const/4 v1, 0x1
:try_start_2
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string/jumbo v3, "wifi"
invoke-virtual {v0, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/wifi/WifiManager;
invoke-virtual {v0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
move-result-object v3
invoke-virtual {v0}, Landroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List;
move-result-object v5
invoke-virtual {v3}, Landroid/net/wifi/WifiInfo;->getSSID()Ljava/lang/String;
move-result-object v0
const/4 v3, 0x2
if-eqz v0, :cond_aa
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v4
if-le v4, v3, :cond_aa
const-string/jumbo v3, "\""
invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_ac
const-string/jumbo v3, "\""
invoke-virtual {v0, v3}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_ac
const/4 v3, 0x1
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v4
add-int/lit8 v4, v4, -0x1
invoke-virtual {v0, v3, v4}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
move-object v4, v0
:goto_42
if-eqz v5, :cond_aa
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v0
if-lez v0, :cond_aa
invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v5
:cond_4e
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_aa
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/wifi/WifiConfiguration;
if-eqz v0, :cond_4e
iget v3, v0, Landroid/net/wifi/WifiConfiguration;->status:I
if-nez v3, :cond_4e
const/4 v3, 0x0
iget-object v6, v0, Landroid/net/wifi/WifiConfiguration;->SSID:Ljava/lang/String;
invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v6
if-nez v6, :cond_90
iget-object v3, v0, Landroid/net/wifi/WifiConfiguration;->SSID:Ljava/lang/String;
iget-object v6, v0, Landroid/net/wifi/WifiConfiguration;->SSID:Ljava/lang/String;
const-string/jumbo v7, "\""
invoke-virtual {v6, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_90
iget-object v6, v0, Landroid/net/wifi/WifiConfiguration;->SSID:Ljava/lang/String;
const-string/jumbo v7, "\""
invoke-virtual {v6, v7}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_90
iget-object v3, v0, Landroid/net/wifi/WifiConfiguration;->SSID:Ljava/lang/String;
const/4 v6, 0x1
iget-object v7, v0, Landroid/net/wifi/WifiConfiguration;->SSID:Ljava/lang/String;
invoke-virtual {v7}, Ljava/lang/String;->length()I
move-result v7
add-int/lit8 v7, v7, -0x1
invoke-virtual {v3, v6, v7}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v3
:cond_90
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v6
if-nez v6, :cond_9c
invoke-virtual {v4, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_4e
:cond_9c
iget-object v0, v0, Landroid/net/wifi/WifiConfiguration;->allowedKeyManagement:Ljava/util/BitSet;
const/4 v3, 0x0
invoke-virtual {v0, v3}, Ljava/util/BitSet;->get(I)Z
:try_end_a2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_a2} :catch_a9
move-result v0
if-nez v0, :cond_a7
move v0, v1
:goto_a6
return v0
:cond_a7
move v0, v2
goto :goto_a6
:catch_a9
move-exception v0
:cond_aa
move v0, v1
goto :goto_a6
:cond_ac
move-object v4, v0
goto :goto_42
.end method
.method public static checkNetWrokAvailable(Landroid/content/Context;)Z
.registers 2
if-eqz p0, :cond_a
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getNetWorkInfo(Landroid/content/Context;)Landroid/net/NetworkInfo;
move-result-object v0
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method private static getConnectManager(Landroid/content/Context;)Landroid/net/ConnectivityManager;
.registers 2
const-string/jumbo 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;
return-object v0
.end method
.method private static getCurrentApn(Landroid/content/Context;)I
.registers 4
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getNetWorkInfo(Landroid/content/Context;)Landroid/net/NetworkInfo;
move-result-object v0
if-eqz v0, :cond_29
invoke-virtual {v0}, Landroid/net/NetworkInfo;->getState()Landroid/net/NetworkInfo$State;
move-result-object v1
sget-object v2, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
if-ne v1, v2, :cond_27
invoke-virtual {v0}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_27
invoke-virtual {v0}, 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
const-string/jumbo v1, "wap"
invoke-virtual {v0, v1}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_27
const/4 v0, 0x1
:goto_26
return v0
:cond_27
const/4 v0, 0x2
goto :goto_26
:cond_29
const/4 v0, 0x0
goto :goto_26
.end method
.method public static getIMEI(Landroid/content/Context;)Ljava/lang/String;
.registers 2
const-string/jumbo v0, "phone"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/telephony/TelephonyManager;
invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getLocalIpAddress()Ljava/lang/String;
.registers 4
:try_start_0
invoke-static {}, Ljava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration;
move-result-object v1
:cond_4
invoke-interface {v1}, Ljava/util/Enumeration;->hasMoreElements()Z
move-result v0
if-eqz v0, :cond_34
invoke-interface {v1}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/net/NetworkInterface;
invoke-virtual {v0}, Ljava/net/NetworkInterface;->getInetAddresses()Ljava/util/Enumeration;
move-result-object v2
:cond_14
invoke-interface {v2}, Ljava/util/Enumeration;->hasMoreElements()Z
move-result v0
if-eqz v0, :cond_4
invoke-interface {v2}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/net/InetAddress;
invoke-virtual {v0}, Ljava/net/InetAddress;->isLoopbackAddress()Z
move-result v3
if-nez v3, :cond_14
instance-of v3, v0, Ljava/net/Inet4Address;
if-eqz v3, :cond_14
invoke-virtual {v0}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->toString()Ljava/lang/String;
:try_end_31
.catch Ljava/net/SocketException; {:try_start_0 .. :try_end_31} :catch_33
move-result-object v0
:goto_32
return-object v0
:catch_33
move-exception v0
:cond_34
const/4 v0, 0x0
goto :goto_32
.end method
.method public static getNetWorkInfo(Landroid/content/Context;)Landroid/net/NetworkInfo;
.registers 2
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getConnectManager(Landroid/content/Context;)Landroid/net/ConnectivityManager;
move-result-object v0
if-nez v0, :cond_8
const/4 v0, 0x0
:goto_7
return-object v0
:cond_8
invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v0
goto :goto_7
.end method
.method private static getNetWorkType(Landroid/content/Context;)I
.registers 2
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getNetWorkInfo(Landroid/content/Context;)Landroid/net/NetworkInfo;
move-result-object v0
if-eqz v0, :cond_b
invoke-virtual {v0}, Landroid/net/NetworkInfo;->getType()I
move-result v0
:goto_a
return v0
:cond_b
const/4 v0, -0x1
goto :goto_a
.end method
.method public static getSIM(Landroid/content/Context;)Ljava/lang/String;
.registers 2
const-string/jumbo v0, "phone"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/telephony/TelephonyManager;
invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getWiFiName()Ljava/lang/String;
.registers 3
invoke-static {}, Lcom/sdk/orion/ui/baselibrary/BaseApp;->getAppContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->isWifiNetWork(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_34
invoke-static {}, Lcom/sdk/orion/ui/baselibrary/BaseApp;->getAppContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string/jumbo v1, "wifi"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/wifi/WifiManager;
invoke-virtual {v0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
move-result-object v0
invoke-virtual {v0}, Landroid/net/wifi/WifiInfo;->getSSID()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_33
const-string/jumbo v1, "\""
const-string/jumbo v2, ""
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
:cond_33
:goto_33
return-object v0
:cond_34
const/4 v0, 0x0
goto :goto_33
.end method
.method public static isMobileNetWrok(Landroid/content/Context;)Z
.registers 2
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getNetWorkType(Landroid/content/Context;)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 isNetNetwork(Landroid/content/Context;)Z
.registers 3
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getCurrentApn(Landroid/content/Context;)I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_9
const/4 v0, 0x1
:goto_8
return v0
:cond_9
const/4 v0, 0x0
goto :goto_8
.end method
.method public static isNetworkConnected()Z
.registers 2
invoke-static {}, Lcom/sdk/orion/ui/baselibrary/BaseApp;->getAppContext()Landroid/content/Context;
move-result-object v0
const-string/jumbo 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;
invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v0
if-eqz v0, :cond_1b
invoke-virtual {v0}, Landroid/net/NetworkInfo;->isConnectedOrConnecting()Z
move-result v0
if-eqz v0, :cond_1b
const/4 v0, 0x1
:goto_1a
return v0
:cond_1b
const/4 v0, 0x0
goto :goto_1a
.end method
.method public static isUnicom(Landroid/content/Context;)Z
.registers 6
const/4 v0, 0x1
const/4 v1, 0x0
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getNetWorkInfo(Landroid/content/Context;)Landroid/net/NetworkInfo;
move-result-object v2
if-eqz v2, :cond_36
invoke-virtual {v2}, Landroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2}, Landroid/net/NetworkInfo;->getState()Landroid/net/NetworkInfo$State;
move-result-object v2
sget-object v4, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
if-ne v2, v4, :cond_34
if-eqz v3, :cond_34
invoke-virtual {v3}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v2
const-string/jumbo v4, "3gnet"
invoke-virtual {v2, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_30
invoke-virtual {v3}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v2
const-string/jumbo v3, "uninet"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_34
:cond_30
move v2, v0
:goto_31
if-eqz v2, :cond_36
:goto_33
return v0
:cond_34
move v2, v1
goto :goto_31
:cond_36
move v0, v1
goto :goto_33
.end method
.method public static isWapNetWork(Landroid/content/Context;)Z
.registers 7
const/4 v1, 0x0
const/4 v2, 0x1
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getCurrentApn(Landroid/content/Context;)I
move-result v0
if-ne v0, v2, :cond_37
const-string/jumbo v0, "phone"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/telephony/TelephonyManager;
invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getNetworkType()I
move-result v3
const-string/jumbo v0, ""
const-string/jumbo v4, "UTMS"
const/4 v5, 0x2
if-ne v3, v5, :cond_21
const-string/jumbo v0, "EDGE"
:cond_21
if-ne v3, v2, :cond_26
const-string/jumbo v0, "GPRS"
:cond_26
const/4 v5, 0x3
if-ne v3, v5, :cond_2c
const-string/jumbo v0, "UTMS"
:cond_2c
if-nez v3, :cond_31
const-string/jumbo v0, "UNKNOWN"
:cond_31
if-ne v0, v4, :cond_35
move v0, v1
:goto_34
return v0
:cond_35
move v0, v2
goto :goto_34
:cond_37
move v0, v1
goto :goto_34
.end method
.method public static isWifiNetWork(Landroid/content/Context;)Z
.registers 3
const/4 v0, 0x1
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->getNetWorkType(Landroid/content/Context;)I
move-result v1
if-ne v1, v0, :cond_8
:goto_7
return v0
:cond_8
const/4 v0, 0x0
goto :goto_7
.end method
.method public static startNewWorkConnection(Landroid/content/Context;)Z
.registers 3
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/NetUtil;->checkNetWrokAvailable(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_8
const/4 v0, 0x1
:goto_7
return v0
:cond_8
new-instance v0, Landroid/content/Intent;
const-string/jumbo v1, "android.settings.WIRELESS_SETTINGS"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
const/high16 v1, 0x10000000
invoke-virtual {v0, v1}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
invoke-virtual {p0, v0}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
const/4 v0, 0x0
goto :goto_7
.end method