Improved menu and alert background colors

This commit is contained in:
Juha Heinanen
2025-10-21 21:14:06 +03:00
parent 1548e48e08
commit 3c25978dc3
2 changed files with 32 additions and 25 deletions

View File

@ -28,17 +28,16 @@ fun AppTheme(
val useDynamicColors by remember { BaresipService.dynamicColors }
val useActualDynamicColors = useDynamicColors && VERSION.SDK_INT >= 31
val isDark = useDarkTheme || isSystemInDarkTheme()
Log.d(TAG, "Use actual dynamic colors: $useActualDynamicColors")
val colorScheme = when {
val baseColorScheme = when {
useActualDynamicColors -> {
if (useDarkTheme || isSystemInDarkTheme())
if (isDark)
dynamicDarkColorScheme(context)
else
dynamicLightColorScheme(context)
}
useDarkTheme || isSystemInDarkTheme() -> darkColorScheme(
isDark -> darkColorScheme(
primary = PrimaryDark,
onPrimary = OnPrimaryDark,
primaryContainer = PrimaryContainerDark,
@ -90,19 +89,27 @@ fun AppTheme(
)
}
val finalColorScheme = baseColorScheme.copy(
surfaceContainer = if (isDark) TertiaryContainerDark else TertiaryContainer,
surfaceContainerLow = if (isDark) TertiaryContainerDark else TertiaryContainer,
surfaceContainerHigh = if (isDark) TertiaryContainerDark else TertiaryContainer,
surfaceContainerLowest = if (isDark) TertiaryContainerDark else TertiaryContainer,
surfaceContainerHighest = if (isDark) TertiaryContainerDark else TertiaryContainer
)
val view = LocalView.current
if (!view.isInEditMode) {
SideEffect {
val window = (view.context as Activity).window
val insetsController = WindowCompat.getInsetsController(window, view)
val isBackgroundEffectivelyLight = ColorUtils.calculateLuminance(colorScheme.background.toArgb()) > 0.5
val isBackgroundEffectivelyLight = ColorUtils.calculateLuminance(finalColorScheme.background.toArgb()) > 0.5
insetsController.isAppearanceLightStatusBars = isBackgroundEffectivelyLight
insetsController.isAppearanceLightNavigationBars = isBackgroundEffectivelyLight
}
}
MaterialTheme(
colorScheme = colorScheme,
colorScheme = finalColorScheme,
content = content
)
}

View File

@ -5,23 +5,23 @@ import androidx.compose.ui.graphics.Color
// App's color palette is defined by these values, which are used to build
// the MaterialTheme in AppTheme.kt
val Primary = Color(0xff0ca1fd)
val Primary = Color(0xFF0CA1FD)
val OnPrimary = Color(0xFFFFFFFF)
val PrimaryContainer = Color(0xFFA1CBE6)
val OnPrimaryContainer = Color(0xFF032133)
val Secondary = Color(0xFF00B9A1)
val OnSecondary = Color(0xffe0e0e0)
val OnSecondary = Color(0xFFFFFFFF)
val SecondaryContainer = Color(0xFF9DE6DC)
val OnSecondaryContainer = Color(0xFF00332C)
val Tertiary = Color(0xFF9885B5)
val OnTertiary = Color(0xffe0e0e0)
val TertiaryContainer = Color(0xFFDAD2E6)
val OnTertiaryContainer = Color(0xFF2B2533)
val Tertiary = Color(0xFF8A8378)
val OnTertiary = Color(0xFFFFFFFF)
val TertiaryContainer = Color(0xFFE6E2DC)
val OnTertiaryContainer = Color(0xFF33302C)
val Error = Color(0xFFB3261E)
val OnError = Color(0xffe0e0e0)
val ErrorContainer = Color(0xFFE6BFB1)
val OnErrorContainer = Color(0xFF33180E)
val Background = Color(0xFFFCFCFC)
val OnError = Color(0xFFFFFFFF)
val ErrorContainer = Color(0xFFE6ACA9)
val OnErrorContainer = Color(0xFF330B09)
val Background = Color(0xFFfbfcfc)
val OnBackground = Color(0xFF313233)
val Surface = Color(0xFFfbfcfc)
val OnSurface = Color(0xFF313233)
@ -37,14 +37,14 @@ val SecondaryDark = Color(0xFF7FE6D8)
val OnSecondaryDark = Color(0xFF004C43)
val SecondaryContainerDark = Color(0xFF006659)
val OnSecondaryContainerDark = Color(0xFF9DE6DC)
val TertiaryDark = Color(0xFFD5CAE6)
val OnTertiaryDark = Color(0xFF40384C)
val TertiaryContainerDark = Color(0xFF564A66)
val OnTertiaryContainerDark = Color(0xFFDAD2E6)
val ErrorDark = Color(0xFFE6AF9C)
val OnErrorDark = Color(0xFF4C2415)
val ErrorContainerDark = Color(0xFF66301D)
val OnErrorContainerDark = Color(0xFFE6BFB1)
val TertiaryDark = Color(0xFFE6E0D8)
val OnTertiaryDark = Color(0xFF4C4943)
val TertiaryContainerDark = Color(0xFF666159)
val OnTertiaryContainerDark = Color(0xFFE6E2DC)
val ErrorDark = Color(0xFFE69490)
val OnErrorDark = Color(0xFF4C100D)
val ErrorContainerDark = Color(0xFF661511)
val OnErrorContainerDark = Color(0xFFE6ACA9)
val BackgroundDark = Color(0xFF313233)
val OnBackgroundDark = Color(0xFFe2e4e6)
val SurfaceDark = Color(0xFF313233)