SPhoneHelper.smali
.class public final Lcom/sdk/orion/ui/baselibrary/report/SPhoneHelper;
.super Ljava/lang/Object;
# static fields
.field private static final AC_UEVENT:Ljava/lang/String; = "/sys/class/power_supply/ac/uevent"
.field private static final BATTERY_UEVENT:Ljava/lang/String; = "/sys/class/power_supply/battery/uevent"
.field private static final DIR_PATH_CPU_NUM:Ljava/lang/String; = "/sys/devices/system/cpu"
.field private static final FILE_PATH_CPU:Ljava/lang/String; = "/proc/cpuinfo"
.field private static final FILE_PATH_CPU_FREQ:Ljava/lang/String; = "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"
.field private static final FILE_PATH_FB0:Ljava/lang/String; = "/dev/graphics/fb0"
.field private static final FILE_PATH_KERNEL:Ljava/lang/String; = "/proc/version"
.field private static final FILE_PATH_PID:Ljava/lang/String; = "/sys/class/android_usb/android0/idProduct"
.field private static final FILE_PATH_RAM:Ljava/lang/String; = "/proc/meminfo"
.field private static final FILE_PATH_SERIAL:Ljava/lang/String; = "/sys/class/android_usb/android0/iSerial"
.field private static final FILE_PATH_VID:Ljava/lang/String; = "/sys/class/android_usb/android0/idVendor"
.field private static final FILE_PATH_VOLD:Ljava/lang/String; = "/etc/vold.fstab"
.field private static final IMSI_LENGTH:I = 0x14
.field private static final READ_BUFFER_SIZE:I = 0x2000
.field private static final USB_UEVENT:Ljava/lang/String; = "/sys/class/power_supply/usb/uevent"
.field public static final XIAO_MI_BRAND:Ljava/lang/String; = "Xiaomi"
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getEnvironmentPath()Ljava/lang/String;
.registers 1
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getFirmware()Ljava/lang/String;
.registers 1
sget-object v0, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
return-object v0
.end method
.method public static getPhoneBrand()Ljava/lang/String;
.registers 1
sget-object v0, Landroid/os/Build;->BRAND:Ljava/lang/String;
return-object v0
.end method
.method public static getPhoneModel()Ljava/lang/String;
.registers 1
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
return-object v0
.end method
.method public static getPhonePid()Ljava/lang/String;
.registers 5
const-string/jumbo v0, ""
const-string/jumbo v1, ""
new-instance v1, Ljava/io/File;
const-string/jumbo v2, "/sys/class/android_usb/android0/idProduct"
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
if-eqz v1, :cond_38
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_38
:try_start_16
new-instance v2, Ljava/io/FileReader;
const-string/jumbo v1, "/sys/class/android_usb/android0/idProduct"
invoke-direct {v2, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
new-instance v3, Ljava/io/BufferedReader;
const/16 v1, 0x2000
invoke-direct {v3, v2, v1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
invoke-virtual {v3}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_32
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v4
if-lez v4, :cond_32
move-object v0, v1
:cond_32
invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V
invoke-virtual {v2}, Ljava/io/FileReader;->close()V
:try_end_38
.catch Ljava/io/FileNotFoundException; {:try_start_16 .. :try_end_38} :catch_3e
.catch Ljava/io/IOException; {:try_start_16 .. :try_end_38} :catch_39
:cond_38
:goto_38
return-object v0
:catch_39
move-exception v1
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_38
:catch_3e
move-exception v1
goto :goto_38
.end method
.method public static getPhoneSDKByInt()I
.registers 1
:try_start_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
:try_end_2
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_2} :catch_3
:goto_2
return v0
:catch_3
move-exception v0
const/4 v0, 0x0
goto :goto_2
.end method
.method public static getPhoneSdkByString()Ljava/lang/String;
.registers 1
:try_start_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
packed-switch v0, :pswitch_data_42
const-string/jumbo v0, "moreHighLevel"
:goto_8
return-object v0
:pswitch_9
const-string/jumbo v0, "2.1"
goto :goto_8
:pswitch_d
const-string/jumbo v0, "2.2"
goto :goto_8
:pswitch_11
const-string/jumbo v0, "2.3"
goto :goto_8
:pswitch_15
const-string/jumbo v0, "2.3.3"
goto :goto_8
:pswitch_19
const-string/jumbo v0, "3.0"
goto :goto_8
:pswitch_1d
const-string/jumbo v0, "3.1"
goto :goto_8
:pswitch_21
const-string/jumbo v0, "3.2"
goto :goto_8
:pswitch_25
const-string/jumbo v0, "4.0"
goto :goto_8
:pswitch_29
const-string/jumbo v0, "4.0.3"
goto :goto_8
:pswitch_2d
const-string/jumbo v0, "4.1.2"
goto :goto_8
:pswitch_31
const-string/jumbo v0, "4.2.2"
goto :goto_8
:pswitch_35
const-string/jumbo v0, "4.3"
goto :goto_8
:pswitch_39
const-string/jumbo v0, "4.4"
:try_end_3c
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3c} :catch_3d
goto :goto_8
:catch_3d
move-exception v0
const-string/jumbo v0, ""
goto :goto_8
:pswitch_data_42
.packed-switch 0x7
:pswitch_9
:pswitch_d
:pswitch_11
:pswitch_15
:pswitch_19
:pswitch_1d
:pswitch_21
:pswitch_25
:pswitch_29
:pswitch_2d
:pswitch_31
:pswitch_35
:pswitch_39
.end packed-switch
.end method
.method public static getPhoneSn()Ljava/lang/String;
.registers 1
const-string/jumbo v0, ""
return-object v0
.end method
.method public static getPhoneVid()Ljava/lang/String;
.registers 5
const-string/jumbo v0, ""
const-string/jumbo v1, ""
new-instance v1, Ljava/io/File;
const-string/jumbo v2, "/sys/class/android_usb/android0/idVendor"
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
if-eqz v1, :cond_38
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v1
if-eqz v1, :cond_38
:try_start_16
new-instance v2, Ljava/io/FileReader;
const-string/jumbo v1, "/sys/class/android_usb/android0/idVendor"
invoke-direct {v2, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
new-instance v3, Ljava/io/BufferedReader;
const/16 v1, 0x2000
invoke-direct {v3, v2, v1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
invoke-virtual {v3}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_32
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v4
if-lez v4, :cond_32
move-object v0, v1
:cond_32
invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V
invoke-virtual {v2}, Ljava/io/FileReader;->close()V
:try_end_38
.catch Ljava/io/FileNotFoundException; {:try_start_16 .. :try_end_38} :catch_3e
.catch Ljava/io/IOException; {:try_start_16 .. :try_end_38} :catch_39
:cond_38
:goto_38
return-object v0
:catch_39
move-exception v1
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_38
:catch_3e
move-exception v1
goto :goto_38
.end method
.method public static getScreenSize(Landroid/content/Context;)Ljava/lang/String;
.registers 7
const-string/jumbo v0, ""
if-nez p0, :cond_6
:cond_5
:goto_5
return-object v0
:cond_6
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v1
if-eqz v1, :cond_5
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
const-string/jumbo v2, "%dx%d"
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
iget v5, v1, Landroid/util/DisplayMetrics;->widthPixels:I
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v3, v4
const/4 v4, 0x1
iget v1, v1, Landroid/util/DisplayMetrics;->heightPixels:I
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
aput-object v1, v3, v4
invoke-static {v0, v2, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
goto :goto_5
.end method
.method public static getUid()I
.registers 1
const/4 v0, 0x0
return v0
.end method
.method private static isMobile2G(I)Z
.registers 3
const/4 v0, 0x1
if-eq v0, p0, :cond_10
const/4 v1, 0x2
if-eq v1, p0, :cond_10
const/4 v1, 0x4
if-eq v1, p0, :cond_10
const/4 v1, 0x7
if-eq v1, p0, :cond_10
const/16 v1, 0xb
if-ne v1, p0, :cond_11
:cond_10
:goto_10
return v0
:cond_11
const/4 v0, 0x0
goto :goto_10
.end method
.method private static isMobile3G(I)Z
.registers 2
const/4 v0, 0x3
if-eq v0, p0, :cond_21
const/4 v0, 0x5
if-eq v0, p0, :cond_21
const/4 v0, 0x6
if-eq v0, p0, :cond_21
const/16 v0, 0x8
if-eq v0, p0, :cond_21
const/16 v0, 0x9
if-eq v0, p0, :cond_21
const/16 v0, 0xa
if-eq v0, p0, :cond_21
const/16 v0, 0xc
if-eq v0, p0, :cond_21
const/16 v0, 0xe
if-eq v0, p0, :cond_21
const/16 v0, 0xf
if-ne v0, p0, :cond_23
:cond_21
const/4 v0, 0x1
:goto_22
return v0
:cond_23
const/4 v0, 0x0
goto :goto_22
.end method
.method private static isMobile4G(I)Z
.registers 2
const/16 v0, 0xd
if-ne v0, p0, :cond_6
const/4 v0, 0x1
:goto_5
return v0
:cond_6
const/4 v0, 0x0
goto :goto_5
.end method
.method public static isRoot()Z
.registers 1
const/4 v0, 0x0
return v0
.end method
.method public static isXiaomi()Z
.registers 3
const/4 v0, 0x0
invoke-static {}, Lcom/sdk/orion/ui/baselibrary/report/SPhoneHelper;->getPhoneBrand()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_11
const-string/jumbo v2, "Xiaomi"
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_11
const/4 v0, 0x1
:cond_11
return v0
.end method