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 7b67229be..cf051edff 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 @@ -18,6 +18,7 @@ import io.legado.app.exception.NoStackTraceException import io.legado.app.help.book.BookHelp import io.legado.app.help.book.getRemoteUrl import io.legado.app.help.book.isLocal +import io.legado.app.help.book.removeType import io.legado.app.help.coroutine.Coroutine import io.legado.app.lib.webdav.ObjectNotFoundException import io.legado.app.model.BookCover @@ -236,6 +237,7 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { bookSource = source bookData.value?.changeTo(book, toc) if (inBookshelf) { + book.removeType(BookType.updateError) appDb.bookDao.insert(book) appDb.bookChapterDao.insert(*toc.toTypedArray()) } diff --git a/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt b/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt index 341d612b0..a28561cad 100644 --- a/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt @@ -3,10 +3,12 @@ package io.legado.app.ui.book.manage import android.app.Application import androidx.compose.runtime.mutableStateOf import io.legado.app.base.BaseViewModel +import io.legado.app.constant.BookType import io.legado.app.data.appDb import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookSource import io.legado.app.help.book.isLocal +import io.legado.app.help.book.removeType import io.legado.app.help.coroutine.Coroutine import io.legado.app.model.webBook.WebBook import io.legado.app.utils.toastOnUi @@ -58,6 +60,7 @@ class BookshelfManageViewModel(application: Application) : BaseViewModel(applica context.toastOnUi("获取目录出错\n${it.localizedMessage}") }.getOrNull()?.let { toc -> book.changeTo(newBook, toc) + book.removeType(BookType.updateError) appDb.bookDao.insert(newBook) appDb.bookChapterDao.insert(*toc.toTypedArray()) } 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 5b6444171..2743662d7 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 @@ -9,6 +9,7 @@ import androidx.lifecycle.viewModelScope import io.legado.app.R import io.legado.app.base.BaseViewModel import io.legado.app.constant.AppLog +import io.legado.app.constant.BookType import io.legado.app.constant.EventBus import io.legado.app.data.appDb import io.legado.app.data.entities.Book @@ -19,6 +20,7 @@ import io.legado.app.help.AppWebDav import io.legado.app.help.book.BookHelp import io.legado.app.help.book.ContentProcessor import io.legado.app.help.book.isLocal +import io.legado.app.help.book.removeType import io.legado.app.help.config.AppConfig import io.legado.app.help.coroutine.Coroutine import io.legado.app.model.ReadAloud @@ -215,6 +217,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { changeSourceCoroutine = execute { ReadBook.upMsg(context.getString(R.string.loading)) ReadBook.book?.changeTo(book, toc) + book.removeType(BookType.updateError) appDb.bookDao.insert(book) appDb.bookChapterDao.insert(*toc.toTypedArray()) ReadBook.resetData(book)