diff --git a/app/src/main/java/io/legado/app/data/entities/Book.kt b/app/src/main/java/io/legado/app/data/entities/Book.kt index 71639b29b..069a34bda 100644 --- a/app/src/main/java/io/legado/app/data/entities/Book.kt +++ b/app/src/main/java/io/legado/app/data/entities/Book.kt @@ -374,6 +374,7 @@ data class Book( if (ReadBook.book?.bookUrl == bookUrl) { ReadBook.book = null } + appDb.bookChapterDao.delByBook(bookUrl) appDb.bookDao.delete(this) } 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 669a7e65c..f5776d12e 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 @@ -487,11 +487,11 @@ class BookInfoViewModel( fun delBook(deleteOriginal: Boolean = false, success: (() -> Unit)? = null) { execute { bookData.value?.let { - it.delete() inBookshelf = false if (it.isLocal) { LocalBook.deleteBook(it, deleteOriginal) } + it.delete() } }.onSuccess { success?.invoke() diff --git a/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt b/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt index 07e36a53c..9a0ad6c63 100644 --- a/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/manage/BookshelfManageViewModel.kt @@ -54,7 +54,6 @@ class BookshelfManageViewModel(application: Application) : BaseViewModel(applica fun deleteBook(books: List, deleteOriginal: Boolean = false) { execute { - appDb.bookDao.delete(*books.toTypedArray()) books.forEach { if (it.isLocal) { LocalBook.deleteBook(it, deleteOriginal) @@ -62,7 +61,9 @@ class BookshelfManageViewModel(application: Application) : BaseViewModel(applica val source = appDb.bookSourceDao.getBookSource(it.origin) SourceCallBack.callBackBook(SourceCallBack.DEL_BOOK_SHELF, source, it) } + appDb.bookChapterDao.delByBook(it.bookUrl) } + appDb.bookDao.delete(*books.toTypedArray()) } }