DimenUtils.smali

.class public Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;

    sput-object v0, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->getScaleFactorH()F

    move-result v0

    mul-float/2addr v0, p1

    goto :goto_5

    :pswitch_25
    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;

    invoke-static {v0, p0, v1}, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;

    iget v0, v0, Landroid/util/DisplayMetrics;->heightPixels:I

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->sScaleH:Ljava/lang/Float;

    if-nez v0, :cond_1a

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->sScaleH:Ljava/lang/Float;

    :cond_1a
    sget-object v0, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->sScaleW:Ljava/lang/Float;

    if-nez v0, :cond_1a

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->sScaleW:Ljava/lang/Float;

    :cond_1a
    sget-object v0, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;

    monitor-enter v2

    :try_start_5
    sget-object v3, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->mResource:Landroid/content/res/Resources;

    sget-object v3, Lcom/sdk/orion/ui/baselibrary/utils/DimenUtils;->mResource:Landroid/content/res/Resources;

    if-nez v3, :cond_1b

    move v0, v1

    goto :goto_9

    :cond_1b
    sget-object v3, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;

    sget-object v3, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;

    if-eqz v0, :cond_10

    move v0, v1

    :goto_6
    if-nez v0, :cond_f

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/BaseApp;->getAppContext()Landroid/content/Context;

    move-result-object v0

    invoke-static {v0}, Lcom/sdk/orion/ui/baselibrary/utils/DimenUtils;->initMetrics(Landroid/content/Context;)Z

    :cond_f
    return v1

    :cond_10
    const/4 v0, 0x0

    goto :goto_6
.end method

.method public static px2dp(F)F
    .registers 3

    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;

    invoke-static {v0, p0, v1}, Lcom/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/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/sdk/orion/ui/baselibrary/utils/DimenUtils;->mMetrics:Landroid/util/DisplayMetrics;

    invoke-static {v0, p0, v1}, Lcom/sdk/orion/ui/baselibrary/utils/DimenUtils;->applyDimension(IFLandroid/util/DisplayMetrics;)F

    move-result v0

    float-to-int v0, v0

    goto :goto_5
.end method