瀏覽代碼

Jump to chapters list earlier on to avoid jank

arkon 4 年之前
父節點
當前提交
a1917b8c81

+ 7 - 8
app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/MangaInfoChaptersController.kt

@@ -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()