From e6b03a7158dcbc986e3b883f81aa0c00b2123010 Mon Sep 17 00:00:00 2001 From: Kirill Grouchnikov Date: Wed, 4 Dec 2024 10:13:46 -0500 Subject: [PATCH] Extract tonal container token mappings For #400 --- .../api/palette/PaletteResolverUtils.java | 592 +++--------------- 1 file changed, 80 insertions(+), 512 deletions(-) diff --git a/theming/src/main/java/org/pushingpixels/radiance/theming/api/palette/PaletteResolverUtils.java b/theming/src/main/java/org/pushingpixels/radiance/theming/api/palette/PaletteResolverUtils.java index f4948498c..14c948cbb 100644 --- a/theming/src/main/java/org/pushingpixels/radiance/theming/api/palette/PaletteResolverUtils.java +++ b/theming/src/main/java/org/pushingpixels/radiance/theming/api/palette/PaletteResolverUtils.java @@ -29,434 +29,270 @@ */ package org.pushingpixels.radiance.theming.api.palette; +import org.pushingpixels.ephemeral.chroma.palettes.TonalPalette; + import java.awt.*; public class PaletteResolverUtils { - public static PaletteColorResolver getLightPaletteColorResolver() { - PaletteContainerColorsResolver surfaceContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getNeutralPalette().tone(100)); - } - - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getNeutralPalette().tone(96)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getNeutralPalette().tone(94)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getNeutralPalette().tone(92)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getNeutralPalette().tone(90)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getNeutralPalette().tone(10)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(30)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(50)); - } + private interface PaletteSource { + TonalPalette get(Palettes palettes); + } - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(70)); - } - }; - PaletteContainerColorsResolver mutedContainerResolver = - new PaletteContainerColorsResolver() { + private static PaletteContainerColorsResolver getLightTonalContainerResolver(PaletteSource source) { + return new PaletteContainerColorsResolver() { @Override public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(94)); + return new Color(source.get(palettes).tone(94)); } @Override public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(90)); + return new Color(source.get(palettes).tone(92)); } @Override public Color getContainer(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(88)); + return new Color(source.get(palettes).tone(90)); } @Override public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(86)); + return new Color(source.get(palettes).tone(88)); } @Override public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(84)); + return new Color(source.get(palettes).tone(86)); } @Override public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getNeutralPalette().tone(10)); + return new Color(source.get(palettes).tone(30)); } @Override public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(30)); + return new Color(source.get(palettes).tone(40)); } @Override public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(50)); + return new Color(source.get(palettes).tone(50)); } @Override public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getNeutralVariantPalette().tone(70)); + return new Color(source.get(palettes).tone(70)); } }; - PaletteContainerColorsResolver tonalContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(94)); - } - - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(92)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(90)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(88)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(86)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(30)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(40)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(50)); - } + } - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(70)); - } - }; - PaletteContainerColorsResolver primaryContainerResolver = - new PaletteContainerColorsResolver() { + private static PaletteContainerColorsResolver getDarkTonalContainerResolver(PaletteSource source) { + return new PaletteContainerColorsResolver() { @Override public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(34)); + return new Color(source.get(palettes).tone(22)); } @Override public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(38)); + return new Color(source.get(palettes).tone(28)); } @Override public Color getContainer(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(40)); + return new Color(source.get(palettes).tone(30)); } @Override public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(45)); + return new Color(source.get(palettes).tone(35)); } @Override public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(50)); + return new Color(source.get(palettes).tone(40)); } @Override public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(100)); + return new Color(source.get(palettes).tone(90)); } @Override public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(95)); + return new Color(source.get(palettes).tone(80)); } @Override public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(100)); + return new Color(source.get(palettes).tone(60)); } @Override public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(95)); + return new Color(source.get(palettes).tone(40)); } }; + } - PaletteContainerColorsResolver systemInfoContainerResolver = + public static PaletteColorResolver getLightPaletteColorResolver() { + PaletteContainerColorsResolver surfaceContainerResolver = new PaletteContainerColorsResolver() { @Override public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(94)); + return new Color(palettes.getNeutralPalette().tone(100)); } @Override public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(92)); + return new Color(palettes.getNeutralPalette().tone(96)); } @Override public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(90)); + return new Color(palettes.getNeutralPalette().tone(94)); } @Override public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(88)); + return new Color(palettes.getNeutralPalette().tone(92)); } @Override public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(86)); + return new Color(palettes.getNeutralPalette().tone(90)); } @Override public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(30)); + return new Color(palettes.getNeutralPalette().tone(10)); } @Override public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(40)); + return new Color(palettes.getNeutralVariantPalette().tone(30)); } @Override public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(50)); + return new Color(palettes.getNeutralVariantPalette().tone(50)); } @Override public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(70)); + return new Color(palettes.getNeutralVariantPalette().tone(70)); } }; - PaletteContainerColorsResolver systemWarningContainerResolver = + PaletteContainerColorsResolver mutedContainerResolver = new PaletteContainerColorsResolver() { @Override public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(94)); + return new Color(palettes.getNeutralVariantPalette().tone(94)); } @Override public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(92)); + return new Color(palettes.getNeutralVariantPalette().tone(90)); } @Override public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(90)); + return new Color(palettes.getNeutralVariantPalette().tone(88)); } @Override public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(88)); + return new Color(palettes.getNeutralVariantPalette().tone(86)); } @Override public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(86)); + return new Color(palettes.getNeutralVariantPalette().tone(84)); } @Override public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(30)); + return new Color(palettes.getNeutralPalette().tone(10)); } @Override public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(40)); + return new Color(palettes.getNeutralVariantPalette().tone(30)); } @Override public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(50)); + return new Color(palettes.getNeutralVariantPalette().tone(50)); } @Override public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(70)); + return new Color(palettes.getNeutralVariantPalette().tone(70)); } }; - PaletteContainerColorsResolver systemErrorContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(94)); - } - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(92)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(90)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(88)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(86)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(30)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(40)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(50)); - } + PaletteContainerColorsResolver tonalContainerResolver = + getLightTonalContainerResolver(Palettes::getPrimaryPalette); - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(70)); - } - }; - PaletteContainerColorsResolver systemSuccessContainerResolver = + PaletteContainerColorsResolver primaryContainerResolver = new PaletteContainerColorsResolver() { @Override public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(94)); + return new Color(palettes.getPrimaryPalette().tone(34)); } @Override public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(92)); + return new Color(palettes.getPrimaryPalette().tone(38)); } @Override public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(90)); + return new Color(palettes.getPrimaryPalette().tone(40)); } @Override public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(88)); + return new Color(palettes.getPrimaryPalette().tone(45)); } @Override public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(86)); + return new Color(palettes.getPrimaryPalette().tone(50)); } @Override public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(30)); + return new Color(palettes.getPrimaryPalette().tone(100)); } @Override public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(40)); + return new Color(palettes.getPrimaryPalette().tone(95)); } @Override public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(50)); + return new Color(palettes.getPrimaryPalette().tone(100)); } @Override public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(70)); + return new Color(palettes.getPrimaryPalette().tone(95)); } }; - PaletteContainerColorsResolver systemEmergencyContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(94)); - } - - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(92)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(90)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(88)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(86)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(30)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(40)); - } - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(50)); - } - - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(70)); - } - }; + PaletteContainerColorsResolver systemInfoContainerResolver = + getLightTonalContainerResolver(Palettes::getSystemInfoPalette); + PaletteContainerColorsResolver systemWarningContainerResolver = + getLightTonalContainerResolver(Palettes::getSystemWarningPalette); + PaletteContainerColorsResolver systemErrorContainerResolver = + getLightTonalContainerResolver(Palettes::getSystemErrorPalette); + PaletteContainerColorsResolver systemSuccessContainerResolver = + getLightTonalContainerResolver(Palettes::getSystemSuccessPalette); + PaletteContainerColorsResolver systemEmergencyContainerResolver = + getLightTonalContainerResolver(Palettes::getSystemEmergencyPalette); return new PaletteColorResolver() { @Override @@ -616,53 +452,10 @@ public Color getContainerOutlineVariant(Palettes palettes) { return new Color(palettes.getNeutralVariantPalette().tone(40)); } }; - PaletteContainerColorsResolver tonalContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(22)); - } - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(28)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(30)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(35)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(40)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(90)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(80)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(60)); - } + PaletteContainerColorsResolver tonalContainerResolver = + getDarkTonalContainerResolver(Palettes::getPrimaryPalette); - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getPrimaryPalette().tone(40)); - } - }; PaletteContainerColorsResolver primaryContainerResolver = new PaletteContainerColorsResolver() { @Override @@ -712,241 +505,16 @@ public Color getContainerOutlineVariant(Palettes palettes) { }; PaletteContainerColorsResolver systemInfoContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(22)); - } - - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(28)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(30)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(35)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(40)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(90)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(80)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(60)); - } - - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemInfoPalette().tone(40)); - } - }; + getDarkTonalContainerResolver(Palettes::getSystemInfoPalette); PaletteContainerColorsResolver systemWarningContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(22)); - } - - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(28)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(30)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(35)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(40)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(90)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(80)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(60)); - } - - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemWarningPalette().tone(40)); - } - }; + getDarkTonalContainerResolver(Palettes::getSystemWarningPalette); PaletteContainerColorsResolver systemErrorContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(22)); - } - - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(28)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(30)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(35)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(40)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(90)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(80)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(60)); - } - - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemErrorPalette().tone(40)); - } - }; + getDarkTonalContainerResolver(Palettes::getSystemErrorPalette); PaletteContainerColorsResolver systemSuccessContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(22)); - } - - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(28)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(30)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(35)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(40)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(90)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(80)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(60)); - } - - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemSuccessPalette().tone(40)); - } - }; + getDarkTonalContainerResolver(Palettes::getSystemSuccessPalette); PaletteContainerColorsResolver systemEmergencyContainerResolver = - new PaletteContainerColorsResolver() { - @Override - public Color getContainerLowest(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(22)); - } - - @Override - public Color getContainerLow(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(28)); - } - - @Override - public Color getContainer(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(30)); - } - - @Override - public Color getContainerHigh(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(35)); - } - - @Override - public Color getContainerHighest(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(40)); - } - - @Override - public Color getOnContainer(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(90)); - } - - @Override - public Color getOnContainerVariant(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(80)); - } - - @Override - public Color getContainerOutline(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(60)); - } - - @Override - public Color getContainerOutlineVariant(Palettes palettes) { - return new Color(palettes.getSystemEmergencyPalette().tone(40)); - } - }; - + getDarkTonalContainerResolver(Palettes::getSystemEmergencyPalette); + return new PaletteColorResolver() { @Override public Color getSurface(Palettes palettes) {