From bf7a067908f7130ebbe0d1350875212b600f6084 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+antsylich@users.noreply.github.com> Date: Tue, 4 Nov 2025 12:31:48 +0545 Subject: [PATCH] Fix long strip reader not scrolling on consecutive taps (#2650) (cherry picked from commit 0acd80dd95094a837c8dc05f3fc29ef3e69bdc21) --- .../ui/reader/viewer/webtoon/WebtoonRecyclerView.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt index 9b72ee750..cc87af36c 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonRecyclerView.kt @@ -36,7 +36,7 @@ class WebtoonRecyclerView @JvmOverloads constructor( private var lastVisibleItemPosition = 0 private var currentScale = DEFAULT_RATE - private var isScrolling = false + private var isManuallyScrolling = false private var hasTappedWhileScrolling = false var zoomOutDisabled = false @@ -70,7 +70,7 @@ class WebtoonRecyclerView @JvmOverloads constructor( @SuppressLint("ClickableViewAccessibility") override fun onTouchEvent(e: MotionEvent): Boolean { if (e.actionMasked == MotionEvent.ACTION_DOWN) { - hasTappedWhileScrolling = isScrolling + hasTappedWhileScrolling = isManuallyScrolling } detector.onTouchEvent(e) return super.onTouchEvent(e) @@ -91,7 +91,9 @@ class WebtoonRecyclerView @JvmOverloads constructor( val totalItemCount = layoutManager?.itemCount ?: 0 atLastPosition = visibleItemCount > 0 && lastVisibleItemPosition == totalItemCount - 1 atFirstPosition = firstVisibleItemPosition == 0 - isScrolling = state != SCROLL_STATE_IDLE + if (state == SCROLL_STATE_IDLE) { + isManuallyScrolling = false + } } private fun getPositionX(positionX: Float): Float { @@ -321,6 +323,7 @@ class WebtoonRecyclerView @JvmOverloads constructor( if (startScroll) { isZoomDragging = true + isManuallyScrolling = true } }