diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt index 7af999cf58..3cde8436c5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsController.kt @@ -110,6 +110,7 @@ import eu.kanade.tachiyomi.util.view.snack import eu.kanade.tachiyomi.util.view.toolbarHeight import eu.kanade.tachiyomi.util.view.withFadeTransaction import eu.kanade.tachiyomi.widget.LinearLayoutManagerAccurateOffset +import kotlinx.coroutines.runBlocking import timber.log.Timber import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get @@ -193,6 +194,7 @@ class MangaDetailsController : private var headerHeight = 0 private var fullCoverActive = false + var returningFromReader = false override fun getTitle(): String? { return manga?.title @@ -571,6 +573,18 @@ class MangaDetailsController : } } + override fun onAttach(view: View) { + super.onAttach(view) + if (!returningFromReader) return + returningFromReader = false + runBlocking { + val chapters = presenter.getChaptersNow() + tabletAdapter?.notifyItemChanged(0) + adapter?.setChapters(chapters) + addMangaHeader() + } + } + override fun onChangeStarted(handler: ControllerChangeHandler, type: ControllerChangeType) { super.onChangeStarted(handler, type) if (type.isEnter) { @@ -930,7 +944,6 @@ class MangaDetailsController : } private fun openChapter(chapter: Chapter, sharedElement: View? = null) { - MainActivity.chapterIdToExitTo = 0L (activity as? AppCompatActivity)?.apply { if (sharedElement != null) { val (intent, bundle) = ReaderActivity @@ -942,6 +955,7 @@ class MangaDetailsController : (adapter?.getItem(it) as? ChapterItem)?.chapter?.id }.toLongArray() } else longArrayOf() + returningFromReader = true intent.putExtra(ReaderActivity.VISIBLE_CHAPTERS, chapterRange) startActivity(intent, bundle) } else { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt index c4471f54a9..f86085ceea 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaDetailsPresenter.kt @@ -151,6 +151,11 @@ class MangaDetailsPresenter( } } + suspend fun getChaptersNow(): List { + getChapters() + return chapters + } + private suspend fun getChapters() { val chapters = db.getChapters(manga).executeOnIO().map { it.toModel() } 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 63f9354e6e..25be0df315 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 @@ -210,6 +210,7 @@ class ReaderActivity : BaseRxActivity() { const val VISIBLE_CHAPTERS = "${BuildConfig.APPLICATION_ID}.VISIBLE_CHAPTERS" fun newIntent(context: Context, manga: Manga, chapter: Chapter): Intent { + MainActivity.chapterIdToExitTo = 0L val intent = Intent(context, ReaderActivity::class.java) intent.putExtra("manga", manga.id) intent.putExtra("chapter", chapter.id) @@ -218,6 +219,7 @@ class ReaderActivity : BaseRxActivity() { } fun newIntentWithTransitionOptions(activity: Activity, manga: Manga, chapter: Chapter, sharedElement: View): Pair { + MainActivity.chapterIdToExitTo = 0L val intent = newIntent(activity, manga, chapter) intent.putExtra(TRANSITION_NAME, sharedElement.transitionName) val activityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(