From b3a02ccf73e35caaec43883fc1ec4e58de90cc59 Mon Sep 17 00:00:00 2001 From: Taras <tarassmakula@gmail.com> Date: Thu, 4 Aug 2022 17:35:23 +0300 Subject: [PATCH] Create view holder --- .../list/SubscriptionViewHolder.kt | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt new file mode 100644 index 000000000..0166f60d1 --- /dev/null +++ b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/list/SubscriptionViewHolder.kt @@ -0,0 +1,36 @@ +package org.futo.circles.feature.sign_up.subscription_stage.list + +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import org.futo.circles.core.list.ViewBindingHolder +import org.futo.circles.core.list.context +import org.futo.circles.databinding.SubscriptionListItemBinding +import org.futo.circles.extensions.onClick +import org.futo.circles.subscriptions.SubscriptionData +import org.futo.circles.subscriptions.formatIsoPeriod + + +class SubscriptionViewHolder( + parent: ViewGroup, + private val onSubscriptionClicked: (Int) -> Unit +) : RecyclerView.ViewHolder(inflate(parent, SubscriptionListItemBinding::inflate)) { + + private companion object : ViewBindingHolder + + private val binding = baseBinding as SubscriptionListItemBinding + + init { + onClick(itemView) { position -> onSubscriptionClicked(position) } + } + + fun bind(data: SubscriptionData) { + with(binding) { + tvName.text = data.details.name + tvDetails.text = data.details.description + val productOffer = + data.details.subscriptionOfferDetails?.last()?.pricingPhases?.pricingPhaseList?.last() + tvPrice.text = productOffer?.formattedPrice ?: "" + tvDuration.text = productOffer?.billingPeriod?.formatIsoPeriod(context) ?: "" + } + } +} \ No newline at end of file -- GitLab