@@ -18,13 +18,15 @@ package im.vector.app.features.roomprofile.polls.list
1818
1919import android.widget.LinearLayout
2020import android.widget.TextView
21+ import androidx.core.view.isVisible
2122import com.airbnb.epoxy.EpoxyAttribute
2223import com.airbnb.epoxy.EpoxyModelClass
2324import im.vector.app.R
2425import im.vector.app.core.epoxy.ClickListener
2526import im.vector.app.core.epoxy.VectorEpoxyHolder
2627import im.vector.app.core.epoxy.VectorEpoxyModel
2728import im.vector.app.core.epoxy.onClick
29+ import im.vector.app.core.extensions.setTextOrHide
2830import im.vector.app.features.home.room.detail.timeline.item.PollOptionView
2931import im.vector.app.features.home.room.detail.timeline.item.PollOptionViewState
3032
@@ -40,6 +42,9 @@ abstract class RoomPollItem : VectorEpoxyModel<RoomPollItem.Holder>(R.layout.ite
4042 @EpoxyAttribute
4143 var winnerOptions: List <PollOptionViewState .PollEnded > = emptyList()
4244
45+ @EpoxyAttribute
46+ var totalVotesStatus: String? = null
47+
4348 @EpoxyAttribute(EpoxyAttribute .Option .DoNotHash )
4449 var clickListener: ClickListener ? = null
4550
@@ -49,16 +54,19 @@ abstract class RoomPollItem : VectorEpoxyModel<RoomPollItem.Holder>(R.layout.ite
4954 holder.date.text = formattedDate
5055 holder.title.text = title
5156 holder.winnerOptions.removeAllViews()
57+ holder.winnerOptions.isVisible = winnerOptions.isNotEmpty()
5258 for (winnerOption in winnerOptions) {
5359 val optionView = PollOptionView (holder.view.context)
5460 holder.winnerOptions.addView(optionView)
5561 optionView.render(winnerOption)
5662 }
63+ holder.totalVotes.setTextOrHide(totalVotesStatus)
5764 }
5865
5966 class Holder : VectorEpoxyHolder () {
6067 val date by bind<TextView >(R .id.pollDate)
6168 val title by bind<TextView >(R .id.pollTitle)
6269 val winnerOptions by bind<LinearLayout >(R .id.pollWinnerOptionsContainer)
70+ val totalVotes by bind<TextView >(R .id.pollTotalVotes)
6371 }
6472}
0 commit comments