mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-31 14:27:57 +01:00 
			
		
		
		
	Add option to reverse tapping
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user