From dd464848051357eb19574632060ffeb25344e873 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Sun, 22 Mar 2026 00:14:06 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E4=B9=A6=E7=B1=8D=E6=97=B6=E5=81=B6=E7=8E=B0=E7=9A=84=E9=97=AA?= =?UTF-8?q?=E9=80=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/data/entities/Book.kt | 1 + .../main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt | 2 +- .../io/legado/app/ui/book/manage/BookshelfManageViewModel.kt | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) 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()) } }