Monochromatic Theme on ThemePicker

Added Monochromatic Theme option guarded by System Property Flag
Screenshot https://screenshot.googleplex.com/3GAAPFXfMBkxF2t

Test: Manual
Bug: 241778903
Change-Id: I322b2fa36f479f5583e736cb0610ca731fe9bc30
diff --git a/src/com/android/customization/model/color/ColorProvider.kt b/src/com/android/customization/model/color/ColorProvider.kt
index 814a963..c1a4552 100644
--- a/src/com/android/customization/model/color/ColorProvider.kt
+++ b/src/com/android/customization/model/color/ColorProvider.kt
@@ -37,6 +37,7 @@
 import com.android.systemui.monet.ColorScheme
 import com.android.systemui.monet.Style
 import com.android.wallpaper.compat.WallpaperManagerCompat
+import com.android.wallpaper.config.Flags
 import com.android.wallpaper.module.InjectorProvider
 import java.util.*
 import kotlinx.coroutines.CoroutineScope
@@ -246,6 +247,11 @@
         return when (this.style) {
             Style.FRUIT_SALAD -> intArrayOf(seed, this.accent1[2])
             Style.TONAL_SPOT -> intArrayOf(this.accentColor, this.accentColor)
+            Style.MONOCHROMATIC ->
+                intArrayOf(
+                    setAlphaComponent(0x000000, 255),
+                    setAlphaComponent(0xFFFFFF, 255),
+                )
             else -> intArrayOf(this.accent1[2], this.accent1[2])
         }
     }
@@ -281,6 +287,10 @@
                             Style.TONAL_SPOT
                         }
 
+                    if (style == Style.MONOCHROMATIC && !Flags.isMonochromaticFlagEnabled) {
+                        continue
+                    }
+
                     val darkColors =
                         ColorScheme(colorFromStub, true, style).getPresetColorPreview(colorFromStub)
                     val lightColors =
diff --git a/themes/res/values/color-bundles.xml b/themes/res/values/color-bundles.xml
index 4d7cc63..ced594e 100644
--- a/themes/res/values/color-bundles.xml
+++ b/themes/res/values/color-bundles.xml
@@ -16,6 +16,7 @@
   -->
 <resources>
     <array name="color_bundles">
+        <item>monochromatic</item>
         <item>rainbow1</item>
         <item>rainbow2</item>
         <item>rainbow3</item>
diff --git a/themes/res/values/colors.xml b/themes/res/values/colors.xml
index 3ffb9fc..53a4966 100644
--- a/themes/res/values/colors.xml
+++ b/themes/res/values/colors.xml
@@ -15,6 +15,8 @@
   ~ limitations under the License.
   -->
 <resources>
+<!--TODO(b/257218629)-->
+    <color name="color_secondary_monochromatic">#FFFF00</color>
     <color name="color_secondary_rainbow1">#FFB2B5</color>
     <color name="color_secondary_rainbow2">#FFB868</color>
     <color name="color_secondary_rainbow3">#E9C44A</color>
diff --git a/themes/res/values/strings.xml b/themes/res/values/strings.xml
index 8bc04bd..31363f7 100644
--- a/themes/res/values/strings.xml
+++ b/themes/res/values/strings.xml
@@ -23,6 +23,7 @@
     <string name="rainbow_color_name_blue">Blue</string>
     <string name="rainbow_color_name_purple">Purple</string>
     <string name="rainbow_color_name_magenta">Magenta</string>
+    <string name="monochromatic_name">Monochromatic</string>
 
     <string name="bundle_name_rainbow1" translatable="false">@string/rainbow_color_name_red</string>
     <string name="bundle_name_rainbow2" translatable="false">@string/rainbow_color_name_orange</string>
@@ -31,6 +32,7 @@
     <string name="bundle_name_rainbow5" translatable="false">@string/rainbow_color_name_blue</string>
     <string name="bundle_name_rainbow6" translatable="false">@string/rainbow_color_name_purple</string>
     <string name="bundle_name_rainbow7" translatable="false">@string/rainbow_color_name_magenta</string>
+    <string name="bundle_name_monochromatic" translatable="false">@string/monochromatic_name</string>
 
     <string name="color_style_rainbow1" translatable="false">RAINBOW</string>
     <string name="color_style_rainbow2" translatable="false">RAINBOW</string>
@@ -39,4 +41,5 @@
     <string name="color_style_rainbow5" translatable="false">RAINBOW</string>
     <string name="color_style_rainbow6" translatable="false">RAINBOW</string>
     <string name="color_style_rainbow7" translatable="false">RAINBOW</string>
+    <string name="color_style_monochromatic" translatable="false">MONOCHROMATIC</string>
 </resources>