Loading packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt +10 −3 Original line number Diff line number Diff line Loading @@ -205,6 +205,13 @@ enum class Style(internal val coreSpec: CoreSpec) { n1 = TonalSpec(HueSource(), ChromaMultiple(0.0833)), n2 = TonalSpec(HueSource(), ChromaMultiple(0.1666)) )), MONOCHROMATIC(CoreSpec( a1 = TonalSpec(HueSource(), ChromaConstant(.0)), a2 = TonalSpec(HueSource(), ChromaConstant(.0)), a3 = TonalSpec(HueSource(), ChromaConstant(.0)), n1 = TonalSpec(HueSource(), ChromaConstant(.0)), n2 = TonalSpec(HueSource(), ChromaConstant(.0)) )), } class ColorScheme( Loading packages/SystemUI/src/com/android/systemui/flags/Flags.java +3 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,9 @@ public class Flags { // 803 - screen contents translation public static final UnreleasedFlag SCREEN_CONTENTS_TRANSLATION = new UnreleasedFlag(803); // 804 - monochromatic themes public static final UnreleasedFlag MONOCHROMATIC_THEMES = new UnreleasedFlag(804); /***************************************/ // 900 - media public static final ReleasedFlag MEDIA_TAP_TO_TRANSFER = new ReleasedFlag(900); Loading packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java +10 −2 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ import org.json.JSONException; import org.json.JSONObject; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; Loading Loading @@ -114,6 +115,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable { private final SecureSettings mSecureSettings; private final Executor mMainExecutor; private final Handler mBgHandler; private final boolean mIsMonochromaticEnabled; private final Context mContext; private final boolean mIsMonetEnabled; private final UserTracker mUserTracker; Loading Loading @@ -363,6 +365,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable { UserTracker userTracker, DumpManager dumpManager, FeatureFlags featureFlags, @Main Resources resources, WakefulnessLifecycle wakefulnessLifecycle) { mContext = context; mIsMonochromaticEnabled = featureFlags.isEnabled(Flags.MONOCHROMATIC_THEMES); mIsMonetEnabled = featureFlags.isEnabled(Flags.MONET); mDeviceProvisionedController = deviceProvisionedController; mBroadcastDispatcher = broadcastDispatcher; Loading Loading @@ -665,8 +668,13 @@ public class ThemeOverlayController implements CoreStartable, Dumpable { // Allow-list of Style objects that can be created from a setting string, i.e. can be // used as a system-wide theme. // - Content intentionally excluded, intended for media player, not system-wide List<Style> validStyles = Arrays.asList(Style.EXPRESSIVE, Style.SPRITZ, Style.TONAL_SPOT, Style.FRUIT_SALAD, Style.RAINBOW, Style.VIBRANT); List<Style> validStyles = new ArrayList<>(Arrays.asList(Style.EXPRESSIVE, Style.SPRITZ, Style.TONAL_SPOT, Style.FRUIT_SALAD, Style.RAINBOW, Style.VIBRANT)); if (mIsMonochromaticEnabled) { validStyles.add(Style.MONOCHROMATIC); } Style style = mThemeStyle; final String overlayPackageJson = mSecureSettings.getStringForUser( Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES, Loading packages/SystemUI/tests/src/com/android/systemui/monet/ColorSchemeTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,18 @@ public class ColorSchemeTest extends SysuiTestCase { Assert.assertTrue(cam.getChroma() <= 8.0); } @Test public void testMonochromatic() { int colorInt = 0xffB3588A; // H350 C50 T50 ColorScheme colorScheme = new ColorScheme(colorInt, false /* darkTheme */, Style.MONOCHROMATIC /* style */); int neutralMid = colorScheme.getNeutral1().get(colorScheme.getNeutral1().size() / 2); Assert.assertTrue( Color.red(neutralMid) == Color.green(neutralMid) && Color.green(neutralMid) == Color.blue(neutralMid) ); } @Test @SuppressWarnings("ResultOfMethodCallIgnored") public void testToString() { Loading Loading
packages/SystemUI/monet/src/com/android/systemui/monet/ColorScheme.kt +10 −3 Original line number Diff line number Diff line Loading @@ -205,6 +205,13 @@ enum class Style(internal val coreSpec: CoreSpec) { n1 = TonalSpec(HueSource(), ChromaMultiple(0.0833)), n2 = TonalSpec(HueSource(), ChromaMultiple(0.1666)) )), MONOCHROMATIC(CoreSpec( a1 = TonalSpec(HueSource(), ChromaConstant(.0)), a2 = TonalSpec(HueSource(), ChromaConstant(.0)), a3 = TonalSpec(HueSource(), ChromaConstant(.0)), n1 = TonalSpec(HueSource(), ChromaConstant(.0)), n2 = TonalSpec(HueSource(), ChromaConstant(.0)) )), } class ColorScheme( Loading
packages/SystemUI/src/com/android/systemui/flags/Flags.java +3 −0 Original line number Diff line number Diff line Loading @@ -212,6 +212,9 @@ public class Flags { // 803 - screen contents translation public static final UnreleasedFlag SCREEN_CONTENTS_TRANSLATION = new UnreleasedFlag(803); // 804 - monochromatic themes public static final UnreleasedFlag MONOCHROMATIC_THEMES = new UnreleasedFlag(804); /***************************************/ // 900 - media public static final ReleasedFlag MEDIA_TAP_TO_TRANSFER = new ReleasedFlag(900); Loading
packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayController.java +10 −2 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ import org.json.JSONException; import org.json.JSONObject; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashSet; Loading Loading @@ -114,6 +115,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable { private final SecureSettings mSecureSettings; private final Executor mMainExecutor; private final Handler mBgHandler; private final boolean mIsMonochromaticEnabled; private final Context mContext; private final boolean mIsMonetEnabled; private final UserTracker mUserTracker; Loading Loading @@ -363,6 +365,7 @@ public class ThemeOverlayController implements CoreStartable, Dumpable { UserTracker userTracker, DumpManager dumpManager, FeatureFlags featureFlags, @Main Resources resources, WakefulnessLifecycle wakefulnessLifecycle) { mContext = context; mIsMonochromaticEnabled = featureFlags.isEnabled(Flags.MONOCHROMATIC_THEMES); mIsMonetEnabled = featureFlags.isEnabled(Flags.MONET); mDeviceProvisionedController = deviceProvisionedController; mBroadcastDispatcher = broadcastDispatcher; Loading Loading @@ -665,8 +668,13 @@ public class ThemeOverlayController implements CoreStartable, Dumpable { // Allow-list of Style objects that can be created from a setting string, i.e. can be // used as a system-wide theme. // - Content intentionally excluded, intended for media player, not system-wide List<Style> validStyles = Arrays.asList(Style.EXPRESSIVE, Style.SPRITZ, Style.TONAL_SPOT, Style.FRUIT_SALAD, Style.RAINBOW, Style.VIBRANT); List<Style> validStyles = new ArrayList<>(Arrays.asList(Style.EXPRESSIVE, Style.SPRITZ, Style.TONAL_SPOT, Style.FRUIT_SALAD, Style.RAINBOW, Style.VIBRANT)); if (mIsMonochromaticEnabled) { validStyles.add(Style.MONOCHROMATIC); } Style style = mThemeStyle; final String overlayPackageJson = mSecureSettings.getStringForUser( Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES, Loading
packages/SystemUI/tests/src/com/android/systemui/monet/ColorSchemeTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -146,6 +146,18 @@ public class ColorSchemeTest extends SysuiTestCase { Assert.assertTrue(cam.getChroma() <= 8.0); } @Test public void testMonochromatic() { int colorInt = 0xffB3588A; // H350 C50 T50 ColorScheme colorScheme = new ColorScheme(colorInt, false /* darkTheme */, Style.MONOCHROMATIC /* style */); int neutralMid = colorScheme.getNeutral1().get(colorScheme.getNeutral1().size() / 2); Assert.assertTrue( Color.red(neutralMid) == Color.green(neutralMid) && Color.green(neutralMid) == Color.blue(neutralMid) ); } @Test @SuppressWarnings("ResultOfMethodCallIgnored") public void testToString() { Loading