From fa29b914cc9787f6ce54b1113848627f3c8a5800 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Mon, 11 May 2020 20:10:51 -0400 Subject: [PATCH] Multiple bug fixes and changes - Fixed options menu - Fixed merge with another - Migrate to MaterialFastScroll --- .../ui/manga/MangaAllInOneController.kt | 35 ++++++++++++++++--- .../ui/manga/MangaAllInOnePresenter.kt | 7 ++-- .../manga_all_in_one_controller.xml | 3 +- .../layout/manga_all_in_one_controller.xml | 3 +- 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOneController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOneController.kt index 47540fda1..1b5062c50 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOneController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOneController.kt @@ -2,12 +2,14 @@ package eu.kanade.tachiyomi.ui.manga import android.animation.Animator import android.animation.AnimatorListenerAdapter +import android.app.Activity import android.content.Context import android.content.Intent import android.os.Bundle import android.text.TextUtils import android.view.LayoutInflater import android.view.Menu +import android.view.MenuInflater import android.view.MenuItem import android.view.View import android.view.ViewGroup @@ -51,6 +53,7 @@ import eu.kanade.tachiyomi.ui.main.offsetAppbarHeight import eu.kanade.tachiyomi.ui.manga.chapter.ChapterHolder import eu.kanade.tachiyomi.ui.manga.chapter.ChapterItem import eu.kanade.tachiyomi.ui.manga.chapter.ChaptersAdapter +import eu.kanade.tachiyomi.ui.manga.chapter.ChaptersPresenter import eu.kanade.tachiyomi.ui.manga.chapter.DeleteChaptersDialog import eu.kanade.tachiyomi.ui.manga.chapter.DownloadCustomChaptersDialog import eu.kanade.tachiyomi.ui.migration.manga.design.PreMigrationController @@ -124,7 +127,7 @@ class MangaAllInOneController : } // EXH --> - constructor(redirect: MangaAllInOnePresenter.EXHRedirect) : super( + constructor(redirect: ChaptersPresenter.EXHRedirect) : super( Bundle().apply { putLong(MANGA_EXTRA, redirect.manga.id!!) putBoolean(UPDATE_EXTRA, redirect.update) @@ -201,7 +204,6 @@ class MangaAllInOneController : init { setHasOptionsMenu(true) - setOptionsMenuHidden(true) } override fun getTitle(): String? { @@ -209,7 +211,6 @@ class MangaAllInOneController : } override fun createPresenter(): MangaAllInOnePresenter { - // val ctrl = parentController as MangaController return MangaAllInOnePresenter( manga!!, source!!, chapterCountRelay, lastUpdateRelay, mangaFavoriteRelay, smartSearchConfig @@ -415,7 +416,7 @@ class MangaAllInOneController : private fun openSmartSearch() { val smartSearchConfig = SourceController.SmartSearchConfig(presenter.manga.title, presenter.manga.id!!) - parentController?.router?.pushController( + router?.pushController( SourceController( Bundle().apply { putParcelable(SourceController.SMART_SEARCH_CONFIG, smartSearchConfig) @@ -842,7 +843,7 @@ class MangaAllInOneController : /** * Perform a search using the provided query. * - * @param query the search query to the parent controller + * @param query the search query to the previous controller */ private fun performSearch(query: String) { val router = router ?: return @@ -872,6 +873,30 @@ class MangaAllInOneController : } // CHAPTER FUNCTIONS START HERE + override fun onDestroyView(view: View) { + destroyActionModeIfNeeded() + binding.actionToolbar.destroy() + adapter = null + super.onDestroyView(view) + } + + override fun onActivityResumed(activity: Activity) { + if (view == null) return + + // Check if animation view is visible + if (binding.revealView.visibility == View.VISIBLE) { + // Show the unreveal effect + val coordinates = binding.fab.getCoordinates() + binding.revealView.hideRevealEffect(coordinates.x, coordinates.y, 1920) + } + + super.onActivityResumed(activity) + } + + override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { + inflater.inflate(R.menu.chapters, menu) + } + override fun onPrepareOptionsMenu(menu: Menu) { // Initialize menu items. val menuFilterRead = menu.findItem(R.id.action_filter_read) ?: return diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOnePresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOnePresenter.kt index 123271ced..0881a55a3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOnePresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaAllInOnePresenter.kt @@ -19,6 +19,7 @@ import eu.kanade.tachiyomi.source.online.all.MergedSource import eu.kanade.tachiyomi.ui.base.presenter.BasePresenter import eu.kanade.tachiyomi.ui.browse.source.SourceController import eu.kanade.tachiyomi.ui.manga.chapter.ChapterItem +import eu.kanade.tachiyomi.ui.manga.chapter.ChaptersPresenter import eu.kanade.tachiyomi.util.chapter.syncChaptersWithSource import eu.kanade.tachiyomi.util.lang.isNullOrUnsubscribed import eu.kanade.tachiyomi.util.prepUpdateCover @@ -91,9 +92,7 @@ class MangaAllInOnePresenter( // EXH --> private val updateHelper: EHentaiUpdateHelper by injectLazy() - val redirectUserRelay = BehaviorRelay.create() - - data class EXHRedirect(val manga: Manga, val update: Boolean) + val redirectUserRelay = BehaviorRelay.create() // EXH <-- /** @@ -170,7 +169,7 @@ class MangaAllInOnePresenter( val acceptedChapterUrls = acceptedChain.chapters.map { it.url }.toSet() val update = (ourChapterUrls - acceptedChapterUrls).isNotEmpty() redirectUserRelay.call( - MangaAllInOnePresenter.EXHRedirect( + ChaptersPresenter.EXHRedirect( acceptedChain.manga, update ) diff --git a/app/src/main/res/layout-land/manga_all_in_one_controller.xml b/app/src/main/res/layout-land/manga_all_in_one_controller.xml index 10fde1d27..edeca5d84 100644 --- a/app/src/main/res/layout-land/manga_all_in_one_controller.xml +++ b/app/src/main/res/layout-land/manga_all_in_one_controller.xml @@ -412,13 +412,12 @@ - diff --git a/app/src/main/res/layout/manga_all_in_one_controller.xml b/app/src/main/res/layout/manga_all_in_one_controller.xml index 3580ece1a..16d4b27ab 100644 --- a/app/src/main/res/layout/manga_all_in_one_controller.xml +++ b/app/src/main/res/layout/manga_all_in_one_controller.xml @@ -434,13 +434,12 @@ -