Преглед на файлове

Invert tapping for Webtoon and Vertical

Andreas E преди 4 години
родител
ревизия
0ea0eba4f0

+ 1 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt

@@ -32,7 +32,7 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
             .register({ tappingEnabled = it })
 
         preferences.readWithTappingInverted()
-                .register({ tappingInverted = it })
+            .register({ tappingInverted = it })
 
         preferences.readWithLongTap()
             .register({ longTapEnabled = it })

+ 7 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt

@@ -81,17 +81,22 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
         })
         pager.tapListener = { event ->
             val tappingInverted = config.tappingInverted
+
             if (this is VerticalPagerViewer) {
                 val positionY = event.y
+                val topSideTap = positionY < pager.height * 0.33f && config.tappingEnabled
+                val bottomSideTap = positionY > pager.height * 0.66f && config.tappingEnabled
+
                 when {
-                    positionY < pager.height * 0.33f && config.tappingEnabled -> moveLeft()
-                    positionY > pager.height * 0.66f && config.tappingEnabled -> moveRight()
+                    topSideTap && !tappingInverted || bottomSideTap && tappingInverted -> moveLeft()
+                    bottomSideTap && !tappingInverted || topSideTap && tappingInverted -> moveRight()
                     else -> activity.toggleMenu()
                 }
             } else {
                 val positionX = event.x
                 val leftSideTap = positionX < pager.width * 0.33f && config.tappingEnabled
                 val rightSideTap = positionX > pager.width * 0.66f && config.tappingEnabled
+
                 when {
                     leftSideTap && !tappingInverted || rightSideTap && tappingInverted -> moveLeft()
                     rightSideTap && !tappingInverted || leftSideTap && tappingInverted -> moveRight()

+ 6 - 2
app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonViewer.kt

@@ -94,9 +94,13 @@ class WebtoonViewer(val activity: ReaderActivity, val isContinuous: Boolean = tr
         })
         recycler.tapListener = { event ->
             val positionY = event.rawY
+            val tappingInverted = config.tappingInverted
+            val topSideTap = positionY < recycler.height * 0.33f && config.tappingEnabled
+            val bottomSideTap = positionY > recycler.height * 0.66f && config.tappingEnabled
+
             when {
-                positionY < recycler.height * 0.33f && config.tappingEnabled -> scrollUp()
-                positionY > recycler.height * 0.66f && config.tappingEnabled -> scrollDown()
+                topSideTap && !tappingInverted || bottomSideTap && tappingInverted -> scrollUp()
+                bottomSideTap && !tappingInverted || topSideTap && tappingInverted -> scrollDown()
                 else -> activity.toggleMenu()
             }
         }