From b51d1ee47a0ee29f85e394747b0f264a89bf68d9 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Mon, 14 Jul 2025 20:35:27 +0700 Subject: [PATCH] fix: Transparent status on fullscreen dialog (#2654) --- .../manager/ui/component/FullscreenDialog.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/app/revanced/manager/ui/component/FullscreenDialog.kt b/app/src/main/java/app/revanced/manager/ui/component/FullscreenDialog.kt index 97fb98d9..539d599c 100644 --- a/app/src/main/java/app/revanced/manager/ui/component/FullscreenDialog.kt +++ b/app/src/main/java/app/revanced/manager/ui/component/FullscreenDialog.kt @@ -1,6 +1,7 @@ package app.revanced.manager.ui.component import android.view.WindowManager +import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.graphics.Color @@ -9,6 +10,7 @@ import androidx.compose.ui.platform.LocalView import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties import androidx.compose.ui.window.DialogWindowProvider +import androidx.core.view.WindowCompat private val properties = DialogProperties( usePlatformDefaultWidth = false, @@ -22,11 +24,17 @@ fun FullscreenDialog(onDismissRequest: () -> Unit, content: @Composable () -> Un onDismissRequest = onDismissRequest, properties = properties ) { - val window = (LocalView.current.parent as DialogWindowProvider).window - LaunchedEffect(Unit) { + val view = LocalView.current + val isDarkTheme = isSystemInDarkTheme() + LaunchedEffect(isDarkTheme) { + val window = (view.parent as DialogWindowProvider).window window.statusBarColor = Color.Transparent.toArgb() window.navigationBarColor = Color.Transparent.toArgb() window.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS) + + val insetsController = WindowCompat.getInsetsController(window, view) + insetsController.isAppearanceLightStatusBars = !isDarkTheme + insetsController.isAppearanceLightNavigationBars = !isDarkTheme } content()