From 4054f2a6a0b627ec87a18519da3e169f41413ca4 Mon Sep 17 00:00:00 2001 From: arkon Date: Tue, 30 Mar 2021 18:27:09 -0400 Subject: [PATCH] Add icon for crop border shortcut off state --- .../tachiyomi/ui/reader/ReaderActivity.kt | 49 +++++++++++++++---- .../main/res/drawable/ic_crop_off_24dp.xml | 18 +++++++ app/src/main/res/layout/reader_activity.xml | 4 +- 3 files changed, 60 insertions(+), 11 deletions(-) create mode 100644 app/src/main/res/drawable/ic_crop_off_24dp.xml 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 b1517f91e5..e8f105ecaf 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 @@ -343,7 +343,15 @@ class ReaderActivity : BaseRxActivity() } } - with(binding.actionReaderMode) { + initBottomShortcuts() + + // Set initial visibility + setMenuVisibility(menuVisible) + } + + private fun initBottomShortcuts() { + // Reading mode + with(binding.actionReadingMode) { setTooltip(R.string.viewer) setOnClickListener { @@ -352,10 +360,13 @@ class ReaderActivity : BaseRxActivity() presenter.setMangaViewer(newReadingMode.prefValue) menuToggleToast?.cancel() - menuToggleToast = toast(newReadingMode.stringRes) + if (!preferences.showReadingMode()) { + menuToggleToast = toast(newReadingMode.stringRes) + } } } + // Rotation with(binding.actionRotation) { setTooltip(R.string.pref_rotation_type) @@ -371,11 +382,9 @@ class ReaderActivity : BaseRxActivity() } } preferences.rotation().asImmediateFlow { updateRotationShortcut(it) } - .onEach { - updateRotationShortcut(it) - } .launchIn(lifecycleScope) + // Crop borders with(binding.actionCropBorders) { setTooltip(R.string.pref_crop_borders) @@ -388,7 +397,15 @@ class ReaderActivity : BaseRxActivity() } } } + updateCropBordersShortcut() + listOf(preferences.cropBorders(), preferences.cropBordersWebtoon()) + .forEach { pref -> + pref.asFlow() + .onEach { updateCropBordersShortcut() } + .launchIn(lifecycleScope) + } + // Settings sheet with(binding.actionSettings) { setTooltip(R.string.action_settings) @@ -396,9 +413,6 @@ class ReaderActivity : BaseRxActivity() ReaderSettingsSheet(this@ReaderActivity).show() } } - - // Set initial visibility - setMenuVisibility(menuVisible) } private fun updateRotationShortcut(preference: Int) { @@ -406,6 +420,23 @@ class ReaderActivity : BaseRxActivity() binding.actionRotation.setImageResource(orientation.iconRes) } + private fun updateCropBordersShortcut() { + val isPagerType = ReadingModeType.isPagerType(presenter.getMangaViewer()) + val enabled = if (isPagerType) { + preferences.cropBorders().get() + } else { + preferences.cropBordersWebtoon().get() + } + + binding.actionCropBorders.setImageResource( + if (enabled) { + R.drawable.ic_crop_24dp + } else { + R.drawable.ic_crop_off_24dp + } + ) + } + /** * Sets the visibility of the menu according to [visible] and with an optional parameter to * [animate] the views. @@ -483,7 +514,7 @@ class ReaderActivity : BaseRxActivity() val prevViewer = viewer val viewerMode = ReadingModeType.fromPreference(presenter.getMangaViewer(resolveDefault = false)) - binding.actionReaderMode.setImageResource(viewerMode.iconRes) + binding.actionReadingMode.setImageResource(viewerMode.iconRes) val newViewer = when (presenter.getMangaViewer()) { ReadingModeType.LEFT_TO_RIGHT.prefValue -> L2RPagerViewer(this) diff --git a/app/src/main/res/drawable/ic_crop_off_24dp.xml b/app/src/main/res/drawable/ic_crop_off_24dp.xml new file mode 100644 index 0000000000..5d234a0b04 --- /dev/null +++ b/app/src/main/res/drawable/ic_crop_off_24dp.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/app/src/main/res/layout/reader_activity.xml b/app/src/main/res/layout/reader_activity.xml index 0b730cf802..0c8b2a8e15 100644 --- a/app/src/main/res/layout/reader_activity.xml +++ b/app/src/main/res/layout/reader_activity.xml @@ -152,7 +152,7 @@ android:background="?attr/colorPrimary">