MryNotchHelper.smali
.class public Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;
.super Ljava/lang/Object;
.source "MryNotchHelper.java"
# static fields
.field private static final MIUI_NOTCH:Ljava/lang/String; = "ro.miui.notch"
.field private static final NOTCH_IN_SCREEN_VOIO:I = 0x20
.field private static final TAG:Ljava/lang/String; = "QMUINotchHelper"
.field private static sHasNotch:Ljava/lang/Boolean;
.field private static sHuaweiIsNotchSetToShow:Ljava/lang/Boolean;
.field private static sNotchSizeInHawei:[I
.field private static sRotation0SafeInset:Landroid/graphics/Rect;
.field private static sRotation180SafeInset:Landroid/graphics/Rect;
.field private static sRotation270SafeInset:Landroid/graphics/Rect;
.field private static sRotation90SafeInset:Landroid/graphics/Rect;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 44
const/4 v0, 0x0
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHasNotch:Ljava/lang/Boolean;
.line 45
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation0SafeInset:Landroid/graphics/Rect;
.line 46
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation90SafeInset:Landroid/graphics/Rect;
.line 47
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation180SafeInset:Landroid/graphics/Rect;
.line 48
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation270SafeInset:Landroid/graphics/Rect;
.line 49
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sNotchSizeInHawei:[I
.line 50
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHuaweiIsNotchSetToShow:Ljava/lang/Boolean;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 38
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static attachHasOfficialNotch(Landroid/view/View;)Z
.registers 5
.param p0, "view" # Landroid/view/View;
.line 154
invoke-virtual {p0}, Landroid/view/View;->getRootWindowInsets()Landroid/view/WindowInsets;
move-result-object v0
.line 155
.local v0, "windowInsets":Landroid/view/WindowInsets;
const/4 v1, 0x0
if-eqz v0, :cond_16
.line 156
invoke-virtual {v0}, Landroid/view/WindowInsets;->getDisplayCutout()Landroid/view/DisplayCutout;
move-result-object v2
.line 157
.local v2, "displayCutout":Landroid/view/DisplayCutout;
const/4 v3, 0x1
if-eqz v2, :cond_f
const/4 v1, 0x1
:cond_f
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
sput-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHasNotch:Ljava/lang/Boolean;
.line 158
return v3
.line 161
.end local v2 # "displayCutout":Landroid/view/DisplayCutout;
:cond_16
return v1
.end method
.method private static clearAllRectInfo()V
.registers 1
.line 237
const/4 v0, 0x0
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation0SafeInset:Landroid/graphics/Rect;
.line 238
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation90SafeInset:Landroid/graphics/Rect;
.line 239
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation180SafeInset:Landroid/graphics/Rect;
.line 240
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation270SafeInset:Landroid/graphics/Rect;
.line 241
return-void
.end method
.method private static clearLandscapeRectInfo()V
.registers 1
.line 249
const/4 v0, 0x0
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation90SafeInset:Landroid/graphics/Rect;
.line 250
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation270SafeInset:Landroid/graphics/Rect;
.line 251
return-void
.end method
.method private static clearPortraitRectInfo()V
.registers 1
.line 244
const/4 v0, 0x0
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation0SafeInset:Landroid/graphics/Rect;
.line 245
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation180SafeInset:Landroid/graphics/Rect;
.line 246
return-void
.end method
.method private static get3rdSafeInsetRect(Landroid/content/Context;)Landroid/graphics/Rect;
.registers 3
.param p0, "context" # Landroid/content/Context;
.line 290
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isHuawei()Z
move-result v0
if-eqz v0, :cond_1d
.line 291
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->huaweiIsNotchSetToShowInSetting(Landroid/content/Context;)Z
move-result v0
.line 292
.local v0, "isHuaweiNotchSetToShow":Z
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHuaweiIsNotchSetToShow:Ljava/lang/Boolean;
if-eqz v1, :cond_17
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-eq v1, v0, :cond_17
.line 293
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->clearLandscapeRectInfo()V
.line 295
:cond_17
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
sput-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHuaweiIsNotchSetToShow:Ljava/lang/Boolean;
.line 297
.end local v0 # "isHuaweiNotchSetToShow":Z
:cond_1d
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getScreenRotation(Landroid/content/Context;)I
move-result v0
.line 298
.local v0, "screenRotation":I
const/4 v1, 0x1
if-ne v0, v1, :cond_31
.line 299
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation90SafeInset:Landroid/graphics/Rect;
if-nez v1, :cond_2e
.line 300
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getRectInfoRotation90(Landroid/content/Context;)Landroid/graphics/Rect;
move-result-object v1
sput-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation90SafeInset:Landroid/graphics/Rect;
.line 302
:cond_2e
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation90SafeInset:Landroid/graphics/Rect;
return-object v1
.line 303
:cond_31
const/4 v1, 0x2
if-ne v0, v1, :cond_41
.line 304
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation180SafeInset:Landroid/graphics/Rect;
if-nez v1, :cond_3e
.line 305
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getRectInfoRotation180(Landroid/content/Context;)Landroid/graphics/Rect;
move-result-object v1
sput-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation180SafeInset:Landroid/graphics/Rect;
.line 307
:cond_3e
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation180SafeInset:Landroid/graphics/Rect;
return-object v1
.line 308
:cond_41
const/4 v1, 0x3
if-ne v0, v1, :cond_51
.line 309
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation270SafeInset:Landroid/graphics/Rect;
if-nez v1, :cond_4e
.line 310
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getRectInfoRotation270(Landroid/content/Context;)Landroid/graphics/Rect;
move-result-object v1
sput-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation270SafeInset:Landroid/graphics/Rect;
.line 312
:cond_4e
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation270SafeInset:Landroid/graphics/Rect;
return-object v1
.line 314
:cond_51
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation0SafeInset:Landroid/graphics/Rect;
if-nez v1, :cond_5b
.line 315
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getRectInfoRotation0(Landroid/content/Context;)Landroid/graphics/Rect;
move-result-object v1
sput-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation0SafeInset:Landroid/graphics/Rect;
.line 317
:cond_5b
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sRotation0SafeInset:Landroid/graphics/Rect;
return-object v1
.end method
.method public static getNotchHeightInVivo(Landroid/content/Context;)I
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 447
const/16 v0, 0x1b
invoke-static {p0, v0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->dp2px(Landroid/content/Context;I)I
move-result v0
return v0
.end method
.method public static getNotchHeightInXiaomi(Landroid/content/Context;)I
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 435
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "notch_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 436
.local v0, "resourceId":I
if-lez v0, :cond_19
.line 437
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 439
:cond_19
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->getStatusBarHeight(Landroid/content/Context;)I
move-result v1
return v1
.end method
.method public static getNotchSizeInHuawei(Landroid/content/Context;)[I
.registers 7
.param p0, "context" # Landroid/content/Context;
.line 407
const-string v0, "QMUINotchHelper"
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sNotchSizeInHawei:[I
if-nez v1, :cond_42
.line 408
const/4 v1, 0x2
new-array v1, v1, [I
fill-array-data v1, :array_46
sput-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sNotchSizeInHawei:[I
.line 410
:try_start_e
invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v1
.line 411
.local v1, "cl":Ljava/lang/ClassLoader;
const-string v2, "com.huawei.android.util.HwNotchSizeUtil"
invoke-virtual {v1, v2}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
.line 412
.local v2, "HwNotchSizeUtil":Ljava/lang/Class;
const-string v3, "getNotchSize"
const/4 v4, 0x0
new-array v5, v4, [Ljava/lang/Class;
invoke-virtual {v2, v3, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v3
.line 413
.local v3, "get":Ljava/lang/reflect/Method;
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {v3, v2, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, [I
check-cast v4, [I
sput-object v4, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sNotchSizeInHawei:[I
:try_end_2d
.catch Ljava/lang/ClassNotFoundException; {:try_start_e .. :try_end_2d} :catch_3c
.catch Ljava/lang/NoSuchMethodException; {:try_start_e .. :try_end_2d} :catch_35
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_2d} :catch_2e
.end local v1 # "cl":Ljava/lang/ClassLoader;
.end local v2 # "HwNotchSizeUtil":Ljava/lang/Class;
.end local v3 # "get":Ljava/lang/reflect/Method;
goto :goto_42
.line 418
:catch_2e
move-exception v1
.line 419
.local v1, "e":Ljava/lang/Exception;
const-string v2, "getNotchSizeInHuawei Exception"
invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_42
.line 416
.end local v1 # "e":Ljava/lang/Exception;
:catch_35
move-exception v1
.line 417
.local v1, "e":Ljava/lang/NoSuchMethodException;
const-string v2, "getNotchSizeInHuawei NoSuchMethodException"
invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.end local v1 # "e":Ljava/lang/NoSuchMethodException;
goto :goto_42
.line 414
:catch_3c
move-exception v1
.line 415
.local v1, "e":Ljava/lang/ClassNotFoundException;
const-string v2, "getNotchSizeInHuawei ClassNotFoundException"
invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 423
.end local v1 # "e":Ljava/lang/ClassNotFoundException;
:cond_42
:goto_42
sget-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sNotchSizeInHawei:[I
return-object v0
nop
:array_46
.array-data 4
0x0
0x0
.end array-data
.end method
.method public static getNotchWidthInVivo(Landroid/content/Context;)I
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 443
const/16 v0, 0x64
invoke-static {p0, v0}, Lim/tpelyyftgw/ui/hviews/helper/MryDisplayHelper;->dp2px(Landroid/content/Context;I)I
move-result v0
return v0
.end method
.method public static getNotchWidthInXiaomi(Landroid/content/Context;)I
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 427
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v1, "notch_width"
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 428
.local v0, "resourceId":I
if-lez v0, :cond_19
.line 429
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 431
:cond_19
const/4 v1, -0x1
return v1
.end method
.method private static getOfficialSafeInsetRect(Landroid/view/View;Landroid/graphics/Rect;)V
.registers 8
.param p0, "view" # Landroid/view/View;
.param p1, "out" # Landroid/graphics/Rect;
.line 274
if-nez p0, :cond_3
.line 275
return-void
.line 277
:cond_3
invoke-virtual {p0}, Landroid/view/View;->getRootWindowInsets()Landroid/view/WindowInsets;
move-result-object v0
.line 278
.local v0, "rootWindowInsets":Landroid/view/WindowInsets;
if-nez v0, :cond_a
.line 279
return-void
.line 281
:cond_a
invoke-virtual {v0}, Landroid/view/WindowInsets;->getDisplayCutout()Landroid/view/DisplayCutout;
move-result-object v1
.line 282
.local v1, "displayCutout":Landroid/view/DisplayCutout;
if-eqz v1, :cond_23
.line 283
invoke-virtual {v1}, Landroid/view/DisplayCutout;->getSafeInsetLeft()I
move-result v2
invoke-virtual {v1}, Landroid/view/DisplayCutout;->getSafeInsetTop()I
move-result v3
.line 284
invoke-virtual {v1}, Landroid/view/DisplayCutout;->getSafeInsetRight()I
move-result v4
invoke-virtual {v1}, Landroid/view/DisplayCutout;->getSafeInsetBottom()I
move-result v5
.line 283
invoke-virtual {p1, v2, v3, v4, v5}, Landroid/graphics/Rect;->set(IIII)V
.line 286
:cond_23
return-void
.end method
.method private static getRectInfoRotation0(Landroid/content/Context;)Landroid/graphics/Rect;
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 322
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
.line 323
.local v0, "rect":Landroid/graphics/Rect;
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isVivo()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_15
.line 325
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchHeightInVivo(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->top:I
.line 326
iput v2, v0, Landroid/graphics/Rect;->bottom:I
goto :goto_46
.line 327
:cond_15
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isOppo()Z
move-result v1
if-eqz v1, :cond_24
.line 329
invoke-static {p0}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->getStatusBarHeight(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->top:I
.line 330
iput v2, v0, Landroid/graphics/Rect;->bottom:I
goto :goto_46
.line 331
:cond_24
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isHuawei()Z
move-result v1
if-eqz v1, :cond_36
.line 332
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchSizeInHuawei(Landroid/content/Context;)[I
move-result-object v1
.line 333
.local v1, "notchSize":[I
const/4 v3, 0x1
aget v3, v1, v3
iput v3, v0, Landroid/graphics/Rect;->top:I
.line 334
iput v2, v0, Landroid/graphics/Rect;->bottom:I
.end local v1 # "notchSize":[I
goto :goto_45
.line 335
:cond_36
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isXiaomi()Z
move-result v1
if-eqz v1, :cond_45
.line 336
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchHeightInXiaomi(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->top:I
.line 337
iput v2, v0, Landroid/graphics/Rect;->bottom:I
goto :goto_46
.line 335
:cond_45
:goto_45
nop
.line 339
:goto_46
return-object v0
.end method
.method private static getRectInfoRotation180(Landroid/content/Context;)Landroid/graphics/Rect;
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 365
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
.line 366
.local v0, "rect":Landroid/graphics/Rect;
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isVivo()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_15
.line 367
iput v2, v0, Landroid/graphics/Rect;->top:I
.line 368
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchHeightInVivo(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->bottom:I
goto :goto_46
.line 369
:cond_15
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isOppo()Z
move-result v1
if-eqz v1, :cond_24
.line 370
iput v2, v0, Landroid/graphics/Rect;->top:I
.line 371
invoke-static {p0}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->getStatusBarHeight(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->bottom:I
goto :goto_46
.line 372
:cond_24
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isHuawei()Z
move-result v1
if-eqz v1, :cond_36
.line 373
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchSizeInHuawei(Landroid/content/Context;)[I
move-result-object v1
.line 374
.local v1, "notchSize":[I
iput v2, v0, Landroid/graphics/Rect;->top:I
.line 375
const/4 v2, 0x1
aget v2, v1, v2
iput v2, v0, Landroid/graphics/Rect;->bottom:I
.end local v1 # "notchSize":[I
goto :goto_45
.line 376
:cond_36
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isXiaomi()Z
move-result v1
if-eqz v1, :cond_45
.line 377
iput v2, v0, Landroid/graphics/Rect;->top:I
.line 378
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchHeightInXiaomi(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->bottom:I
goto :goto_46
.line 376
:cond_45
:goto_45
nop
.line 380
:goto_46
return-object v0
.end method
.method private static getRectInfoRotation270(Landroid/content/Context;)Landroid/graphics/Rect;
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 384
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
.line 385
.local v0, "rect":Landroid/graphics/Rect;
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isVivo()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_15
.line 386
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchHeightInVivo(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->right:I
.line 387
iput v2, v0, Landroid/graphics/Rect;->left:I
goto :goto_4f
.line 388
:cond_15
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isOppo()Z
move-result v1
if-eqz v1, :cond_24
.line 389
invoke-static {p0}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->getStatusBarHeight(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->right:I
.line 390
iput v2, v0, Landroid/graphics/Rect;->left:I
goto :goto_4f
.line 391
:cond_24
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isHuawei()Z
move-result v1
if-eqz v1, :cond_41
.line 392
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHuaweiIsNotchSetToShow:Ljava/lang/Boolean;
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-eqz v1, :cond_3c
.line 393
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchSizeInHuawei(Landroid/content/Context;)[I
move-result-object v1
const/4 v3, 0x1
aget v1, v1, v3
iput v1, v0, Landroid/graphics/Rect;->right:I
goto :goto_3e
.line 395
:cond_3c
iput v2, v0, Landroid/graphics/Rect;->right:I
.line 397
:goto_3e
iput v2, v0, Landroid/graphics/Rect;->left:I
goto :goto_4f
.line 398
:cond_41
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isXiaomi()Z
move-result v1
if-eqz v1, :cond_4f
.line 399
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchHeightInXiaomi(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->right:I
.line 400
iput v2, v0, Landroid/graphics/Rect;->left:I
.line 402
:cond_4f
:goto_4f
return-object v0
.end method
.method private static getRectInfoRotation90(Landroid/content/Context;)Landroid/graphics/Rect;
.registers 5
.param p0, "context" # Landroid/content/Context;
.line 343
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
.line 344
.local v0, "rect":Landroid/graphics/Rect;
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isVivo()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_15
.line 345
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchHeightInVivo(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->left:I
.line 346
iput v2, v0, Landroid/graphics/Rect;->right:I
goto :goto_4f
.line 347
:cond_15
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isOppo()Z
move-result v1
if-eqz v1, :cond_24
.line 348
invoke-static {p0}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->getStatusBarHeight(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->left:I
.line 349
iput v2, v0, Landroid/graphics/Rect;->right:I
goto :goto_4f
.line 350
:cond_24
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isHuawei()Z
move-result v1
if-eqz v1, :cond_41
.line 351
sget-object v1, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHuaweiIsNotchSetToShow:Ljava/lang/Boolean;
invoke-virtual {v1}, Ljava/lang/Boolean;->booleanValue()Z
move-result v1
if-eqz v1, :cond_3c
.line 352
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchSizeInHuawei(Landroid/content/Context;)[I
move-result-object v1
const/4 v3, 0x1
aget v1, v1, v3
iput v1, v0, Landroid/graphics/Rect;->left:I
goto :goto_3e
.line 354
:cond_3c
iput v2, v0, Landroid/graphics/Rect;->left:I
.line 356
:goto_3e
iput v2, v0, Landroid/graphics/Rect;->right:I
goto :goto_4f
.line 357
:cond_41
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isXiaomi()Z
move-result v1
if-eqz v1, :cond_4f
.line 358
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getNotchHeightInXiaomi(Landroid/content/Context;)I
move-result v1
iput v1, v0, Landroid/graphics/Rect;->left:I
.line 359
iput v2, v0, Landroid/graphics/Rect;->right:I
.line 361
:cond_4f
:goto_4f
return-object v0
.end method
.method public static getSafeInsetBottom(Landroid/app/Activity;)I
.registers 2
.param p0, "activity" # Landroid/app/Activity;
.line 186
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/app/Activity;)Z
move-result v0
if-nez v0, :cond_8
.line 187
const/4 v0, 0x0
return v0
.line 189
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getSafeInsetRect(Landroid/app/Activity;)Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->bottom:I
return v0
.end method
.method public static getSafeInsetBottom(Landroid/view/View;)I
.registers 2
.param p0, "view" # Landroid/view/View;
.line 215
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_8
.line 216
const/4 v0, 0x0
return v0
.line 218
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getSafeInsetRect(Landroid/view/View;)Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->bottom:I
return v0
.end method
.method public static getSafeInsetLeft(Landroid/app/Activity;)I
.registers 2
.param p0, "activity" # Landroid/app/Activity;
.line 193
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/app/Activity;)Z
move-result v0
if-nez v0, :cond_8
.line 194
const/4 v0, 0x0
return v0
.line 196
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getSafeInsetRect(Landroid/app/Activity;)Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->left:I
return v0
.end method
.method public static getSafeInsetLeft(Landroid/view/View;)I
.registers 2
.param p0, "view" # Landroid/view/View;
.line 222
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_8
.line 223
const/4 v0, 0x0
return v0
.line 225
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getSafeInsetRect(Landroid/view/View;)Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->left:I
return v0
.end method
.method private static getSafeInsetRect(Landroid/app/Activity;)Landroid/graphics/Rect;
.registers 3
.param p0, "activity" # Landroid/app/Activity;
.line 254
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->isNotchOfficialSupport()Z
move-result v0
if-eqz v0, :cond_17
.line 255
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
.line 256
.local v0, "rect":Landroid/graphics/Rect;
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v1
invoke-virtual {v1}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v1
.line 257
.local v1, "decorView":Landroid/view/View;
invoke-static {v1, v0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getOfficialSafeInsetRect(Landroid/view/View;Landroid/graphics/Rect;)V
.line 258
return-object v0
.line 260
.end local v0 # "rect":Landroid/graphics/Rect;
.end local v1 # "decorView":Landroid/view/View;
:cond_17
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->get3rdSafeInsetRect(Landroid/content/Context;)Landroid/graphics/Rect;
move-result-object v0
return-object v0
.end method
.method private static getSafeInsetRect(Landroid/view/View;)Landroid/graphics/Rect;
.registers 2
.param p0, "view" # Landroid/view/View;
.line 264
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->isNotchOfficialSupport()Z
move-result v0
if-eqz v0, :cond_f
.line 265
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
.line 266
.local v0, "rect":Landroid/graphics/Rect;
invoke-static {p0, v0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getOfficialSafeInsetRect(Landroid/view/View;Landroid/graphics/Rect;)V
.line 267
return-object v0
.line 269
.end local v0 # "rect":Landroid/graphics/Rect;
:cond_f
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->get3rdSafeInsetRect(Landroid/content/Context;)Landroid/graphics/Rect;
move-result-object v0
return-object v0
.end method
.method public static getSafeInsetRight(Landroid/app/Activity;)I
.registers 2
.param p0, "activity" # Landroid/app/Activity;
.line 200
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/app/Activity;)Z
move-result v0
if-nez v0, :cond_8
.line 201
const/4 v0, 0x0
return v0
.line 203
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getSafeInsetRect(Landroid/app/Activity;)Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->right:I
return v0
.end method
.method public static getSafeInsetRight(Landroid/view/View;)I
.registers 2
.param p0, "view" # Landroid/view/View;
.line 229
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_8
.line 230
const/4 v0, 0x0
return v0
.line 232
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getSafeInsetRect(Landroid/view/View;)Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->right:I
return v0
.end method
.method public static getSafeInsetTop(Landroid/app/Activity;)I
.registers 2
.param p0, "activity" # Landroid/app/Activity;
.line 179
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/app/Activity;)Z
move-result v0
if-nez v0, :cond_8
.line 180
const/4 v0, 0x0
return v0
.line 182
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getSafeInsetRect(Landroid/app/Activity;)Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->top:I
return v0
.end method
.method public static getSafeInsetTop(Landroid/view/View;)I
.registers 2
.param p0, "view" # Landroid/view/View;
.line 208
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_8
.line 209
const/4 v0, 0x0
return v0
.line 211
:cond_8
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->getSafeInsetRect(Landroid/view/View;)Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->top:I
return v0
.end method
.method private static getScreenRotation(Landroid/content/Context;)I
.registers 4
.param p0, "context" # Landroid/content/Context;
.line 457
const-string v0, "window"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
.line 458
.local v0, "w":Landroid/view/WindowManager;
const/4 v1, 0x0
if-nez v0, :cond_c
.line 459
return v1
.line 461
:cond_c
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v2
.line 462
.local v2, "display":Landroid/view/Display;
if-nez v2, :cond_13
.line 463
return v1
.line 466
:cond_13
invoke-virtual {v2}, Landroid/view/Display;->getRotation()I
move-result v1
return v1
.end method
.method public static has3rdNotch(Landroid/content/Context;)Z
.registers 2
.param p0, "context" # Landroid/content/Context;
.line 166
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isHuawei()Z
move-result v0
if-eqz v0, :cond_b
.line 167
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotchInHuawei(Landroid/content/Context;)Z
move-result v0
return v0
.line 168
:cond_b
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isVivo()Z
move-result v0
if-eqz v0, :cond_16
.line 169
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotchInVivo(Landroid/content/Context;)Z
move-result v0
return v0
.line 170
:cond_16
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isOppo()Z
move-result v0
if-eqz v0, :cond_21
.line 171
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotchInOppo(Landroid/content/Context;)Z
move-result v0
return v0
.line 172
:cond_21
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isXiaomi()Z
move-result v0
if-eqz v0, :cond_2c
.line 173
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotchInXiaomi(Landroid/content/Context;)Z
move-result v0
return v0
.line 175
:cond_2c
const/4 v0, 0x0
return v0
.end method
.method public static hasNotch(Landroid/app/Activity;)Z
.registers 5
.param p0, "activity" # Landroid/app/Activity;
.line 127
sget-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHasNotch:Ljava/lang/Boolean;
if-nez v0, :cond_2b
.line 128
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->isNotchOfficialSupport()Z
move-result v0
if-eqz v0, :cond_21
.line 129
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
.line 130
.local v0, "window":Landroid/view/Window;
const/4 v1, 0x0
if-nez v0, :cond_12
.line 131
return v1
.line 133
:cond_12
invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v2
.line 134
.local v2, "decorView":Landroid/view/View;
if-nez v2, :cond_19
.line 135
return v1
.line 137
:cond_19
invoke-static {v2}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->attachHasOfficialNotch(Landroid/view/View;)Z
move-result v3
if-nez v3, :cond_20
.line 138
return v1
.line 140
.end local v0 # "window":Landroid/view/Window;
.end local v2 # "decorView":Landroid/view/View;
:cond_20
goto :goto_2b
.line 141
:cond_21
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->has3rdNotch(Landroid/content/Context;)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHasNotch:Ljava/lang/Boolean;
.line 144
:cond_2b
:goto_2b
sget-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHasNotch:Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
return v0
.end method
.method public static hasNotch(Landroid/view/View;)Z
.registers 2
.param p0, "view" # Landroid/view/View;
.line 113
sget-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHasNotch:Ljava/lang/Boolean;
if-nez v0, :cond_20
.line 114
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->isNotchOfficialSupport()Z
move-result v0
if-eqz v0, :cond_12
.line 115
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->attachHasOfficialNotch(Landroid/view/View;)Z
move-result v0
if-nez v0, :cond_20
.line 116
const/4 v0, 0x0
return v0
.line 119
:cond_12
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->has3rdNotch(Landroid/content/Context;)Z
move-result v0
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
sput-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHasNotch:Ljava/lang/Boolean;
.line 122
:cond_20
sget-object v0, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->sHasNotch:Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
return v0
.end method
.method public static hasNotchInHuawei(Landroid/content/Context;)Z
.registers 8
.param p0, "context" # Landroid/content/Context;
.line 77
const-string v0, "QMUINotchHelper"
const/4 v1, 0x0
.line 79
.local v1, "hasNotch":Z
:try_start_3
invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v2
.line 80
.local v2, "cl":Ljava/lang/ClassLoader;
const-string v3, "com.huawei.android.util.HwNotchSizeUtil"
invoke-virtual {v2, v3}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v3
.line 81
.local v3, "HwNotchSizeUtil":Ljava/lang/Class;
const-string v4, "hasNotchInScreen"
const/4 v5, 0x0
new-array v6, v5, [Ljava/lang/Class;
invoke-virtual {v3, v4, v6}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v4
.line 82
.local v4, "get":Ljava/lang/reflect/Method;
new-array v5, v5, [Ljava/lang/Object;
invoke-virtual {v4, v3, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/Boolean;
invoke-virtual {v5}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
:try_end_22
.catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_22} :catch_32
.catch Ljava/lang/NoSuchMethodException; {:try_start_3 .. :try_end_22} :catch_2b
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_22} :catch_24
move v1, v0
.line 89
.end local v2 # "cl":Ljava/lang/ClassLoader;
.end local v3 # "HwNotchSizeUtil":Ljava/lang/Class;
.end local v4 # "get":Ljava/lang/reflect/Method;
:goto_23
goto :goto_39
.line 87
:catch_24
move-exception v2
.line 88
.local v2, "e":Ljava/lang/Exception;
const-string v3, "hasNotchInHuawei Exception"
invoke-static {v0, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_39
.line 85
.end local v2 # "e":Ljava/lang/Exception;
:catch_2b
move-exception v2
.line 86
.local v2, "e":Ljava/lang/NoSuchMethodException;
const-string v3, "hasNotchInHuawei NoSuchMethodException"
invoke-static {v0, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.end local v2 # "e":Ljava/lang/NoSuchMethodException;
goto :goto_23
.line 83
:catch_32
move-exception v2
.line 84
.local v2, "e":Ljava/lang/ClassNotFoundException;
const-string v3, "hasNotchInHuawei ClassNotFoundException"
invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.end local v2 # "e":Ljava/lang/ClassNotFoundException;
goto :goto_23
.line 90
:goto_39
return v1
.end method
.method public static hasNotchInOppo(Landroid/content/Context;)Z
.registers 3
.param p0, "context" # Landroid/content/Context;
.line 94
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 95
const-string v1, "com.oppo.feature.screen.heteromorphism"
invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z
move-result v0
.line 94
return v0
.end method
.method public static hasNotchInVivo(Landroid/content/Context;)Z
.registers 11
.param p0, "context" # Landroid/content/Context;
.line 53
const-string v0, "QMUINotchHelper"
const/4 v1, 0x0
.line 55
.local v1, "ret":Z
:try_start_3
invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v2
.line 56
.local v2, "cl":Ljava/lang/ClassLoader;
const-string v3, "android.util.FtFeature"
invoke-virtual {v2, v3}, Ljava/lang/ClassLoader;->loadClass(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v3
.line 57
.local v3, "ftFeature":Ljava/lang/Class;
invoke-virtual {v3}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
move-result-object v4
.line 58
.local v4, "methods":[Ljava/lang/reflect/Method;
if-eqz v4, :cond_40
.line 59
const/4 v5, 0x0
.local v5, "i":I
:goto_14
array-length v6, v4
if-ge v5, v6, :cond_40
.line 60
aget-object v6, v4, v5
.line 61
.local v6, "method":Ljava/lang/reflect/Method;
invoke-virtual {v6}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v7
const-string v8, "isFeatureSupport"
invoke-virtual {v7, v8}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_3d
.line 62
const/4 v7, 0x1
new-array v7, v7, [Ljava/lang/Object;
const/4 v8, 0x0
const/16 v9, 0x20
invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v9
aput-object v9, v7, v8
invoke-virtual {v6, v3, v7}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
check-cast v7, Ljava/lang/Boolean;
invoke-virtual {v7}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
:try_end_3b
.catch Ljava/lang/ClassNotFoundException; {:try_start_3 .. :try_end_3b} :catch_48
.catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3b} :catch_41
.line 63
.end local v1 # "ret":Z
.local v0, "ret":Z
move v1, v0
goto :goto_40
.line 59
.end local v0 # "ret":Z
.end local v6 # "method":Ljava/lang/reflect/Method;
.restart local v1 # "ret":Z
:cond_3d
add-int/lit8 v5, v5, 0x1
goto :goto_14
.line 71
.end local v2 # "cl":Ljava/lang/ClassLoader;
.end local v3 # "ftFeature":Ljava/lang/Class;
.end local v4 # "methods":[Ljava/lang/reflect/Method;
.end local v5 # "i":I
:cond_40
:goto_40
goto :goto_4f
.line 69
:catch_41
move-exception v2
.line 70
.local v2, "e":Ljava/lang/Exception;
const-string v3, "hasNotchInVivo Exception"
invoke-static {v0, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_4f
.line 67
.end local v2 # "e":Ljava/lang/Exception;
:catch_48
move-exception v2
.line 68
.local v2, "e":Ljava/lang/ClassNotFoundException;
const-string v3, "hasNotchInVivo ClassNotFoundException"
invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.end local v2 # "e":Ljava/lang/ClassNotFoundException;
goto :goto_40
.line 72
:goto_4f
return v1
.end method
.method public static hasNotchInXiaomi(Landroid/content/Context;)Z
.registers 8
.param p0, "context" # Landroid/content/Context;
.line 101
const/4 v0, 0x0
:try_start_1
const-string v1, "android.os.SystemProperties"
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
.line 102
.local v1, "spClass":Ljava/lang/Class;
const-string v2, "getInt"
const/4 v3, 0x2
new-array v4, v3, [Ljava/lang/Class;
const-class v5, Ljava/lang/String;
aput-object v5, v4, v0
sget-object v5, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v6, 0x1
aput-object v5, v4, v6
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
.line 103
.local v2, "getMethod":Ljava/lang/reflect/Method;
invoke-virtual {v2, v6}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 104
const/4 v4, 0x0
new-array v3, v3, [Ljava/lang/Object;
const-string v5, "ro.miui.notch"
aput-object v5, v3, v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
aput-object v5, v3, v6
invoke-virtual {v2, v4, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
:try_end_33
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_33} :catch_37
.line 105
.local v3, "hasNotch":I
if-ne v3, v6, :cond_36
const/4 v0, 0x1
:cond_36
return v0
.line 106
.end local v1 # "spClass":Ljava/lang/Class;
.end local v2 # "getMethod":Ljava/lang/reflect/Method;
.end local v3 # "hasNotch":I
:catch_37
move-exception v1
.line 107
.local v1, "e":Ljava/lang/Exception;
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
.line 109
.end local v1 # "e":Ljava/lang/Exception;
return v0
.end method
.method public static isNotchOfficialSupport()Z
.registers 2
.line 470
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
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 needFixLandscapeNotchAreaFitSystemWindow(Landroid/view/View;)Z
.registers 2
.param p0, "view" # Landroid/view/View;
.line 479
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isXiaomi()Z
move-result v0
if-nez v0, :cond_c
invoke-static {}, Lim/tpelyyftgw/ui/hviews/helper/MryDeviceHelper;->isVivo()Z
move-result v0
if-eqz v0, :cond_14
:cond_c
invoke-static {p0}, Lim/tpelyyftgw/ui/hviews/helper/MryNotchHelper;->hasNotch(Landroid/view/View;)Z
move-result v0
if-eqz v0, :cond_14
const/4 v0, 0x1
goto :goto_15
:cond_14
const/4 v0, 0x0
:goto_15
return v0
.end method