diff --git a/app/src/main/kotlin/com/tutpro/baresip/AppTheme.kt b/app/src/main/kotlin/com/tutpro/baresip/AppTheme.kt index 7c99179c..1e450c61 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/AppTheme.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/AppTheme.kt @@ -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 ) } diff --git a/app/src/main/kotlin/com/tutpro/baresip/Colors.kt b/app/src/main/kotlin/com/tutpro/baresip/Colors.kt index 2b3ee3ee..06da82f6 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Colors.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Colors.kt @@ -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)