pull/84/head
kunfei 5 years ago
parent 682712cc84
commit 7f2ba54d9d
  1. 10
      app/src/main/java/io/legado/app/ui/changecover/ChangeCoverDialog.kt
  2. 4
      app/src/main/java/io/legado/app/ui/changecover/ChangeCoverViewModel.kt
  3. 6
      app/src/main/java/io/legado/app/ui/changecover/CoverAdapter.kt

@ -14,7 +14,9 @@ import io.legado.app.utils.getViewModel
import kotlinx.android.synthetic.main.dialog_change_source.* import kotlinx.android.synthetic.main.dialog_change_source.*
class ChangeCoverDialog : DialogFragment(), ChangeCoverViewModel.CallBack { class ChangeCoverDialog : DialogFragment(),
ChangeCoverViewModel.CallBack,
CoverAdapter.CallBack {
companion object { companion object {
const val tag = "changeCoverDialog" const val tag = "changeCoverDialog"
@ -68,11 +70,15 @@ class ChangeCoverDialog : DialogFragment(), ChangeCoverViewModel.CallBack {
} }
} }
recycler_view.layoutManager = GridLayoutManager(requireContext(), 3) recycler_view.layoutManager = GridLayoutManager(requireContext(), 3)
adapter = CoverAdapter(requireContext()) adapter = CoverAdapter(requireContext(), this)
recycler_view.adapter = adapter recycler_view.adapter = adapter
viewModel.initData() viewModel.initData()
} }
override fun changeTo(coverUrl: String) {
callBack?.coverChangeTo(coverUrl)
}
interface CallBack { interface CallBack {
fun coverChangeTo(coverUrl: String) fun coverChangeTo(coverUrl: String)
} }

@ -44,7 +44,9 @@ class ChangeCoverViewModel(application: Application) : BaseViewModel(application
.onSuccess(Dispatchers.IO) { .onSuccess(Dispatchers.IO) {
if (it != null && it.isNotEmpty()) { if (it != null && it.isNotEmpty()) {
val searchBook = it[0] val searchBook = it[0]
if (searchBook.name == name && searchBook.author == author) { if (searchBook.name == name && searchBook.author == author
&& !searchBook.coverUrl.isNullOrEmpty()
) {
App.db.searchBookDao().insert(searchBook) App.db.searchBookDao().insert(searchBook)
callBack?.adapter?.let { adapter -> callBack?.adapter?.let { adapter ->
if (!adapter.getItems().contains(searchBook)) { if (!adapter.getItems().contains(searchBook)) {

@ -9,7 +9,7 @@ import io.legado.app.help.ImageLoader
import kotlinx.android.synthetic.main.item_cover.view.* import kotlinx.android.synthetic.main.item_cover.view.*
import org.jetbrains.anko.sdk27.listeners.onClick import org.jetbrains.anko.sdk27.listeners.onClick
class CoverAdapter(context: Context) : class CoverAdapter(context: Context, val callBack: CallBack) :
SimpleRecyclerAdapter<SearchBook>(context, R.layout.item_cover) { SimpleRecyclerAdapter<SearchBook>(context, R.layout.item_cover) {
override fun convert(holder: ItemViewHolder, item: SearchBook, payloads: MutableList<Any>) { override fun convert(holder: ItemViewHolder, item: SearchBook, payloads: MutableList<Any>) {
@ -22,12 +22,12 @@ class CoverAdapter(context: Context) :
} }
tv_source.text = item.originName tv_source.text = item.originName
onClick { onClick {
callBack.changeTo(item.coverUrl!!)
} }
} }
} }
interface CallBack { interface CallBack {
fun changeTo() fun changeTo(coverUrl: String)
} }
} }
Loading…
Cancel
Save