优化
This commit is contained in:
@@ -10,6 +10,7 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.recyclerview.widget.GridLayoutManager
|
||||||
import io.legado.app.R
|
import io.legado.app.R
|
||||||
import io.legado.app.base.BaseDialogFragment
|
import io.legado.app.base.BaseDialogFragment
|
||||||
|
import io.legado.app.data.entities.SearchBook
|
||||||
import io.legado.app.databinding.DialogChangeCoverBinding
|
import io.legado.app.databinding.DialogChangeCoverBinding
|
||||||
import io.legado.app.lib.theme.primaryColor
|
import io.legado.app.lib.theme.primaryColor
|
||||||
import io.legado.app.utils.applyTint
|
import io.legado.app.utils.applyTint
|
||||||
|
|||||||
@@ -29,6 +29,16 @@ class ChangeCoverViewModel(application: Application) : BaseViewModel(application
|
|||||||
private val tasks = CompositeCoroutine()
|
private val tasks = CompositeCoroutine()
|
||||||
private var searchSuccess: ((SearchBook) -> Unit)? = null
|
private var searchSuccess: ((SearchBook) -> Unit)? = null
|
||||||
private var bookSourceList = arrayListOf<BookSource>()
|
private var bookSourceList = arrayListOf<BookSource>()
|
||||||
|
private val defaultCover by lazy {
|
||||||
|
listOf(
|
||||||
|
SearchBook(
|
||||||
|
originName = "默认封面",
|
||||||
|
name = name,
|
||||||
|
author = author,
|
||||||
|
coverUrl = "use_default_cover"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
val searchStateData = MutableLiveData<Boolean>()
|
val searchStateData = MutableLiveData<Boolean>()
|
||||||
var name: String = ""
|
var name: String = ""
|
||||||
var author: String = ""
|
var author: String = ""
|
||||||
@@ -38,13 +48,13 @@ class ChangeCoverViewModel(application: Application) : BaseViewModel(application
|
|||||||
searchSuccess = { searchBook ->
|
searchSuccess = { searchBook ->
|
||||||
if (!searchBooks.contains(searchBook)) {
|
if (!searchBooks.contains(searchBook)) {
|
||||||
searchBooks.add(searchBook)
|
searchBooks.add(searchBook)
|
||||||
trySend(searchBooks.sortedBy { it.originOrder })
|
trySend(defaultCover + searchBooks.sortedBy { it.originOrder })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
appDb.searchBookDao.getEnableHasCover(name, author).let {
|
appDb.searchBookDao.getEnableHasCover(name, author).let {
|
||||||
searchBooks.addAll(it)
|
searchBooks.addAll(it)
|
||||||
trySend(searchBooks.toList())
|
trySend(defaultCover + searchBooks.toList())
|
||||||
}
|
}
|
||||||
|
|
||||||
if (searchBooks.size <= 1) {
|
if (searchBooks.size <= 1) {
|
||||||
|
|||||||
Reference in New Issue
Block a user