Add option to reverse tapping

This commit is contained in:
Andreas E 2020-06-21 16:47:18 +02:00
parent ca75400467
commit c54b8e62d7
No known key found for this signature in database
GPG key ID: D7D48B26482380B8
6 changed files with 21 additions and 2 deletions

View file

@ -55,6 +55,8 @@ object PreferenceKeys {
const val readWithTapping = "reader_tap"
const val readWithTappingInverted = "reader_volume_keys_inverted"
const val readWithLongTap = "reader_long_tap"
const val readWithVolumeKeys = "reader_volume_keys"

View file

@ -121,6 +121,8 @@ class PreferencesHelper(val context: Context) {
fun readWithTapping() = flowPrefs.getBoolean(Keys.readWithTapping, true)
fun readWithTappingInverted() = flowPrefs.getBoolean(Keys.readWithTappingInverted, false)
fun readWithLongTap() = flowPrefs.getBoolean(Keys.readWithLongTap, true)
fun readWithVolumeKeys() = flowPrefs.getBoolean(Keys.readWithVolumeKeys, false)

View file

@ -20,6 +20,7 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
var tappingEnabled = true
var longTapEnabled = true
var tappingInverted = false
var doubleTapAnimDuration = 500
var volumeKeysEnabled = false
var volumeKeysInverted = false
@ -30,6 +31,9 @@ abstract class ViewerConfig(preferences: PreferencesHelper) {
preferences.readWithTapping()
.register({ tappingEnabled = it })
preferences.readWithTappingInverted()
.register({ tappingInverted = it })
preferences.readWithLongTap()
.register({ longTapEnabled = it })

View file

@ -81,9 +81,14 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
})
pager.tapListener = { event ->
val positionX = event.x
val tappingInverted = config.tappingInverted
val leftSideTap = positionX < pager.width * 0.33f && config.tappingEnabled
val rightSideTap = positionX > pager.width * 0.66f && config.tappingEnabled
when {
positionX < pager.width * 0.33f && config.tappingEnabled -> moveLeft()
positionX > pager.width * 0.66f && config.tappingEnabled -> moveRight()
leftSideTap && !tappingInverted || rightSideTap && tappingInverted -> moveLeft()
rightSideTap && !tappingInverted || leftSideTap && tappingInverted -> moveRight()
else -> activity.toggleMenu()
}
}

View file

@ -190,6 +190,11 @@ class SettingsReaderController : SettingsController() {
titleRes = R.string.pref_read_with_tapping
defaultValue = true
}
switchPreference {
key = Keys.readWithTappingInverted
titleRes = R.string.pref_read_with_tapping_inverted
defaultValue = false
}.apply { dependency = Keys.readWithTapping }
switchPreference {
key = Keys.readWithLongTap
titleRes = R.string.pref_read_with_long_tap

View file

@ -665,5 +665,6 @@
<string name="channel_backup_restore">Backup and restore</string>
<string name="channel_backup_restore_progress">Progress</string>
<string name="channel_backup_restore_complete">Complete</string>
<string name="pref_read_with_tapping_inverted">Invert tapping</string>
</resources>