From 4592ee4ec2c7ab69b2568203e121b751c9c38d00 Mon Sep 17 00:00:00 2001 From: kunfei Date: Tue, 19 Sep 2023 09:17:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/model/ReadBook.kt | 12 ++++++++++-- .../io/legado/app/ui/book/read/ReadBookViewModel.kt | 10 +++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) 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 + ) } } }