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

@ -82,3 +82,83 @@ val DefaultDarkColorScheme = ColorScheme<Color>(
onBackground = ColorRef(CorePaletteColor.Neutral, 90), onBackground = ColorRef(CorePaletteColor.Neutral, 90),
scrim = ColorRef(CorePaletteColor.Neutral, 0), 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 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>> { fun getThemes(): Flow<List<Theme>> {
return database.themeDao().getAll().map { return database.themeDao().getAll().map {
getBuiltInThemes() + it.map { Theme(it) } getBuiltInThemes() + it.map { Theme(it) }
@ -37,6 +28,7 @@ class ThemeRepository(
fun getTheme(id: UUID): Flow<Theme?> { fun getTheme(id: UUID): Flow<Theme?> {
if (id == DefaultThemeId) return flowOf(getDefaultTheme()) if (id == DefaultThemeId) return flowOf(getDefaultTheme())
if (id == BlackAndWhiteThemeId) return flowOf(getBlackAndWhiteTheme())
return database.themeDao().get(id).map { it?.let { Theme(it) } } return database.themeDao().get(id).map { it?.let { Theme(it) } }
} }
@ -59,6 +51,7 @@ class ThemeRepository(
private fun getBuiltInThemes(): List<Theme> { private fun getBuiltInThemes(): List<Theme> {
return listOf( return listOf(
getDefaultTheme(), 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,
)
}
} }