diff --git a/src/main/kotlin/com/looker/droidify/ui/items/RepoItem.kt b/src/main/kotlin/com/looker/droidify/ui/items/RepoItem.kt new file mode 100644 index 00000000..1c847848 --- /dev/null +++ b/src/main/kotlin/com/looker/droidify/ui/items/RepoItem.kt @@ -0,0 +1,50 @@ +package com.looker.droidify.ui.items + +import android.content.res.ColorStateList +import android.view.LayoutInflater +import android.view.ViewGroup +import coil.load +import com.looker.droidify.R +import com.looker.droidify.databinding.ItemRepositoryXBinding +import com.looker.droidify.entity.Repository +import com.looker.droidify.utility.extension.resources.clear +import com.looker.droidify.utility.extension.resources.getColorFromAttr +import com.mikepenz.fastadapter.binding.AbstractBindingItem + +class RepoItem(val item: Repository) : + AbstractBindingItem() { + override val type: Int + get() = R.id.fastadapter_item + + override fun createBinding(inflater: LayoutInflater, parent: ViewGroup?) + : ItemRepositoryXBinding = ItemRepositoryXBinding.inflate(inflater, parent, false) + + override fun bindView(binding: ItemRepositoryXBinding, payloads: List) { + val isEnabled = item.enabled + val context = binding.repoItem.context + + val textColor: ColorStateList = if (isEnabled) + context.getColorFromAttr(R.attr.colorOnPrimaryContainer) + else + context.getColorFromAttr(R.attr.colorOnBackground) + + binding.repoName.text = item.name + binding.repoDescription.text = item.description.trim() + + binding.repoItem.setCardBackgroundColor( + if (item.enabled) context.getColorFromAttr(R.attr.colorPrimaryContainer) + else context.getColorFromAttr(android.R.attr.colorBackground) + ) + + binding.checkMark.apply { + if (item.enabled) load(R.drawable.ic_check) + else clear() + } + + textColor.let { + binding.repoName.setTextColor(it) + binding.repoDescription.setTextColor(it) + binding.checkMark.imageTintList = it + } + } +} \ No newline at end of file diff --git a/src/main/res/layout/item_repository_x.xml b/src/main/res/layout/item_repository_x.xml new file mode 100644 index 00000000..3ee79a48 --- /dev/null +++ b/src/main/res/layout/item_repository_x.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file