Horis 1 an în urmă
părinte
comite
d4c20a1e83

+ 12 - 20
app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt

@@ -58,7 +58,6 @@ import io.legado.app.utils.fromJsonObject
 import io.legado.app.utils.getCompatColor
 import io.legado.app.utils.gone
 import io.legado.app.utils.observeEvent
-import io.legado.app.utils.printOnDebug
 import io.legado.app.utils.showDialogFragment
 import io.legado.app.utils.toastOnUi
 import io.legado.app.utils.toggleStatusBar
@@ -208,26 +207,19 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, MangaViewModel>()
                 }
             }
             setNestedPreScrollListener { _, _, _, position ->
-                if (mAdapter.getCurrentList().isNotEmpty()
-                    && position <= mAdapter.getCurrentList().lastIndex
-                ) {
-                    try {
-                        val content = mAdapter.getCurrentList()[position]
-                        if (content is MangaContent) {
-                            ReadManga.durChapterIndex = content.mChapterIndex
-                            ReadManga.durChapterPos = content.mDurChapterPos
-                            upInfoBar(
-                                content.mChapterIndex + 1,
-                                content.chapterSize,
-                                content.mDurChapterPos + 1,
-                                content.mDurChapterCount,
-                                content.mChapterName
-                            )
-                        }
-                    } catch (e: Exception) {
-                        e.printOnDebug()
+                if (mAdapter.isNotEmpty()) {
+                    val content = mAdapter.getItem(position)
+                    if (content is MangaContent) {
+                        ReadManga.durChapterIndex = content.mChapterIndex
+                        ReadManga.durChapterPos = content.mDurChapterPos
+                        upInfoBar(
+                            content.mChapterIndex + 1,
+                            content.chapterSize,
+                            content.mDurChapterPos + 1,
+                            content.mDurChapterCount,
+                            content.mChapterName
+                        )
                     }
-
                 }
             }
             addRecyclerViewPreloader(AppConfig.mangaPreDownloadNum)

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/manga/rv/MangaAdapter.kt

@@ -59,7 +59,7 @@ class MangaAdapter(private val context: Context) :
 
     private val mDiffer = AsyncListDiffer(this, mDiffCallback)
 
-    private fun getItem(@IntRange(from = 0) position: Int) = mDiffer.currentList[position]
+    fun getItem(@IntRange(from = 0) position: Int) = mDiffer.currentList.getOrNull(position)
 
     fun getCurrentList() = mDiffer.currentList