Add new surface colors to color schemes

This commit is contained in:
MM20
2023-06-28 23:24:38 +02:00
parent 863626d30c
commit b39d59e070
11 changed files with 387 additions and 166 deletions
@@ -362,6 +362,99 @@ fun CustomColorSchemeSettingsScreen() {
}
)
ColorPreference(
title = "Surface Dim",
value = lightScheme?.let { Color(it.surfaceDim) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = lightScheme ?: return@ColorPreference
viewModel.setLightScheme(
colors.toBuilder()
.setSurfaceDim(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Bright",
value = lightScheme?.let { Color(it.surfaceBright) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = lightScheme ?: return@ColorPreference
viewModel.setLightScheme(
colors.toBuilder()
.setSurfaceBright(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container Lowest",
value = lightScheme?.let { Color(it.surfaceContainerLowest) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = lightScheme ?: return@ColorPreference
viewModel.setLightScheme(
colors.toBuilder()
.setSurfaceContainerLowest(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container Low",
value = lightScheme?.let { Color(it.surfaceContainerLow) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = lightScheme ?: return@ColorPreference
viewModel.setLightScheme(
colors.toBuilder()
.setSurfaceContainerLow(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container",
value = lightScheme?.let { Color(it.surfaceContainer) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = lightScheme ?: return@ColorPreference
viewModel.setLightScheme(
colors.toBuilder()
.setSurfaceContainer(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container High",
value = lightScheme?.let { Color(it.surfaceContainerHigh) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = lightScheme ?: return@ColorPreference
viewModel.setLightScheme(
colors.toBuilder()
.setSurfaceContainerHigh(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container Highest",
value = lightScheme?.let { Color(it.surfaceContainerHighest) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = lightScheme ?: return@ColorPreference
viewModel.setLightScheme(
colors.toBuilder()
.setSurfaceContainerHighest(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Tint",
value = lightScheme?.let { Color(it.surfaceTint) },
@@ -739,6 +832,101 @@ fun CustomColorSchemeSettingsScreen() {
)
}
)
ColorPreference(
title = "Surface Dim",
value = darkScheme?.let { Color(it.surfaceDim) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = darkScheme ?: return@ColorPreference
viewModel.setDarkScheme(
colors.toBuilder()
.setSurfaceDim(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Bright",
value = darkScheme?.let { Color(it.surfaceBright) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = darkScheme ?: return@ColorPreference
viewModel.setDarkScheme(
colors.toBuilder()
.setSurfaceBright(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container Lowest",
value = darkScheme?.let { Color(it.surfaceContainerLowest) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = darkScheme ?: return@ColorPreference
viewModel.setDarkScheme(
colors.toBuilder()
.setSurfaceContainerLowest(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container Low",
value = darkScheme?.let { Color(it.surfaceContainerLow) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = darkScheme ?: return@ColorPreference
viewModel.setDarkScheme(
colors.toBuilder()
.setSurfaceContainerLow(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container",
value = darkScheme?.let { Color(it.surfaceContainer) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = darkScheme ?: return@ColorPreference
viewModel.setDarkScheme(
colors.toBuilder()
.setSurfaceContainer(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container High",
value = darkScheme?.let { Color(it.surfaceContainerHigh) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = darkScheme ?: return@ColorPreference
viewModel.setDarkScheme(
colors.toBuilder()
.setSurfaceContainerHigh(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Container Highest",
value = darkScheme?.let { Color(it.surfaceContainerHighest) },
onValueChanged = {
if (it == null) return@ColorPreference
val colors = darkScheme ?: return@ColorPreference
viewModel.setDarkScheme(
colors.toBuilder()
.setSurfaceContainerHighest(it.toArgb())
.build()
)
}
)
ColorPreference(
title = "Surface Tint",
value = darkScheme?.let { Color(it.surfaceTint) },
@@ -11,6 +11,7 @@ import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.launch
import org.koin.core.component.KoinComponent
import org.koin.core.component.inject
import palettes.CorePalette
import palettes.TonalPalette
import scheme.Scheme
@@ -57,7 +58,7 @@ class CustomColorSchemeSettingsScreenVM : ViewModel(), KoinComponent {
.setAccent2(scheme.secondary)
.setAccent3(scheme.tertiary)
.setNeutral1(scheme.surface)
.setNeutral2(scheme.surfaceVariant)
.setNeutral2(scheme.outline)
.setError(scheme.error)
.build()
)
@@ -128,37 +129,8 @@ class CustomColorSchemeSettingsScreenVM : ViewModel(), KoinComponent {
val n2 = TonalPalette.fromInt(baseColors.neutral2)
val error = TonalPalette.fromInt(baseColors.error)
return CustomColors.Scheme.newBuilder()
.setPrimary(a1.tone(80))
.setSurfaceTint(a1.tone(80))
.setOnPrimary(a1.tone(20))
.setPrimaryContainer(a1.tone(30))
.setOnPrimaryContainer(a1.tone(90))
.setSecondary(a2.tone(80))
.setOnSecondary(a2.tone(20))
.setSecondaryContainer(a2.tone(30))
.setOnSecondaryContainer(a2.tone(90))
.setTertiary(a3.tone(80))
.setOnTertiary(a3.tone(20))
.setTertiaryContainer(a3.tone(30))
.setOnTertiaryContainer(a3.tone(90))
.setError(error.tone(80))
.setOnError(error.tone(20))
.setErrorContainer(error.tone(30))
.setOnErrorContainer(error.tone(80))
.setBackground(n1.tone(10))
.setOnBackground(n1.tone(90))
.setSurface(n1.tone(10))
.setOnSurface(n1.tone(90))
.setSurfaceVariant(n2.tone(30))
.setOnSurfaceVariant(n2.tone(80))
.setOutline(n2.tone(60))
.setOutlineVariant(n2.tone(30))
.setInverseSurface(n1.tone(90))
.setInverseOnSurface(n1.tone(20))
.setInversePrimary(a1.tone(40))
.setScrim(n1.tone(0))
.build()
val scheme = Scheme.darkFromCorePalette(CorePalette(a1, a2, a3, n1, n2, error))
return scheme.toSettingsColorsScheme()
}
private fun baseColorsToLightScheme(baseColors: CustomColors.BaseColors): CustomColors.Scheme {
@@ -169,36 +141,49 @@ class CustomColorSchemeSettingsScreenVM : ViewModel(), KoinComponent {
val n2 = TonalPalette.fromInt(baseColors.neutral2)
val error = TonalPalette.fromInt(baseColors.error)
val scheme = Scheme.lightFromCorePalette(CorePalette(a1, a2, a3, n1, n2, error))
return scheme.toSettingsColorsScheme()
}
private fun Scheme.toSettingsColorsScheme(): CustomColors.Scheme {
val scheme = this
return CustomColors.Scheme.newBuilder()
.setPrimary(a1.tone(40))
.setSurfaceTint(a1.tone(40))
.setOnPrimary(a1.tone(100))
.setPrimaryContainer(a1.tone(90))
.setOnPrimaryContainer(a1.tone(10))
.setSecondary(a2.tone(40))
.setOnSecondary(a2.tone(100))
.setSecondaryContainer(a2.tone(90))
.setOnSecondaryContainer(a2.tone(10))
.setTertiary(a3.tone(40))
.setOnTertiary(a3.tone(100))
.setTertiaryContainer(a3.tone(90))
.setOnTertiaryContainer(a3.tone(10))
.setError(error.tone(40))
.setOnError(error.tone(100))
.setErrorContainer(error.tone(90))
.setOnErrorContainer(error.tone(10))
.setBackground(n1.tone(99))
.setOnBackground(n1.tone(10))
.setSurface(n1.tone(99))
.setOnSurface(n1.tone(10))
.setSurfaceVariant(n2.tone(90))
.setOnSurfaceVariant(n2.tone(30))
.setOutline(n2.tone(50))
.setOutlineVariant(n2.tone(80))
.setInverseSurface(n1.tone(20))
.setInverseOnSurface(n1.tone(95))
.setInversePrimary(a1.tone(80))
.setScrim(n1.tone(0))
.setPrimary(scheme.primary)
.setSurfaceTint(scheme.primary)
.setOnPrimary(scheme.onPrimary)
.setPrimaryContainer(scheme.primaryContainer)
.setOnPrimaryContainer(scheme.onPrimaryContainer)
.setSecondary(scheme.secondary)
.setOnSecondary(scheme.onSecondary)
.setSecondaryContainer(scheme.secondaryContainer)
.setOnSecondaryContainer(scheme.onSecondaryContainer)
.setTertiary(scheme.tertiary)
.setOnTertiary(scheme.onTertiary)
.setTertiaryContainer(scheme.tertiaryContainer)
.setOnTertiaryContainer(scheme.onTertiaryContainer)
.setError(scheme.error)
.setOnError(scheme.onError)
.setErrorContainer(scheme.errorContainer)
.setOnErrorContainer(scheme.onErrorContainer)
.setBackground(scheme.background)
.setOnBackground(scheme.onBackground)
.setSurface(scheme.surface)
.setOnSurface(scheme.onSurface)
.setSurfaceVariant(scheme.surfaceVariant)
.setOnSurfaceVariant(scheme.onSurfaceVariant)
.setOutline(scheme.outline)
.setOutlineVariant(scheme.outlineVariant)
.setInverseSurface(scheme.inverseSurface)
.setInverseOnSurface(scheme.inverseOnSurface)
.setInversePrimary(scheme.inversePrimary)
.setScrim(scheme.scrim)
.setSurfaceDim(scheme.surfaceDim)
.setSurfaceBright(scheme.surfaceBright)
.setSurfaceContainerLowest(scheme.surfaceContainerLowest)
.setSurfaceContainerLow(scheme.surfaceContainerLow)
.setSurfaceContainer(scheme.surfaceContainer)
.setSurfaceContainerHigh(scheme.surfaceContainerHigh)
.setSurfaceContainerHighest(scheme.surfaceContainerHighest)
.build()
}
}
@@ -138,13 +138,9 @@ fun colorSchemeAsState(
return remember(darkTheme) {
mutableStateOf(
if (darkTheme) {
dynamicDarkColorScheme(context).copy(
outlineVariant = Color(context.getColor(android.R.color.system_neutral2_700))
)
dynamicDarkColorScheme(context)
} else {
dynamicLightColorScheme(context).copy(
outlineVariant = Color(context.getColor(android.R.color.system_neutral2_200))
)
dynamicLightColorScheme(context)
}
)
}
@@ -34,7 +34,14 @@ val LightBlackAndWhiteColorScheme = lightColorScheme(
outline = Color.Black,
surfaceTint = Color.White,
outlineVariant = Color.Black,
scrim = Color.Black
scrim = Color.Black,
surfaceDim = Color.White,
surfaceBright = Color.White,
surfaceContainer = Color.White,
surfaceContainerHigh = Color.White,
surfaceContainerHighest = Color.White,
surfaceContainerLow = Color.White,
surfaceContainerLowest = Color.White,
)
val DarkBlackAndWhiteColorScheme = darkColorScheme(
primary = Color.White,
@@ -65,5 +72,12 @@ val DarkBlackAndWhiteColorScheme = darkColorScheme(
outline = Color.White,
surfaceTint = Color.White,
outlineVariant = Color.White,
scrim = Color.White
scrim = Color.White,
surfaceDim = Color.Black,
surfaceBright = Color.Black,
surfaceContainer = Color.Black,
surfaceContainerHigh = Color.Black,
surfaceContainerHighest = Color.Black,
surfaceContainerLow = Color.Black,
surfaceContainerLowest = Color.Black,
)
@@ -35,5 +35,12 @@ fun CustomColorScheme(colors: Settings.AppearanceSettings.CustomColors.Scheme) :
onErrorContainer = Color(colors.onErrorContainer),
outlineVariant = Color(colors.outlineVariant),
scrim = Color(colors.scrim),
surfaceBright = Color(colors.surfaceBright),
surfaceDim = Color(colors.surfaceDim),
surfaceContainer = Color(colors.surfaceContainer),
surfaceContainerHigh = Color(colors.surfaceContainerHigh),
surfaceContainerHighest = Color(colors.surfaceContainerHighest),
surfaceContainerLow = Color(colors.surfaceContainerLow),
surfaceContainerLowest = Color(colors.surfaceContainerLowest),
)
}
@@ -5,59 +5,63 @@ import androidx.compose.material3.lightColorScheme
import androidx.compose.ui.graphics.Color
val LightDefaultColorScheme = lightColorScheme(
primary = Color(0xFF3C6089),
primary = Color(0xFF3D608A),
onPrimary = Color(0xFFFFFFFF),
primaryContainer = Color(0xFFD1E4FF),
onPrimaryContainer = Color(0xFF101C2B),
inversePrimary = Color(0xFFA6C9F8),
secondary = Color(0xFF41617E),
primaryContainer = Color(0xFFD2E4FF),
onPrimaryContainer = Color(0xFF001C37),
inversePrimary = Color(0xFFA5C9F8),
secondary = Color(0xFF535F70),
onSecondary = Color(0xFFFFFFFF),
secondaryContainer = Color(0xFFCCE5FF),
onSecondaryContainer = Color(0xFF001D33),
tertiary = Color(0xFF2C6674),
secondaryContainer = Color(0xFFD7E3F8),
onSecondaryContainer = Color(0xFF101C2B),
tertiary = Color(0xFF6B5778),
onTertiary = Color(0xFFFFFFFF),
tertiaryContainer = Color(0xFFB2EBFC),
onTertiaryContainer = Color(0xFF001F26),
background = Color(0xFFFDFCFF),
onBackground = Color(0xFF161C27),
surface = Color(0xFFFDFCFF),
onSurface = Color(0xFF161C27),
surfaceVariant = Color(0xFFD8E2FA),
onSurfaceVariant = Color(0xFF3D475A),
inverseSurface = Color(0xFF2B313C),
inverseOnSurface = Color(0xFFEBF0FF),
error = Color(0xFF98434C),
tertiaryContainer = Color(0xFFF3DAFF),
onTertiaryContainer = Color(0xFF251431),
surface = Color(0xFFFAF9FC),
onSurface = Color(0xFF1A1C1E),
onSurfaceVariant = Color(0xFF43474E),
inverseSurface = Color(0xFF2F3033),
inverseOnSurface = Color(0xFFF1F0F3),
error = Color(0xFFBA1A1A),
onError = Color(0xFFFFFFFF),
errorContainer = Color(0xFFFFDADD),
onErrorContainer = Color(0xFF40000E),
outline = Color(0xFF6D778C),
errorContainer = Color(0xFFFFDAD5),
onErrorContainer = Color(0xFF410002),
outline = Color(0xFF73777F),
outlineVariant = Color(0xFFC3C6CF),
scrim = Color(0xFF000000),
background = Color(0xFFFDFCFF),
onBackground = Color(0xFF1A1C1E),
surfaceVariant = Color(0xFFDFE2EB),
)
val DarkDefaultColorScheme = darkColorScheme(
primary = Color(0xFFA6C9F8),
onPrimary = Color(0xFF033259),
primaryContainer = Color(0xFF234870),
onPrimaryContainer = Color(0xFFD1E4FF),
inversePrimary = Color(0xFF3C6089),
secondary = Color(0xFFA9CAEC),
onSecondary = Color(0xFF0E334E),
secondaryContainer = Color(0xFF284965),
onSecondaryContainer = Color(0xFFCCE5FF),
tertiary = Color(0xFF97CFDF),
onTertiary = Color(0xFF003641),
tertiaryContainer = Color(0xFF094E5C),
onTertiaryContainer = Color(0xFFB2EBFC),
background = Color(0xFF161C27),
onBackground = Color(0xFFDDE2F2),
surface = Color(0xFF161C27),
onSurface = Color(0xFFDDE2F2),
surfaceVariant = Color(0xFF3D475A),
onSurfaceVariant = Color(0xFFBDC7DF),
inverseSurface = Color(0xFFDDE2F2),
inverseOnSurface = Color(0xFF2B313C),
error = Color(0xFFFFB3B9),
onError = Color(0xFF5D1521),
errorContainer = Color(0xFF7A2C36),
onErrorContainer = Color(0xFFFFB3B9),
outline = Color(0xFF8791A7),
primary = Color(0xFFA5C9F8),
onPrimary = Color(0xFF023258),
primaryContainer = Color(0xFF224970),
onPrimaryContainer = Color(0xFFD2E4FF),
inversePrimary = Color(0xFF3D608A),
secondary = Color(0xFFBBC7DB),
onSecondary = Color(0xFF253141),
secondaryContainer = Color(0xFF3C4858),
onSecondaryContainer = Color(0xFFD7E3F8),
tertiary = Color(0xFFD6BEE4),
onTertiary = Color(0xFF3B2947),
tertiaryContainer = Color(0xFF523F5F),
onTertiaryContainer = Color(0xFFF3DAFF),
surface = Color(0xFF1A1C1E),
onSurface = Color(0xFFE3E2E5),
onSurfaceVariant = Color(0xFFC3C6CF),
inverseSurface = Color(0xFFE3E2E5),
inverseOnSurface = Color(0xFF2F3033),
error = Color(0xFFFFB4AB),
onError = Color(0xFF690004),
errorContainer = Color(0xFF930009),
onErrorContainer = Color(0xFFFFB4AB),
outline = Color(0xFF8D9199),
outlineVariant = Color(0xFF43474E),
scrim = Color(0xFF000000),
background = Color(0xFF1A1C1E),
onBackground = Color(0xFFE3E2E5),
surfaceVariant = Color(0xFF43474E),
)
@@ -5,59 +5,63 @@ import androidx.compose.material3.lightColorScheme
import androidx.compose.ui.graphics.Color
val LightEasterEggColorScheme = lightColorScheme(
primary = Color(0xFFB30080),
primary = Color(0xFFB40180),
onPrimary = Color(0xFFFFFFFF),
primaryContainer = Color(0xFFFFD8EB),
onPrimaryContainer = Color(0xFF3C002A),
inversePrimary = Color(0xFFFFAEDA),
secondary = Color(0xFF9E00C6),
primaryContainer = Color(0xFFFFD8E9),
onPrimaryContainer = Color(0xFF3C0029),
inversePrimary = Color(0xFFFFAFD7),
secondary = Color(0xFF725763),
onSecondary = Color(0xFFFFFFFF),
secondaryContainer = Color(0xFFFED6FF),
onSecondaryContainer = Color(0xFF340044),
tertiary = Color(0xFF8F4E00),
secondaryContainer = Color(0xFFFDD9E7),
onSecondaryContainer = Color(0xFF29151F),
tertiary = Color(0xFF7F543B),
onTertiary = Color(0xFFFFFFFF),
tertiaryContainer = Color(0xFFFFDCBE),
onTertiaryContainer = Color(0xFF2E1500),
background = Color(0xFFFCFCF6),
onBackground = Color(0xFF1A1C19),
surface = Color(0xFFFCFCF6),
onSurface = Color(0xFF1A1C19),
surfaceVariant = Color(0xFFFFD6F5),
onSurfaceVariant = Color(0xFF6F2E67),
inverseSurface = Color(0xFF2F312D),
inverseOnSurface = Color(0xFFF1F1EB),
error = Color(0xFFB4271F),
tertiaryContainer = Color(0xFFFFDBC9),
onTertiaryContainer = Color(0xFF311302),
surface = Color(0xFFFCF8FC),
onSurface = Color(0xFF1C1B1E),
onSurfaceVariant = Color(0xFF4F4448),
inverseSurface = Color(0xFF313033),
inverseOnSurface = Color(0xFFF3EFF3),
error = Color(0xFFBA1A1A),
onError = Color(0xFFFFFFFF),
errorContainer = Color(0xFFFFDAD3),
onErrorContainer = Color(0xFF410001),
outline = Color(0xFFA55E9A),
errorContainer = Color(0xFFFFDAD5),
onErrorContainer = Color(0xFF410002),
outline = Color(0xFF817379),
outlineVariant = Color(0xFFD3C2C8),
scrim = Color(0xFF000000),
background = Color(0xFFFFFBFF),
onBackground = Color(0xFF1C1B1E),
surfaceVariant = Color(0xFFF0DEE4),
)
val DarkEasterEggColorScheme = darkColorScheme(
primary = Color(0xFFFFAEDA),
primary = Color(0xFFFFAFD7),
onPrimary = Color(0xFF620044),
primaryContainer = Color(0xFF890061),
onPrimaryContainer = Color(0xFFFFD8EB),
inversePrimary = Color(0xFFB30080),
secondary = Color(0xFFF5ADFF),
onSecondary = Color(0xFF55006C),
secondaryContainer = Color(0xFF780097),
onSecondaryContainer = Color(0xFFFED6FF),
tertiary = Color(0xFFFFB773),
onTertiary = Color(0xFF4C2700),
tertiaryContainer = Color(0xFF6D3A00),
onTertiaryContainer = Color(0xFFFFDCBE),
background = Color(0xFF1A1C19),
onBackground = Color(0xFFE2E3DC),
surface = Color(0xFF1A1C19),
onSurface = Color(0xFFE2E3DC),
surfaceVariant = Color(0xFF6F2E67),
onSurfaceVariant = Color(0xFFFEACEE),
inverseSurface = Color(0xFFE2E3DC),
inverseOnSurface = Color(0xFF2F312D),
error = Color(0xFFFFB4A8),
onError = Color(0xFF690001),
errorContainer = Color(0xFF910809),
onErrorContainer = Color(0xFFFFB4A8),
outline = Color(0xFFC277B5),
primaryContainer = Color(0xFF8A0061),
onPrimaryContainer = Color(0xFFFFD8E9),
inversePrimary = Color(0xFFB40180),
secondary = Color(0xFFE0BDCB),
onSecondary = Color(0xFF402A35),
secondaryContainer = Color(0xFF59404B),
onSecondaryContainer = Color(0xFFFDD9E7),
tertiary = Color(0xFFF3BA9B),
onTertiary = Color(0xFF4A2812),
tertiaryContainer = Color(0xFF643D26),
onTertiaryContainer = Color(0xFFFFDBC9),
surface = Color(0xFF1C1B1E),
onSurface = Color(0xFFE5E1E5),
onSurfaceVariant = Color(0xFFD3C2C8),
inverseSurface = Color(0xFFE5E1E5),
inverseOnSurface = Color(0xFF313033),
error = Color(0xFFFFB4AB),
onError = Color(0xFF690004),
errorContainer = Color(0xFF930009),
onErrorContainer = Color(0xFFFFB4AB),
outline = Color(0xFF9C8D92),
outlineVariant = Color(0xFF4F4448),
scrim = Color(0xFF000000),
background = Color(0xFF1C1B1E),
onBackground = Color(0xFFE5E1E5),
surfaceVariant = Color(0xFF4F4448),
)
@@ -45,5 +45,12 @@ fun MaterialYouCompatScheme(wallpaperColors: WallpaperColors, darkTheme: Boolean
onErrorContainer = Color(scheme.onErrorContainer),
scrim = Color(scheme.scrim),
outlineVariant = Color(scheme.outlineVariant),
surfaceBright = Color(scheme.surfaceBright),
surfaceContainer = Color(scheme.surfaceContainer),
surfaceContainerHigh = Color(scheme.surfaceContainerHigh),
surfaceContainerHighest = Color(scheme.surfaceContainerHighest),
surfaceContainerLow = Color(scheme.surfaceContainerLow),
surfaceContainerLowest = Color(scheme.surfaceContainerLowest),
surfaceDim = Color(scheme.surfaceDim),
)
}
@@ -61,6 +61,13 @@ message Settings {
uint32 outline_variant = 27;
uint32 scrim = 28;
uint32 surface_tint = 29;
uint32 surface_dim = 30;
uint32 surface_bright = 31;
uint32 surface_container_lowest = 32;
uint32 surface_container_low = 33;
uint32 surface_container = 34;
uint32 surface_container_high = 35;
uint32 surface_container_highest = 36;
}
Scheme light_scheme = 3;
Scheme dark_scheme = 4;
@@ -51,6 +51,15 @@ public final class CorePalette {
return new CorePalette(argb, true);
}
public CorePalette(TonalPalette a1, TonalPalette a2, TonalPalette a3, TonalPalette n1, TonalPalette n2, TonalPalette error) {
this.a1 = a1;
this.a2 = a2;
this.a3 = a3;
this.n1 = n1;
this.n2 = n2;
this.error = error;
}
private CorePalette(int argb, boolean isContent) {
Hct hct = Hct.fromInt(argb);
double hue = hct.getHue();
@@ -157,7 +157,7 @@ public class Scheme {
return darkFromCorePalette(CorePalette.contentOf(argb));
}
private static Scheme lightFromCorePalette(CorePalette core) {
public static Scheme lightFromCorePalette(CorePalette core) {
return new Scheme()
.withPrimary(core.a1.tone(40))
.withOnPrimary(core.a1.tone(100))
@@ -197,7 +197,7 @@ public class Scheme {
.withSurfaceContainerHighest(core.n1.tone(90));
}
private static Scheme darkFromCorePalette(CorePalette core) {
public static Scheme darkFromCorePalette(CorePalette core) {
return new Scheme()
.withPrimary(core.a1.tone(80))
.withOnPrimary(core.a1.tone(20))