DimenUtils.smali
.class public Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;
.super Ljava/lang/Object;
# static fields
.field public static final BASE_SCREEN_DENSITY:F = 2.0f
.field public static final BASE_SCREEN_HEIGHT:F = 1280.0f
.field public static final BASE_SCREEN_WIDH:F = 720.0f
.field public static final DENSITY_HIGH:I = 0xf0
.field public static final DENSITY_LOW:I = 0x78
.field public static final DENSITY_MEDIUM:I = 0xa0
.field public static final DENSITY_XHIGH:I = 0x140
.field private static final DP_SCALE_H:I = 0x9
.field private static final DP_TO_PX:I = 0x1
.field private static final DP_TO_PX_SCALE_H:I = 0x8
.field private static final DP_TO_PX_SCALE_W:I = 0xa
.field private static final PX_TO_DP:I = 0x6
.field private static final PX_TO_SP:I = 0x7
.field private static final SP_TO_PX:I = 0x2
.field private static mMetrics:Landroid/util/DisplayMetrics;
.field private static mResource:Landroid/content/res/Resources;
.field public static sScaleH:Ljava/lang/Float;
.field public static sScaleW:Ljava/lang/Float;
# direct methods
.method static constructor <clinit>()V
.registers 1
const/4 v0, 0x0
sput-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
sput-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mResource:Landroid/content/res/Resources;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static applyDimension(IFLandroid/util/DisplayMetrics;)F
.registers 5
const/4 v1, 0x1
packed-switch p0, :pswitch_data_30
:pswitch_4
const/4 v0, 0x0
:goto_5
return v0
:pswitch_6
invoke-static {p0, p1, p2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v0
goto :goto_5
:pswitch_b
iget v0, p2, Landroid/util/DisplayMetrics;->density:F
div-float v0, p1, v0
goto :goto_5
:pswitch_10
iget v0, p2, Landroid/util/DisplayMetrics;->scaledDensity:F
div-float v0, p1, v0
goto :goto_5
:pswitch_15
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getScaleFactorH()F
move-result v0
mul-float/2addr v0, p1
invoke-static {v1, v0, p2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v0
goto :goto_5
:pswitch_1f
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getScaleFactorH()F
move-result v0
mul-float/2addr v0, p1
goto :goto_5
:pswitch_25
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getScaleFactorW()F
move-result v0
mul-float/2addr v0, p1
invoke-static {v1, v0, p2}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v0
goto :goto_5
nop
:pswitch_data_30
.packed-switch 0x1
:pswitch_6
:pswitch_6
:pswitch_4
:pswitch_4
:pswitch_4
:pswitch_b
:pswitch_10
:pswitch_15
:pswitch_1f
:pswitch_25
.end packed-switch
.end method
.method public static dp2px(F)I
.registers 3
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->isInited()Z
move-result v0
if-nez v0, :cond_8
float-to-int v0, p0
:goto_7
return v0
:cond_8
const/4 v0, 0x1
sget-object v1, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
invoke-static {v0, p0, v1}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v0
float-to-int v0, v0
goto :goto_7
.end method
.method public static getContentHeight2(Landroid/content/Context;)I
.registers 3
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
iget v0, v0, Landroid/util/DisplayMetrics;->heightPixels:I
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getStatusBarHeight2()I
move-result v1
sub-int/2addr v0, v1
return v0
.end method
.method public static getDensity()F
.registers 1
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->isInited()Z
move-result v0
if-nez v0, :cond_9
const/high16 v0, 0x40000000 # 2.0f
:goto_8
return v0
:cond_9
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
goto :goto_8
.end method
.method public static getScaleFactorH()F
.registers 3
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->sScaleH:Ljava/lang/Float;
if-nez v0, :cond_1a
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getScreenHeight()I
move-result v0
int-to-float v0, v0
const/high16 v1, 0x40000000 # 2.0f
mul-float/2addr v0, v1
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getDensity()F
move-result v1
const/high16 v2, 0x44a00000 # 1280.0f
mul-float/2addr v1, v2
div-float/2addr v0, v1
invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v0
sput-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->sScaleH:Ljava/lang/Float;
:cond_1a
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->sScaleH:Ljava/lang/Float;
invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
move-result v0
return v0
.end method
.method public static getScaleFactorW()F
.registers 3
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->sScaleW:Ljava/lang/Float;
if-nez v0, :cond_1a
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getScreenWidth()I
move-result v0
int-to-float v0, v0
const/high16 v1, 0x40000000 # 2.0f
mul-float/2addr v0, v1
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->getDensity()F
move-result v1
const/high16 v2, 0x44340000 # 720.0f
mul-float/2addr v1, v2
div-float/2addr v0, v1
invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v0
sput-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->sScaleW:Ljava/lang/Float;
:cond_1a
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->sScaleW:Ljava/lang/Float;
invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
move-result v0
return v0
.end method
.method public static getScreenHeight()I
.registers 1
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->isInited()Z
move-result v0
if-nez v0, :cond_9
const/16 v0, 0x500
:goto_8
return v0
:cond_9
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
iget v0, v0, Landroid/util/DisplayMetrics;->heightPixels:I
goto :goto_8
.end method
.method public static getScreenWidth()I
.registers 1
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->isInited()Z
move-result v0
if-nez v0, :cond_9
const/16 v0, 0x2d0
:goto_8
return v0
:cond_9
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
iget v0, v0, Landroid/util/DisplayMetrics;->widthPixels:I
goto :goto_8
.end method
.method public static getStatusBarHeight2()I
.registers 4
const/4 v0, 0x0
:try_start_1
const-string/jumbo v1, "com.android.internal.R$dimen"
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v2
const-string/jumbo v3, "status_bar_height"
invoke-virtual {v1, v3}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
invoke-virtual {v1, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v1
sget-object v2, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mResource:Landroid/content/res/Resources;
invoke-virtual {v2, v1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
:try_end_24
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_24} :catch_26
move-result v0
:goto_25
return v0
:catch_26
move-exception v1
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_25
.end method
.method public static getWindowHeight()I
.registers 1
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->isInited()Z
move-result v0
if-nez v0, :cond_9
const/16 v0, 0x2d0
:goto_8
return v0
:cond_9
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
iget v0, v0, Landroid/util/DisplayMetrics;->heightPixels:I
goto :goto_8
.end method
.method public static getWindowWidth()I
.registers 1
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->isInited()Z
move-result v0
if-nez v0, :cond_9
const/16 v0, 0x500
:goto_8
return v0
:cond_9
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
iget v0, v0, Landroid/util/DisplayMetrics;->widthPixels:I
goto :goto_8
.end method
.method public static declared-synchronized initMetrics(Landroid/content/Context;)Z
.registers 5
const/4 v0, 0x1
const/4 v1, 0x0
const-class v2, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;
monitor-enter v2
:try_start_5
sget-object v3, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
:try_end_7
.catchall {:try_start_5 .. :try_end_7} :catchall_29
if-eqz v3, :cond_b
:cond_9
:goto_9
monitor-exit v2
return v0
:cond_b
if-nez p0, :cond_f
move v0, v1
goto :goto_9
:cond_f
:try_start_f
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v3
sput-object v3, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mResource:Landroid/content/res/Resources;
sget-object v3, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mResource:Landroid/content/res/Resources;
if-nez v3, :cond_1b
move v0, v1
goto :goto_9
:cond_1b
sget-object v3, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mResource:Landroid/content/res/Resources;
invoke-virtual {v3}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v3
sput-object v3, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
sget-object v3, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
:try_end_25
.catchall {:try_start_f .. :try_end_25} :catchall_29
if-nez v3, :cond_9
move v0, v1
goto :goto_9
:catchall_29
move-exception v0
monitor-exit v2
throw v0
.end method
.method public static isInited()Z
.registers 2
const/4 v1, 0x1
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
if-eqz v0, :cond_14
move v0, v1
:goto_6
if-nez v0, :cond_13
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
invoke-static {v0}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->initMetrics(Landroid/content/Context;)Z
:cond_13
return v1
:cond_14
const/4 v0, 0x0
goto :goto_6
.end method
.method public static px2dp(F)F
.registers 3
invoke-static {}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->isInited()Z
move-result v0
if-nez v0, :cond_9
float-to-int v0, p0
int-to-float v0, v0
:goto_8
return v0
:cond_9
const/4 v0, 0x6
sget-object v1, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
invoke-static {v0, p0, v1}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v0
float-to-int v0, v0
int-to-float v0, v0
goto :goto_8
.end method
.method public static sp2px(F)I
.registers 3
sget-object v0, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
if-nez v0, :cond_6
float-to-int v0, p0
:goto_5
return v0
:cond_6
const/4 v0, 0x2
sget-object v1, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;
invoke-static {v0, p0, v1}, Lcom/cmcm/xiaobao/phone/commons/utils/DimenUtils;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result v0
float-to-int v0, v0
goto :goto_5
.end method