From e844023506e864cfc776f3e3014f9130e311d484 Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Thu, 18 Jul 2024 17:19:47 +0700 Subject: [PATCH] ThemeEngine: Don't apply color to systembar on Android 15+ Android 15 enforces transparent colors on system bars Signed-off-by: Aayush Gupta --- app/src/main/java/com/aurora/extensions/Platform.kt | 4 ++++ app/src/main/java/com/aurora/extensions/ThemeEngine.kt | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/aurora/extensions/Platform.kt b/app/src/main/java/com/aurora/extensions/Platform.kt index df4934155..951a6581b 100644 --- a/app/src/main/java/com/aurora/extensions/Platform.kt +++ b/app/src/main/java/com/aurora/extensions/Platform.kt @@ -65,6 +65,10 @@ fun isUAndAbove(): Boolean { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE } +fun isVAndAbove(): Boolean { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM +} + fun isMIUI(): Boolean { return getSystemProperty("ro.miui.ui.version.name").isNotEmpty() } diff --git a/app/src/main/java/com/aurora/extensions/ThemeEngine.kt b/app/src/main/java/com/aurora/extensions/ThemeEngine.kt index 3dbfaf780..10e0732ec 100644 --- a/app/src/main/java/com/aurora/extensions/ThemeEngine.kt +++ b/app/src/main/java/com/aurora/extensions/ThemeEngine.kt @@ -51,7 +51,7 @@ fun AppCompatActivity.applyThemeAccent() { } 1 -> { - setSystemBarConfiguration(light = true) + if (!isVAndAbove()) setSystemBarConfiguration(light = true) if (isSAndAbove()) { uiModeManager.setApplicationNightMode(UiModeManager.MODE_NIGHT_NO) } else { @@ -60,7 +60,7 @@ fun AppCompatActivity.applyThemeAccent() { } else -> { - setSystemBarConfiguration(light = false) + if (!isVAndAbove()) setSystemBarConfiguration(light = false) if (isSAndAbove()) { uiModeManager.setApplicationNightMode(UiModeManager.MODE_NIGHT_YES) } else { @@ -70,6 +70,7 @@ fun AppCompatActivity.applyThemeAccent() { } } +@Suppress("DEPRECATION") private fun AppCompatActivity.setSystemBarConfiguration(light: Boolean) { WindowInsetsControllerCompat(this.window, this.window.decorView.rootView).apply { // Status bar color