diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt index 47eca91ffd..ce5365f9eb 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt @@ -146,6 +146,7 @@ class LibraryController( var presenter = LibraryPresenter(this) private set + private var justStarted = true init { setHasOptionsMenu(true) @@ -299,7 +300,8 @@ class LibraryController( tabsVisibilitySubscription = null } - fun onNextLibraryUpdate(categories: List, mangaMap: Map>) { + fun onNextLibraryUpdate(categories: List, mangaMap: Map>, + freshStart: Boolean = false) { val view = view ?: return val adapter = adapter ?: return @@ -330,15 +332,20 @@ class LibraryController( tabsVisibilityRelay.call(categories.size > 1) - // Delay the scroll position to allow the view to be properly measured. - view.post { - if (isAttached) { - activity?.tabs?.setScrollPosition(library_pager.currentItem, 0f, true) + if (freshStart || !justStarted) { + // Delay the scroll position to allow the view to be properly measured. + view.post { + if (isAttached) { + activity?.tabs?.setScrollPosition(library_pager.currentItem, 0f, true) + } } - } - // Send the manga map to child fragments after the adapter is updated. - libraryMangaRelay.call(LibraryMangaEvent(mangaMap)) + // Send the manga map to child fragments after the adapter is updated. + libraryMangaRelay.call(LibraryMangaEvent(mangaMap)) + } + else if (!freshStart) { + justStarted = false + } } /** diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt index c97f246df4..8d375a407a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt @@ -118,7 +118,7 @@ class LibraryPresenter( mangaMap }() currentMangaMap = mangaMap - view.onNextLibraryUpdate(categories, mangaMap) + view.onNextLibraryUpdate(categories, mangaMap, true) } fun getAllManga(): LibraryMap? {