diff --git a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultItem.kt b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultItem.kt index 324253b6d..22d2cda4c 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultItem.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultItem.kt @@ -2,7 +2,8 @@ package com.nextcloud.talk.polls.adapters class PollResultItem( val pollOption: String, - val pollPercent: Int + val pollPercent: Int, + val selfVoted: Boolean // val voters.... ) diff --git a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultViewHolder.kt b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultViewHolder.kt index cee0d95ad..bf0bc409d 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultViewHolder.kt @@ -1,20 +1,29 @@ package com.nextcloud.talk.polls.adapters import android.annotation.SuppressLint +import android.graphics.Typeface import android.view.View import androidx.recyclerview.widget.RecyclerView import com.nextcloud.talk.databinding.PollResultItemBinding class PollResultViewHolder( private val binding: PollResultItemBinding, - private val showDetails: Boolean -) : RecyclerView.ViewHolder(binding.root) { + private val showDetails: Boolean, + + ) : RecyclerView.ViewHolder(binding.root) { @SuppressLint("SetTextI18n") fun bind(pollResultItem: PollResultItem, clickListener: PollResultItemClickListener) { binding.root.setOnClickListener { clickListener.onClick(pollResultItem) } + binding.pollOptionText.text = pollResultItem.pollOption binding.pollOptionPercentText.text = pollResultItem.pollPercent.toString() + "%" + + if (pollResultItem.selfVoted) { + binding.pollOptionText.setTypeface(null, Typeface.BOLD) + binding.pollOptionPercentText.setTypeface(null, Typeface.BOLD) + } + binding.pollOptionBar.progress = pollResultItem.pollPercent if (showDetails) { diff --git a/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt b/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt index a40cd0156..8a4964204 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt @@ -86,8 +86,8 @@ class PollResultsFragment( } } - private fun initAdapter(showDetails: Boolean) { - adapter = PollResultsAdapter(this, showDetails) + private fun initAdapter(showParticipants: Boolean) { + adapter = PollResultsAdapter(this, showParticipants) _binding?.pollResultsList?.adapter = adapter _binding?.pollResultsList?.layoutManager = LinearLayoutManager(context) } @@ -101,7 +101,12 @@ class PollResultsFragment( val votersForThisOption = poll.details.filter { it.optionId == index }.size val optionsPercent = oneVoteInPercent * votersForThisOption - val pollResultItem = PollResultItem(option, optionsPercent) // TODO add participants to PollResultItem + val pollResultItem = PollResultItem( + option, + optionsPercent, + isOptionSelfVoted(poll, index) + ) + // TODO add participants to PollResultItem adapter?.list?.add(pollResultItem) } } else if (poll.votes != null) { @@ -115,7 +120,11 @@ class PollResultsFragment( } val optionsPercent = oneVoteInPercent * votersForThisOption - val pollResultItem = PollResultItem(option, optionsPercent) + val pollResultItem = PollResultItem( + option, + optionsPercent, + isOptionSelfVoted(poll, index) + ) adapter?.list?.add(pollResultItem) } } else { @@ -123,6 +132,10 @@ class PollResultsFragment( } } + private fun isOptionSelfVoted(poll: Poll, index: Int): Boolean { + return poll.votedSelf?.contains(index) == true + } + private fun initEditButton(showEditButton: Boolean) { if (showEditButton) { _binding?.editVoteButton?.visibility = View.VISIBLE