StatusBarUtils.smali
.class public Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;
.super Ljava/lang/Object;
.source "StatusBarUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils$ViewType;
}
.end annotation
# static fields
.field public static final TYPE_FLYME:I
.field public static final TYPE_M:I
.field public static final TYPE_MIUI:I
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x156e
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->TYPE_FLYME:I
const v0, 0x156c
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->TYPE_M:I
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 21
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getStatusBarHeight(Landroid/content/Context;)I
.registers 6
.param p0, "context" # Landroid/content/Context;
.line 206
const/4 v0, 0x0
.line 207
.local v0, "result":I
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v1
const-string/jumbo v2, "status_bar_height"
const-string v3, "dimen"
const-string v4, "android"
invoke-virtual {v1, v2, v3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v1
.line 209
.local v1, "resourceId":I
if-lez v1, :cond_1a
.line 210
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2, v1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v0
.line 212
:cond_1a
return v0
.end method
.method public static setCommonUI(Landroid/app/Activity;Z)Z
.registers 5
.param p0, "activity" # Landroid/app/Activity;
.param p1, "dark" # Z
.line 139
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x17
if-lt v0, v1, :cond_26
.line 140
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v0
.line 141
.local v0, "decorView":Landroid/view/View;
if-eqz v0, :cond_26
.line 142
invoke-virtual {v0}, Landroid/view/View;->getSystemUiVisibility()I
move-result v1
.line 143
.local v1, "vis":I
if-eqz p1, :cond_19
.line 144
or-int/lit16 v1, v1, 0x2000
goto :goto_1b
.line 146
:cond_19
and-int/lit16 v1, v1, -0x2001
.line 148
:goto_1b
invoke-virtual {v0}, Landroid/view/View;->getSystemUiVisibility()I
move-result v2
if-eq v2, v1, :cond_24
.line 149
invoke-virtual {v0, v1}, Landroid/view/View;->setSystemUiVisibility(I)V
.line 151
:cond_24
const/4 v2, 0x1
return v2
.line 154
.end local v0 # "decorView":Landroid/view/View;
.end local v1 # "vis":I
:cond_26
const/4 v0, 0x0
return v0
.end method
.method public static setFlymeUI(Landroid/app/Activity;Z)Z
.registers 10
.param p0, "activity" # Landroid/app/Activity;
.param p1, "dark" # Z
.line 161
:try_start_0
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
.line 162
.local v0, "window":Landroid/view/Window;
invoke-virtual {v0}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v1
.line 163
.local v1, "lp":Landroid/view/WindowManager$LayoutParams;
const-class v2, Landroid/view/WindowManager$LayoutParams;
const-string v3, "MEIZU_FLAG_DARK_STATUS_BAR_ICON"
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
.line 164
.local v2, "darkFlag":Ljava/lang/reflect/Field;
const-class v3, Landroid/view/WindowManager$LayoutParams;
const-string v4, "meizuFlags"
invoke-virtual {v3, v4}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v3
.line 165
.local v3, "meizuFlags":Ljava/lang/reflect/Field;
const/4 v4, 0x1
invoke-virtual {v2, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 166
invoke-virtual {v3, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 167
const/4 v5, 0x0
invoke-virtual {v2, v5}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I
move-result v5
.line 168
.local v5, "bit":I
invoke-virtual {v3, v1}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I
move-result v6
.line 169
.local v6, "value":I
if-eqz p1, :cond_2c
.line 170
or-int/2addr v6, v5
goto :goto_2f
.line 172
:cond_2c
xor-int/lit8 v7, v5, -0x1
and-int/2addr v6, v7
.line 174
:goto_2f
invoke-virtual {v3, v1, v6}, Ljava/lang/reflect/Field;->setInt(Ljava/lang/Object;I)V
.line 175
invoke-virtual {v0, v1}, Landroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V
:try_end_35
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_35} :catch_36
.line 176
return v4
.line 177
.end local v0 # "window":Landroid/view/Window;
.end local v1 # "lp":Landroid/view/WindowManager$LayoutParams;
.end local v2 # "darkFlag":Ljava/lang/reflect/Field;
.end local v3 # "meizuFlags":Ljava/lang/reflect/Field;
.end local v5 # "bit":I
.end local v6 # "value":I
:catch_36
move-exception v0
.line 178
.local v0, "e":Ljava/lang/Exception;
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 179
const/4 v1, 0x0
return v1
.end method
.method public static setMiuiUI(Landroid/app/Activity;Z)Z
.registers 13
.param p0, "activity" # Landroid/app/Activity;
.param p1, "dark" # Z
.line 186
const/4 v0, 0x0
:try_start_1
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v1
.line 187
.local v1, "window":Landroid/view/Window;
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
.line 188
.local v2, "clazz":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
const-string v3, "android.view.MiuiWindowManager$LayoutParams"
invoke-static {v3}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v3
.line 189
.local v3, "layoutParams":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
const-string v4, "EXTRA_FLAG_STATUS_BAR_DARK_MODE"
invoke-virtual {v3, v4}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v4
.line 190
.local v4, "field":Ljava/lang/reflect/Field;
invoke-virtual {v4, v3}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I
move-result v5
.line 191
.local v5, "darkModeFlag":I
const-string/jumbo v6, "setExtraFlags"
const/4 v7, 0x2
new-array v8, v7, [Ljava/lang/Class;
sget-object v9, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v9, v8, v0
sget-object v9, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v10, 0x1
aput-object v9, v8, v10
invoke-virtual {v2, v6, v8}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v6
.line 192
.local v6, "extraFlagField":Ljava/lang/reflect/Method;
invoke-virtual {v6, v10}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 193
if-eqz p1, :cond_47
.line 194
new-array v7, v7, [Ljava/lang/Object;
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v7, v0
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v7, v10
invoke-virtual {v6, v1, v7}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_58
.line 196
:cond_47
new-array v7, v7, [Ljava/lang/Object;
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v7, v0
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v7, v10
invoke-virtual {v6, v1, v7}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_58
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_58} :catch_59
.line 198
:goto_58
return v10
.line 199
.end local v1 # "window":Landroid/view/Window;
.end local v2 # "clazz":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.end local v3 # "layoutParams":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
.end local v4 # "field":Ljava/lang/reflect/Field;
.end local v5 # "darkModeFlag":I
.end local v6 # "extraFlagField":Ljava/lang/reflect/Method;
:catch_59
move-exception v1
.line 200
.local v1, "e":Ljava/lang/Exception;
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
.line 201
return v0
.end method
.method public static setRootViewFitsSystemWindows(Landroid/app/Activity;Z)V
.registers 4
.param p0, "activity" # Landroid/app/Activity;
.param p1, "fitSystemWindows" # Z
.line 89
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x13
if-lt v0, v1, :cond_21
.line 90
const v0, 0x1020002
invoke-virtual {p0, v0}, Landroid/app/Activity;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/view/ViewGroup;
.line 91
.local v0, "winContent":Landroid/view/ViewGroup;
invoke-virtual {v0}, Landroid/view/ViewGroup;->getChildCount()I
move-result v1
if-lez v1, :cond_21
.line 92
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/view/ViewGroup;
.line 93
.local v1, "rootView":Landroid/view/ViewGroup;
if-eqz v1, :cond_21
.line 94
invoke-virtual {v1, p1}, Landroid/view/ViewGroup;->setFitsSystemWindows(Z)V
.line 99
.end local v0 # "winContent":Landroid/view/ViewGroup;
.end local v1 # "rootView":Landroid/view/ViewGroup;
:cond_21
return-void
.end method
.method public static setStatusBarColor(Landroid/app/Activity;I)V
.registers 4
.param p0, "activity" # Landroid/app/Activity;
.param p1, "colorId" # I
.line 41
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_e
.line 42
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
.line 43
.local v0, "window":Landroid/view/Window;
invoke-virtual {v0, p1}, Landroid/view/Window;->setStatusBarColor(I)V
.end local v0 # "window":Landroid/view/Window;
goto :goto_24
.line 44
:cond_e
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x13
if-lt v0, v1, :cond_24
.line 46
invoke-static {p0}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->setTranslucentStatus(Landroid/app/Activity;)V
.line 48
new-instance v0, Lim/tpelyyftgw/messenger/utils/status/SystemBarTintManager;
invoke-direct {v0, p0}, Lim/tpelyyftgw/messenger/utils/status/SystemBarTintManager;-><init>(Landroid/app/Activity;)V
.line 49
.local v0, "systemBarTintManager":Lim/tpelyyftgw/messenger/utils/status/SystemBarTintManager;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lim/tpelyyftgw/messenger/utils/status/SystemBarTintManager;->setStatusBarTintEnabled(Z)V
.line 50
invoke-virtual {v0, p1}, Lim/tpelyyftgw/messenger/utils/status/SystemBarTintManager;->setTintColor(I)V
goto :goto_25
.line 44
.end local v0 # "systemBarTintManager":Lim/tpelyyftgw/messenger/utils/status/SystemBarTintManager;
:cond_24
:goto_24
nop
.line 52
:goto_25
return-void
.end method
.method public static setStatusBarDarkTheme(Landroid/app/Activity;Z)Z
.registers 6
.param p0, "activity" # Landroid/app/Activity;
.param p1, "dark" # Z
.line 106
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/16 v2, 0x13
if-lt v0, v2, :cond_28
.line 107
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x17
const/4 v3, 0x1
if-lt v0, v2, :cond_13
.line 108
const/4 v0, 0x3
invoke-static {p0, v0, p1}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->setStatusBarFontIconDark(Landroid/app/Activity;IZ)Z
goto :goto_26
.line 109
:cond_13
invoke-static {}, Lim/tpelyyftgw/messenger/utils/status/OSUtils;->isMiui()Z
move-result v0
if-eqz v0, :cond_1d
.line 110
invoke-static {p0, v1, p1}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->setStatusBarFontIconDark(Landroid/app/Activity;IZ)Z
goto :goto_26
.line 111
:cond_1d
invoke-static {}, Lim/tpelyyftgw/messenger/utils/status/OSUtils;->isFlyme()Z
move-result v0
if-eqz v0, :cond_27
.line 112
invoke-static {p0, v3, p1}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->setStatusBarFontIconDark(Landroid/app/Activity;IZ)Z
.line 117
:goto_26
return v3
.line 114
:cond_27
return v1
.line 119
:cond_28
return v1
.end method
.method public static setStatusBarFontIconDark(Landroid/app/Activity;IZ)Z
.registers 4
.param p0, "activity" # Landroid/app/Activity;
.param p1, "type" # I
.param p2, "dark" # Z
.line 126
if-eqz p1, :cond_f
const/4 v0, 0x1
if-eq p1, v0, :cond_a
.line 133
invoke-static {p0, p2}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->setCommonUI(Landroid/app/Activity;Z)Z
move-result v0
return v0
.line 130
:cond_a
invoke-static {p0, p2}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->setFlymeUI(Landroid/app/Activity;Z)Z
move-result v0
return v0
.line 128
:cond_f
invoke-static {p0, p2}, Lim/tpelyyftgw/messenger/utils/status/StatusBarUtils;->setMiuiUI(Landroid/app/Activity;Z)Z
move-result v0
return v0
.end method
.method public static setTranslucentStatus(Landroid/app/Activity;)V
.registers 5
.param p0, "activity" # Landroid/app/Activity;
.line 59
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_1d
.line 61
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
.line 62
.local v0, "window":Landroid/view/Window;
invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v1
.line 64
.local v1, "decorView":Landroid/view/View;
const/16 v2, 0x500
.line 66
.local v2, "option":I
invoke-virtual {v1, v2}, Landroid/view/View;->setSystemUiVisibility(I)V
.line 67
const/high16 v3, -0x80000000
invoke-virtual {v0, v3}, Landroid/view/Window;->addFlags(I)V
.line 68
const/4 v3, 0x0
invoke-virtual {v0, v3}, Landroid/view/Window;->setStatusBarColor(I)V
.end local v0 # "window":Landroid/view/Window;
.end local v1 # "decorView":Landroid/view/View;
.end local v2 # "option":I
goto :goto_36
.line 71
:cond_1d
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x13
if-lt v0, v1, :cond_36
.line 72
invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
.line 73
.restart local v0 # "window":Landroid/view/Window;
invoke-virtual {v0}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v1
.line 74
.local v1, "attributes":Landroid/view/WindowManager$LayoutParams;
const/high16 v2, 0x4000000
.line 75
.local v2, "flagTranslucentStatus":I
iget v3, v1, Landroid/view/WindowManager$LayoutParams;->flags:I
or-int/2addr v3, v2
iput v3, v1, Landroid/view/WindowManager$LayoutParams;->flags:I
.line 78
invoke-virtual {v0, v1}, Landroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V
goto :goto_37
.line 71
.end local v0 # "window":Landroid/view/Window;
.end local v1 # "attributes":Landroid/view/WindowManager$LayoutParams;
.end local v2 # "flagTranslucentStatus":I
:cond_36
:goto_36
nop
.line 80
:goto_37
return-void
.end method