From 7626f36d2f25174a67fd8ad06e5373d87f8cebc6 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Mon, 23 Feb 2026 21:36:37 +0100 Subject: [PATCH] Fix search reset when not using swipe gesture to open search Fix #291 --- .../launcher2/ui/launcher/scaffold/LauncherScaffold.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 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 1fac93e31..a93e0e930 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 @@ -1,6 +1,7 @@ package de.mm20.launcher2.ui.launcher.scaffold import android.app.WallpaperManager +import android.util.Log import android.view.animation.PathInterpolator import androidx.activity.compose.LocalActivity import androidx.activity.compose.PredictiveBackHandler @@ -436,7 +437,7 @@ internal class LauncherScaffoldState( private set suspend fun onDragStarted() { - if (isLocked) return + if (isLocked || currentZOffset > 0f) return isDragged = true offsetAnimatable.stop() zAnimatable.stop() @@ -444,7 +445,7 @@ internal class LauncherScaffoldState( fun onDrag(offset: Offset) { - if (isLocked) return + if (isLocked || currentZOffset > 0f) return if (currentGesture == null || (!isSettledOnSecondaryPage && currentOffset.x.absoluteValue <= touchSlop && currentOffset.y.absoluteValue <= touchSlop)) { currentGesture = getSwipeDirection(config, offset) } @@ -601,7 +602,7 @@ internal class LauncherScaffoldState( */ suspend fun onDragStopped(velocity: Velocity, disallowPageChange: Boolean = false) { isDragged = false - if (isLocked) return + if (isLocked || currentZOffset > 0f) return val velocity = when { !isAtTop && !isAtBottom -> velocity.copy(y = 0f) !isAtTop -> velocity.copy(y = velocity.y.coerceAtMost(0f)) @@ -915,7 +916,6 @@ internal class LauncherScaffoldState( openSearch() return } - lock() currentGesture = gesture zAnimatable.snapTo(0f) @@ -1036,8 +1036,10 @@ internal class LauncherScaffoldState( } suspend fun reset() { + Log.d("MM20", "reset was called!!!") isSearchBarFocused = false currentOffset = Offset.Zero + currentZOffset = 0f unlock() isSettledOnSecondaryPage = false