Jump to chapters list earlier on to avoid jank

This commit is contained in:
arkon 2020-06-27 21:08:43 -04:00
parent ec6dba12bd
commit a1917b8c81

View file

@ -72,8 +72,6 @@ class MangaInfoChaptersController(private val fromSource: Boolean = false) :
private var chaptersHeaderAdapter: MangaChaptersHeaderAdapter? = null
private var chaptersAdapter: ChaptersAdapter? = null
private var skippedInfoOnOpen: Boolean = false
/**
* Action mode for multiple selection.
*/
@ -123,6 +121,13 @@ class MangaInfoChaptersController(private val fromSource: Boolean = false) :
binding.recycler.setHasFixedSize(true)
chaptersAdapter?.fastScroller = binding.fastScroller
// Skips directly to chapters list if navigated to from the library
binding.recycler.post {
if (!fromSource && preferences.jumpToChapters()) {
(binding.recycler.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(1, 0)
}
}
binding.swipeRefresh.refreshes()
.onEach {
fetchMangaInfoFromSource(manualFetch = true)
@ -306,12 +311,6 @@ class MangaInfoChaptersController(private val fromSource: Boolean = false) :
if (manga.initialized) {
// Update view.
mangaInfoAdapter?.update(manga, source)
// Skips directly to chapters list if navigated to from the library
if (!fromSource && !skippedInfoOnOpen && preferences.jumpToChapters()) {
(binding.recycler.layoutManager as LinearLayoutManager).scrollToPositionWithOffset(1, 0)
skippedInfoOnOpen = true
}
} else {
// Initialize manga.
fetchMangaInfoFromSource()