diff --git a/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayActivity.kt b/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayActivity.kt index 95a1d2186..af2049a1c 100644 --- a/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayActivity.kt @@ -12,6 +12,7 @@ import android.widget.SeekBar import androidx.activity.viewModels import io.legado.app.R import io.legado.app.base.VMBaseActivity +import io.legado.app.constant.BookType import io.legado.app.constant.EventBus import io.legado.app.constant.Status import io.legado.app.constant.Theme @@ -21,6 +22,7 @@ import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookSource import io.legado.app.databinding.ActivityAudioPlayBinding import io.legado.app.help.book.isAudio +import io.legado.app.help.book.removeType import io.legado.app.help.config.AppConfig import io.legado.app.lib.dialogs.alert import io.legado.app.model.AudioPlay @@ -195,6 +197,8 @@ class AudioPlayActivity : launch { withContext(IO) { AudioPlay.book?.migrateTo(book, toc) + book.removeType(BookType.updateError) + AudioPlay.book?.delete() appDb.bookDao.insert(book) } startActivity { diff --git a/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt b/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt index 0c0847090..cb6a05068 100644 --- a/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt @@ -4,11 +4,13 @@ import android.app.Application import android.content.Intent import io.legado.app.R import io.legado.app.base.BaseViewModel +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 import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookSource +import io.legado.app.help.book.removeType import io.legado.app.model.AudioPlay import io.legado.app.model.webBook.WebBook import io.legado.app.utils.postEvent @@ -79,6 +81,8 @@ class AudioPlayViewModel(application: Application) : BaseViewModel(application) fun changeTo(source: BookSource, book: Book, toc: List) { execute { AudioPlay.book?.migrateTo(book, toc) + book.removeType(BookType.updateError) + AudioPlay.book?.delete() appDb.bookDao.insert(book) AudioPlay.book = book AudioPlay.bookSource = source 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 f394f30a2..28af9604d 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 @@ -237,6 +237,7 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { bookData.value?.migrateTo(book, toc) if (inBookshelf) { book.removeType(BookType.updateError) + bookData.value?.delete() appDb.bookDao.insert(book) appDb.bookChapterDao.insert(*toc.toTypedArray()) } diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt index 5a4bba3dd..4f57a31e3 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt @@ -832,13 +832,17 @@ class ReadBookActivity : BaseReadBookActivity(), } else { ReadAloud.stop(this) launch { - ReadBook.book?.migrateTo(book, toc) - appDb.bookDao.insert(book) + withContext(IO) { + ReadBook.book?.migrateTo(book, toc) + book.removeType(BookType.updateError) + ReadBook.book?.delete() + appDb.bookDao.insert(book) + } + startActivity { + putExtra("bookUrl", book.bookUrl) + } + finish() } - startActivity { - putExtra("bookUrl", book.bookUrl) - } - finish() } } 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 aeb31f6fc..540d035d9 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 @@ -216,6 +216,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { ReadBook.upMsg(context.getString(R.string.loading)) ReadBook.book?.migrateTo(book, toc) book.removeType(BookType.updateError) + ReadBook.book?.delete() appDb.bookDao.insert(book) appDb.bookChapterDao.insert(*toc.toTypedArray()) ReadBook.resetData(book)