OSDN Git Service

Add feature flag to disable light status bar
authorTony Wickham <twickham@google.com>
Wed, 12 Oct 2016 21:55:46 +0000 (14:55 -0700)
committerTony Wickham <twickham@google.com>
Wed, 12 Oct 2016 23:14:36 +0000 (16:14 -0700)
Bug: 32085545
Change-Id: I4860145b00893c20f7e37817e9659ccd90409966

src/com/android/launcher3/Launcher.java
src/com/android/launcher3/dynamicui/ColorExtractionService.java
src/com/android/launcher3/dynamicui/ExtractedColors.java
src_config/com/android/launcher3/config/FeatureFlags.java

index c73a7a6..544aef2 100644 (file)
@@ -499,9 +499,9 @@ public class Launcher extends Activity
      * @param activate if true, make sure the status bar is light, otherwise base on wallpaper.
      */
     public void activateLightStatusBar(boolean activate) {
-        boolean lightStatusBar = activate
-                || mExtractedColors.getColor(ExtractedColors.STATUS_BAR_INDEX,
-                ExtractedColors.DEFAULT_DARK) == ExtractedColors.DEFAULT_LIGHT;
+        boolean lightStatusBar = activate || (FeatureFlags.LIGHT_STATUS_BAR
+                && mExtractedColors.getColor(ExtractedColors.STATUS_BAR_INDEX,
+                ExtractedColors.DEFAULT_DARK) == ExtractedColors.DEFAULT_LIGHT);
         int oldSystemUiFlags = getWindow().getDecorView().getSystemUiVisibility();
         int newSystemUiFlags = oldSystemUiFlags;
         if (lightStatusBar) {
index c15b710..1369f60 100644 (file)
@@ -27,6 +27,7 @@ import android.support.v7.graphics.Palette;
 import com.android.launcher3.LauncherProvider;
 import com.android.launcher3.LauncherSettings;
 import com.android.launcher3.R;
+import com.android.launcher3.config.FeatureFlags;
 
 /**
  * Extracts colors from the wallpaper, and saves results to {@link LauncherProvider}.
@@ -62,12 +63,15 @@ public class ColorExtractionService extends IntentService {
                     .generate();
             extractedColors.updateHotseatPalette(hotseatPalette);
 
-            int statusBarHeight = getResources().getDimensionPixelSize(R.dimen.status_bar_height);
-            Palette statusBarPalette = Palette.from(wallpaper)
-                    .setRegion(0, 0, wallpaper.getWidth(), statusBarHeight)
-                    .clearFilters()
-                    .generate();
-            extractedColors.updateStatusBarPalette(statusBarPalette);
+            if (FeatureFlags.LIGHT_STATUS_BAR) {
+                int statusBarHeight = getResources()
+                        .getDimensionPixelSize(R.dimen.status_bar_height);
+                Palette statusBarPalette = Palette.from(wallpaper)
+                        .setRegion(0, 0, wallpaper.getWidth(), statusBarHeight)
+                        .clearFilters()
+                        .generate();
+                extractedColors.updateStatusBarPalette(statusBarPalette);
+            }
         }
 
         // Save the extracted colors and wallpaper id to LauncherProvider.
index 4db0797..6a3011d 100644 (file)
@@ -47,7 +47,7 @@ public class ExtractedColors {
     // public static final int MUTED_LIGHT_INDEX = 7;
 
     public static final int NUM_COLOR_PROFILES = 2;
-    private static final int VERSION = 2;
+    private static final int VERSION = 1;
 
     private static final String COLOR_SEPARATOR = ",";
 
index fe7bcbd..8ee5497 100644 (file)
@@ -37,4 +37,6 @@ public final class FeatureFlags {
     public static final boolean NO_ALL_APPS_ICON = true;
     // When enabled fling down gesture on the first workspace triggers search.
     public static final boolean PULLDOWN_SEARCH = false;
+    // When enabled the status bar may show dark icons based on the top of the wallpaper.
+    public static final boolean LIGHT_STATUS_BAR = false;
 }