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 80c2e0795..148f3a4ae 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 @@ -29,6 +29,7 @@ import io.legado.app.help.book.removeType import io.legado.app.help.book.simulatedTotalChapterNum import io.legado.app.help.coroutine.Coroutine import io.legado.app.lib.webdav.ObjectNotFoundException +import io.legado.app.model.AudioPlay import io.legado.app.model.BookCover import io.legado.app.model.ReadBook import io.legado.app.model.analyzeRule.AnalyzeUrl @@ -404,12 +405,15 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { book.order = appDb.bookDao.minOrder - 1 } appDb.bookDao.getBook(book.name, book.author)?.let { + book.durChapterIndex = it.durChapterIndex book.durChapterPos = it.durChapterPos book.durChapterTitle = it.durChapterTitle } book.save() - if (ReadBook.book?.name == book.name && ReadBook.book?.author == book.author) { + if (ReadBook.book?.isSameNameAuthor(book) == true) { ReadBook.book = book + } else if (AudioPlay.book?.isSameNameAuthor(book) == true) { + AudioPlay.book = book } }.onSuccess { success?.invoke() @@ -434,9 +438,15 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { book.order = appDb.bookDao.minOrder - 1 } appDb.bookDao.getBook(book.name, book.author)?.let { + book.durChapterIndex = it.durChapterIndex book.durChapterPos = it.durChapterPos book.durChapterTitle = it.durChapterTitle } + if (ReadBook.book?.isSameNameAuthor(book) == true) { + ReadBook.book = book + } else if (AudioPlay.book?.isSameNameAuthor(book) == true) { + AudioPlay.book = book + } book.save() } chapterListData.value?.let {