mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 14:27:24 +00:00
make own votes bold in result screen
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
a95c0d997b
commit
167aa43ca0
@ -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....
|
||||
)
|
||||
|
@ -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
|
||||
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) {
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user