MryDisplayHelper.smali
.class public Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;
.super Ljava/lang/Object;
.source "MryDisplayHelper.java"
# static fields
.field public static final DENSITY:F
.field private static final HUAWAI_DISPLAY_NOTCH_STATUS:Ljava/lang/String; = "display_notch_status"
.field private static final TAG:Ljava/lang/String; = "QMUIDisplayHelper"
.field private static final VIVO_NAVIGATION_GESTURE:Ljava/lang/String; = "navigation_gesture_on"
.field private static final XIAOMI_DISPLAY_NOTCH_STATUS:Ljava/lang/String; = "force_black"
.field private static final XIAOMI_FULLSCREEN_GESTURE:Ljava/lang/String; = "force_fsg_nav_bar"
.field private static sHasCamera:Ljava/lang/Boolean;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 57
invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
move-result-object v0
.line 58
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
sput v0, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->DENSITY:F
.line 64
const/4 v0, 0x0
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->sHasCamera:Ljava/lang/Boolean;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 52
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static cancelFullScreen(Landroid/app/Activity;)V
.registers 3
.param p0, "activity" # Landroid/app/Activity;
.line 543
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
.line 544
.local v0, "window":Landroid/view/Window;
const/16 v1, 0x400
invoke-virtual {v0, v1}, Landroid/view/Window;->clearFlags(I)V
.line 545
const/16 v1, 0x200
invoke-virtual {v0, v1}, Landroid/view/Window;->clearFlags(I)V
.line 546
return-void
.end method
.method private static deviceHasNavigationBar()Z
.registers 9
.line 581
const/4 v0, 0x0
.line 585
.local v0, "haveNav":Z
:try_start_1
const-string v1, "android.view.WindowManagerGlobal"
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
.line 586
.local v1, "windowManagerGlobalClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
const-string v2, "getWindowManagerService"
const/4 v3, 0x0
new-array v4, v3, [Ljava/lang/Class;
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
.line 587
.local v2, "getWmServiceMethod":Ljava/lang/reflect/Method;
const/4 v4, 0x1
invoke-virtual {v2, v4}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 589
const/4 v5, 0x0
new-array v6, v3, [Ljava/lang/Object;
invoke-virtual {v2, v5, v6}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
.line 593
.local v5, "iWindowManager":Ljava/lang/Object;
invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v6
.line 594
.local v6, "iWindowManagerClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
const-string v7, "hasNavigationBar"
new-array v8, v3, [Ljava/lang/Class;
invoke-virtual {v6, v7, v8}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v7
.line 595
.local v7, "hasNavBarMethod":Ljava/lang/reflect/Method;
invoke-virtual {v7, v4}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 596
new-array v3, v3, [Ljava/lang/Object;
invoke-virtual {v7, v5, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Boolean;
invoke-virtual {v3}, Ljava/lang/Boolean;->booleanValue()Z
move-result v3
:try_end_36
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_36} :catch_38
move v0, v3
.line 599
.end local v1 # "windowManagerGlobalClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.end local v2 # "getWmServiceMethod":Ljava/lang/reflect/Method;
.end local v5 # "iWindowManager":Ljava/lang/Object;
.end local v6 # "iWindowManagerClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.end local v7 # "hasNavBarMethod":Ljava/lang/reflect/Method;
goto :goto_3c
.line 597
:catch_38
move-exception v1
.line 598
.local v1, "e":Ljava/lang/Exception;
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
.line 600
.end local v1 # "e":Ljava/lang/Exception;
:goto_3c
return v0
.end method
.method private static doGetRealScreenSize(Landroid/content/Context;)[I
.registers 14
.param p0, "context" # Landroid/content/Context;
.line 168
const/4 v0, 0x2
new-array v0, v0, [I
.line 170
.local v0, "size":[I
const-string v1, "window"
invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/view/WindowManager;
.line 171
.local v1, "w":Landroid/view/WindowManager;
invoke-interface {v1}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v2
.line 172
.local v2, "d":Landroid/view/Display;
new-instance v3, Landroid/util/DisplayMetrics;
invoke-direct {v3}, Landroid/util/DisplayMetrics;-><init>()V
.line 173
.local v3, "metrics":Landroid/util/DisplayMetrics;
invoke-virtual {v2, v3}, Landroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V
.line 175
iget v4, v3, Landroid/util/DisplayMetrics;->widthPixels:I
.line 176
.local v4, "widthPixels":I
iget v5, v3, Landroid/util/DisplayMetrics;->heightPixels:I
.line 179
.local v5, "heightPixels":I
const/4 v6, 0x0
:try_start_1c
const-class v7, Landroid/view/Display;
const-string v8, "getRawWidth"
new-array v9, v6, [Ljava/lang/Class;
invoke-virtual {v7, v8, v9}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v7
new-array v8, v6, [Ljava/lang/Object;
invoke-virtual {v7, v2, v8}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/Integer;
invoke-virtual {v7}, Ljava/lang/Integer;->intValue()I
move-result v7
move v4, v7
.line 180
const-class v7, Landroid/view/Display;
const-string v8, "getRawHeight"
new-array v9, v6, [Ljava/lang/Class;
invoke-virtual {v7, v8, v9}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v7
new-array v8, v6, [Ljava/lang/Object;
invoke-virtual {v7, v2, v8}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/Integer;
invoke-virtual {v7}, Ljava/lang/Integer;->intValue()I
move-result v7
:try_end_49
.catch Ljava/lang/Exception; {:try_start_1c .. :try_end_49} :catch_4b
move v5, v7
.line 182
goto :goto_4c
.line 181
:catch_4b
move-exception v7
.line 183
:goto_4c
sget v7, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v8, 0x11
const/4 v9, 0x1
if-lt v7, v8, :cond_78
.line 186
:try_start_53
new-instance v7, Landroid/graphics/Point;
invoke-direct {v7}, Landroid/graphics/Point;-><init>()V
.line 187
.local v7, "realSize":Landroid/graphics/Point;
invoke-virtual {v2, v7}, Landroid/view/Display;->getRealSize(Landroid/graphics/Point;)V
.line 190
const-class v8, Landroid/view/Display;
const-string v10, "getRealSize"
new-array v11, v9, [Ljava/lang/Class;
const-class v12, Landroid/graphics/Point;
aput-object v12, v11, v6
invoke-virtual {v8, v10, v11}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v8
new-array v10, v9, [Ljava/lang/Object;
aput-object v7, v10, v6
invoke-virtual {v8, v2, v10}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
.line 191
iget v8, v7, Landroid/graphics/Point;->x:I
move v4, v8
.line 192
iget v8, v7, Landroid/graphics/Point;->y:I
:try_end_75
.catch Ljava/lang/Exception; {:try_start_53 .. :try_end_75} :catch_77
move v5, v8
.line 194
.end local v7 # "realSize":Landroid/graphics/Point;
goto :goto_78
.line 193
:catch_77
move-exception v7
.line 197
:cond_78
:goto_78
aput v4, v0, v6
.line 198
aput v5, v0, v9
.line 199
return-object v0
.end method
.method public static dp2px(Landroid/content/Context;I)I
.registers 6
.param p0, "context" # Landroid/content/Context;
.param p1, "dp" # I
.line 296
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getDensity(Landroid/content/Context;)F
move-result v0
int-to-float v1, p1
mul-float v0, v0, v1
float-to-double v0, v0
const-wide/high16 v2, 0x3fe0000000000000L # 0.5
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
add-double/2addr v0, v2
double-to-int v0, v0
return v0
.end method
.method public static dpToPx(I)I
.registers 3
.param p0, "dpValue" # I
.line 85
int-to-float v0, p0
sget v1, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->DENSITY:F
mul-float v0, v0, v1
const/high16 v1, 0x3f000000 # 0.5f
add-float/2addr v0, v1
float-to-int v0, v0
return v0
.end method
.method public static getActionBarHeight(Landroid/content/Context;)I
.registers 6
.param p0, "context" # Landroid/content/Context;
.line 351
const/4 v0, 0x0
.line 352
.local v0, "actionBarHeight":I
new-instance v1, Landroid/util/TypedValue;
invoke-direct {v1}, Landroid/util/TypedValue;-><init>()V
.line 353
.local v1, "tv":Landroid/util/TypedValue;
invoke-virtual {p0}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
move-result-object v2
const v3, 0x10102eb
const/4 v4, 0x1
invoke-virtual {v2, v3, v1, v4}, Landroid/content/res/Resources$Theme;->resolveAttribute(ILandroid/util/TypedValue;Z)Z
move-result v2
if-eqz v2, :cond_22
.line 354
iget v2, v1, Landroid/util/TypedValue;->data:I
.line 355
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v3
invoke-virtual {v3}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v3
.line 354
invoke-static {v2, v3}, Landroid/util/TypedValue;->complexToDimensionPixelSize(ILandroid/util/DisplayMetrics;)I
move-result v0
.line 357
:cond_22
return v0
.end method
.method public static getCurCountryLan(Landroid/content/Context;)Ljava/lang/String;
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 493
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
.line 495
.local v0, "config":Landroid/content/res/Configuration;
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x18
if-lt v1, v2, :cond_18
.line 496
invoke-virtual {v0}, Landroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v1, v2}, Landroid/os/LocaleList;->get(I)Ljava/util/Locale;
move-result-object v1
.local v1, "sysLocale":Ljava/util/Locale;
goto :goto_1a
.line 499
.end local v1 # "sysLocale":Ljava/util/Locale;
:cond_18
iget-object v1, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
.line 501
.restart local v1 # "sysLocale":Ljava/util/Locale;
:goto_1a
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "-"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 503
invoke-virtual {v1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 501
return-object v2
.end method
.method public static getDensity(Landroid/content/Context;)F
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 99
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
return v0
.end method
.method public static getDisplayMetrics(Landroid/content/Context;)Landroid/util/DisplayMetrics;
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 75
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
return-object v0
.end method
.method public static getFontDensity(Landroid/content/Context;)F
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 103
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->scaledDensity:F
return v0
.end method
.method public static getNavMenuHeight(Landroid/content/Context;)I
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 395
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->isNavMenuExist(Landroid/content/Context;)Z
move-result v0
if-nez v0, :cond_8
.line 396
const/4 v0, 0x0
return v0
.line 398
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getResourceNavHeight(Landroid/content/Context;)I
move-result v0
.line 399
.local v0, "resourceNavHeight":I
if-ltz v0, :cond_f
.line 400
return v0
.line 404
:cond_f
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getRealScreenSize(Landroid/content/Context;)[I
move-result-object v1
const/4 v2, 0x1
aget v1, v1, v2
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getScreenHeight(Landroid/content/Context;)I
move-result v2
sub-int/2addr v1, v2
return v1
.end method
.method public static getRealScreenSize(Landroid/content/Context;)[I
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 137
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->doGetRealScreenSize(Landroid/content/Context;)[I
move-result-object v0
return-object v0
.end method
.method private static getResourceNavHeight(Landroid/content/Context;)I
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 409
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "navigation_bar_height"
const-string v2, "dimen"
const-string v3, "android"
invoke-virtual {v0, v1, v2, v3}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
.line 410
.local v0, "resourceId":I
if-lez v0, :cond_19
.line 411
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v1
return v1
.line 413
:cond_19
const/4 v1, -0x1
return v1
.end method
.method public static getScreenHeight(Landroid/content/Context;)I
.registers 3
.param p0, "context" # Landroid/content/Context;
.line 121
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getDisplayMetrics(Landroid/content/Context;)Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->heightPixels:I
.line 122
.local v0, "screenHeight":I
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isXiaomi()Z
move-result v1
if-eqz v1, :cond_17
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->xiaomiNavigationGestureEnabled(Landroid/content/Context;)Z
move-result v1
if-eqz v1, :cond_17
.line 123
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getResourceNavHeight(Landroid/content/Context;)I
move-result v1
add-int/2addr v0, v1
.line 125
:cond_17
return v0
.end method
.method public static getScreenWidth(Landroid/content/Context;)I
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 112
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getDisplayMetrics(Landroid/content/Context;)Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->widthPixels:I
return v0
.end method
.method public static getStatusBarHeight(Landroid/content/Context;)I
.registers 7
.param p0, "context" # Landroid/content/Context;
.line 367
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isXiaomi()Z
move-result v0
const/4 v1, 0x0
const-string v2, "status_bar_height"
if-eqz v0, :cond_21
.line 368
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v3, "dimen"
const-string v4, "android"
invoke-virtual {v0, v2, v3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
.line 369
.local v0, "resourceId":I
if-lez v0, :cond_20
.line 370
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
invoke-virtual {v1, v0}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v1
return v1
.line 372
:cond_20
return v1
.line 375
.end local v0 # "resourceId":I
:cond_21
:try_start_21
const-string v0, "com.android.internal.R$dimen"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
.line 376
.local v0, "c":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v3
.line 377
.local v3, "obj":Ljava/lang/Object;
invoke-virtual {v0, v2}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
.line 378
.local v2, "field":Ljava/lang/reflect/Field;
invoke-virtual {v2, v3}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v4
.line 379
.local v4, "x":I
if-lez v4, :cond_46
.line 380
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v5
invoke-virtual {v5, v4}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v1
:try_end_45
.catch Ljava/lang/Exception; {:try_start_21 .. :try_end_45} :catch_47
return v1
.line 384
.end local v0 # "c":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.end local v2 # "field":Ljava/lang/reflect/Field;
.end local v3 # "obj":Ljava/lang/Object;
.end local v4 # "x":I
:cond_46
goto :goto_4b
.line 382
:catch_47
move-exception v0
.line 383
.local v0, "e":Ljava/lang/Exception;
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 385
.end local v0 # "e":Ljava/lang/Exception;
:goto_4b
return v1
.end method
.method public static getUsefulScreenHeight(Landroid/app/Activity;)I
.registers 2
.param p0, "activity" # Landroid/app/Activity;
.line 249
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/app/Activity;)Z
move-result v0
invoke-static {p0, v0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getUsefulScreenHeight(Landroid/content/Context;Z)I
move-result v0
return v0
.end method
.method private static getUsefulScreenHeight(Landroid/content/Context;Z)I
.registers 7
.param p0, "context" # Landroid/content/Context;
.param p1, "hasNotch" # Z
.line 257
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getRealScreenSize(Landroid/content/Context;)[I
move-result-object v0
const/4 v1, 0x1
aget v0, v0, v1
.line 258
.local v0, "result":I
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v2
iget v2, v2, Landroid/content/res/Configuration;->orientation:I
.line 259
.local v2, "orientation":I
if-ne v2, v1, :cond_14
goto :goto_15
:cond_14
const/4 v1, 0x0
.line 260
.local v1, "isPortrait":Z
:goto_15
if-nez p1, :cond_2d
.line 261
if-eqz v1, :cond_2c
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isEssentialPhone()Z
move-result v3
if-eqz v3, :cond_2c
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x1a
if-ge v3, v4, :cond_2c
.line 265
invoke-static {p0}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->getStatusBarHeight(Landroid/content/Context;)I
move-result v3
mul-int/lit8 v3, v3, 0x2
sub-int/2addr v0, v3
.line 267
:cond_2c
return v0
.line 274
:cond_2d
return v0
.end method
.method public static getUsefulScreenHeight(Landroid/view/View;)I
.registers 3
.param p0, "view" # Landroid/view/View;
.line 253
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/view/View;)Z
move-result v1
invoke-static {v0, v1}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getUsefulScreenHeight(Landroid/content/Context;Z)I
move-result v0
return v0
.end method
.method public static getUsefulScreenWidth(Landroid/app/Activity;)I
.registers 2
.param p0, "activity" # Landroid/app/Activity;
.line 209
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/app/Activity;)Z
move-result v0
invoke-static {p0, v0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getUsefulScreenWidth(Landroid/content/Context;Z)I
move-result v0
return v0
.end method
.method public static getUsefulScreenWidth(Landroid/content/Context;Z)I
.registers 8
.param p0, "context" # Landroid/content/Context;
.param p1, "hasNotch" # Z
.line 217
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getRealScreenSize(Landroid/content/Context;)[I
move-result-object v0
const/4 v1, 0x0
aget v0, v0, v1
.line 218
.local v0, "result":I
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;
move-result-object v2
iget v2, v2, Landroid/content/res/Configuration;->orientation:I
.line 219
.local v2, "orientation":I
const/4 v3, 0x1
const/4 v4, 0x2
if-ne v2, v4, :cond_16
const/4 v1, 0x1
.line 220
.local v1, "isLandscape":Z
:cond_16
if-nez p1, :cond_2e
.line 221
if-eqz v1, :cond_2d
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isEssentialPhone()Z
move-result v3
if-eqz v3, :cond_2d
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v5, 0x1a
if-ge v3, v5, :cond_2d
.line 225
invoke-static {p0}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->getStatusBarHeight(Landroid/content/Context;)I
move-result v3
mul-int/lit8 v3, v3, 0x2
sub-int/2addr v0, v3
.line 227
:cond_2d
return v0
.line 229
:cond_2e
if-eqz v1, :cond_43
.line 231
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isHuawei()Z
move-result v4
if-eqz v4, :cond_43
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->huaweiIsNotchSetToShowInSetting(Landroid/content/Context;)Z
move-result v4
if-nez v4, :cond_43
.line 232
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchSizeInHuawei(Landroid/content/Context;)[I
move-result-object v4
aget v3, v4, v3
sub-int/2addr v0, v3
.line 239
:cond_43
return v0
.end method
.method public static getUsefulScreenWidth(Landroid/view/View;)I
.registers 3
.param p0, "view" # Landroid/view/View;
.line 213
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/view/View;)Z
move-result v1
invoke-static {v0, v1}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getUsefulScreenWidth(Landroid/content/Context;Z)I
move-result v0
return v0
.end method
.method public static final hasCamera(Landroid/content/Context;)Z
.registers 6
.param p0, "context" # Landroid/content/Context;
.line 417
sget-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->sHasCamera:Ljava/lang/Boolean;
if-nez v0, :cond_23
.line 418
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 419
.local v0, "pckMgr":Landroid/content/pm/PackageManager;
nop
.line 420
const-string v1, "android.hardware.camera.front"
invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z
move-result v1
.line 421
.local v1, "flag":Z
const-string v2, "android.hardware.camera"
invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z
move-result v2
.line 423
.local v2, "flag1":Z
if-nez v1, :cond_1c
if-eqz v2, :cond_1a
goto :goto_1c
:cond_1a
const/4 v3, 0x0
goto :goto_1d
:cond_1c
:goto_1c
const/4 v3, 0x1
.line 424
.local v3, "flag2":Z
:goto_1d
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v4
sput-object v4, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->sHasCamera:Ljava/lang/Boolean;
.line 426
.end local v0 # "pckMgr":Landroid/content/pm/PackageManager;
.end local v1 # "flag":Z
.end local v2 # "flag1":Z
.end local v3 # "flag2":Z
:cond_23
sget-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->sHasCamera:Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
return v0
.end method
.method public static hasHardwareMenuKey(Landroid/content/Context;)Z
.registers 3
.param p0, "context" # Landroid/content/Context;
.line 438
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xb
if-ge v0, v1, :cond_8
.line 439
const/4 v0, 0x1
.local v0, "flag":Z
goto :goto_18
.line 440
.end local v0 # "flag":Z
:cond_8
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xe
if-lt v0, v1, :cond_17
.line 441
invoke-static {p0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v0
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->hasPermanentMenuKey()Z
move-result v0
.restart local v0 # "flag":Z
goto :goto_18
.line 443
.end local v0 # "flag":Z
:cond_17
const/4 v0, 0x0
.line 444
.restart local v0 # "flag":Z
:goto_18
return v0
.end method
.method public static hasInternet(Landroid/content/Context;)Z
.registers 3
.param p0, "context" # Landroid/content/Context;
.line 455
const-string v0, "connectivity"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/ConnectivityManager;
.line 456
.local v0, "cm":Landroid/net/ConnectivityManager;
invoke-virtual {v0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
move-result-object v1
if-eqz v1, :cond_10
const/4 v1, 0x1
goto :goto_11
:cond_10
const/4 v1, 0x0
:goto_11
return v1
.end method
.method public static hasNavigationBar(Landroid/content/Context;)Z
.registers 3
.param p0, "context" # Landroid/content/Context;
.line 565
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->deviceHasNavigationBar()Z
move-result v0
.line 566
.local v0, "hasNav":Z
if-nez v0, :cond_8
.line 567
const/4 v1, 0x0
return v1
.line 569
:cond_8
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isVivo()Z
move-result v1
if-eqz v1, :cond_13
.line 570
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->vivoNavigationGestureEnabled(Landroid/content/Context;)Z
move-result v1
return v1
.line 572
:cond_13
const/4 v1, 0x1
return v1
.end method
.method public static hasStatusBar(Landroid/content/Context;)Z
.registers 6
.param p0, "context" # Landroid/content/Context;
.line 336
instance-of v0, p0, Landroid/app/Activity;
const/4 v1, 0x1
if-eqz v0, :cond_1a
.line 337
move-object v0, p0
check-cast v0, Landroid/app/Activity;
.line 338
.local v0, "activity":Landroid/app/Activity;
invoke-virtual {v0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v2
invoke-virtual {v2}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v2
.line 339
.local v2, "attrs":Landroid/view/WindowManager$LayoutParams;
iget v3, v2, Landroid/view/WindowManager$LayoutParams;->flags:I
const/16 v4, 0x400
and-int/2addr v3, v4
if-eq v3, v4, :cond_18
goto :goto_19
:cond_18
const/4 v1, 0x0
:goto_19
return v1
.line 341
.end local v0 # "activity":Landroid/app/Activity;
.end local v2 # "attrs":Landroid/view/WindowManager$LayoutParams;
:cond_1a
return v1
.end method
.method public static huaweiIsNotchSetToShowInSetting(Landroid/content/Context;)Z
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 630
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const/4 v1, 0x0
const-string v2, "display_notch_status"
invoke-static {v0, v2, v1}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
.line 631
.local v0, "result":I
if-nez v0, :cond_e
const/4 v1, 0x1
:cond_e
return v1
.end method
.method public static isElevationSupported()Z
.registers 2
.line 561
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_8
const/4 v0, 0x1
goto :goto_9
:cond_8
const/4 v0, 0x0
:goto_9
return v0
.end method
.method public static isFullScreen(Landroid/app/Activity;)Z
.registers 4
.param p0, "activity" # Landroid/app/Activity;
.line 555
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v0
.line 556
.local v0, "params":Landroid/view/WindowManager$LayoutParams;
iget v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
const/16 v2, 0x400
and-int/2addr v1, v2
if-ne v1, v2, :cond_11
const/4 v1, 0x1
goto :goto_12
:cond_11
const/4 v1, 0x0
:goto_12
return v1
.end method
.method public static isNavMenuExist(Landroid/content/Context;)Z
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 279
invoke-static {p0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v0
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->hasPermanentMenuKey()Z
move-result v0
.line 280
.local v0, "hasMenuKey":Z
const/4 v1, 0x4
invoke-static {v1}, Landroid/view/KeyCharacterMap;->deviceHasKey(I)Z
move-result v1
.line 282
.local v1, "hasBackKey":Z
if-nez v0, :cond_13
if-nez v1, :cond_13
.line 284
const/4 v2, 0x1
return v2
.line 286
:cond_13
const/4 v2, 0x0
return v2
.end method
.method public static isPackageExist(Landroid/content/Context;Ljava/lang/String;)Z
.registers 4
.param p0, "context" # Landroid/content/Context;
.param p1, "pckName" # Ljava/lang/String;
.line 467
const/4 v0, 0x0
:try_start_1
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v1
.line 468
invoke-virtual {v1, p1, v0}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v1
:try_end_9
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_1 .. :try_end_9} :catch_e
.line 469
.local v1, "pckInfo":Landroid/content/pm/PackageInfo;
if-eqz v1, :cond_d
.line 470
const/4 v0, 0x1
return v0
.line 472
.end local v1 # "pckInfo":Landroid/content/pm/PackageInfo;
:cond_d
goto :goto_f
.line 471
:catch_e
move-exception v1
.line 473
:goto_f
return v0
.end method
.method public static isSdcardReady()Z
.registers 2
.line 482
nop
.line 483
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
.line 482
const-string v1, "mounted"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
return v0
.end method
.method public static isZhCN(Landroid/content/Context;)Z
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 513
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
.line 515
.local v0, "config":Landroid/content/res/Configuration;
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x18
if-lt v1, v2, :cond_18
.line 516
invoke-virtual {v0}, Landroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v1, v2}, Landroid/os/LocaleList;->get(I)Ljava/util/Locale;
move-result-object v1
.local v1, "sysLocale":Ljava/util/Locale;
goto :goto_1a
.line 519
.end local v1 # "sysLocale":Ljava/util/Locale;
:cond_18
iget-object v1, v0, Landroid/content/res/Configuration;->locale:Ljava/util/Locale;
.line 521
.restart local v1 # "sysLocale":Ljava/util/Locale;
:goto_1a
invoke-virtual {v1}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v2
.line 522
.local v2, "lang":Ljava/lang/String;
const-string v3, "CN"
invoke-virtual {v2, v3}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v3
return v3
.end method
.method public static px2dp(Landroid/content/Context;I)I
.registers 6
.param p0, "context" # Landroid/content/Context;
.param p1, "px" # I
.line 316
int-to-float v0, p1
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getDensity(Landroid/content/Context;)F
move-result v1
div-float/2addr v0, v1
float-to-double v0, v0
const-wide/high16 v2, 0x3fe0000000000000L # 0.5
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
add-double/2addr v0, v2
double-to-int v0, v0
return v0
.end method
.method public static px2sp(Landroid/content/Context;I)I
.registers 6
.param p0, "context" # Landroid/content/Context;
.param p1, "px" # I
.line 326
int-to-float v0, p1
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getFontDensity(Landroid/content/Context;)F
move-result v1
div-float/2addr v0, v1
float-to-double v0, v0
const-wide/high16 v2, 0x3fe0000000000000L # 0.5
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
add-double/2addr v0, v2
double-to-int v0, v0
return v0
.end method
.method public static pxToDp(F)I
.registers 3
.param p0, "pxValue" # F
.line 95
sget v0, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->DENSITY:F
div-float v0, p0, v0
const/high16 v1, 0x3f000000 # 0.5f
add-float/2addr v0, v1
float-to-int v0, v0
return v0
.end method
.method public static setFullScreen(Landroid/app/Activity;)V
.registers 3
.param p0, "activity" # Landroid/app/Activity;
.line 531
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
.line 532
.local v0, "window":Landroid/view/Window;
const/16 v1, 0x200
invoke-virtual {v0, v1}, Landroid/view/Window;->addFlags(I)V
.line 533
const/16 v1, 0x400
invoke-virtual {v0, v1}, Landroid/view/Window;->addFlags(I)V
.line 535
return-void
.end method
.method public static sp2px(Landroid/content/Context;I)I
.registers 6
.param p0, "context" # Landroid/content/Context;
.param p1, "sp" # I
.line 306
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getFontDensity(Landroid/content/Context;)F
move-result v0
int-to-float v1, p1
mul-float v0, v0, v1
float-to-double v0, v0
const-wide/high16 v2, 0x3fe0000000000000L # 0.5
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
add-double/2addr v0, v2
double-to-int v0, v0
return v0
.end method
.method public static vivoNavigationGestureEnabled(Landroid/content/Context;)Z
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 616
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const/4 v1, 0x0
const-string v2, "navigation_gesture_on"
invoke-static {v0, v2, v1}, Landroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
.line 617
.local v0, "val":I
if-eqz v0, :cond_e
const/4 v1, 0x1
:cond_e
return v1
.end method
.method public static xiaomiIsNotchSetToShowInSetting(Landroid/content/Context;)Z
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 636
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const/4 v1, 0x0
const-string v2, "force_black"
invoke-static {v0, v2, v1}, Landroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-nez v0, :cond_e
const/4 v1, 0x1
:cond_e
return v1
.end method
.method public static xiaomiNavigationGestureEnabled(Landroid/content/Context;)Z
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 622
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const/4 v1, 0x0
const-string v2, "force_fsg_nav_bar"
invoke-static {v0, v2, v1}, Landroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
.line 623
.local v0, "val":I
if-eqz v0, :cond_e
const/4 v1, 0x1
:cond_e
return v1
.end method