From fdf178d4df5ca4819c972ca2730e86ef173beeca Mon Sep 17 00:00:00 2001 From: Hunter Nickel Date: Sat, 5 Jun 2021 08:37:21 -0600 Subject: [PATCH] Add behavior for modifying reader buttons depending on prev/next chapters (#5305) --- .../tachiyomi/ui/reader/ReaderActivity.kt | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 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 9570cad65..dd5ccca66 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 @@ -88,6 +88,9 @@ class ReaderActivity : BaseRxActivity() addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) } } + + private const val ENABLED_BUTTON_IMAGE_ALPHA = 255 + private const val DISABLED_BUTTON_IMAGE_ALPHA = 64 } private val preferences: PreferencesHelper by injectLazy() @@ -587,13 +590,28 @@ class ReaderActivity : BaseRxActivity() /** * Called from the presenter whenever a new [viewerChapters] have been set. It delegates the - * method to the current viewer, but also set the subtitle on the toolbar. + * method to the current viewer, but also set the subtitle on the toolbar, and + * hides or disables the reader prev/next buttons if there's a prev or next chapter */ fun setChapters(viewerChapters: ViewerChapters) { binding.pleaseWait.isVisible = false viewer?.setChapters(viewerChapters) binding.toolbar.subtitle = viewerChapters.currChapter.chapter.name + val leftChapterObject = if (viewer is R2LPagerViewer) viewerChapters.nextChapter else viewerChapters.prevChapter + val rightChapterObject = if (viewer is R2LPagerViewer) viewerChapters.prevChapter else viewerChapters.nextChapter + + if (leftChapterObject == null && rightChapterObject == null) { + binding.leftChapter.isVisible = false + binding.rightChapter.isVisible = false + } else { + binding.leftChapter.isEnabled = leftChapterObject != null + binding.leftChapter.imageAlpha = if (leftChapterObject != null) ENABLED_BUTTON_IMAGE_ALPHA else DISABLED_BUTTON_IMAGE_ALPHA + + binding.rightChapter.isEnabled = rightChapterObject != null + binding.rightChapter.imageAlpha = if (rightChapterObject != null) ENABLED_BUTTON_IMAGE_ALPHA else DISABLED_BUTTON_IMAGE_ALPHA + } + // Invalidate menu to show proper chapter bookmark state invalidateOptionsMenu() }