kunfei пре 3 година
родитељ
комит
62dfec7c3a

+ 10 - 2
app/src/main/java/io/legado/app/model/ReadBook.kt

@@ -308,8 +308,16 @@ object ReadBook : CoroutineScope by MainScope() {
      * @param resetPageOffset 滚动阅读是否重置滚动位置
      * @param success 当前章节加载完成回调
      */
-    fun loadContent(resetPageOffset: Boolean, success: (() -> Unit)? = null) {
-        loadContent(durChapterIndex, resetPageOffset = resetPageOffset) {
+    fun loadContent(
+        resetPageOffset: Boolean,
+        pageChanged: Boolean = false,
+        success: (() -> Unit)? = null
+    ) {
+        loadContent(
+            durChapterIndex,
+            resetPageOffset = resetPageOffset,
+            pageChanged = pageChanged
+        ) {
             success?.invoke()
         }
         loadContent(durChapterIndex + 1, resetPageOffset = resetPageOffset)

+ 7 - 3
app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt

@@ -226,7 +226,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
             appDb.bookChapterDao.insert(*toc.toTypedArray())
             ReadBook.resetData(book)
             ReadBook.upMsg(null)
-            ReadBook.loadContent(resetPageOffset = true)
+            ReadBook.loadContent(resetPageOffset = true, pageChanged = true)
         }.onError {
             context.toastOnUi("换源失败\n${it.localizedMessage}")
             ReadBook.upMsg(null)
@@ -284,7 +284,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
             ReadBook.durChapterIndex = index
             ReadBook.durChapterPos = durChapterPos
             ReadBook.saveRead()
-            ReadBook.loadContent(resetPageOffset = true) {
+            ReadBook.loadContent(resetPageOffset = true, pageChanged = true) {
                 success?.invoke()
             }
         }
@@ -313,7 +313,11 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
             appDb.bookChapterDao.getChapter(book.bookUrl, ReadBook.durChapterIndex)
                 ?.let { chapter ->
                     BookHelp.delContent(book, chapter)
-                    ReadBook.loadContent(ReadBook.durChapterIndex, resetPageOffset = false)
+                    ReadBook.loadContent(
+                        ReadBook.durChapterIndex,
+                        resetPageOffset = false,
+                        pageChanged = true
+                    )
                 }
         }
     }