diff --git a/app/src/main/kotlin/com/tutpro/baresip/AppTheme.kt b/app/src/main/kotlin/com/tutpro/baresip/AppTheme.kt index 1e450c61..f7aa0214 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/AppTheme.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/AppTheme.kt @@ -2,7 +2,6 @@ package com.tutpro.baresip import android.app.Activity import android.os.Build.VERSION -import android.util.Log import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.MaterialTheme import androidx.compose.material3.darkColorScheme @@ -30,7 +29,7 @@ fun AppTheme( val useActualDynamicColors = useDynamicColors && VERSION.SDK_INT >= 31 val isDark = useDarkTheme || isSystemInDarkTheme() - val baseColorScheme = when { + val colorScheme = when { useActualDynamicColors -> { if (isDark) dynamicDarkColorScheme(context) @@ -60,7 +59,13 @@ fun AppTheme( onSurface = OnSurfaceDark, surfaceVariant = SurfaceVariantDark, onSurfaceVariant = OnSurfaceVariantDark, - outline = OutlineDark + surfaceContainer = SurfaceContainerDark, + surfaceContainerLow = SurfaceContainerLowDark, + surfaceContainerHigh = SurfaceContainerHighDark, + surfaceContainerLowest = SurfaceContainerLowestDark, + surfaceContainerHighest = SurfaceContainerHighestDark, + outline = OutlineDark, + outlineVariant = OutlineVariantDark ) else -> lightColorScheme( primary = Primary, @@ -85,31 +90,29 @@ fun AppTheme( onSurface = OnSurface, surfaceVariant = SurfaceVariant, onSurfaceVariant = OnSurfaceVariant, - outline = Outline + surfaceContainer = SurfaceContainer, + surfaceContainerLow = SurfaceContainerLow, + surfaceContainerHigh = SurfaceContainerHigh, + surfaceContainerLowest = SurfaceContainerLowest, + surfaceContainerHighest = SurfaceContainerHighest, + outline = Outline, + outlineVariant = OutlineVariant ) } - 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(finalColorScheme.background.toArgb()) > 0.5 + val isBackgroundEffectivelyLight = ColorUtils.calculateLuminance(colorScheme.background.toArgb()) > 0.5 insetsController.isAppearanceLightStatusBars = isBackgroundEffectivelyLight insetsController.isAppearanceLightNavigationBars = isBackgroundEffectivelyLight } } MaterialTheme( - colorScheme = finalColorScheme, + colorScheme = colorScheme, 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 06da82f6..054b167d 100644 --- a/app/src/main/kotlin/com/tutpro/baresip/Colors.kt +++ b/app/src/main/kotlin/com/tutpro/baresip/Colors.kt @@ -27,7 +27,13 @@ val Surface = Color(0xFFfbfcfc) val OnSurface = Color(0xFF313233) val SurfaceVariant = Color(0xFFd8e0e6) val OnSurfaceVariant = Color(0xFF535f66) +val SurfaceContainerLowest = TertiaryContainer +val SurfaceContainerLow = TertiaryContainer +val SurfaceContainer = TertiaryContainer +val SurfaceContainerHigh = TertiaryContainer +val SurfaceContainerHighest = TertiaryContainer val Outline = Color(0xFF7c8e99) +val OutlineVariant = Color(0xFFC2C7CF) val PrimaryDark = Color(0xFF84C1E6) val OnPrimaryDark = Color(0xFF04314C) @@ -51,4 +57,10 @@ val SurfaceDark = Color(0xFF313233) val OnSurfaceDark = Color(0xFFe2e4e6) val SurfaceVariantDark = Color(0xFF535f66) val OnSurfaceVariantDark = Color(0xFFd2dee6) +val SurfaceContainerLowestDark = TertiaryContainerDark +val SurfaceContainerLowDark = TertiaryContainerDark +val SurfaceContainerDark = TertiaryContainerDark +val SurfaceContainerHighDark = TertiaryContainerDark +val SurfaceContainerHighestDark = TertiaryContainerDark val OutlineDark = Color(0xFF9daab3) +val OutlineVariantDark = Color(0xFF42474E)