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 f87b2f259..80c233673 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 @@ -168,20 +168,24 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { book: Book, alertSync: ((progress: BookProgress) -> Unit)? = null ) { - if (AppWebDav.syncBookProgress) - execute { + execute { + if (AppWebDav.syncBookProgress) { AppWebDav.getBookProgress(book) - }.onSuccess { - it?.let { progress -> - if (progress.durChapterIndex < book.durChapterIndex || - (progress.durChapterIndex == book.durChapterIndex && progress.durChapterPos < book.durChapterPos) - ) { - alertSync?.invoke(progress) - } else { - ReadBook.setProgress(progress) - } - } + ?: throw NoStackTraceException("没有进度") + } else { + throw NoStackTraceException("进度同步未启用") } + }.onSuccess { progress -> + if (progress.durChapterIndex < book.durChapterIndex || + (progress.durChapterIndex == book.durChapterIndex + && progress.durChapterPos < book.durChapterPos) + ) { + alertSync?.invoke(progress) + } else { + ReadBook.setProgress(progress) + } + } + } /**