From a4c10394b6d780f9132fc3a56663c3f1695d35f9 Mon Sep 17 00:00:00 2001 From: scb261 <65343233+scb261@users.noreply.github.com> Date: Fri, 26 Feb 2021 21:51:51 +0200 Subject: [PATCH] Split transition animation setting for webtoon and pager (#230) * Split transition animation setting for webtoon and pager * Move variables * Rename config variables back --- .../data/preference/PreferenceKeys.kt | 4 +++- .../data/preference/PreferencesHelper.kt | 4 +++- .../ui/reader/ReaderSettingsSheet.kt | 6 ++++- .../ui/reader/viewer/ViewerConfig.kt | 4 ---- .../ui/reader/viewer/pager/PagerConfig.kt | 9 ++++++++ .../ui/reader/viewer/webtoon/WebtoonConfig.kt | 5 ++++ .../ui/setting/SettingsReaderController.kt | 15 ++++++++---- .../main/res/layout/reader_pager_settings.xml | 8 +++++++ .../main/res/layout/reader_settings_sheet.xml | 23 +------------------ .../res/layout/reader_webtoon_settings.xml | 10 +++++++- 10 files changed, 53 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt index a2393adca..d8c315d05 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferenceKeys.kt @@ -17,7 +17,9 @@ object PreferenceKeys { const val rotation = "pref_rotation_type_key" - const val enableTransitions = "pref_enable_transitions_key" + const val enableTransitionsPager = "pref_enable_transitions_pager_key" + + const val enableTransitionsWebtoon = "pref_enable_transitions_webtoon_key" const val doubleTapAnimationSpeed = "pref_double_tap_anim_speed" diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt index c325179db..3e472c558 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/preference/PreferencesHelper.kt @@ -83,7 +83,9 @@ class PreferencesHelper(val context: Context) { fun rotation() = flowPrefs.getInt(Keys.rotation, 1) - fun pageTransitions() = flowPrefs.getBoolean(Keys.enableTransitions, true) + fun pageTransitionsPager() = flowPrefs.getBoolean(Keys.enableTransitionsPager, true) + + fun pageTransitionsWebtoon() = flowPrefs.getBoolean(Keys.enableTransitionsWebtoon, true) fun doubleTapAnimSpeed() = flowPrefs.getInt(Keys.doubleTapAnimationSpeed, 500) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderSettingsSheet.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderSettingsSheet.kt index 689550da8..eb9e06289 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderSettingsSheet.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderSettingsSheet.kt @@ -72,7 +72,6 @@ class ReaderSettingsSheet(private val activity: ReaderActivity) : BaseBottomShee binding.keepscreen.bindToPreference(preferences.keepScreenOn()) binding.longTap.bindToPreference(preferences.readWithLongTap()) binding.alwaysShowChapterTransition.bindToPreference(preferences.alwaysShowChapterTransition()) - binding.pageTransitions.bindToPreference(preferences.pageTransitions()) // SY --> binding.autoWebtoonMode.bindToPreference(preferences.useAutoWebtoon()) // SY <-- @@ -105,6 +104,10 @@ class ReaderSettingsSheet(private val activity: ReaderActivity) : BaseBottomShee binding.pagerPrefsGroup.scaleType.bindToPreference(preferences.imageScaleType(), 1) binding.pagerPrefsGroup.zoomStart.bindToPreference(preferences.zoomStart(), 1) binding.pagerPrefsGroup.cropBorders.bindToPreference(preferences.cropBorders()) + + // SY --> + binding.pagerPrefsGroup.pageTransitionsPager.bindToPreference(preferences.pageTransitionsPager()) + // SY <-- } /** @@ -125,6 +128,7 @@ class ReaderSettingsSheet(private val activity: ReaderActivity) : BaseBottomShee // SY --> binding.webtoonPrefsGroup.zoomOutWebtoon.bindToPreference(preferences.webtoonEnableZoomOut()) binding.webtoonPrefsGroup.cropBordersContinuesVertical.bindToPreference(preferences.cropBordersContinuesVertical()) + binding.webtoonPrefsGroup.pageTransitionsWebtoon.bindToPreference(preferences.pageTransitionsWebtoon()) // SY <-- } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt index 6614f9c6f..bf47e3fce 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/ViewerConfig.kt @@ -18,7 +18,6 @@ abstract class ViewerConfig(preferences: PreferencesHelper, private val scope: C var tappingEnabled = true var tappingInverted = TappingInvertMode.NONE var longTapEnabled = true - var usePageTransitions = false var doubleTapAnimDuration = 500 var volumeKeysEnabled = false var volumeKeysInverted = false @@ -39,9 +38,6 @@ abstract class ViewerConfig(preferences: PreferencesHelper, private val scope: C preferences.readWithLongTap() .register({ longTapEnabled = it }) - preferences.pageTransitions() - .register({ usePageTransitions = it }) - preferences.doubleTapAnimSpeed() .register({ doubleTapAnimDuration = it }) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt index 77b158865..a15bcd5c9 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerConfig.kt @@ -29,6 +29,10 @@ class PagerConfig( var imageCropBorders = false private set + // SY --> + var usePageTransitions = false + // SY <-- + init { preferences.imageScaleType() .register({ imageScaleType = it }, { imagePropertyChangedListener?.invoke() }) @@ -44,6 +48,11 @@ class PagerConfig( preferences.pagerNavInverted() .register({ tappingInverted = it }, { navigator.invertMode = it }) + + // SY --> + preferences.pageTransitionsPager() + .register({ usePageTransitions = it }, { imagePropertyChangedListener?.invoke() }) + // SY <-- } private fun zoomTypeFromPreference(value: Int) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt index eb3c21685..50623869b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/webtoon/WebtoonConfig.kt @@ -26,6 +26,8 @@ class WebtoonConfig( private set // SY --> + var usePageTransitions = false + var enableZoomOut = false private set @@ -54,6 +56,9 @@ class WebtoonConfig( preferences.cropBordersContinuesVertical() .register({ continuesCropBorders = it }, { imagePropertyChangedListener?.invoke() }) + + preferences.pageTransitionsWebtoon() + .register({ usePageTransitions = it }, { imagePropertyChangedListener?.invoke() }) // SY <-- } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt index 979328392..eb25b29f3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsReaderController.kt @@ -70,11 +70,6 @@ class SettingsReaderController : SettingsController() { defaultValue = false } } - switchPreference { - key = Keys.enableTransitions - titleRes = R.string.pref_page_transitions - defaultValue = true - } preferenceCategory { titleRes = R.string.pref_category_display @@ -319,6 +314,11 @@ class SettingsReaderController : SettingsController() { titleRes = R.string.pref_crop_borders defaultValue = false } + switchPreference { + key = Keys.enableTransitionsPager + titleRes = R.string.pref_page_transitions + defaultValue = true + } } preferenceCategory { @@ -374,6 +374,11 @@ class SettingsReaderController : SettingsController() { titleRes = R.string.pref_crop_borders defaultValue = false } + switchPreference { + key = Keys.enableTransitionsWebtoon + titleRes = R.string.pref_page_transitions + defaultValue = true + } switchPreference { key = Keys.webtoonEnableZoomOut titleRes = R.string.enable_zoom_out diff --git a/app/src/main/res/layout/reader_pager_settings.xml b/app/src/main/res/layout/reader_pager_settings.xml index c9b17165e..31231e1c6 100644 --- a/app/src/main/res/layout/reader_pager_settings.xml +++ b/app/src/main/res/layout/reader_pager_settings.xml @@ -82,6 +82,14 @@ android:textColor="?android:attr/textColorSecondary" app:layout_constraintTop_toBottomOf="@id/zoom_start" /> + + - - - - - - + app:layout_constraintTop_toBottomOf="@+id/viewer" /> + + + app:layout_constraintTop_toBottomOf="@+id/page_transitions_webtoon" />