diff --git a/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt b/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt index 208825ccc8cf6..d8b050aa8e2c3 100644 --- a/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt +++ b/packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt @@ -76,14 +76,14 @@ internal class CoreSpec( enum class Style(internal val coreSpec: CoreSpec) { SPRITZ(CoreSpec( - a1 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 4.0)), - a2 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 4.0)), - a3 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 4.0)), + a1 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 12.0)), + a2 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 8.0)), + a3 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 16.0)), n1 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 4.0)), - n2 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 4.0)) + n2 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 8.0)) )), TONAL_SPOT(CoreSpec( - a1 = TonalSpec(chroma = Chroma(ChromaStrategy.GTE, 48.0)), + a1 = TonalSpec(chroma = Chroma(ChromaStrategy.GTE, 32.0)), a2 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 16.0)), a3 = TonalSpec(Hue(HueStrategy.ADD, 60.0), Chroma(ChromaStrategy.EQ, 24.0)), n1 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 4.0)), @@ -91,17 +91,17 @@ enum class Style(internal val coreSpec: CoreSpec) { )), VIBRANT(CoreSpec( a1 = TonalSpec(chroma = Chroma(ChromaStrategy.GTE, 48.0)), - a2 = TonalSpec(Hue(HueStrategy.ADD, 10.0), Chroma(ChromaStrategy.EQ, 24.0)), - a3 = TonalSpec(Hue(HueStrategy.ADD, 20.0), Chroma(ChromaStrategy.GTE, 32.0)), + a2 = TonalSpec(Hue(HueStrategy.ADD, 15.0), Chroma(ChromaStrategy.EQ, 24.0)), + a3 = TonalSpec(Hue(HueStrategy.ADD, 30.0), Chroma(ChromaStrategy.GTE, 32.0)), n1 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 8.0)), n2 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 16.0)) )), EXPRESSIVE(CoreSpec( - a1 = TonalSpec(Hue(HueStrategy.SUBTRACT, 40.0), Chroma(ChromaStrategy.GTE, 64.0)), - a2 = TonalSpec(Hue(HueStrategy.ADD, 20.0), Chroma(ChromaStrategy.EQ, 24.0)), - a3 = TonalSpec(Hue(HueStrategy.SUBTRACT, 80.0), Chroma(ChromaStrategy.GTE, 64.0)), - n1 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 16.0)), - n2 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 32.0)) + a1 = TonalSpec(Hue(HueStrategy.SUBTRACT, 60.0), Chroma(ChromaStrategy.GTE, 64.0)), + a2 = TonalSpec(Hue(HueStrategy.SUBTRACT, 30.0), Chroma(ChromaStrategy.EQ, 24.0)), + a3 = TonalSpec(chroma = Chroma(ChromaStrategy.GTE, 48.0)), + n1 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 12.0)), + n2 = TonalSpec(chroma = Chroma(ChromaStrategy.EQ, 16.0)) )), RAINBOW(CoreSpec( a1 = TonalSpec(chroma = Chroma(ChromaStrategy.GTE, 48.0)), diff --git a/packages/SystemUI/tests/src/com/android/systemui/monet/ColorSchemeTest.java b/packages/SystemUI/tests/src/com/android/systemui/monet/ColorSchemeTest.java index 5a06048838637..6df56e98783c1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/monet/ColorSchemeTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/monet/ColorSchemeTest.java @@ -19,6 +19,7 @@ package com.android.systemui.monet; import android.app.WallpaperColors; import android.graphics.Color; import android.testing.AndroidTestingRunner; +import android.util.Log; import androidx.test.filters.SmallTest; @@ -29,7 +30,11 @@ import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; @SmallTest @RunWith(AndroidTestingRunner.class) @@ -108,7 +113,7 @@ public class ColorSchemeTest extends SysuiTestCase { Style.SPRITZ /* style */); int primaryMid = colorScheme.getAccent1().get(colorScheme.getAccent1().size() / 2); Cam cam = Cam.fromInt(primaryMid); - Assert.assertEquals(cam.getChroma(), 4.0, 1.0); + Assert.assertEquals(cam.getChroma(), 12.0, 1.0); } @Test @@ -128,6 +133,41 @@ public class ColorSchemeTest extends SysuiTestCase { Style.EXPRESSIVE /* style */); int neutralMid = colorScheme.getNeutral1().get(colorScheme.getNeutral1().size() / 2); Cam cam = Cam.fromInt(neutralMid); - Assert.assertEquals(cam.getChroma(), 16.0, 1.0); + Assert.assertEquals(cam.getChroma(), 12.0, 1.0); + } + + /** + * Generate xml for SystemPaletteTest#testThemeStyles(). + */ + @Test + public void generateThemeStyles() { + StringBuilder xml = new StringBuilder(); + for (int hue = 0; hue < 360; hue += 60) { + final int sourceColor = Cam.getInt(hue, 50f, 50f); + final String sourceColorHex = Integer.toHexString(sourceColor); + + xml.append(" \n"); + + for (Style style : Style.values()) { + String styleName = style.name().toLowerCase(); + ColorScheme colorScheme = new ColorScheme(sourceColor, false, style); + xml.append(" <").append(styleName).append(">"); + + List colors = new ArrayList<>(); + for (Stream stream: Arrays.asList(colorScheme.getAccent1().stream(), + colorScheme.getAccent2().stream(), + colorScheme.getAccent3().stream(), + colorScheme.getNeutral1().stream(), + colorScheme.getNeutral2().stream())) { + colors.add("ffffff"); + colors.addAll(stream.map(Integer::toHexString).map(s -> s.substring(2)).collect( + Collectors.toList())); + } + xml.append(String.join(",", colors)); + xml.append("\n"); + } + xml.append(" \n"); + } + Log.d("ColorSchemeXml", xml.toString()); } }