From d88c8baa83c1a2074e1131739c16c4943de7fd7c Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Mon, 27 Oct 2025 13:35:53 -0300 Subject: [PATCH] Fix tap areas in stories viewer. --- .../viewer/page/StoryViewerPageFragment.kt | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt index 8e6ef9e794..70813b8ee9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/page/StoryViewerPageFragment.kt @@ -31,7 +31,6 @@ import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import androidx.core.os.bundleOf import androidx.core.text.util.LinkifyCompat -import androidx.core.view.GestureDetectorCompat import androidx.core.view.animation.PathInterpolatorCompat import androidx.core.view.doOnNextLayout import androidx.fragment.app.DialogFragment @@ -252,7 +251,18 @@ class StoryViewerPageFragment : viewModel::goToPreviousPost ) - val gestureDetector = GestureDetectorCompat( + val parentListener = GestureDetector( + requireContext(), + ParentGestureListener( + singleTapHandler = singleTapHandler + ) + ) + + storyPageContainer.setOnTouchListener { v, event -> + parentListener.onTouchEvent(event) + } + + val gestureDetector = GestureDetector( requireContext(), StoryGestureListener( cardWrapper, @@ -1363,6 +1373,19 @@ class StoryViewerPageFragment : } } + private class ParentGestureListener( + private val singleTapHandler: SingleTapHandler + ) : GestureDetector.SimpleOnGestureListener() { + override fun onDown(e: MotionEvent): Boolean { + return true + } + + override fun onSingleTapUp(e: MotionEvent): Boolean { + singleTapHandler.onActionUp(e) + return true + } + } + private class StoryGestureListener( private val container: View, private val singleTapHandler: SingleTapHandler,