[修复] 删除书籍时偶现的闪退问题

This commit is contained in:
HapeLee
2026-03-22 00:14:06 +08:00
parent 30414cfe15
commit dd46484805
3 changed files with 4 additions and 2 deletions
@@ -374,6 +374,7 @@ data class Book(
if (ReadBook.book?.bookUrl == bookUrl) {
ReadBook.book = null
}
appDb.bookChapterDao.delByBook(bookUrl)
appDb.bookDao.delete(this)
}
@@ -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()
@@ -54,7 +54,6 @@ class BookshelfManageViewModel(application: Application) : BaseViewModel(applica
fun deleteBook(books: List<Book>, 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())
}
}