mirror of
https://github.com/mihonapp/mihon.git
synced 2025-12-10 07:22:25 +01:00
Fix long strip reader not scrolling on consecutive taps (#2650)
This commit is contained in:
@@ -13,6 +13,7 @@ The format is a modified version of [Keep a Changelog](https://keepachangelog.co
|
|||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
### Fixed
|
### Fixed
|
||||||
- Fix WebView crash introduced in 0.19.2 ([@bapeey](https://github.com/bapeey)) ([#2649](https://github.com/mihonapp/mihon/pull/2649))
|
- Fix WebView crash introduced in 0.19.2 ([@bapeey](https://github.com/bapeey)) ([#2649](https://github.com/mihonapp/mihon/pull/2649))
|
||||||
|
- Fix long strip reader not scrolling on consecutive taps ([@AntsyLich](https://github.com/AntsyLich)) ([#2650](https://github.com/mihonapp/mihon/pull/2650))
|
||||||
|
|
||||||
## [v0.19.2] - 2025-11-02
|
## [v0.19.2] - 2025-11-02
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class WebtoonRecyclerView @JvmOverloads constructor(
|
|||||||
private var lastVisibleItemPosition = 0
|
private var lastVisibleItemPosition = 0
|
||||||
private var currentScale = DEFAULT_RATE
|
private var currentScale = DEFAULT_RATE
|
||||||
|
|
||||||
private var isScrolling = false
|
private var isManuallyScrolling = false
|
||||||
private var hasTappedWhileScrolling = false
|
private var hasTappedWhileScrolling = false
|
||||||
|
|
||||||
var zoomOutDisabled = false
|
var zoomOutDisabled = false
|
||||||
@@ -70,7 +70,7 @@ class WebtoonRecyclerView @JvmOverloads constructor(
|
|||||||
@SuppressLint("ClickableViewAccessibility")
|
@SuppressLint("ClickableViewAccessibility")
|
||||||
override fun onTouchEvent(e: MotionEvent): Boolean {
|
override fun onTouchEvent(e: MotionEvent): Boolean {
|
||||||
if (e.actionMasked == MotionEvent.ACTION_DOWN) {
|
if (e.actionMasked == MotionEvent.ACTION_DOWN) {
|
||||||
hasTappedWhileScrolling = isScrolling
|
hasTappedWhileScrolling = isManuallyScrolling
|
||||||
}
|
}
|
||||||
detector.onTouchEvent(e)
|
detector.onTouchEvent(e)
|
||||||
return super.onTouchEvent(e)
|
return super.onTouchEvent(e)
|
||||||
@@ -91,7 +91,9 @@ class WebtoonRecyclerView @JvmOverloads constructor(
|
|||||||
val totalItemCount = layoutManager?.itemCount ?: 0
|
val totalItemCount = layoutManager?.itemCount ?: 0
|
||||||
atLastPosition = visibleItemCount > 0 && lastVisibleItemPosition == totalItemCount - 1
|
atLastPosition = visibleItemCount > 0 && lastVisibleItemPosition == totalItemCount - 1
|
||||||
atFirstPosition = firstVisibleItemPosition == 0
|
atFirstPosition = firstVisibleItemPosition == 0
|
||||||
isScrolling = state != SCROLL_STATE_IDLE
|
if (state == SCROLL_STATE_IDLE) {
|
||||||
|
isManuallyScrolling = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getPositionX(positionX: Float): Float {
|
private fun getPositionX(positionX: Float): Float {
|
||||||
@@ -321,6 +323,7 @@ class WebtoonRecyclerView @JvmOverloads constructor(
|
|||||||
|
|
||||||
if (startScroll) {
|
if (startScroll) {
|
||||||
isZoomDragging = true
|
isZoomDragging = true
|
||||||
|
isManuallyScrolling = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user