AliRtcEngineUtil.smali

.class public Lcom/alivc/rtc/AliRtcEngineUtil;
.super Ljava/lang/Object;
.source "AliRtcEngineUtil.java"


# static fields
.field public static final NETWORK_CLASS_2_G:I

.field public static final NETWORK_CLASS_3_G:I

.field public static final NETWORK_CLASS_4_G:I

.field public static final NETWORK_CLASS_UNKNOWN:I

.field public static final NETWORK_WIFI:I


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const v0, 0x156d

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/alivc/rtc/AliRtcEngineUtil;->NETWORK_CLASS_2_G:I

    const v0, 0x156c

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/alivc/rtc/AliRtcEngineUtil;->NETWORK_CLASS_3_G:I

    const v0, 0x156b

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/alivc/rtc/AliRtcEngineUtil;->NETWORK_CLASS_4_G:I

    const v0, 0x156f

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/alivc/rtc/AliRtcEngineUtil;->NETWORK_CLASS_UNKNOWN:I

    const v0, 0x156e

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/alivc/rtc/AliRtcEngineUtil;->NETWORK_WIFI:I

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .line 15
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static getNetWorkClass(Landroid/content/Context;)Ljava/lang/String;
    .registers 3
    .param p0, "context"    # Landroid/content/Context;

    .line 93
    const-string 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;

    .line 95
    .local v0, "telephonyManager":Landroid/telephony/TelephonyManager;
    invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getNetworkType()I

    move-result v1

    packed-switch v1, :pswitch_data_1c

    .line 118
    const-string v1, "UNKNOWN"

    return-object v1

    .line 115
    :pswitch_12
    const-string v1, "4G"

    return-object v1

    .line 112
    :pswitch_15
    const-string v1, "3G"

    return-object v1

    .line 101
    :pswitch_18
    const-string v1, "2G"

    return-object v1

    nop

    :pswitch_data_1c
    .packed-switch 0x1
        :pswitch_18
        :pswitch_18
        :pswitch_15
        :pswitch_18
        :pswitch_15
        :pswitch_15
        :pswitch_18
        :pswitch_15
        :pswitch_15
        :pswitch_15
        :pswitch_18
        :pswitch_15
        :pswitch_12
        :pswitch_15
        :pswitch_15
    .end packed-switch
.end method

.method public static getNetWorkStatus(Landroid/content/Context;)Ljava/lang/String;
    .registers 6
    .param p0, "context"    # Landroid/content/Context;

    .line 123
    const-string v0, "UNKNOWN"

    .line 125
    .local v0, "netWorkType":Ljava/lang/String;
    nop

    .line 126
    const-string v1, "connectivity"

    invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/net/ConnectivityManager;

    .line 127
    .local v1, "connectivityManager":Landroid/net/ConnectivityManager;
    if-nez v1, :cond_e

    .line 128
    return-object v0

    .line 130
    :cond_e
    invoke-virtual {v1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;

    move-result-object v2

    .line 132
    .local v2, "networkInfo":Landroid/net/NetworkInfo;
    if-eqz v2, :cond_2a

    invoke-virtual {v2}, Landroid/net/NetworkInfo;->isConnected()Z

    move-result v3

    if-eqz v3, :cond_2a

    .line 133
    invoke-virtual {v2}, Landroid/net/NetworkInfo;->getType()I

    move-result v3

    .line 135
    .local v3, "type":I
    const/4 v4, 0x1

    if-ne v3, v4, :cond_24

    .line 136
    const-string v0, "WiFi"

    goto :goto_2a

    .line 137
    :cond_24
    if-nez v3, :cond_2a

    .line 138
    invoke-static {p0}, Lcom/alivc/rtc/AliRtcEngineUtil;->getNetWorkClass(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v0

    .line 142
    .end local v3    # "type":I
    :cond_2a
    :goto_2a
    return-object v0
.end method

.method public static getOperators(Landroid/content/Context;)Ljava/lang/String;
    .registers 5
    .param p0, "context"    # Landroid/content/Context;

    .line 146
    const-string v0, "UNKNOWN"

    .line 148
    .local v0, "name":Ljava/lang/String;
    const-string v1, "phone"

    invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/telephony/TelephonyManager;

    .line 149
    .local v1, "telephonyManager":Landroid/telephony/TelephonyManager;
    if-nez v1, :cond_d

    .line 150
    return-object v0

    .line 152
    :cond_d
    invoke-virtual {v1}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;

    move-result-object v2

    .line 154
    .local v2, "imsi":Ljava/lang/String;
    const-string v3, "46000"

    invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_51

    const-string v3, "46002"

    invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_51

    const-string v3, "46007"

    invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_2a

    goto :goto_51

    .line 156
    :cond_2a
    const-string v3, "46001"

    invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_4e

    const-string v3, "46006"

    invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_3b

    goto :goto_4e

    .line 158
    :cond_3b
    const-string v3, "46003"

    invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_4b

    const-string v3, "46005"

    invoke-virtual {v2, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_53

    .line 159
    :cond_4b
    const-string v0, "China Telecom"

    goto :goto_53

    .line 157
    :cond_4e
    :goto_4e
    const-string v0, "China Unicom"

    goto :goto_53

    .line 155
    :cond_51
    :goto_51
    const-string v0, "China Mobile"

    .line 161
    :cond_53
    :goto_53
    return-object v0
.end method

.method public static getRunningAppProcessInfo(Landroid/content/Context;)F
    .registers 12
    .param p0, "context"    # Landroid/content/Context;

    .line 45
    const/4 v0, 0x0

    .line 46
    .local v0, "memorySize":F
    const-string v1, "activity"

    invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/app/ActivityManager;

    .line 48
    .local v1, "mActivityManager":Landroid/app/ActivityManager;
    invoke-virtual {v1}, Landroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List;

    move-result-object v2

    .line 50
    .local v2, "runningAppProcessesList":Ljava/util/List;, "Ljava/util/List<Landroid/app/ActivityManager$RunningAppProcessInfo;>;"
    invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :goto_11
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v4

    if-eqz v4, :cond_3c

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Landroid/app/ActivityManager$RunningAppProcessInfo;

    .line 52
    .local v4, "runningAppProcessInfo":Landroid/app/ActivityManager$RunningAppProcessInfo;
    iget v5, v4, Landroid/app/ActivityManager$RunningAppProcessInfo;->pid:I

    .line 55
    .local v5, "pid":I
    iget v6, v4, Landroid/app/ActivityManager$RunningAppProcessInfo;->uid:I

    .line 58
    .local v6, "uid":I
    iget-object v7, v4, Landroid/app/ActivityManager$RunningAppProcessInfo;->processName:Ljava/lang/String;

    .line 60
    .local v7, "processName":Ljava/lang/String;
    const/4 v8, 0x1

    new-array v8, v8, [I

    const/4 v9, 0x0

    aput v5, v8, v9

    .line 62
    .local v8, "pids":[I
    invoke-static {}, Landroid/os/Process;->myPid()I

    move-result v10

    if-ne v5, v10, :cond_3b

    .line 63
    invoke-virtual {v1, v8}, Landroid/app/ActivityManager;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;

    move-result-object v3

    .line 65
    .local v3, "memoryInfo":[Landroid/os/Debug$MemoryInfo;
    aget-object v9, v3, v9

    invoke-virtual {v9}, Landroid/os/Debug$MemoryInfo;->getTotalPss()I

    move-result v9

    int-to-float v0, v9

    .line 66
    goto :goto_3c

    .line 70
    .end local v3    # "memoryInfo":[Landroid/os/Debug$MemoryInfo;
    .end local v4    # "runningAppProcessInfo":Landroid/app/ActivityManager$RunningAppProcessInfo;
    .end local v5    # "pid":I
    .end local v6    # "uid":I
    .end local v7    # "processName":Ljava/lang/String;
    .end local v8    # "pids":[I
    :cond_3b
    goto :goto_11

    .line 71
    :cond_3c
    :goto_3c
    return v0
.end method

.method public static getWindowHeight(Landroid/content/Context;)I
    .registers 4
    .param p0, "context"    # Landroid/content/Context;

    .line 85
    const-string/jumbo v0, "window"

    invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/WindowManager;

    check-cast v0, Landroid/view/WindowManager;

    .line 86
    .local v0, "wm":Landroid/view/WindowManager;
    new-instance v1, Landroid/util/DisplayMetrics;

    invoke-direct {v1}, Landroid/util/DisplayMetrics;-><init>()V

    .line 87
    .local v1, "dm":Landroid/util/DisplayMetrics;
    invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v2

    invoke-virtual {v2, v1}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V

    .line 88
    iget v2, v1, Landroid/util/DisplayMetrics;->heightPixels:I

    .line 89
    .local v2, "mScreenHeight":I
    return v2
.end method

.method public static getWindowWidth(Landroid/content/Context;)I
    .registers 4
    .param p0, "context"    # Landroid/content/Context;

    .line 76
    const-string/jumbo v0, "window"

    invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/WindowManager;

    check-cast v0, Landroid/view/WindowManager;

    .line 77
    .local v0, "wm":Landroid/view/WindowManager;
    new-instance v1, Landroid/util/DisplayMetrics;

    invoke-direct {v1}, Landroid/util/DisplayMetrics;-><init>()V

    .line 78
    .local v1, "dm":Landroid/util/DisplayMetrics;
    invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v2

    invoke-virtual {v2, v1}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V

    .line 79
    iget v2, v1, Landroid/util/DisplayMetrics;->widthPixels:I

    .line 80
    .local v2, "mScreenWidth":I
    return v2
.end method