优化
This commit is contained in:
@@ -74,6 +74,9 @@ val Book.isUpError: Boolean
|
|||||||
val Book.isArchive: Boolean
|
val Book.isArchive: Boolean
|
||||||
get() = isType(BookType.archive)
|
get() = isType(BookType.archive)
|
||||||
|
|
||||||
|
val Book.isNotShelf: Boolean
|
||||||
|
get() = isType(BookType.notShelf)
|
||||||
|
|
||||||
val Book.archiveName: String
|
val Book.archiveName: String
|
||||||
get() {
|
get() {
|
||||||
if (!isArchive) throw NoStackTraceException("Book is not deCompressed from archive")
|
if (!isArchive) throw NoStackTraceException("Book is not deCompressed from archive")
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import io.legado.app.help.book.BookHelp
|
|||||||
import io.legado.app.help.book.getExportFileName
|
import io.legado.app.help.book.getExportFileName
|
||||||
import io.legado.app.help.book.getRemoteUrl
|
import io.legado.app.help.book.getRemoteUrl
|
||||||
import io.legado.app.help.book.isLocal
|
import io.legado.app.help.book.isLocal
|
||||||
|
import io.legado.app.help.book.isNotShelf
|
||||||
import io.legado.app.help.book.isSameNameAuthor
|
import io.legado.app.help.book.isSameNameAuthor
|
||||||
import io.legado.app.help.book.isWebFile
|
import io.legado.app.help.book.isWebFile
|
||||||
import io.legado.app.help.book.removeType
|
import io.legado.app.help.book.removeType
|
||||||
@@ -57,7 +58,7 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
|
|||||||
val author = intent.getStringExtra("author") ?: ""
|
val author = intent.getStringExtra("author") ?: ""
|
||||||
val bookUrl = intent.getStringExtra("bookUrl") ?: ""
|
val bookUrl = intent.getStringExtra("bookUrl") ?: ""
|
||||||
appDb.bookDao.getBook(name, author)?.let {
|
appDb.bookDao.getBook(name, author)?.let {
|
||||||
inBookshelf = true
|
inBookshelf = !it.isNotShelf
|
||||||
upBook(it)
|
upBook(it)
|
||||||
return@execute
|
return@execute
|
||||||
}
|
}
|
||||||
@@ -178,7 +179,7 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) {
|
|||||||
WebBook.getBookInfo(scope, bookSource, book, canReName = canReName)
|
WebBook.getBookInfo(scope, bookSource, book, canReName = canReName)
|
||||||
.onSuccess(IO) {
|
.onSuccess(IO) {
|
||||||
val dbBook = appDb.bookDao.getBook(book.name, book.author)
|
val dbBook = appDb.bookDao.getBook(book.name, book.author)
|
||||||
if (dbBook != null && dbBook.origin == book.origin) {
|
if (dbBook != null && !dbBook.isNotShelf && dbBook.origin == book.origin) {
|
||||||
/**
|
/**
|
||||||
* book 来自搜索时,搜索的书名不存在于书架,但是加载详情后,书名更新,存在同名书籍
|
* book 来自搜索时,搜索的书名不存在于书架,但是加载详情后,书名更新,存在同名书籍
|
||||||
* 此时 book 的数据会与数据库中的不同,需要更新 #3652
|
* 此时 book 的数据会与数据库中的不同,需要更新 #3652
|
||||||
|
|||||||
Reference in New Issue
Block a user