This commit is contained in:
Horis 2023-02-21 12:23:13 +08:00
parent 52980246e6
commit 9a773381aa
5 changed files with 20 additions and 6 deletions

View File

@ -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<ReadBookActivity> {

View File

@ -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<BookChapter>) {
execute {
AudioPlay.book?.migrateTo(book, toc)
book.removeType(BookType.updateError)
AudioPlay.book?.delete()
appDb.bookDao.insert(book)
AudioPlay.book = book
AudioPlay.bookSource = source

View File

@ -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())
}

View File

@ -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<AudioPlayActivity> {
putExtra("bookUrl", book.bookUrl)
}
finish()
}
startActivity<AudioPlayActivity> {
putExtra("bookUrl", book.bookUrl)
}
finish()
}
}

View File

@ -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)