.class public Lcom/luck/picture/lib/immersive/LightStatusBarUtils; .super Ljava/lang/Object; .source "LightStatusBarUtils.java" # direct methods .method public constructor ()V .registers 1 .line 19 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static initStatusBarStyle(Landroid/app/Activity;ZZ)V .registers 4 if-eqz p1, :cond_12 if-eqz p2, :cond_12 .line 175 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object p0 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 const/16 p1, 0x100 invoke-virtual {p0, p1}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_33 :cond_12 const/16 v0, 0x500 if-nez p1, :cond_24 if-nez p2, :cond_24 .line 177 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object p0 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 invoke-virtual {p0, v0}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_33 :cond_24 if-nez p1, :cond_33 if-eqz p2, :cond_33 .line 181 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object p0 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 invoke-virtual {p0, v0}, Landroid/view/View;->setSystemUiVisibility(I)V :cond_33 :goto_33 return-void .end method .method private static setAndroidNativeLightStatusBar(Landroid/app/Activity;ZZZZ)V .registers 6 if-eqz p3, :cond_51 .line 116 :try_start_2 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object p0 if-eqz p1, :cond_20 if-eqz p2, :cond_20 if-eqz p4, :cond_16 .line 121 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 const/16 p1, 0x2100 invoke-virtual {p0, p1}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_65 .line 124 :cond_16 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 const/16 p1, 0x100 invoke-virtual {p0, p1}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_65 :cond_20 const/16 p3, 0x2500 const/16 v0, 0x500 if-nez p1, :cond_3a if-nez p2, :cond_3a if-eqz p4, :cond_32 .line 129 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 invoke-virtual {p0, p3}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_65 .line 134 :cond_32 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 invoke-virtual {p0, v0}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_65 :cond_3a if-nez p1, :cond_50 if-eqz p2, :cond_50 if-eqz p4, :cond_48 .line 142 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 invoke-virtual {p0, p3}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_65 .line 146 :cond_48 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 invoke-virtual {p0, v0}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_65 :cond_50 return-void .line 157 :cond_51 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object p0 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 if-eqz p4, :cond_61 const/16 p1, 0x2000 .line 159 invoke-virtual {p0, p1}, Landroid/view/View;->setSystemUiVisibility(I)V goto :goto_65 :cond_61 const/4 p1, 0x0 .line 164 invoke-virtual {p0, p1}, Landroid/view/View;->setSystemUiVisibility(I)V :try_end_65 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_65} :catch_65 :catch_65 :goto_65 return-void .end method .method private static setFlymeLightStatusBar(Landroid/app/Activity;ZZZZ)Z .registers 11 const/4 v0, 0x0 if-eqz p0, :cond_4e .line 80 invoke-static {p0, p1, p2}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->initStatusBarStyle(Landroid/app/Activity;ZZ)V .line 82 :try_start_6 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object v1 invoke-virtual {v1}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams; move-result-object v1 .line 83 const-class v2, Landroid/view/WindowManager$LayoutParams; const-string v3, "MEIZU_FLAG_DARK_STATUS_BAR_ICON" .line 84 invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field; move-result-object v2 .line 85 const-class v3, Landroid/view/WindowManager$LayoutParams; const-string v4, "meizuFlags" .line 86 invoke-virtual {v3, v4}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field; move-result-object v3 const/4 v4, 0x1 .line 87 invoke-virtual {v2, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V .line 88 invoke-virtual {v3, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V const/4 v5, 0x0 .line 89 invoke-virtual {v2, v5}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I move-result v2 .line 90 invoke-virtual {v3, v1}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I move-result v5 if-eqz p4, :cond_32 or-int/2addr v2, v5 goto :goto_34 :cond_32 not-int v2, v2 and-int/2addr v2, v5 .line 96 :goto_34 invoke-virtual {v3, v1, v2}, Ljava/lang/reflect/Field;->setInt(Ljava/lang/Object;I)V .line 97 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object v2 invoke-virtual {v2, v1}, Landroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V :try_end_3e .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_3e} :catch_4b .line 100 :try_start_3e invoke-static {}, Lcom/luck/picture/lib/immersive/RomUtils;->getFlymeVersion()I move-result v0 const/4 v1, 0x7 if-lt v0, v1, :cond_48 .line 101 invoke-static {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setAndroidNativeLightStatusBar(Landroid/app/Activity;ZZZZ)V :try_end_48 .catch Ljava/lang/Exception; {:try_start_3e .. :try_end_48} :catch_4a :cond_48 move v0, v4 goto :goto_4e :catch_4a move v0, v4 .line 104 :catch_4b invoke-static {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setAndroidNativeLightStatusBar(Landroid/app/Activity;ZZZZ)V :cond_4e :goto_4e return v0 .end method .method public static setLightStatusBar(Landroid/app/Activity;Z)V .registers 3 const/4 v0, 0x0 .line 28 invoke-static {p0, v0, v0, v0, p1}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setLightStatusBar(Landroid/app/Activity;ZZZZ)V return-void .end method .method public static setLightStatusBar(Landroid/app/Activity;ZZZZ)V .registers 7 .line 33 invoke-static {}, Lcom/luck/picture/lib/immersive/RomUtils;->getLightStatausBarAvailableRomType()I move-result v0 const/4 v1, 0x1 if-eq v0, v1, :cond_16 const/4 v1, 0x2 if-eq v0, v1, :cond_12 const/4 v1, 0x3 if-eq v0, v1, :cond_e goto :goto_24 .line 47 :cond_e invoke-static {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setAndroidNativeLightStatusBar(Landroid/app/Activity;ZZZZ)V goto :goto_24 .line 43 :cond_12 invoke-static {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setFlymeLightStatusBar(Landroid/app/Activity;ZZZZ)Z goto :goto_24 .line 35 :cond_16 invoke-static {}, Lcom/luck/picture/lib/immersive/RomUtils;->getMIUIVersionCode()I move-result v0 const/4 v1, 0x7 if-lt v0, v1, :cond_21 .line 36 invoke-static {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setAndroidNativeLightStatusBar(Landroid/app/Activity;ZZZZ)V goto :goto_24 .line 38 :cond_21 invoke-static {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setMIUILightStatusBar(Landroid/app/Activity;ZZZZ)Z :goto_24 return-void .end method .method public static setLightStatusBarAboveAPI23(Landroid/app/Activity;ZZZZ)V .registers 5 .line 23 invoke-static {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setLightStatusBar(Landroid/app/Activity;ZZZZ)V return-void .end method .method private static setMIUILightStatusBar(Landroid/app/Activity;ZZZZ)Z .registers 12 .line 59 invoke-static {p0, p1, p2}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->initStatusBarStyle(Landroid/app/Activity;ZZ)V .line 61 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object v0 invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 const/4 v1, 0x0 .line 64 :try_start_c const-string v2, "android.view.MiuiWindowManager$LayoutParams" invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class; move-result-object v2 .line 65 const-string v3, "EXTRA_FLAG_STATUS_BAR_DARK_MODE" invoke-virtual {v2, v3}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field; move-result-object v3 .line 66 invoke-virtual {v3, v2}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I move-result v2 .line 67 const-string v3, "setExtraFlags" const/4 v4, 0x2 new-array v4, v4, [Ljava/lang/Class; sget-object v5, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; aput-object v5, v4, v1 sget-object v5, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; const/4 v6, 0x1 aput-object v5, v4, v6 invoke-virtual {v0, v3, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v0 .line 68 invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object v3 if-eqz p4, :cond_36 move v4, v2 goto :goto_37 :cond_36 move v4, v1 :goto_37 invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 filled-new-array {v4, v2}, [Ljava/lang/Object; move-result-object v2 invoke-virtual {v0, v3, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; :try_end_46 .catch Ljava/lang/Exception; {:try_start_c .. :try_end_46} :catch_47 return v6 .line 71 :catch_47 invoke-static {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/immersive/LightStatusBarUtils;->setAndroidNativeLightStatusBar(Landroid/app/Activity;ZZZZ)V return v1 .end method