diff --git a/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt b/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt index 9ea491077..ba8546c68 100644 --- a/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt @@ -30,6 +30,7 @@ import io.legado.app.model.webBook.WebBook import io.legado.app.utils.isContentScheme import io.legado.app.utils.postEvent import io.legado.app.utils.toastOnUi +import io.legado.app.utils.runOnUI import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers.IO @@ -274,7 +275,11 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { fun importOrDownloadWebFile(webFile: WebFile, success: ((T) -> Unit)?) { bookSource ?: return execute { - callBack?.onWebFileProcessStart() + callBack?.run { + runOnUI { + onWebFileProcessStart() + } + } if (webFile.isSupported) { val book = LocalBook.importFileOnLine(webFile.url, webFile.name, bookSource) changeToLocalBook(book) @@ -286,8 +291,13 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { }.onError { context.toastOnUi("ImportWebFileError\n${it.localizedMessage}") }.onFinally { - callBack?.onWebFileProcessFinally() - } + callBack?.run { + runOnUI { + onWebFileProcessFinally() + } + } + + } } fun changeTo(source: BookSource, book: Book, toc: List) {