Use enum instead of boolean

This commit is contained in:
Andreas E
2020-06-23 12:09:10 +02:00
parent 0ea0eba4f0
commit c8a6a2653f
7 changed files with 41 additions and 8 deletions
@@ -1,6 +1,7 @@
package eu.kanade.tachiyomi.ui.reader.viewer
import com.tfcporciuncula.flow.Preference
import eu.kanade.tachiyomi.data.preference.PreferenceValues.TappingInvertMode
import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -20,7 +21,7 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
var tappingEnabled = true
var longTapEnabled = true
var tappingInverted = false
var tappingInverted = TappingInvertMode.NONE
var doubleTapAnimDuration = 500
var volumeKeysEnabled = false
var volumeKeysInverted = false
@@ -7,6 +7,7 @@ import android.view.View
import android.view.ViewGroup.LayoutParams
import androidx.viewpager.widget.ViewPager
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.preference.PreferenceValues.TappingInvertMode
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
@@ -80,10 +81,11 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
}
})
pager.tapListener = { event ->
val tappingInverted = config.tappingInverted
val invertMode = config.tappingInverted
if (this is VerticalPagerViewer) {
val positionY = event.y
val tappingInverted = invertMode == TappingInvertMode.VERTICAL || invertMode == TappingInvertMode.BOTH
val topSideTap = positionY < pager.height * 0.33f && config.tappingEnabled
val bottomSideTap = positionY > pager.height * 0.66f && config.tappingEnabled
@@ -94,6 +96,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
}
} else {
val positionX = event.x
val tappingInverted = invertMode == TappingInvertMode.HORIZONTAL || invertMode == TappingInvertMode.BOTH
val leftSideTap = positionX < pager.width * 0.33f && config.tappingEnabled
val rightSideTap = positionX > pager.width * 0.66f && config.tappingEnabled
@@ -7,6 +7,7 @@ import android.view.ViewGroup
import android.view.ViewGroup.LayoutParams.MATCH_PARENT
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.WebtoonLayoutManager
import eu.kanade.tachiyomi.data.preference.PreferenceValues.TappingInvertMode
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
import eu.kanade.tachiyomi.ui.reader.model.ReaderPage
@@ -14,10 +15,10 @@ import eu.kanade.tachiyomi.ui.reader.model.ViewerChapters
import eu.kanade.tachiyomi.ui.reader.viewer.BaseViewer
import eu.kanade.tachiyomi.util.view.gone
import eu.kanade.tachiyomi.util.view.visible
import kotlin.math.max
import kotlin.math.min
import rx.subscriptions.CompositeSubscription
import timber.log.Timber
import kotlin.math.max
import kotlin.math.min
/**
* Implementation of a [BaseViewer] to display pages with a [RecyclerView].
@@ -94,10 +95,12 @@ class WebtoonViewer(val activity: ReaderActivity, val isContinuous: Boolean = tr
})
recycler.tapListener = { event ->
val positionY = event.rawY
val tappingInverted = config.tappingInverted
val invertMode = config.tappingInverted
val topSideTap = positionY < recycler.height * 0.33f && config.tappingEnabled
val bottomSideTap = positionY > recycler.height * 0.66f && config.tappingEnabled
val tappingInverted = invertMode == TappingInvertMode.VERTICAL || invertMode == TappingInvertMode.BOTH
when {
topSideTap && !tappingInverted || bottomSideTap && tappingInverted -> scrollUp()
bottomSideTap && !tappingInverted || topSideTap && tappingInverted -> scrollDown()