diff --git a/app/src/main/java/io/legado/app/model/ReadBook.kt b/app/src/main/java/io/legado/app/model/ReadBook.kt index 8eda351a9..8b7e9b7fc 100644 --- a/app/src/main/java/io/legado/app/model/ReadBook.kt +++ b/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) diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt index 9cb45f724..79053a54a 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt +++ b/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 + ) } } }