Update theme spec

UX feedback, using new chroma values

Fixes: 219787214
Test: atest SystemPaletteTest
Change-Id: I4754d4ade1ad8f59adadf158c8803a5812b106b0
This commit is contained in:
Lucas Dupin
2022-02-15 13:18:20 -08:00
parent b86ec0a5a4
commit 9485e5ab46
2 changed files with 54 additions and 14 deletions

View File

@@ -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)),

View File

@@ -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(" <theme color=\"").append(sourceColorHex).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<String> colors = new ArrayList<>();
for (Stream<Integer> 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("</").append(styleName).append(">\n");
}
xml.append(" </theme>\n");
}
Log.d("ColorSchemeXml", xml.toString());
}
}