From 5fa3d55bc9c2dfd536273eb08178ba8076b5917e Mon Sep 17 00:00:00 2001 From: arkon Date: Sun, 30 May 2021 10:54:24 -0400 Subject: [PATCH] Show toast when toggling crop borders Consistent with reading mode and orientation shortcuts. (cherry picked from commit 1feac9c5594e85a9e8ef82ac69cb048b7eda2598) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt --- .../data/preference/PreferencesHelper.kt | 3 +- .../tachiyomi/ui/reader/ReaderActivity.kt | 67 +++++++++++-------- app/src/main/res/values/strings.xml | 2 + 3 files changed, 43 insertions(+), 29 deletions(-) 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 94c8f6289..beb4936b9 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 @@ -40,8 +40,9 @@ operator fun Preference>.minusAssign(item: T) { set(get() - item) } -fun Preference.toggle() { +fun Preference.toggle(): Boolean { set(!get()) + return get() } class PreferencesHelper(val context: Context) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index b6c46e4ef..0897d0e94 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -490,6 +490,45 @@ class ReaderActivity : BaseRxActivity() } } + // Crop borders + with(binding.actionCropBorders) { + setTooltip(R.string.pref_crop_borders) + + setOnClickListener { + // SY --> + val mangaViewer = presenter.getMangaReadingMode() + // SY <-- + val isPagerType = ReadingModeType.isPagerType(mangaViewer) + val enabled = if (isPagerType) { + preferences.cropBorders().toggle() + } else { + // SY --> + if (ReadingModeType.fromPreference(mangaViewer) == ReadingModeType.CONTINUOUS_VERTICAL) { + preferences.cropBordersContinuousVertical().toggle() + } else { + preferences.cropBordersWebtoon().toggle() + } + // SY <-- + } + + menuToggleToast?.cancel() + menuToggleToast = toast( + if (enabled) { + R.string.on + } else { + R.string.off + } + ) + } + } + updateCropBordersShortcut() + listOf(preferences.cropBorders(), preferences.cropBordersWebtoon() /* SY --> */, preferences.cropBordersContinuousVertical()/* SY <-- */) + .forEach { pref -> + pref.asFlow() + .onEach { updateCropBordersShortcut() } + .launchIn(lifecycleScope) + } + // Rotation with(binding.actionRotation) { setTooltip(R.string.rotation_type) @@ -512,34 +551,6 @@ class ReaderActivity : BaseRxActivity() } } - // Crop borders - with(binding.actionCropBorders) { - setTooltip(R.string.pref_crop_borders) - - setOnClickListener { - val mangaViewer = presenter.getMangaReadingMode() - val isPagerType = ReadingModeType.isPagerType(mangaViewer) - if (isPagerType) { - preferences.cropBorders().toggle() - } else { - // SY --> - if (ReadingModeType.fromPreference(mangaViewer) == ReadingModeType.CONTINUOUS_VERTICAL) { - preferences.cropBordersContinuousVertical().toggle() - } else { - preferences.cropBordersWebtoon().toggle() - } - // SY <-- - } - } - } - updateCropBordersShortcut() - listOf(preferences.cropBorders(), preferences.cropBordersWebtoon() /* SY --> */, preferences.cropBordersContinuousVertical()/* SY <-- */) - .forEach { pref -> - pref.asFlow() - .onEach { updateCropBordersShortcut() } - .launchIn(lifecycleScope) - } - // Settings sheet with(binding.actionSettings) { setTooltip(R.string.action_settings) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 77da27105..4de68a3ab 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -277,6 +277,8 @@ 32-bit color Reduces banding, but impacts performance Crop borders + On + Off Custom brightness Grayscale Custom color filter