From d457f40d4af779b94c2014aa240a7fc18f75f856 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Wed, 7 May 2025 18:27:24 +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 --- .../main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt | 4 ++++ 1 file changed, 4 insertions(+) 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 b31b7fd5e..9849bc225 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 @@ -39,6 +39,7 @@ import io.legado.app.utils.mapParallelSafe import io.legado.app.utils.postEvent import io.legado.app.utils.toStringArray import io.legado.app.utils.toastOnUi +import kotlinx.coroutines.ensureActive import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.flow @@ -51,6 +52,7 @@ import java.io.File import java.io.FileInputStream import java.io.FileNotFoundException import java.io.FileOutputStream +import kotlin.coroutines.coroutineContext /** * 阅读界面数据处理 @@ -164,6 +166,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { WebBook.getBookInfoAwait(source, book, canReName = false) return true } catch (e: Throwable) { + coroutineContext.ensureActive() ReadBook.upMsg("详情页出错: ${e.localizedMessage}") return false } @@ -219,6 +222,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { ReadBook.onChapterListUpdated(book) return true }.onFailure { + coroutineContext.ensureActive() ReadBook.upMsg(context.getString(R.string.error_load_toc)) return false }