mirror of
https://git.mihon.tech/mihonapp/mihon
synced 2024-11-27 09:44:55 +03:00
Add option to reverse tapping
This commit is contained in:
parent
ca75400467
commit
c54b8e62d7
6 changed files with 21 additions and 2 deletions
|
@ -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"
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 })
|
||||
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue