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,