diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/gestures/GestureDetector.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/gestures/GestureDetector.kt index fe333c4d..c34f3cae 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/gestures/GestureDetector.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/gestures/GestureDetector.kt @@ -8,7 +8,7 @@ import androidx.compose.ui.geometry.Offset class GestureDetector { private var dragStart: Offset? = null - private var currentDrag : Offset? = null + var currentDrag : Offset? = null var gestureListener: OnGestureListener? = null diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/PagerScaffold.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/PagerScaffold.kt index 1cc32036..c643c52b 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/PagerScaffold.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/PagerScaffold.kt @@ -259,6 +259,14 @@ fun PagerScaffold( val nestedScrollConnection = remember { object : NestedScrollConnection { + override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset { + val drag = gestureManager.currentDrag + if (drag != null && (drag.y > 0 || (reverse && drag.x < 0 || !reverse && drag.x > 0))) { + gestureManager.dispatchDrag(available) + return available + } + return super.onPreScroll(available, source) + } override fun onPostScroll( consumed: Offset, available: Offset,