Horis 2 лет назад
Родитель
Сommit
2fcde48f09
1 измененных файлов с 11 добавлено и 1 удалено
  1. 11 1
      app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt

+ 11 - 1
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 {