Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9485e5ab authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Update theme spec

UX feedback, using new chroma values

Fixes: 219787214
Test: atest SystemPaletteTest
Change-Id: I4754d4ade1ad8f59adadf158c8803a5812b106b0
parent b86ec0a5
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -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)),
+42 −2
Original line number Diff line number Diff line
@@ -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());
    }
}