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 d9dd90690..a835fea03 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 @@ -71,6 +71,7 @@ class AudioPlayViewModel(application: Application) : BaseViewModel(application) if (oldBook.bookUrl == book.bookUrl) { appDb.bookDao.update(book) } else { + appDb.bookDao.delete(oldBook) appDb.bookDao.insert(book) } appDb.bookChapterDao.delByBook(book.bookUrl) 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 791bcd631..d6aa43370 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 @@ -235,6 +235,7 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { WebBook.getChapterList(scope, bookSource, book, runPreUpdateJs) .onSuccess(IO) { if (inBookshelf) { + appDb.bookDao.delete(oldBook) book.save() /** * runPreUpdateJs 有可能会修改 book 的 bookUrl diff --git a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaViewModel.kt b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaViewModel.kt index 1035f3290..ebff9e633 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaViewModel.kt @@ -118,6 +118,7 @@ class ReadMangaViewModel(application: Application) : BaseViewModel(application) if (oldBook.bookUrl == book.bookUrl) { appDb.bookDao.update(book) } else { + appDb.bookDao.delete(oldBook) appDb.bookDao.insert(book) BookHelp.updateCacheFolder(oldBook, book) } 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 9849bc225..dee43e144 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 @@ -214,6 +214,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { if (oldBook.bookUrl == book.bookUrl) { appDb.bookDao.update(book) } else { + appDb.bookDao.delete(oldBook) appDb.bookDao.insert(book) BookHelp.updateCacheFolder(oldBook, book) } 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 914ca5240..38873e02b 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 @@ -167,6 +167,7 @@ class MainViewModel(application: Application) : BaseViewModel(application) { if (book.bookUrl == bookUrl) { appDb.bookDao.update(book) } else { + appDb.bookDao.delete(oldBook) appDb.bookDao.insert(book) BookHelp.updateCacheFolder(oldBook, book) }