Fixed fade in animation on first startup of library

This commit is contained in:
Jay 2020-02-10 20:24:44 -08:00
parent ecbb55f058
commit ee6d2927f9
2 changed files with 16 additions and 9 deletions

View File

@ -146,6 +146,7 @@ class LibraryController(
var presenter = LibraryPresenter(this) var presenter = LibraryPresenter(this)
private set private set
private var justStarted = true
init { init {
setHasOptionsMenu(true) setHasOptionsMenu(true)
@ -299,7 +300,8 @@ class LibraryController(
tabsVisibilitySubscription = null tabsVisibilitySubscription = null
} }
fun onNextLibraryUpdate(categories: List<Category>, mangaMap: Map<Int, List<LibraryItem>>) { fun onNextLibraryUpdate(categories: List<Category>, mangaMap: Map<Int, List<LibraryItem>>,
freshStart: Boolean = false) {
val view = view ?: return val view = view ?: return
val adapter = adapter ?: return val adapter = adapter ?: return
@ -330,6 +332,7 @@ class LibraryController(
tabsVisibilityRelay.call(categories.size > 1) tabsVisibilityRelay.call(categories.size > 1)
if (freshStart || !justStarted) {
// Delay the scroll position to allow the view to be properly measured. // Delay the scroll position to allow the view to be properly measured.
view.post { view.post {
if (isAttached) { if (isAttached) {
@ -340,6 +343,10 @@ class LibraryController(
// Send the manga map to child fragments after the adapter is updated. // Send the manga map to child fragments after the adapter is updated.
libraryMangaRelay.call(LibraryMangaEvent(mangaMap)) libraryMangaRelay.call(LibraryMangaEvent(mangaMap))
} }
else if (!freshStart) {
justStarted = false
}
}
/** /**
* Returns a preference for the number of manga per row based on the current orientation. * Returns a preference for the number of manga per row based on the current orientation.

View File

@ -118,7 +118,7 @@ class LibraryPresenter(
mangaMap mangaMap
}() }()
currentMangaMap = mangaMap currentMangaMap = mangaMap
view.onNextLibraryUpdate(categories, mangaMap) view.onNextLibraryUpdate(categories, mangaMap, true)
} }
fun getAllManga(): LibraryMap? { fun getAllManga(): LibraryMap? {