From 92d9b8bbd588f6b9e7fc6e86f25b66a277bd590a Mon Sep 17 00:00:00 2001 From: austinried <4966622+austinried@users.noreply.github.com> Date: Thu, 24 Sep 2026 23:34:30 +0000 Subject: [PATCH] bring the mini player back as soon as the keyboard starts to hide --- app/src/main/kotlin/com/subtracks/ui/AppRoot.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/subtracks/ui/AppRoot.kt b/app/src/main/kotlin/com/subtracks/ui/AppRoot.kt index 6116b749..b7ec7c3b 100644 --- a/app/src/main/kotlin/com/subtracks/ui/AppRoot.kt +++ b/app/src/main/kotlin/com/subtracks/ui/AppRoot.kt @@ -16,10 +16,12 @@ import androidx.compose.foundation.gestures.draggable import androidx.compose.foundation.gestures.rememberDraggableState import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.consumeWindowInsets import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.ime +import androidx.compose.foundation.layout.imeAnimationTarget import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.navigationBars import androidx.compose.runtime.Composable @@ -111,6 +113,7 @@ fun SubtracksRoot(root: RootViewModel = koinViewModel()) { } } +@OptIn(ExperimentalLayoutApi::class) @Composable private fun MainNavigation() { val navController = rememberNavController() @@ -147,8 +150,8 @@ private fun MainNavigation() { } val density = LocalDensity.current val navBarInset = with(density) { WindowInsets.navigationBars.getBottom(this).toDp() } - val imeVisible = WindowInsets.ime.getBottom(density) > 0 - val showMiniPlayer = playerVisible && !imeVisible + val imeLeaving = WindowInsets.imeAnimationTarget.getBottom(density) == 0 + val showMiniPlayer = playerVisible && imeLeaving Box(Modifier.fillMaxSize()) { Column(Modifier.fillMaxSize().imePadding()) {