Port B/W theme

This commit is contained in:
MM20 2023-08-23 16:19:10 +02:00
parent 5afa905e4e
commit f128469f68
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
2 changed files with 93 additions and 9 deletions

View File

@ -81,4 +81,84 @@ val DefaultDarkColorScheme = ColorScheme<Color>(
background = ColorRef(CorePaletteColor.Neutral, 6),
onBackground = ColorRef(CorePaletteColor.Neutral, 90),
scrim = ColorRef(CorePaletteColor.Neutral, 0),
)
val BlackAndWhiteThemeId = UUID(0L, 1L)
val BlackAndWhiteLightColorScheme = ColorScheme<Color?>(
primary = StaticColor(0xFF000000.toInt()),
onPrimary = StaticColor(0xFFFFFFFF.toInt()),
primaryContainer = StaticColor(0xFFFFFFFF.toInt()),
onPrimaryContainer = StaticColor(0xFF000000.toInt()),
inversePrimary = StaticColor(0xFFFFFFFF.toInt()),
secondary = StaticColor(0xFF000000.toInt()),
onSecondary = StaticColor(0xFFFFFFFF.toInt()),
secondaryContainer = StaticColor(0xFFFFFFFF.toInt()),
onSecondaryContainer = StaticColor(0xFF000000.toInt()),
tertiary = StaticColor(0xFF000000.toInt()),
onTertiary = StaticColor(0xFFFFFFFF.toInt()),
tertiaryContainer = StaticColor(0xFFFFFFFF.toInt()),
onTertiaryContainer = StaticColor(0xFF000000.toInt()),
background = StaticColor(0xFFFFFFFF.toInt()),
onBackground = StaticColor(0xFF000000.toInt()),
surface = StaticColor(0xFFFFFFFF.toInt()),
onSurface = StaticColor(0xFF000000.toInt()),
surfaceVariant = StaticColor(0xFFFFFFFF.toInt()),
onSurfaceVariant = StaticColor(0xFF000000.toInt()),
inverseSurface = StaticColor(0xFF000000.toInt()),
inverseOnSurface = StaticColor(0xFFFFFFFF.toInt()),
error = null,
onError = null,
errorContainer = null,
onErrorContainer = null,
outline = StaticColor(0xFF000000.toInt()),
surfaceTint = StaticColor(0xFFFFFFFF.toInt()),
outlineVariant = StaticColor(0xFF000000.toInt()),
scrim = StaticColor(0xFF000000.toInt()),
surfaceDim = StaticColor(0xFFFFFFFF.toInt()),
surfaceBright = StaticColor(0xFFFFFFFF.toInt()),
surfaceContainer = StaticColor(0xFFFFFFFF.toInt()),
surfaceContainerHigh = StaticColor(0xFFFFFFFF.toInt()),
surfaceContainerHighest = StaticColor(0xFFFFFFFF.toInt()),
surfaceContainerLow = StaticColor(0xFFFFFFFF.toInt()),
surfaceContainerLowest = StaticColor(0xFFFFFFFF.toInt()),
)
val BlackAndWhiteDarkColorScheme = ColorScheme<Color?>(
primary = StaticColor(0xFFFFFFFF.toInt()),
onPrimary = StaticColor(0xFF000000.toInt()),
primaryContainer = StaticColor(0xFF000000.toInt()),
onPrimaryContainer = StaticColor(0xFFFFFFFF.toInt()),
inversePrimary = StaticColor(0xFF000000.toInt()),
secondary = StaticColor(0xFFFFFFFF.toInt()),
onSecondary = StaticColor(0xFF000000.toInt()),
secondaryContainer = StaticColor(0xFF000000.toInt()),
onSecondaryContainer = StaticColor(0xFFFFFFFF.toInt()),
tertiary = StaticColor(0xFFFFFFFF.toInt()),
onTertiary = StaticColor(0xFF000000.toInt()),
tertiaryContainer = StaticColor(0xFF000000.toInt()),
onTertiaryContainer = StaticColor(0xFFFFFFFF.toInt()),
background = StaticColor(0xFF000000.toInt()),
onBackground = StaticColor(0xFFFFFFFF.toInt()),
surface = StaticColor(0xFF000000.toInt()),
onSurface = StaticColor(0xFFFFFFFF.toInt()),
surfaceVariant = StaticColor(0xFF000000.toInt()),
onSurfaceVariant = StaticColor(0xFFFFFFFF.toInt()),
inverseSurface = StaticColor(0xFFFFFFFF.toInt()),
inverseOnSurface = StaticColor(0xFF000000.toInt()),
error = null,
onError = null,
errorContainer = null,
onErrorContainer = null,
outline = StaticColor(0xFFFFFFFF.toInt()),
surfaceTint = StaticColor(0xFFFFFFFF.toInt()),
outlineVariant = StaticColor(0xFFFFFFFF.toInt()),
scrim = StaticColor(0xFFFFFFFF.toInt()),
surfaceDim = StaticColor(0xFF000000.toInt()),
surfaceBright = StaticColor(0xFF000000.toInt()),
surfaceContainer = StaticColor(0xFF000000.toInt()),
surfaceContainerHigh = StaticColor(0xFF000000.toInt()),
surfaceContainerHighest = StaticColor(0xFF000000.toInt()),
surfaceContainerLow = StaticColor(0xFF000000.toInt()),
surfaceContainerLowest = StaticColor(0xFF000000.toInt()),
)

View File

@ -20,15 +20,6 @@ class ThemeRepository(
) {
private val scope = CoroutineScope(Dispatchers.IO + Job())
private val customTheme = MutableStateFlow(Theme(
id = UUID.randomUUID(),
builtIn = false,
name = "Custom",
corePalette = EmptyCorePalette,
lightColorScheme = DefaultLightColorScheme,
darkColorScheme = DefaultDarkColorScheme,
))
fun getThemes(): Flow<List<Theme>> {
return database.themeDao().getAll().map {
getBuiltInThemes() + it.map { Theme(it) }
@ -37,6 +28,7 @@ class ThemeRepository(
fun getTheme(id: UUID): Flow<Theme?> {
if (id == DefaultThemeId) return flowOf(getDefaultTheme())
if (id == BlackAndWhiteThemeId) return flowOf(getBlackAndWhiteTheme())
return database.themeDao().get(id).map { it?.let { Theme(it) } }
}
@ -59,6 +51,7 @@ class ThemeRepository(
private fun getBuiltInThemes(): List<Theme> {
return listOf(
getDefaultTheme(),
getBlackAndWhiteTheme(),
)
}
@ -73,4 +66,15 @@ class ThemeRepository(
)
}
private fun getBlackAndWhiteTheme(): Theme {
return Theme(
id = BlackAndWhiteThemeId,
builtIn = true,
name = context.getString(R.string.preference_colors_bw),
corePalette = EmptyCorePalette,
lightColorScheme = BlackAndWhiteLightColorScheme,
darkColorScheme = BlackAndWhiteDarkColorScheme,
)
}
}