From 437c4b9bc558332085f94f408ac3e02767f88cc2 Mon Sep 17 00:00:00 2001 From: rifsxd Date: Wed, 28 May 2025 16:11:00 +0600 Subject: [PATCH] manager: improved AMOLED mode --- .../java/com/rifsxd/ksunext/ui/theme/Theme.kt | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/manager/app/src/main/java/com/rifsxd/ksunext/ui/theme/Theme.kt b/manager/app/src/main/java/com/rifsxd/ksunext/ui/theme/Theme.kt index 4a65c193..4a76375a 100644 --- a/manager/app/src/main/java/com/rifsxd/ksunext/ui/theme/Theme.kt +++ b/manager/app/src/main/java/com/rifsxd/ksunext/ui/theme/Theme.kt @@ -28,6 +28,16 @@ private val LightColorScheme = lightColorScheme( tertiary = SECONDARY_LIGHT ) +fun Color.blend(other: Color, ratio: Float): Color { + val inverse = 1f - ratio + return Color( + red = red * inverse + other.red * ratio, + green = green * inverse + other.green * ratio, + blue = blue * inverse + other.blue * ratio, + alpha = alpha + ) +} + @Composable fun KernelSUTheme( darkTheme: Boolean = isSystemInDarkTheme(), @@ -42,7 +52,13 @@ fun KernelSUTheme( val dynamicScheme = dynamicDarkColorScheme(context) dynamicScheme.copy( background = AMOLED_BLACK, - surface = AMOLED_BLACK + surface = AMOLED_BLACK, + surfaceVariant = dynamicScheme.surfaceVariant.blend(AMOLED_BLACK, 0.6f), + surfaceContainer = dynamicScheme.surfaceContainer.blend(AMOLED_BLACK, 0.6f), + surfaceContainerLow = dynamicScheme.surfaceContainerLow.blend(AMOLED_BLACK, 0.6f), + surfaceContainerLowest = dynamicScheme.surfaceContainerLowest.blend(AMOLED_BLACK, 0.6f), + surfaceContainerHigh = dynamicScheme.surfaceContainerHigh.blend(AMOLED_BLACK, 0.6f), + surfaceContainerHighest = dynamicScheme.surfaceContainerHighest.blend(AMOLED_BLACK, 0.6f), ) } dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {