SystemUtil.smali
.class public Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;
.super Ljava/lang/Object;
# static fields
.field private static mContext:Landroid/content/Context;
.field private static mDm:Landroid/util/DisplayMetrics;
# direct methods
.method static constructor <clinit>()V
.registers 1
invoke-static {}, Lcom/cmcm/xiaobao/phone/smarthome/sdk/SmartHomeSDK;->getInstance()Lcom/cmcm/xiaobao/phone/smarthome/sdk/SmartHomeSDK;
move-result-object v0
invoke-virtual {v0}, Lcom/cmcm/xiaobao/phone/smarthome/sdk/SmartHomeSDK;->getAppContext()Landroid/content/Context;
move-result-object v0
sput-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mContext:Landroid/content/Context;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getIMEI()Ljava/lang/String;
.registers 2
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mContext:Landroid/content/Context;
const-string/jumbo v1, "phone"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/telephony/TelephonyManager;
invoke-virtual {v0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_14
const-string/jumbo v0, "000000000000000"
:cond_14
return-object v0
.end method
.method public static getPackageSourceDir()Ljava/lang/String;
.registers 3
:try_start_0
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
sget-object v1, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mContext:Landroid/content/Context;
invoke-virtual {v1}, 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
iget-object v0, v0, Landroid/content/pm/PackageInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo;
iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;
:try_end_15
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_15} :catch_16
:goto_15
return-object v0
:catch_16
move-exception v0
invoke-virtual {v0}, Landroid/content/pm/PackageManager$NameNotFoundException;->printStackTrace()V
const/4 v0, 0x0
goto :goto_15
.end method
.method public static getPackageVersion()Ljava/lang/String;
.registers 4
const-string/jumbo v0, ""
:try_start_3
sget-object v1, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mContext:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
sget-object v2, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
iget-object v0, v1, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
:try_end_16
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_16} :catch_17
:goto_16
return-object v0
:catch_17
move-exception v1
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_16
.end method
.method public static getScreenSize()Landroid/util/DisplayMetrics;
.registers 2
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mDm:Landroid/util/DisplayMetrics;
if-nez v0, :cond_1f
new-instance v0, Landroid/util/DisplayMetrics;
invoke-direct {v0}, Landroid/util/DisplayMetrics;-><init>()V
sput-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mDm:Landroid/util/DisplayMetrics;
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mContext:Landroid/content/Context;
const-string/jumbo v1, "window"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
sget-object v1, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mDm:Landroid/util/DisplayMetrics;
invoke-virtual {v0, v1}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V
:cond_1f
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/SystemUtil;->mDm:Landroid/util/DisplayMetrics;
return-object v0
.end method
.method public static getSimpleSystemInfo()Ljava/lang/String;
.registers 2
sget-object v0, Landroid/os/Build$VERSION;->SDK:Ljava/lang/String;
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/jumbo v1, "_"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
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
sget-object v1, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
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
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/jumbo v1, "_"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
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
sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String;
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
.end method