瀏覽代碼

Black Status bar in light theme <23 api

Signed-off-by: Joris Bodin <joris.bodin@infomaniak.com>
Joris Bodin 5 年之前
父節點
當前提交
1ffbb63fef
共有 1 個文件被更改,包括 5 次插入3 次删除
  1. 5 3
      src/main/java/com/owncloud/android/utils/ThemeUtils.java

+ 5 - 3
src/main/java/com/owncloud/android/utils/ThemeUtils.java

@@ -69,7 +69,6 @@ import androidx.core.content.res.ResourcesCompat;
 import androidx.core.graphics.ColorUtils;
 import androidx.core.graphics.drawable.DrawableCompat;
 import androidx.core.widget.CompoundButtonCompat;
-import androidx.fragment.app.FragmentActivity;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
 /**
@@ -443,15 +442,18 @@ public final class ThemeUtils {
      */
     public static void colorStatusBar(Activity fragmentActivity, @ColorInt int color) {
         Window window = fragmentActivity.getWindow();
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP && window != null) {
+        boolean isLightTheme = lightTheme(fragmentActivity.getApplicationContext(), color);
+        if (window != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
             window.setStatusBarColor(color);
             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                 View decor = window.getDecorView();
-                if (lightTheme(fragmentActivity.getApplicationContext(), color)) {
+                if (isLightTheme) {
                     decor.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
                 } else {
                     decor.setSystemUiVisibility(0);
                 }
+            } else if (isLightTheme) {
+                window.setStatusBarColor(Color.BLACK);
             }
         }
     }