diff --git a/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt b/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt index cf5b43a48..68f6a08b3 100644 --- a/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverDialog.kt @@ -10,6 +10,7 @@ import androidx.lifecycle.lifecycleScope import androidx.recyclerview.widget.GridLayoutManager import io.legado.app.R import io.legado.app.base.BaseDialogFragment +import io.legado.app.data.entities.SearchBook import io.legado.app.databinding.DialogChangeCoverBinding import io.legado.app.lib.theme.primaryColor import io.legado.app.utils.applyTint diff --git a/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverViewModel.kt b/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverViewModel.kt index 367016836..8a9301d42 100644 --- a/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/changecover/ChangeCoverViewModel.kt @@ -29,6 +29,16 @@ class ChangeCoverViewModel(application: Application) : BaseViewModel(application private val tasks = CompositeCoroutine() private var searchSuccess: ((SearchBook) -> Unit)? = null private var bookSourceList = arrayListOf() + private val defaultCover by lazy { + listOf( + SearchBook( + originName = "默认封面", + name = name, + author = author, + coverUrl = "use_default_cover" + ) + ) + } val searchStateData = MutableLiveData() var name: String = "" var author: String = "" @@ -38,13 +48,13 @@ class ChangeCoverViewModel(application: Application) : BaseViewModel(application searchSuccess = { searchBook -> if (!searchBooks.contains(searchBook)) { searchBooks.add(searchBook) - trySend(searchBooks.sortedBy { it.originOrder }) + trySend(defaultCover + searchBooks.sortedBy { it.originOrder }) } } appDb.searchBookDao.getEnableHasCover(name, author).let { searchBooks.addAll(it) - trySend(searchBooks.toList()) + trySend(defaultCover + searchBooks.toList()) } if (searchBooks.size <= 1) {