Update: Allow creating V/HAppItems without repo (no icon downloaded)

This commit is contained in:
machiav3lli 2021-12-26 02:40:37 +01:00
parent 3f440dff2a
commit 6b49062093
2 changed files with 25 additions and 20 deletions

View File

@ -13,7 +13,7 @@ import com.looker.droidify.utility.Utils
import com.looker.droidify.utility.extension.resources.toPx
import com.mikepenz.fastadapter.binding.AbstractBindingItem
class HAppItem(val item: ProductItem, val repository: Repository) :
class HAppItem(val item: ProductItem, val repository: Repository?) :
AbstractBindingItem<ItemAppHorizXBinding>() {
override val type: Int
get() = R.id.fastadapter_item
@ -25,6 +25,7 @@ class HAppItem(val item: ProductItem, val repository: Repository) :
val (progressIcon, defaultIcon) = Utils.getDefaultApplicationIcons(binding.icon.context)
binding.name.text = item.name
repository?.let {
binding.icon.load(
CoilDownloader.createIconUri(
binding.icon, item.packageName,
@ -35,6 +36,7 @@ class HAppItem(val item: ProductItem, val repository: Repository) :
placeholder(progressIcon)
error(defaultIcon)
}
}
binding.version.text = if (item.canUpdate) item.version else item.installedVersion
}
}

View File

@ -18,7 +18,7 @@ import com.looker.droidify.utility.extension.resources.toPx
import com.looker.droidify.utility.extension.text.nullIfEmpty
import com.mikepenz.fastadapter.binding.AbstractBindingItem
class VAppItem(val item: ProductItem, val repository: Repository) :
class VAppItem(val item: ProductItem, val repository: Repository?) :
AbstractBindingItem<ItemAppVerticalXBinding>() {
override val type: Int
get() = R.id.fastadapter_item
@ -34,16 +34,19 @@ class VAppItem(val item: ProductItem, val repository: Repository) :
if (item.name == item.summary) "" else item.summary
binding.summary.visibility =
if (binding.summary.text.isNotEmpty()) View.VISIBLE else View.GONE
repository?.let {
binding.icon.load(
CoilDownloader.createIconUri(
binding.icon, item.packageName,
item.icon, item.metadataIcon, repository
item.icon, item.metadataIcon, it
)
) {
transformations(RoundedCornersTransformation(4.toPx))
placeholder(progressIcon)
error(defaultIcon)
}
}
binding.status.apply {
if (item.canUpdate) {
text = item.version