From 90d3dd22426bbf1b398026a28e4cb4d552e6f435 Mon Sep 17 00:00:00 2001 From: arkon Date: Thu, 12 Oct 2023 22:15:30 -0400 Subject: [PATCH] Use relative touch positions for reader tap events Fixes #10004 --- .../ui/reader/viewer/GestureDetectorWithLongTap.kt | 6 +++--- .../kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt | 2 +- .../tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/GestureDetectorWithLongTap.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/GestureDetectorWithLongTap.kt index a85f8dc7db..50c687a333 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/GestureDetectorWithLongTap.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/GestureDetectorWithLongTap.kt @@ -41,13 +41,13 @@ open class GestureDetectorWithLongTap( // This is the key difference with the built-in detector. We have to ignore the // event if the last up and current down are too close in time (double tap). if (ev.downTime - lastUp > doubleTapTime) { - downX = ev.rawX - downY = ev.rawY + downX = ev.x + downY = ev.y handler.postDelayed(longTapFn, longTapTime) } } MotionEvent.ACTION_MOVE -> { - if (abs(ev.rawX - downX) > slop || abs(ev.rawY - downY) > slop) { + if (abs(ev.x - downX) > slop || abs(ev.y - downY) > slop) { handler.removeCallbacks(longTapFn) } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt index de23ee9e61..71ec13ffb2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt @@ -102,7 +102,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : Viewer { }, ) pager.tapListener = { event -> - val pos = PointF(event.rawX / pager.width, event.rawY / pager.height) + val pos = PointF(event.x / pager.width, event.y / pager.height) when (config.navigator.getAction(pos)) { NavigationRegion.MENU -> activity.toggleMenu() NavigationRegion.NEXT -> moveToNext() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt index d85a5b04bd..d54432b6bf 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt @@ -111,7 +111,7 @@ class WebtoonViewer(val activity: ReaderActivity, val isContinuous: Boolean = tr }, ) recycler.tapListener = { event -> - val pos = PointF(event.rawX / recycler.width, event.rawY / recycler.height) + val pos = PointF(event.x / recycler.width, event.y / recycler.height) when (config.navigator.getAction(pos)) { NavigationRegion.MENU -> activity.toggleMenu() NavigationRegion.NEXT, NavigationRegion.RIGHT -> scrollDown()