This commit is contained in:
gedoor 2022-01-10 20:54:13 +08:00
parent 95e0d64061
commit f94ce733b2
2 changed files with 18 additions and 17 deletions

View File

@ -90,15 +90,14 @@ object ReadBook : CoroutineScope by MainScope() {
}
fun setProgress(progress: BookProgress) {
if (durChapterIndex != progress.durChapterIndex
|| durChapterPos != progress.durChapterPos
if (progress.durChapterIndex > chapterSize &&
(durChapterIndex != progress.durChapterIndex
|| durChapterPos != progress.durChapterPos)
) {
if (progress.durChapterIndex > chapterSize) {
durChapterIndex = progress.durChapterIndex
durChapterPos = progress.durChapterPos
clearTextChapter()
loadContent(resetPageOffset = true)
}
durChapterIndex = progress.durChapterIndex
durChapterPos = progress.durChapterPos
clearTextChapter()
loadContent(resetPageOffset = true)
}
}

View File

@ -220,15 +220,17 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
}
fun openChapter(index: Int, durChapterPos: Int = 0, success: (() -> Unit)? = null) {
ReadBook.clearTextChapter()
ReadBook.callBack?.upContent()
if (index != ReadBook.durChapterIndex) {
ReadBook.durChapterIndex = index
ReadBook.durChapterPos = durChapterPos
}
ReadBook.saveRead()
ReadBook.loadContent(resetPageOffset = true) {
success?.invoke()
if (index < ReadBook.chapterSize) {
ReadBook.clearTextChapter()
ReadBook.callBack?.upContent()
if (index != ReadBook.durChapterIndex) {
ReadBook.durChapterIndex = index
ReadBook.durChapterPos = durChapterPos
}
ReadBook.saveRead()
ReadBook.loadContent(resetPageOffset = true) {
success?.invoke()
}
}
}