diff --git a/app/src/main/java/io/legado/app/help/book/BookExtensions.kt b/app/src/main/java/io/legado/app/help/book/BookExtensions.kt index fb9f7387a..de23f1897 100644 --- a/app/src/main/java/io/legado/app/help/book/BookExtensions.kt +++ b/app/src/main/java/io/legado/app/help/book/BookExtensions.kt @@ -5,6 +5,7 @@ package io.legado.app.help.book import android.net.Uri import io.legado.app.constant.BookSourceType 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.exception.NoStackTraceException @@ -188,3 +189,12 @@ fun BookSource.getBookType(): Int { else -> BookType.text } } + +fun Book.sync(oldBook: Book) { + val curBook = appDb.bookDao.getBook(oldBook.bookUrl)!! + durChapterTime = curBook.durChapterTime + durChapterIndex = curBook.durChapterIndex + durChapterPos = curBook.durChapterPos + durChapterTitle = curBook.durChapterTitle + canUpdate = curBook.canUpdate +} diff --git a/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt b/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt index 6341c6daf..f1207e324 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt @@ -128,6 +128,7 @@ class MainViewModel(application: Application) : BaseViewModel(application) { } val toc = WebBook.getChapterListAwait(source, book).getOrThrow() book.removeType(BookType.updateError) + book.sync(oldBook) if (book.bookUrl == bookUrl) { appDb.bookDao.update(book) } else {