EquipmentInfoUtil.smali

.class public Lcom/iwangding/basis/util/EquipmentInfoUtil;
.super Ljava/lang/Object;
.source "EquipmentInfoUtil.java"


# static fields
.field private static final CPU_FILTER:Ljava/io/FileFilter;


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

    .prologue
    .line 229
    new-instance v0, Lcom/iwangding/basis/util/EquipmentInfoUtil$1;

    invoke-direct {v0}, Lcom/iwangding/basis/util/EquipmentInfoUtil$1;-><init>()V

    sput-object v0, Lcom/iwangding/basis/util/EquipmentInfoUtil;->CPU_FILTER:Ljava/io/FileFilter;

    return-void
.end method

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

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

    return-void
.end method

.method public static calcCpuRate([J[J)I
    .registers 11

    .prologue
    const-wide/16 v4, 0x0

    const/4 v6, 0x1

    const/4 v8, 0x0

    .line 466
    const/4 v0, -0x1

    .line 467
    aget-wide v2, p0, v8

    cmp-long v1, v2, v4

    if-lez v1, :cond_2e

    aget-wide v2, p1, v8

    cmp-long v1, v2, v4

    if-lez v1, :cond_2e

    aget-wide v2, p0, v8

    aget-wide v4, p1, v8

    cmp-long v1, v2, v4

    if-eqz v1, :cond_2e

    .line 468
    const-wide/16 v0, 0x64

    aget-wide v2, p1, v8

    aget-wide v4, p1, v6

    sub-long/2addr v2, v4

    aget-wide v4, p0, v8

    aget-wide v6, p0, v6

    sub-long/2addr v4, v6

    sub-long/2addr v2, v4

    mul-long/2addr v0, v2

    aget-wide v2, p1, v8

    aget-wide v4, p0, v8

    sub-long/2addr v2, v4

    div-long/2addr v0, v2

    long-to-int v0, v0

    .line 470
    :cond_2e
    return v0
.end method

.method public static getAppName(Landroid/content/Context;)Ljava/lang/String;
    .registers 5

    .prologue
    .line 82
    const-string v1, ""

    .line 84
    :try_start_2
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v0

    .line 85
    invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v2

    const/4 v3, 0x0

    invoke-virtual {v0, v2, v3}, Landroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;

    move-result-object v2

    .line 86
    invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;

    move-result-object v0

    check-cast v0, Ljava/lang/String;
    :try_end_15
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_2 .. :try_end_15} :catch_16

    .line 90
    :goto_15
    return-object v0

    .line 87
    :catch_16
    move-exception v0

    move-object v0, v1

    goto :goto_15
.end method

.method public static getAvailableInternalStorgeSize()J
    .registers 4

    .prologue
    .line 627
    invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;

    move-result-object v0

    .line 628
    new-instance v1, Landroid/os/StatFs;

    invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V

    .line 629
    invoke-virtual {v1}, Landroid/os/StatFs;->getBlockSize()I

    move-result v0

    int-to-long v2, v0

    .line 630
    invoke-virtual {v1}, Landroid/os/StatFs;->getAvailableBlocks()I

    move-result v0

    int-to-long v0, v0

    .line 631
    mul-long/2addr v0, v2

    return-wide v0
.end method

.method private static getAvailableMemory(Landroid/content/Context;)J
    .registers 3

    .prologue
    .line 602
    const-string v0, "activity"

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

    move-result-object v0

    check-cast v0, Landroid/app/ActivityManager;

    .line 603
    new-instance v1, Landroid/app/ActivityManager$MemoryInfo;

    invoke-direct {v1}, Landroid/app/ActivityManager$MemoryInfo;-><init>()V

    .line 604
    invoke-virtual {v0, v1}, Landroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V

    .line 605
    iget-wide v0, v1, Landroid/app/ActivityManager$MemoryInfo;->availMem:J

    return-wide v0
.end method

.method public static getCPUUse()[J
    .registers 16

    .prologue
    const-wide/16 v2, 0x0

    const/4 v0, 0x0

    const/4 v7, 0x0

    .line 408
    const-string v1, "/proc/stat"

    .line 409
    const/4 v4, 0x2

    new-array v10, v4, [J

    .line 415
    const-string v4, " [0-9]+"

    invoke-static {v4}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;

    move-result-object v11

    .line 417
    :try_start_f
    new-instance v5, Ljava/io/FileReader;

    invoke-direct {v5, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
    :try_end_14
    .catch Ljava/lang/Exception; {:try_start_f .. :try_end_14} :catch_61
    .catchall {:try_start_f .. :try_end_14} :catchall_72

    .line 418
    :try_start_14
    new-instance v4, Ljava/io/BufferedReader;

    const/16 v1, 0x2000

    invoke-direct {v4, v5, v1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
    :try_end_1b
    .catch Ljava/lang/Exception; {:try_start_14 .. :try_end_1b} :catch_91
    .catchall {:try_start_14 .. :try_end_1b} :catchall_8b

    move-wide v0, v2

    .line 421
    :cond_1c
    :try_start_1c
    invoke-virtual {v4}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v6

    if-eqz v6, :cond_51

    .line 422
    invoke-virtual {v6}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v8

    const-string v9, "cpu"

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

    move-result v8

    if-eqz v8, :cond_1c

    .line 425
    invoke-virtual {v11, v6}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;

    move-result-object v12

    move v6, v7

    .line 426
    :goto_33
    invoke-virtual {v12}, Ljava/util/regex/Matcher;->find()Z
    :try_end_36
    .catch Ljava/lang/Exception; {:try_start_1c .. :try_end_36} :catch_95
    .catchall {:try_start_1c .. :try_end_36} :catchall_8f

    move-result v8

    if-eqz v8, :cond_1c

    .line 428
    const/4 v8, 0x0

    :try_start_3a
    invoke-virtual {v12, v8}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v8}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v8

    invoke-static {v8}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
    :try_end_45
    .catch Ljava/lang/NumberFormatException; {:try_start_3a .. :try_end_45} :catch_97
    .catch Ljava/lang/Exception; {:try_start_3a .. :try_end_45} :catch_95
    .catchall {:try_start_3a .. :try_end_45} :catchall_8f

    move-result-wide v14

    .line 429
    add-long v8, v2, v14

    .line 430
    const/4 v2, 0x3

    if-ne v6, v2, :cond_4c

    .line 431
    add-long/2addr v0, v14

    .line 433
    :cond_4c
    add-int/lit8 v2, v6, 0x1

    move v6, v2

    move-wide v2, v8

    .line 436
    goto :goto_33

    .line 444
    :cond_51
    if-eqz v4, :cond_56

    .line 446
    :try_start_53
    invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V
    :try_end_56
    .catch Ljava/lang/Exception; {:try_start_53 .. :try_end_56} :catch_81

    .line 451
    :cond_56
    :goto_56
    if-eqz v5, :cond_5b

    .line 453
    :try_start_58
    invoke-virtual {v5}, Ljava/io/FileReader;->close()V
    :try_end_5b
    .catch Ljava/lang/Exception; {:try_start_58 .. :try_end_5b} :catch_83

    .line 460
    :cond_5b
    :goto_5b
    aput-wide v2, v10, v7

    .line 461
    const/4 v2, 0x1

    aput-wide v0, v10, v2

    .line 462
    return-object v10

    .line 440
    :catch_61
    move-exception v1

    move-object v4, v0

    move-object v5, v0

    move-wide v0, v2

    .line 444
    :goto_65
    if-eqz v4, :cond_6a

    .line 446
    :try_start_67
    invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V
    :try_end_6a
    .catch Ljava/lang/Exception; {:try_start_67 .. :try_end_6a} :catch_85

    .line 451
    :cond_6a
    :goto_6a
    if-eqz v5, :cond_5b

    .line 453
    :try_start_6c
    invoke-virtual {v5}, Ljava/io/FileReader;->close()V
    :try_end_6f
    .catch Ljava/lang/Exception; {:try_start_6c .. :try_end_6f} :catch_70

    goto :goto_5b

    .line 454
    :catch_70
    move-exception v4

    goto :goto_5b

    .line 444
    :catchall_72
    move-exception v1

    move-object v4, v0

    move-object v5, v0

    move-object v0, v1

    :goto_76
    if-eqz v4, :cond_7b

    .line 446
    :try_start_78
    invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V
    :try_end_7b
    .catch Ljava/lang/Exception; {:try_start_78 .. :try_end_7b} :catch_87

    .line 451
    :cond_7b
    :goto_7b
    if-eqz v5, :cond_80

    .line 453
    :try_start_7d
    invoke-virtual {v5}, Ljava/io/FileReader;->close()V
    :try_end_80
    .catch Ljava/lang/Exception; {:try_start_7d .. :try_end_80} :catch_89

    .line 459
    :cond_80
    :goto_80
    throw v0

    .line 447
    :catch_81
    move-exception v4

    goto :goto_56

    .line 454
    :catch_83
    move-exception v4

    goto :goto_5b

    .line 447
    :catch_85
    move-exception v4

    goto :goto_6a

    :catch_87
    move-exception v1

    goto :goto_7b

    .line 454
    :catch_89
    move-exception v1

    goto :goto_80

    .line 444
    :catchall_8b
    move-exception v1

    move-object v4, v0

    move-object v0, v1

    goto :goto_76

    :catchall_8f
    move-exception v0

    goto :goto_76

    .line 440
    :catch_91
    move-exception v1

    move-object v4, v0

    move-wide v0, v2

    goto :goto_65

    :catch_95
    move-exception v6

    goto :goto_65

    .line 434
    :catch_97
    move-exception v8

    goto :goto_33
.end method

.method public static getCpuInfo()[Ljava/lang/String;
    .registers 7

    .prologue
    const/4 v5, 0x1

    const/4 v0, 0x2

    const/4 v4, 0x0

    .line 130
    const-string v1, "/proc/cpuinfo"

    .line 131
    const-string v2, ""

    .line 132
    new-array v2, v0, [Ljava/lang/String;

    const-string v3, ""

    aput-object v3, v2, v4

    const-string v3, ""

    aput-object v3, v2, v5

    .line 135
    :try_start_11
    new-instance v3, Ljava/io/FileReader;

    invoke-direct {v3, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V

    .line 136
    new-instance v1, Ljava/io/BufferedReader;

    const/16 v4, 0x2000

    invoke-direct {v1, v3, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V

    .line 137
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v3

    .line 138
    const-string v4, "\\s+"

    invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v3

    .line 139
    :goto_27
    array-length v4, v3

    if-ge v0, v4, :cond_4c

    .line 140
    const/4 v4, 0x0

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const/4 v6, 0x0

    aget-object v6, v2, v6

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    aget-object v6, v3, v0

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    const-string v6, " "

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    aput-object v5, v2, v4

    .line 139
    add-int/lit8 v0, v0, 0x1

    goto :goto_27

    .line 142
    :cond_4c
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v0

    .line 143
    const-string v3, "\\s+"

    invoke-virtual {v0, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v0

    .line 144
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const/4 v4, 0x1

    aget-object v5, v2, v4

    invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const/4 v5, 0x2

    aget-object v0, v0, v5

    invoke-virtual {v3, 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

    aput-object v0, v2, v4

    .line 145
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_72
    .catch Ljava/lang/Exception; {:try_start_11 .. :try_end_72} :catch_73

    .line 148
    :goto_72
    return-object v2

    .line 146
    :catch_73
    move-exception v0

    goto :goto_72
.end method

.method public static getCpuInfoString()Ljava/lang/String;
    .registers 4

    .prologue
    .line 247
    const-string v1, "/proc/cpuinfo"

    .line 248
    const-string v0, ""

    .line 250
    :try_start_4
    new-instance v2, Ljava/io/FileReader;

    invoke-direct {v2, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V

    .line 251
    new-instance v1, Ljava/io/BufferedReader;

    const/16 v3, 0x2000

    invoke-direct {v1, v2, v3}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V

    .line 252
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v0

    .line 254
    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "-------"

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

    move-result-object v2

    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v3

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

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 255
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_32
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_32} :catch_33

    .line 258
    :goto_32
    return-object v0

    .line 256
    :catch_33
    move-exception v1

    goto :goto_32
.end method

.method public static getCpuName()Ljava/lang/String;
    .registers 7

    .prologue
    const/4 v0, 0x0

    .line 98
    :try_start_1
    new-instance v2, Ljava/io/FileReader;

    const-string v1, "/proc/cpuinfo"

    invoke-direct {v2, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
    :try_end_8
    .catch Ljava/io/FileNotFoundException; {:try_start_1 .. :try_end_8} :catch_42
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_8} :catch_52
    .catchall {:try_start_1 .. :try_end_8} :catchall_62

    .line 99
    :try_start_8
    new-instance v1, Ljava/io/BufferedReader;

    invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    :try_end_d
    .catch Ljava/io/FileNotFoundException; {:try_start_8 .. :try_end_d} :catch_8c
    .catch Ljava/lang/Exception; {:try_start_8 .. :try_end_d} :catch_87
    .catchall {:try_start_8 .. :try_end_d} :catchall_80

    .line 101
    :cond_d
    :try_start_d
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v3

    if-eqz v3, :cond_35

    .line 102
    invoke-virtual {v3}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v4

    const-string v5, "model name"

    invoke-virtual {v4, v5}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v4

    const/4 v5, -0x1

    if-le v4, v5, :cond_d

    .line 103
    const-string v4, ":\\s+"

    const/4 v5, 0x2

    invoke-virtual {v3, v4, v5}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;

    move-result-object v3

    .line 104
    const/4 v4, 0x1

    aget-object v0, v3, v4
    :try_end_2a
    .catch Ljava/io/FileNotFoundException; {:try_start_d .. :try_end_2a} :catch_8f
    .catch Ljava/lang/Exception; {:try_start_d .. :try_end_2a} :catch_8a
    .catchall {:try_start_d .. :try_end_2a} :catchall_85

    .line 113
    if-eqz v1, :cond_2f

    .line 114
    :try_start_2c
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_2f
    .catch Ljava/io/IOException; {:try_start_2c .. :try_end_2f} :catch_72

    .line 120
    :cond_2f
    :goto_2f
    if-eqz v2, :cond_34

    .line 121
    :try_start_31
    invoke-virtual {v2}, Ljava/io/FileReader;->close()V
    :try_end_34
    .catch Ljava/io/IOException; {:try_start_31 .. :try_end_34} :catch_74

    .line 126
    :cond_34
    :goto_34
    return-object v0

    .line 113
    :cond_35
    if-eqz v1, :cond_3a

    .line 114
    :try_start_37
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_3a
    .catch Ljava/io/IOException; {:try_start_37 .. :try_end_3a} :catch_76

    .line 120
    :cond_3a
    :goto_3a
    if-eqz v2, :cond_34

    .line 121
    :try_start_3c
    invoke-virtual {v2}, Ljava/io/FileReader;->close()V
    :try_end_3f
    .catch Ljava/io/IOException; {:try_start_3c .. :try_end_3f} :catch_40

    goto :goto_34

    .line 122
    :catch_40
    move-exception v1

    goto :goto_34

    .line 107
    :catch_42
    move-exception v1

    move-object v1, v0

    move-object v2, v0

    .line 113
    :goto_45
    if-eqz v1, :cond_4a

    .line 114
    :try_start_47
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_4a
    .catch Ljava/io/IOException; {:try_start_47 .. :try_end_4a} :catch_78

    .line 120
    :cond_4a
    :goto_4a
    if-eqz v2, :cond_34

    .line 121
    :try_start_4c
    invoke-virtual {v2}, Ljava/io/FileReader;->close()V
    :try_end_4f
    .catch Ljava/io/IOException; {:try_start_4c .. :try_end_4f} :catch_50

    goto :goto_34

    .line 122
    :catch_50
    move-exception v1

    goto :goto_34

    .line 109
    :catch_52
    move-exception v1

    move-object v1, v0

    move-object v2, v0

    .line 113
    :goto_55
    if-eqz v1, :cond_5a

    .line 114
    :try_start_57
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_5a
    .catch Ljava/io/IOException; {:try_start_57 .. :try_end_5a} :catch_7a

    .line 120
    :cond_5a
    :goto_5a
    if-eqz v2, :cond_34

    .line 121
    :try_start_5c
    invoke-virtual {v2}, Ljava/io/FileReader;->close()V
    :try_end_5f
    .catch Ljava/io/IOException; {:try_start_5c .. :try_end_5f} :catch_60

    goto :goto_34

    .line 122
    :catch_60
    move-exception v1

    goto :goto_34

    .line 112
    :catchall_62
    move-exception v1

    move-object v2, v0

    move-object v6, v0

    move-object v0, v1

    move-object v1, v6

    .line 113
    :goto_67
    if-eqz v1, :cond_6c

    .line 114
    :try_start_69
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_6c
    .catch Ljava/io/IOException; {:try_start_69 .. :try_end_6c} :catch_7c

    .line 120
    :cond_6c
    :goto_6c
    if-eqz v2, :cond_71

    .line 121
    :try_start_6e
    invoke-virtual {v2}, Ljava/io/FileReader;->close()V
    :try_end_71
    .catch Ljava/io/IOException; {:try_start_6e .. :try_end_71} :catch_7e

    .line 125
    :cond_71
    :goto_71
    throw v0

    .line 115
    :catch_72
    move-exception v1

    goto :goto_2f

    .line 122
    :catch_74
    move-exception v1

    goto :goto_34

    .line 115
    :catch_76
    move-exception v1

    goto :goto_3a

    :catch_78
    move-exception v1

    goto :goto_4a

    :catch_7a
    move-exception v1

    goto :goto_5a

    :catch_7c
    move-exception v1

    goto :goto_6c

    .line 122
    :catch_7e
    move-exception v1

    goto :goto_71

    .line 112
    :catchall_80
    move-exception v1

    move-object v6, v1

    move-object v1, v0

    move-object v0, v6

    goto :goto_67

    :catchall_85
    move-exception v0

    goto :goto_67

    .line 109
    :catch_87
    move-exception v1

    move-object v1, v0

    goto :goto_55

    :catch_8a
    move-exception v3

    goto :goto_55

    .line 107
    :catch_8c
    move-exception v1

    move-object v1, v0

    goto :goto_45

    :catch_8f
    move-exception v3

    goto :goto_45
.end method

.method public static getCpuRate()I
    .registers 1

    .prologue
    .line 539
    invoke-static {}, Lcom/iwangding/basis/util/EquipmentInfoUtil;->getCpuRateByTopCmd()I

    move-result v0

    .line 540
    if-nez v0, :cond_a

    .line 541
    invoke-static {}, Lcom/iwangding/basis/util/EquipmentInfoUtil;->getCpuRateByStatFile()I

    move-result v0

    .line 542
    :cond_a
    return v0
.end method

.method public static getCpuRateByStatFile()I
    .registers 4

    .prologue
    .line 474
    invoke-static {}, Lcom/iwangding/basis/util/EquipmentInfoUtil;->getCPUUse()[J

    move-result-object v0

    .line 476
    const-wide/16 v2, 0x32

    :try_start_6
    invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
    :try_end_9
    .catch Ljava/lang/InterruptedException; {:try_start_6 .. :try_end_9} :catch_12

    .line 480
    :goto_9
    invoke-static {}, Lcom/iwangding/basis/util/EquipmentInfoUtil;->getCPUUse()[J

    move-result-object v1

    .line 481
    invoke-static {v0, v1}, Lcom/iwangding/basis/util/EquipmentInfoUtil;->calcCpuRate([J[J)I

    move-result v0

    return v0

    .line 477
    :catch_12
    move-exception v1

    goto :goto_9
.end method

.method public static getCpuRateByTopCmd()I
    .registers 10

    .prologue
    const/4 v2, 0x0

    const/4 v0, 0x0

    const/4 v7, 0x1

    .line 485
    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    .line 493
    :try_start_8
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v1

    const-string v3, "top -n 1"

    invoke-virtual {v1, v3}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;

    move-result-object v1

    .line 494
    invoke-virtual {v1}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;
    :try_end_15
    .catch Ljava/lang/Exception; {:try_start_8 .. :try_end_15} :catch_f8
    .catchall {:try_start_8 .. :try_end_15} :catchall_107

    move-result-object v3

    .line 495
    :try_start_16
    new-instance v1, Ljava/io/InputStreamReader;

    invoke-direct {v1, v3}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
    :try_end_1b
    .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_1b} :catch_12e
    .catchall {:try_start_16 .. :try_end_1b} :catchall_125

    .line 496
    :try_start_1b
    new-instance v4, Ljava/io/BufferedReader;

    invoke-direct {v4, v1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    :try_end_20
    .catch Ljava/lang/Exception; {:try_start_1b .. :try_end_20} :catch_134
    .catchall {:try_start_1b .. :try_end_20} :catchall_129

    .line 497
    :cond_20
    :try_start_20
    invoke-virtual {v4}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_ee

    .line 498
    invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/String;->length()I

    move-result v6

    if-lt v6, v7, :cond_20

    .line 501
    const-string v6, "%"

    invoke-virtual {v2, v6}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v2

    .line 502
    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    const-string v7, "USER:"

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    const/4 v7, 0x0

    aget-object v7, v2, v7

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    const-string v7, "\n"

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 503
    const/4 v6, 0x0

    aget-object v6, v2, v6

    const-string v7, "User"

    invoke-virtual {v6, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v6

    .line 504
    const/4 v7, 0x1

    aget-object v2, v2, v7

    const-string v7, "System"

    invoke-virtual {v2, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v2

    .line 505
    new-instance v7, Ljava/lang/StringBuilder;

    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V

    const-string v8, "CPU:"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    const/4 v8, 0x1

    aget-object v8, v6, v8

    invoke-virtual {v8}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    const-string v8, " length:"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    const/4 v8, 0x1

    aget-object v8, v6, v8

    invoke-virtual {v8}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v8}, Ljava/lang/String;->length()I

    move-result v8

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v7

    const-string v8, "\n"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v7

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 506
    new-instance v7, Ljava/lang/StringBuilder;

    invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V

    const-string v8, "SYS:"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    const/4 v8, 0x1

    aget-object v8, v2, v8

    invoke-virtual {v8}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    const-string v8, " length:"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    const/4 v8, 0x1

    aget-object v8, v2, v8

    invoke-virtual {v8}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v8}, Ljava/lang/String;->length()I

    move-result v8

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v7

    const-string v8, "\n"

    invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v7

    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v7

    invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 508
    const/4 v5, 0x1

    aget-object v5, v6, v5

    invoke-virtual {v5}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v5

    invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v5

    const/4 v6, 0x1

    aget-object v2, v2, v6

    invoke-virtual {v2}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
    :try_end_ec
    .catch Ljava/lang/Exception; {:try_start_20 .. :try_end_ec} :catch_139
    .catchall {:try_start_20 .. :try_end_ec} :catchall_12c

    move-result v0

    add-int/2addr v0, v5

    .line 517
    :cond_ee
    :try_start_ee
    invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V
    :try_end_f1
    .catch Ljava/lang/Exception; {:try_start_ee .. :try_end_f1} :catch_115

    .line 522
    :goto_f1
    :try_start_f1
    invoke-virtual {v3}, Ljava/io/InputStream;->close()V
    :try_end_f4
    .catch Ljava/lang/Exception; {:try_start_f1 .. :try_end_f4} :catch_117

    .line 527
    :goto_f4
    :try_start_f4
    invoke-virtual {v1}, Ljava/io/InputStreamReader;->close()V
    :try_end_f7
    .catch Ljava/lang/Exception; {:try_start_f4 .. :try_end_f7} :catch_119

    .line 532
    :goto_f7
    return v0

    .line 513
    :catch_f8
    move-exception v1

    move-object v1, v2

    move-object v3, v2

    .line 517
    :goto_fb
    :try_start_fb
    invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V
    :try_end_fe
    .catch Ljava/lang/Exception; {:try_start_fb .. :try_end_fe} :catch_11b

    .line 522
    :goto_fe
    :try_start_fe
    invoke-virtual {v2}, Ljava/io/InputStream;->close()V
    :try_end_101
    .catch Ljava/lang/Exception; {:try_start_fe .. :try_end_101} :catch_11d

    .line 527
    :goto_101
    :try_start_101
    invoke-virtual {v1}, Ljava/io/InputStreamReader;->close()V
    :try_end_104
    .catch Ljava/lang/Exception; {:try_start_101 .. :try_end_104} :catch_105

    goto :goto_f7

    .line 528
    :catch_105
    move-exception v1

    goto :goto_f7

    .line 516
    :catchall_107
    move-exception v0

    move-object v1, v2

    move-object v3, v2

    move-object v4, v2

    .line 517
    :goto_10b
    :try_start_10b
    invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V
    :try_end_10e
    .catch Ljava/lang/Exception; {:try_start_10b .. :try_end_10e} :catch_11f

    .line 522
    :goto_10e
    :try_start_10e
    invoke-virtual {v3}, Ljava/io/InputStream;->close()V
    :try_end_111
    .catch Ljava/lang/Exception; {:try_start_10e .. :try_end_111} :catch_121

    .line 527
    :goto_111
    :try_start_111
    invoke-virtual {v1}, Ljava/io/InputStreamReader;->close()V
    :try_end_114
    .catch Ljava/lang/Exception; {:try_start_111 .. :try_end_114} :catch_123

    .line 531
    :goto_114
    throw v0

    .line 518
    :catch_115
    move-exception v2

    goto :goto_f1

    .line 523
    :catch_117
    move-exception v2

    goto :goto_f4

    .line 528
    :catch_119
    move-exception v1

    goto :goto_f7

    .line 518
    :catch_11b
    move-exception v3

    goto :goto_fe

    .line 523
    :catch_11d
    move-exception v2

    goto :goto_101

    .line 518
    :catch_11f
    move-exception v2

    goto :goto_10e

    .line 523
    :catch_121
    move-exception v2

    goto :goto_111

    .line 528
    :catch_123
    move-exception v1

    goto :goto_114

    .line 516
    :catchall_125
    move-exception v0

    move-object v1, v2

    move-object v4, v2

    goto :goto_10b

    :catchall_129
    move-exception v0

    move-object v4, v2

    goto :goto_10b

    :catchall_12c
    move-exception v0

    goto :goto_10b

    .line 513
    :catch_12e
    move-exception v1

    move-object v1, v2

    move-object v9, v3

    move-object v3, v2

    move-object v2, v9

    goto :goto_fb

    :catch_134
    move-exception v4

    move-object v9, v3

    move-object v3, v2

    move-object v2, v9

    goto :goto_fb

    :catch_139
    move-exception v2

    move-object v2, v3

    move-object v3, v4

    goto :goto_fb
.end method

.method public static getCurCpuFreq()Ljava/lang/String;
    .registers 3

    .prologue
    .line 195
    const-string v0, "N/A"

    .line 197
    :try_start_2
    new-instance v1, Ljava/io/FileReader;

    const-string v2, "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"

    invoke-direct {v1, v2}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V

    .line 198
    new-instance v2, Ljava/io/BufferedReader;

    invoke-direct {v2, v1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V

    .line 199
    invoke-virtual {v2}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v1

    .line 200
    invoke-virtual {v1}, Ljava/lang/String;->trim()Ljava/lang/String;
    :try_end_15
    .catch Ljava/io/FileNotFoundException; {:try_start_2 .. :try_end_15} :catch_19
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_15} :catch_17

    move-result-object v0

    .line 206
    :goto_16
    return-object v0

    .line 203
    :catch_17
    move-exception v1

    goto :goto_16

    .line 201
    :catch_19
    move-exception v1

    goto :goto_16
.end method

.method public static getEquipmentType(Landroid/content/Context;)Ljava/lang/String;
    .registers 4

    .prologue
    .line 345
    const-string v1, "APP"

    .line 346
    const-string v0, "uimode"

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

    move-result-object v0

    check-cast v0, Landroid/app/UiModeManager;

    .line 347
    invoke-virtual {v0}, Landroid/app/UiModeManager;->getCurrentModeType()I

    move-result v0

    const/4 v2, 0x4

    if-ne v0, v2, :cond_14

    .line 348
    const-string v0, "TV"

    .line 354
    :goto_13
    return-object v0

    .line 349
    :cond_14
    invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;

    move-result-object v0

    iget v0, v0, Landroid/content/res/Configuration;->screenLayout:I

    and-int/lit8 v0, v0, 0xf

    const/4 v2, 0x3

    if-lt v0, v2, :cond_35

    .line 350
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v0

    const-string v1, "android.hardware.touchscreen"

    invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_32

    .line 351
    const-string v0, "PAD"

    goto :goto_13

    .line 352
    :cond_32
    const-string v0, "TV"

    goto :goto_13

    :cond_35
    move-object v0, v1

    goto :goto_13
.end method

.method public static getFeature(Landroid/content/Context;)Ljava/lang/String;
    .registers 4

    .prologue
    .line 368
    const-string v0, ""

    .line 369
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.touchscreen"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_21

    .line 370
    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, "|touchscreen"

    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 371
    :cond_21
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.faketouch"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_40

    .line 372
    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, "|faketouch"

    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 373
    :cond_40
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.telephony"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_5f

    .line 374
    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, "|telephony"

    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 375
    :cond_5f
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.camera"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_7e

    .line 376
    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, "|camera"

    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 377
    :cond_7e
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.nfc"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_9d

    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, "|nfc"

    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 378
    :cond_9d
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.location.gps"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_bc

    .line 379
    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, "|gps"

    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 380
    :cond_bc
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.microphone"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_db

    .line 381
    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, "|microphone"

    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 382
    :cond_db
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.sensor"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_fa

    .line 383
    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, "|sensor"

    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 384
    :cond_fa
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

    const-string v2, "android.hardware.screen.portrait"

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_119

    .line 385
    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, "|portrait"

    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 386
    :cond_119
    return-object v0
.end method

.method public static getMaxCpuFreq()Ljava/lang/String;
    .registers 5

    .prologue
    .line 153
    const-string v0, ""

    .line 156
    const/4 v1, 0x2

    :try_start_3
    new-array v1, v1, [Ljava/lang/String;

    const/4 v2, 0x0

    const-string v3, "/system/bin/cat"

    aput-object v3, v1, v2

    const/4 v2, 0x1

    const-string v3, "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"

    aput-object v3, v1, v2

    .line 157
    new-instance v2, Ljava/lang/ProcessBuilder;

    invoke-direct {v2, v1}, Ljava/lang/ProcessBuilder;-><init>([Ljava/lang/String;)V

    .line 158
    invoke-virtual {v2}, Ljava/lang/ProcessBuilder;->start()Ljava/lang/Process;

    move-result-object v1

    .line 159
    invoke-virtual {v1}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;

    move-result-object v1

    .line 160
    const/16 v2, 0x18

    new-array v2, v2, [B

    .line 161
    :goto_20
    invoke-virtual {v1, v2}, Ljava/io/InputStream;->read([B)I

    move-result v3

    const/4 v4, -0x1

    if-eq v3, v4, :cond_3e

    .line 162
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    new-instance v3, Ljava/lang/String;

    invoke-direct {v3, v2}, Ljava/lang/String;-><init>([B)V

    invoke-virtual {v0, v3}, 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

    goto :goto_20

    .line 164
    :cond_3e
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V
    :try_end_41
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_41} :catch_46

    .line 169
    :goto_41
    invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 165
    :catch_46
    move-exception v0

    .line 166
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 167
    const-string v0, "N/A"

    goto :goto_41
.end method

.method public static getMinCpuFreq()Ljava/lang/String;
    .registers 5

    .prologue
    .line 174
    const-string v0, ""

    .line 177
    const/4 v1, 0x2

    :try_start_3
    new-array v1, v1, [Ljava/lang/String;

    const/4 v2, 0x0

    const-string v3, "/system/bin/cat"

    aput-object v3, v1, v2

    const/4 v2, 0x1

    const-string v3, "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq"

    aput-object v3, v1, v2

    .line 178
    new-instance v2, Ljava/lang/ProcessBuilder;

    invoke-direct {v2, v1}, Ljava/lang/ProcessBuilder;-><init>([Ljava/lang/String;)V

    .line 179
    invoke-virtual {v2}, Ljava/lang/ProcessBuilder;->start()Ljava/lang/Process;

    move-result-object v1

    .line 180
    invoke-virtual {v1}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;

    move-result-object v1

    .line 181
    const/16 v2, 0x18

    new-array v2, v2, [B

    .line 182
    :goto_20
    invoke-virtual {v1, v2}, Ljava/io/InputStream;->read([B)I

    move-result v3

    const/4 v4, -0x1

    if-eq v3, v4, :cond_3e

    .line 183
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    new-instance v3, Ljava/lang/String;

    invoke-direct {v3, v2}, Ljava/lang/String;-><init>([B)V

    invoke-virtual {v0, v3}, 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

    goto :goto_20

    .line 185
    :cond_3e
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V
    :try_end_41
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_41} :catch_46

    .line 190
    :goto_41
    invoke-virtual {v0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 186
    :catch_46
    move-exception v0

    .line 187
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    .line 188
    const-string v0, "N/A"

    goto :goto_41
.end method

.method public static getNumberOfCPUCores()I
    .registers 3

    .prologue
    .line 211
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v1, 0xa

    if-gt v0, v1, :cond_8

    .line 216
    const/4 v0, 0x1

    .line 226
    :goto_7
    return v0

    .line 218
    :cond_8
    const/4 v0, 0x0

    .line 220
    :try_start_9
    new-instance v1, Ljava/io/File;

    const-string v2, "/sys/devices/system/cpu/"

    invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    sget-object v2, Lcom/iwangding/basis/util/EquipmentInfoUtil;->CPU_FILTER:Ljava/io/FileFilter;

    invoke-virtual {v1, v2}, Ljava/io/File;->listFiles(Ljava/io/FileFilter;)[Ljava/io/File;

    move-result-object v1

    array-length v0, v1
    :try_end_17
    .catch Ljava/lang/SecurityException; {:try_start_9 .. :try_end_17} :catch_1a
    .catch Ljava/lang/NullPointerException; {:try_start_9 .. :try_end_17} :catch_18

    goto :goto_7

    .line 223
    :catch_18
    move-exception v1

    goto :goto_7

    .line 221
    :catch_1a
    move-exception v1

    goto :goto_7
.end method

.method public static getSDCardMemory()[J
    .registers 8

    .prologue
    .line 328
    const/4 v0, 0x2

    new-array v0, v0, [J

    .line 329
    invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;

    move-result-object v1

    .line 330
    const-string v2, "mounted"

    invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_33

    .line 331
    invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;

    move-result-object v1

    .line 332
    new-instance v2, Landroid/os/StatFs;

    invoke-virtual {v1}, Ljava/io/File;->getPath()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v2, v1}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V

    .line 333
    invoke-virtual {v2}, Landroid/os/StatFs;->getBlockSize()I

    move-result v1

    int-to-long v4, v1

    .line 334
    invoke-virtual {v2}, Landroid/os/StatFs;->getBlockCount()I

    move-result v1

    int-to-long v6, v1

    .line 335
    invoke-virtual {v2}, Landroid/os/StatFs;->getAvailableBlocks()I

    move-result v1

    int-to-long v2, v1

    .line 337
    const/4 v1, 0x0

    mul-long/2addr v6, v4

    aput-wide v6, v0, v1

    .line 338
    const/4 v1, 0x1

    mul-long/2addr v2, v4

    aput-wide v2, v0, v1

    .line 340
    :cond_33
    return-object v0
.end method

.method public static getScreenRatio(Landroid/content/Context;)[I
    .registers 5

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

    .line 54
    invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v0

    .line 55
    new-instance v1, Landroid/graphics/Point;

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

    .line 56
    invoke-virtual {v0, v1}, Landroid/view/Display;->getSize(Landroid/graphics/Point;)V

    .line 57
    const/4 v0, 0x2

    new-array v0, v0, [I

    .line 58
    const/4 v2, 0x0

    iget v3, v1, Landroid/graphics/Point;->x:I

    aput v3, v0, v2

    .line 59
    const/4 v2, 0x1

    iget v1, v1, Landroid/graphics/Point;->y:I

    aput v1, v0, v2

    .line 60
    return-object v0
.end method

.method public static getScreenSize(Landroid/content/Context;)[D
    .registers 13

    .prologue
    const/4 v11, 0x1

    const/4 v10, 0x0

    const-wide/high16 v8, 0x4000000000000000L    # 2.0

    .line 65
    new-instance v1, Landroid/util/DisplayMetrics;

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

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

    .line 67
    invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;

    move-result-object v0

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

    .line 68
    iget v0, v1, Landroid/util/DisplayMetrics;->widthPixels:I

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

    .line 70
    iget v1, v1, Landroid/util/DisplayMetrics;->densityDpi:I

    .line 71
    int-to-double v4, v0

    int-to-double v6, v1

    div-double/2addr v4, v6

    .line 72
    int-to-double v2, v2

    int-to-double v0, v1

    div-double v0, v2, v0

    .line 73
    const/4 v2, 0x3

    new-array v2, v2, [D

    .line 74
    invoke-static {v4, v5, v8, v9}, Ljava/lang/Math;->pow(DD)D

    move-result-wide v4

    aput-wide v4, v2, v10

    .line 75
    invoke-static {v0, v1, v8, v9}, Ljava/lang/Math;->pow(DD)D

    move-result-wide v0

    aput-wide v0, v2, v11

    .line 76
    const/4 v0, 0x2

    aget-wide v4, v2, v10

    aget-wide v6, v2, v11

    add-double/2addr v4, v6

    invoke-static {v4, v5}, Ljava/lang/Math;->sqrt(D)D

    move-result-wide v4

    aput-wide v4, v2, v0

    .line 77
    return-object v2
.end method

.method public static getTotalInternalStorgeSize()J
    .registers 4

    .prologue
    .line 614
    invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;

    move-result-object v0

    .line 615
    new-instance v1, Landroid/os/StatFs;

    invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V

    .line 616
    invoke-virtual {v1}, Landroid/os/StatFs;->getBlockSize()I

    move-result v0

    int-to-long v2, v0

    .line 617
    invoke-virtual {v1}, Landroid/os/StatFs;->getBlockCount()I

    move-result v0

    int-to-long v0, v0

    .line 618
    mul-long/2addr v0, v2

    return-wide v0
.end method

.method public static getTotalMemory(Landroid/content/Context;)[Ljava/lang/String;
    .registers 11

    .prologue
    const/4 v9, 0x0

    const/4 v8, 0x1

    .line 263
    const/4 v0, 0x2

    new-array v2, v0, [Ljava/lang/String;

    const-string v0, ""

    aput-object v0, v2, v9

    const-string v0, ""

    aput-object v0, v2, v8

    .line 264
    const-string v0, "activity"

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

    move-result-object v0

    check-cast v0, Landroid/app/ActivityManager;

    .line 265
    new-instance v3, Landroid/app/ActivityManager$MemoryInfo;

    invoke-direct {v3}, Landroid/app/ActivityManager$MemoryInfo;-><init>()V

    .line 266
    invoke-virtual {v0, v3}, Landroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V

    .line 267
    const-wide/16 v0, 0x0

    .line 268
    iget-wide v4, v3, Landroid/app/ActivityManager$MemoryInfo;->availMem:J

    .line 269
    const-string v3, "/proc/meminfo"

    .line 273
    :try_start_23
    new-instance v6, Ljava/io/FileReader;

    invoke-direct {v6, v3}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V

    .line 274
    new-instance v3, Ljava/io/BufferedReader;

    const/16 v7, 0x2000

    invoke-direct {v3, v6, v7}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V

    .line 275
    invoke-virtual {v3}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v6

    .line 276
    const-string v7, "\\s+"

    invoke-virtual {v6, v7}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v6

    .line 277
    const/4 v7, 0x1

    aget-object v6, v6, v7

    invoke-static {v6}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I

    move-result v0

    mul-int/lit16 v0, v0, 0x400

    int-to-long v0, v0

    .line 278
    invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V
    :try_end_4a
    .catch Ljava/lang/Exception; {:try_start_23 .. :try_end_4a} :catch_57

    .line 282
    :goto_4a
    invoke-static {p0, v0, v1}, Landroid/text/format/Formatter;->formatFileSize(Landroid/content/Context;J)Ljava/lang/String;

    move-result-object v0

    aput-object v0, v2, v9

    .line 283
    invoke-static {p0, v4, v5}, Landroid/text/format/Formatter;->formatFileSize(Landroid/content/Context;J)Ljava/lang/String;

    move-result-object v0

    aput-object v0, v2, v8

    .line 284
    return-object v2

    .line 279
    :catch_57
    move-exception v3

    goto :goto_4a
.end method

.method public static getTotalRam(Landroid/content/Context;)Ljava/lang/String;
    .registers 6

    .prologue
    .line 288
    const-string v2, "/proc/meminfo"

    .line 289
    const/4 v1, 0x0

    .line 290
    const/4 v0, 0x0

    .line 292
    :try_start_4
    new-instance v3, Ljava/io/FileReader;

    invoke-direct {v3, v2}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V

    .line 293
    new-instance v2, Ljava/io/BufferedReader;

    const/16 v4, 0x2000

    invoke-direct {v2, v3, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V

    .line 294
    invoke-virtual {v2}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v3

    const-string v4, "\\s+"

    invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x1

    aget-object v1, v3, v4

    .line 295
    invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
    :try_end_20
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_20} :catch_4f

    .line 299
    :goto_20
    if-eqz v1, :cond_3b

    .line 301
    new-instance v0, Ljava/lang/Float;

    invoke-static {v1}, Ljava/lang/Float;->valueOf(Ljava/lang/String;)Ljava/lang/Float;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Float;->floatValue()F

    move-result v1

    const/high16 v2, 0x44800000    # 1024.0f

    div-float/2addr v1, v2

    invoke-direct {v0, v1}, Ljava/lang/Float;-><init>(F)V

    invoke-virtual {v0}, Ljava/lang/Float;->doubleValue()D

    move-result-wide v0

    invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D

    move-result-wide v0

    double-to-int v0, v0

    .line 304
    :cond_3b
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "MB"

    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

    return-object v0

    .line 296
    :catch_4f
    move-exception v2

    goto :goto_20
.end method

.method public static getTotalRamNoUtil(Landroid/content/Context;)Ljava/lang/String;
    .registers 6

    .prologue
    .line 308
    const-string v2, "/proc/meminfo"

    .line 309
    const/4 v1, 0x0

    .line 310
    const/4 v0, 0x0

    .line 312
    :try_start_4
    new-instance v3, Ljava/io/FileReader;

    invoke-direct {v3, v2}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V

    .line 313
    new-instance v2, Ljava/io/BufferedReader;

    const/16 v4, 0x2000

    invoke-direct {v2, v3, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V

    .line 314
    invoke-virtual {v2}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v3

    const-string v4, "\\s+"

    invoke-virtual {v3, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v3

    const/4 v4, 0x1

    aget-object v1, v3, v4

    .line 315
    invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
    :try_end_20
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_20} :catch_40

    .line 319
    :goto_20
    if-eqz v1, :cond_3b

    .line 321
    new-instance v0, Ljava/lang/Float;

    invoke-static {v1}, Ljava/lang/Float;->valueOf(Ljava/lang/String;)Ljava/lang/Float;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Float;->floatValue()F

    move-result v1

    const/high16 v2, 0x44800000    # 1024.0f

    div-float/2addr v1, v2

    invoke-direct {v0, v1}, Ljava/lang/Float;-><init>(F)V

    invoke-virtual {v0}, Ljava/lang/Float;->doubleValue()D

    move-result-wide v0

    invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D

    move-result-wide v0

    double-to-int v0, v0

    .line 324
    :cond_3b
    invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 316
    :catch_40
    move-exception v2

    goto :goto_20
.end method

.method public static getUsedMemPercentValue(Landroid/content/Context;)I
    .registers 11

    .prologue
    const/4 v2, 0x0

    .line 549
    const-string v1, "/proc/meminfo"

    .line 552
    const/4 v0, 0x0

    .line 554
    :try_start_4
    new-instance v3, Ljava/io/FileReader;

    invoke-direct {v3, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
    :try_end_9
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_9} :catch_7b
    .catchall {:try_start_4 .. :try_end_9} :catchall_8a

    .line 555
    :try_start_9
    new-instance v1, Ljava/io/BufferedReader;

    const/16 v4, 0x800

    invoke-direct {v1, v3, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
    :try_end_10
    .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_10} :catch_a7
    .catchall {:try_start_9 .. :try_end_10} :catchall_a2

    .line 557
    :try_start_10
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v2

    .line 558
    const-string v4, "MemTotal:"

    invoke-virtual {v2, v4}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v4

    invoke-virtual {v2, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v2

    .line 559
    const-string v4, "\\D+"

    const-string v5, ""

    invoke-virtual {v2, v4, v5}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v2

    int-to-long v4, v2

    .line 561
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v2

    .line 562
    const-string v6, "MemFree:"

    invoke-virtual {v2, v6}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v6

    invoke-virtual {v2, v6}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v6

    .line 563
    const-string v7, "\\D+"

    const-string v8, ""

    invoke-virtual {v6, v7, v8}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v6

    invoke-static {v6}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v6

    int-to-long v6, v6

    .line 565
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    .line 566
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    .line 569
    invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v8

    .line 570
    const-string v9, "Cached:"

    invoke-virtual {v8, v9}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v8

    invoke-virtual {v2, v8}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v2

    .line 571
    const-string v8, "\\D+"

    const-string v9, ""

    invoke-virtual {v2, v8, v9}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v2

    int-to-long v8, v2

    .line 573
    sub-long v6, v4, v6

    sub-long/2addr v6, v8

    const-wide/16 v8, 0x64

    mul-long/2addr v6, v8

    div-long v4, v6, v4
    :try_end_6f
    .catch Ljava/lang/Exception; {:try_start_10 .. :try_end_6f} :catch_ab
    .catchall {:try_start_10 .. :try_end_6f} :catchall_a5

    long-to-int v0, v4

    .line 577
    if-eqz v1, :cond_75

    .line 579
    :try_start_72
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_75
    .catch Ljava/lang/Exception; {:try_start_72 .. :try_end_75} :catch_98

    .line 585
    :cond_75
    :goto_75
    if-eqz v3, :cond_7a

    .line 587
    :try_start_77
    invoke-virtual {v3}, Ljava/io/FileReader;->close()V
    :try_end_7a
    .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_7a} :catch_9a

    .line 593
    :cond_7a
    :goto_7a
    return v0

    .line 574
    :catch_7b
    move-exception v1

    move-object v1, v2

    .line 577
    :goto_7d
    if-eqz v1, :cond_82

    .line 579
    :try_start_7f
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_82
    .catch Ljava/lang/Exception; {:try_start_7f .. :try_end_82} :catch_9c

    .line 585
    :cond_82
    :goto_82
    if-eqz v2, :cond_7a

    .line 587
    :try_start_84
    invoke-virtual {v2}, Ljava/io/FileReader;->close()V
    :try_end_87
    .catch Ljava/lang/Exception; {:try_start_84 .. :try_end_87} :catch_88

    goto :goto_7a

    .line 588
    :catch_88
    move-exception v1

    goto :goto_7a

    .line 577
    :catchall_8a
    move-exception v0

    move-object v1, v2

    move-object v3, v2

    :goto_8d
    if-eqz v1, :cond_92

    .line 579
    :try_start_8f
    invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
    :try_end_92
    .catch Ljava/lang/Exception; {:try_start_8f .. :try_end_92} :catch_9e

    .line 585
    :cond_92
    :goto_92
    if-eqz v3, :cond_97

    .line 587
    :try_start_94
    invoke-virtual {v3}, Ljava/io/FileReader;->close()V
    :try_end_97
    .catch Ljava/lang/Exception; {:try_start_94 .. :try_end_97} :catch_a0

    .line 592
    :cond_97
    :goto_97
    throw v0

    .line 580
    :catch_98
    move-exception v1

    goto :goto_75

    .line 588
    :catch_9a
    move-exception v1

    goto :goto_7a

    .line 580
    :catch_9c
    move-exception v1

    goto :goto_82

    :catch_9e
    move-exception v1

    goto :goto_92

    .line 588
    :catch_a0
    move-exception v1

    goto :goto_97

    .line 577
    :catchall_a2
    move-exception v0

    move-object v1, v2

    goto :goto_8d

    :catchall_a5
    move-exception v0

    goto :goto_8d

    .line 574
    :catch_a7
    move-exception v1

    move-object v1, v2

    move-object v2, v3

    goto :goto_7d

    :catch_ab
    move-exception v2

    move-object v2, v3

    goto :goto_7d
.end method

.method public static getVersion(Landroid/content/Context;)Ljava/lang/String;
    .registers 4

    .prologue
    .line 41
    :try_start_0
    invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v0

    .line 42
    invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v1

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;

    move-result-object v0

    .line 43
    iget-object v0, v0, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
    :try_end_f
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_f} :catch_10

    .line 47
    :goto_f
    return-object v0

    .line 45
    :catch_10
    move-exception v0

    .line 47
    const/4 v0, 0x0

    goto :goto_f
.end method

.method private static isExecutable(Ljava/lang/String;)Z
    .registers 6

    .prologue
    .line 635
    const/4 v0, 0x0

    .line 637
    :try_start_1
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v1

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "ls -l "

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

    move-result-object v2

    invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
    :try_end_1b
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1b} :catch_52
    .catchall {:try_start_1 .. :try_end_1b} :catchall_59

    move-result-object v1

    .line 639
    :try_start_1c
    new-instance v0, Ljava/io/BufferedReader;

    new-instance v2, Ljava/io/InputStreamReader;

    invoke-virtual {v1}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;

    move-result-object v3

    invoke-direct {v2, v3}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V

    invoke-direct {v0, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V

    .line 640
    invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v0

    .line 641
    if-eqz v0, :cond_4b

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v2

    const/4 v3, 0x4

    if-lt v2, v3, :cond_4b

    .line 642
    const/4 v2, 0x3

    invoke-virtual {v0, v2}, Ljava/lang/String;->charAt(I)C
    :try_end_3b
    .catch Ljava/lang/Exception; {:try_start_1c .. :try_end_3b} :catch_65
    .catchall {:try_start_1c .. :try_end_3b} :catchall_63

    move-result v0

    .line 643
    const/16 v2, 0x73

    if-eq v0, v2, :cond_44

    const/16 v2, 0x78

    if-ne v0, v2, :cond_4b

    .line 644
    :cond_44
    const/4 v0, 0x1

    .line 649
    if-eqz v1, :cond_4a

    .line 650
    invoke-virtual {v1}, Ljava/lang/Process;->destroy()V

    .line 653
    :cond_4a
    :goto_4a
    return v0

    .line 649
    :cond_4b
    if-eqz v1, :cond_50

    .line 650
    invoke-virtual {v1}, Ljava/lang/Process;->destroy()V

    .line 653
    :cond_50
    :goto_50
    const/4 v0, 0x0

    goto :goto_4a

    .line 646
    :catch_52
    move-exception v1

    .line 649
    :goto_53
    if-eqz v0, :cond_50

    .line 650
    invoke-virtual {v0}, Ljava/lang/Process;->destroy()V

    goto :goto_50

    .line 649
    :catchall_59
    move-exception v1

    move-object v4, v1

    move-object v1, v0

    move-object v0, v4

    :goto_5d
    if-eqz v1, :cond_62

    .line 650
    invoke-virtual {v1}, Ljava/lang/Process;->destroy()V

    .line 652
    :cond_62
    throw v0

    .line 649
    :catchall_63
    move-exception v0

    goto :goto_5d

    .line 646
    :catch_65
    move-exception v0

    move-object v0, v1

    goto :goto_53
.end method

.method public static isPhoneDevice(Landroid/content/Context;)Z
    .registers 2

    .prologue
    .line 358
    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 359
    invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getPhoneType()I

    move-result v0

    .line 360
    if-nez v0, :cond_10

    .line 361
    const/4 v0, 0x0

    .line 363
    :goto_f
    return v0

    :cond_10
    const/4 v0, 0x1

    goto :goto_f
.end method

.method public static isRoot()Z
    .registers 4

    .prologue
    const/4 v0, 0x1

    .line 391
    const-string v1, "/system/bin/su"

    .line 392
    const-string v2, "/system/xbin/su"

    .line 393
    new-instance v3, Ljava/io/File;

    invoke-direct {v3, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3}, Ljava/io/File;->exists()Z

    move-result v3

    if-eqz v3, :cond_17

    invoke-static {v1}, Lcom/iwangding/basis/util/EquipmentInfoUtil;->isExecutable(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_17

    .line 397
    :cond_16
    :goto_16
    return v0

    .line 395
    :cond_17
    new-instance v1, Ljava/io/File;

    invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    invoke-virtual {v1}, Ljava/io/File;->exists()Z

    move-result v1

    if-eqz v1, :cond_28

    invoke-static {v2}, Lcom/iwangding/basis/util/EquipmentInfoUtil;->isExecutable(Ljava/lang/String;)Z

    move-result v1

    if-nez v1, :cond_16

    .line 397
    :cond_28
    const/4 v0, 0x0

    goto :goto_16
.end method