Add feature flag to disable light status bar

Bug: 32085545
Change-Id: I4860145b00893c20f7e37817e9659ccd90409966
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index c73a7a6..544aef2 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -499,9 +499,9 @@
      * @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) {
diff --git a/src/com/android/launcher3/dynamicui/ColorExtractionService.java b/src/com/android/launcher3/dynamicui/ColorExtractionService.java
index c15b710..1369f60 100644
--- a/src/com/android/launcher3/dynamicui/ColorExtractionService.java
+++ b/src/com/android/launcher3/dynamicui/ColorExtractionService.java
@@ -27,6 +27,7 @@
 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 @@
                     .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.
diff --git a/src/com/android/launcher3/dynamicui/ExtractedColors.java b/src/com/android/launcher3/dynamicui/ExtractedColors.java
index 4db0797..6a3011d 100644
--- a/src/com/android/launcher3/dynamicui/ExtractedColors.java
+++ b/src/com/android/launcher3/dynamicui/ExtractedColors.java
@@ -47,7 +47,7 @@
     // 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 = ",";
 
diff --git a/src_config/com/android/launcher3/config/FeatureFlags.java b/src_config/com/android/launcher3/config/FeatureFlags.java
index fe7bcbd..8ee5497 100644
--- a/src_config/com/android/launcher3/config/FeatureFlags.java
+++ b/src_config/com/android/launcher3/config/FeatureFlags.java
@@ -37,4 +37,6 @@
     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;
 }