From 7277c5b323931a7699e744808f95bcf9426dba09 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Mon, 10 Nov 2025 21:39:04 +0100 Subject: [PATCH] Reapply system bar settings on resume Fix #1682 --- .../ui/launcher/scaffold/LauncherScaffold.kt | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt index ed901b9db..63aba5f64 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt @@ -15,7 +15,6 @@ import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.foundation.background -import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.gestures.Orientation import androidx.compose.foundation.gestures.detectTapGestures import androidx.compose.foundation.gestures.draggable @@ -40,7 +39,6 @@ import androidx.compose.foundation.layout.navigationBars import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.statusBars import androidx.compose.foundation.layout.statusBarsPadding import androidx.compose.foundation.layout.union @@ -1252,18 +1250,20 @@ internal fun LauncherScaffold( state.darkStatusBarIcons, state.darkNavBarIcons, ) { - val insetsController = WindowInsetsControllerCompat(activity.window, view) - insetsController.isAppearanceLightStatusBars = state.darkStatusBarIcons - insetsController.isAppearanceLightNavigationBars = state.darkNavBarIcons - if (config.showStatusBar) { - insetsController.show(WindowInsetsCompat.Type.statusBars()) - } else { - insetsController.hide(WindowInsetsCompat.Type.statusBars()) - } - if (config.showNavBar) { - insetsController.show(WindowInsetsCompat.Type.navigationBars()) - } else { - insetsController.hide(WindowInsetsCompat.Type.navigationBars()) + lifecycleOwner.repeatOnLifecycle(Lifecycle.State.RESUMED) { + val insetsController = WindowInsetsControllerCompat(activity.window, view) + insetsController.isAppearanceLightStatusBars = state.darkStatusBarIcons + insetsController.isAppearanceLightNavigationBars = state.darkNavBarIcons + if (config.showStatusBar) { + insetsController.show(WindowInsetsCompat.Type.statusBars()) + } else { + insetsController.hide(WindowInsetsCompat.Type.statusBars()) + } + if (config.showNavBar) { + insetsController.show(WindowInsetsCompat.Type.navigationBars()) + } else { + insetsController.hide(WindowInsetsCompat.Type.navigationBars()) + } } }