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>