Rename PollAnswerItem.isDisclosed to PollAnswerItem.showVotes for clarity.
Indeed the value is set to true for disclosed poll or if poll is ended.
This commit is contained in:
parent
5f7b41b420
commit
cae23f2415
6 changed files with 30 additions and 30 deletions
|
|
@ -25,7 +25,7 @@ import io.element.android.libraries.matrix.api.poll.PollAnswer
|
||||||
* @property isSelected whether the user has selected this answer.
|
* @property isSelected whether the user has selected this answer.
|
||||||
* @property isEnabled whether the answer can be voted.
|
* @property isEnabled whether the answer can be voted.
|
||||||
* @property isWinner whether this is the winner answer in the poll.
|
* @property isWinner whether this is the winner answer in the poll.
|
||||||
* @property isDisclosed whether the votes for this answer should be disclosed.
|
* @property showVotes whether the votes for this answer should be displayed.
|
||||||
* @property votesCount the number of votes for this answer.
|
* @property votesCount the number of votes for this answer.
|
||||||
* @property percentage the percentage of votes for this answer.
|
* @property percentage the percentage of votes for this answer.
|
||||||
*/
|
*/
|
||||||
|
|
@ -34,7 +34,7 @@ data class PollAnswerItem(
|
||||||
val isSelected: Boolean,
|
val isSelected: Boolean,
|
||||||
val isEnabled: Boolean,
|
val isEnabled: Boolean,
|
||||||
val isWinner: Boolean,
|
val isWinner: Boolean,
|
||||||
val isDisclosed: Boolean,
|
val showVotes: Boolean,
|
||||||
val votesCount: Int,
|
val votesCount: Int,
|
||||||
val percentage: Float,
|
val percentage: Float,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ internal fun PollAnswerView(
|
||||||
text = answerItem.answer.text,
|
text = answerItem.answer.text,
|
||||||
style = if (answerItem.isWinner) ElementTheme.typography.fontBodyLgMedium else ElementTheme.typography.fontBodyLgRegular,
|
style = if (answerItem.isWinner) ElementTheme.typography.fontBodyLgMedium else ElementTheme.typography.fontBodyLgRegular,
|
||||||
)
|
)
|
||||||
if (answerItem.isDisclosed) {
|
if (answerItem.showVotes) {
|
||||||
Text(
|
Text(
|
||||||
modifier = Modifier.align(Alignment.Bottom),
|
modifier = Modifier.align(Alignment.Bottom),
|
||||||
text = pluralStringResource(
|
text = pluralStringResource(
|
||||||
|
|
@ -98,7 +98,7 @@ internal fun PollAnswerView(
|
||||||
color = if (answerItem.isWinner) ElementTheme.colors.textSuccessPrimary else answerItem.isEnabled.toEnabledColor(),
|
color = if (answerItem.isWinner) ElementTheme.colors.textSuccessPrimary else answerItem.isEnabled.toEnabledColor(),
|
||||||
progress = {
|
progress = {
|
||||||
when {
|
when {
|
||||||
answerItem.isDisclosed -> answerItem.percentage
|
answerItem.showVotes -> answerItem.percentage
|
||||||
answerItem.isSelected -> 1f
|
answerItem.isSelected -> 1f
|
||||||
else -> 0f
|
else -> 0f
|
||||||
}
|
}
|
||||||
|
|
@ -114,7 +114,7 @@ internal fun PollAnswerView(
|
||||||
@Composable
|
@Composable
|
||||||
internal fun PollAnswerDisclosedNotSelectedPreview() = ElementPreview {
|
internal fun PollAnswerDisclosedNotSelectedPreview() = ElementPreview {
|
||||||
PollAnswerView(
|
PollAnswerView(
|
||||||
answerItem = aPollAnswerItem(isDisclosed = true, isSelected = false),
|
answerItem = aPollAnswerItem(showVotes = true, isSelected = false),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -122,7 +122,7 @@ internal fun PollAnswerDisclosedNotSelectedPreview() = ElementPreview {
|
||||||
@Composable
|
@Composable
|
||||||
internal fun PollAnswerDisclosedSelectedPreview() = ElementPreview {
|
internal fun PollAnswerDisclosedSelectedPreview() = ElementPreview {
|
||||||
PollAnswerView(
|
PollAnswerView(
|
||||||
answerItem = aPollAnswerItem(isDisclosed = true, isSelected = true),
|
answerItem = aPollAnswerItem(showVotes = true, isSelected = true),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -130,7 +130,7 @@ internal fun PollAnswerDisclosedSelectedPreview() = ElementPreview {
|
||||||
@Composable
|
@Composable
|
||||||
internal fun PollAnswerUndisclosedNotSelectedPreview() = ElementPreview {
|
internal fun PollAnswerUndisclosedNotSelectedPreview() = ElementPreview {
|
||||||
PollAnswerView(
|
PollAnswerView(
|
||||||
answerItem = aPollAnswerItem(isDisclosed = false, isSelected = false),
|
answerItem = aPollAnswerItem(showVotes = false, isSelected = false),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -138,7 +138,7 @@ internal fun PollAnswerUndisclosedNotSelectedPreview() = ElementPreview {
|
||||||
@Composable
|
@Composable
|
||||||
internal fun PollAnswerUndisclosedSelectedPreview() = ElementPreview {
|
internal fun PollAnswerUndisclosedSelectedPreview() = ElementPreview {
|
||||||
PollAnswerView(
|
PollAnswerView(
|
||||||
answerItem = aPollAnswerItem(isDisclosed = false, isSelected = true),
|
answerItem = aPollAnswerItem(showVotes = false, isSelected = true),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -146,7 +146,7 @@ internal fun PollAnswerUndisclosedSelectedPreview() = ElementPreview {
|
||||||
@Composable
|
@Composable
|
||||||
internal fun PollAnswerEndedWinnerNotSelectedPreview() = ElementPreview {
|
internal fun PollAnswerEndedWinnerNotSelectedPreview() = ElementPreview {
|
||||||
PollAnswerView(
|
PollAnswerView(
|
||||||
answerItem = aPollAnswerItem(isDisclosed = true, isSelected = false, isEnabled = false, isWinner = true),
|
answerItem = aPollAnswerItem(showVotes = true, isSelected = false, isEnabled = false, isWinner = true),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -154,7 +154,7 @@ internal fun PollAnswerEndedWinnerNotSelectedPreview() = ElementPreview {
|
||||||
@Composable
|
@Composable
|
||||||
internal fun PollAnswerEndedWinnerSelectedPreview() = ElementPreview {
|
internal fun PollAnswerEndedWinnerSelectedPreview() = ElementPreview {
|
||||||
PollAnswerView(
|
PollAnswerView(
|
||||||
answerItem = aPollAnswerItem(isDisclosed = true, isSelected = true, isEnabled = false, isWinner = true),
|
answerItem = aPollAnswerItem(showVotes = true, isSelected = true, isEnabled = false, isWinner = true),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -162,6 +162,6 @@ internal fun PollAnswerEndedWinnerSelectedPreview() = ElementPreview {
|
||||||
@Composable
|
@Composable
|
||||||
internal fun PollAnswerEndedSelectedPreview() = ElementPreview {
|
internal fun PollAnswerEndedSelectedPreview() = ElementPreview {
|
||||||
PollAnswerView(
|
PollAnswerView(
|
||||||
answerItem = aPollAnswerItem(isDisclosed = true, isSelected = true, isEnabled = false, isWinner = false),
|
answerItem = aPollAnswerItem(showVotes = true, isSelected = true, isEnabled = false, isWinner = false),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,11 @@ fun aPollQuestion() = "What type of food should we have at the party?"
|
||||||
fun aPollAnswerItemList(
|
fun aPollAnswerItemList(
|
||||||
hasVotes: Boolean = true,
|
hasVotes: Boolean = true,
|
||||||
isEnded: Boolean = false,
|
isEnded: Boolean = false,
|
||||||
isDisclosed: Boolean = true,
|
showVotes: Boolean = true,
|
||||||
) = persistentListOf(
|
) = persistentListOf(
|
||||||
aPollAnswerItem(
|
aPollAnswerItem(
|
||||||
answer = PollAnswer("option_1", "Italian \uD83C\uDDEE\uD83C\uDDF9"),
|
answer = PollAnswer("option_1", "Italian \uD83C\uDDEE\uD83C\uDDF9"),
|
||||||
isDisclosed = isDisclosed,
|
showVotes = showVotes,
|
||||||
isEnabled = !isEnded,
|
isEnabled = !isEnded,
|
||||||
isWinner = isEnded,
|
isWinner = isEnded,
|
||||||
votesCount = if (hasVotes) 5 else 0,
|
votesCount = if (hasVotes) 5 else 0,
|
||||||
|
|
@ -39,7 +39,7 @@ fun aPollAnswerItemList(
|
||||||
),
|
),
|
||||||
aPollAnswerItem(
|
aPollAnswerItem(
|
||||||
answer = PollAnswer("option_2", "Chinese \uD83C\uDDE8\uD83C\uDDF3"),
|
answer = PollAnswer("option_2", "Chinese \uD83C\uDDE8\uD83C\uDDF3"),
|
||||||
isDisclosed = isDisclosed,
|
showVotes = showVotes,
|
||||||
isEnabled = !isEnded,
|
isEnabled = !isEnded,
|
||||||
isWinner = false,
|
isWinner = false,
|
||||||
votesCount = 0,
|
votesCount = 0,
|
||||||
|
|
@ -47,7 +47,7 @@ fun aPollAnswerItemList(
|
||||||
),
|
),
|
||||||
aPollAnswerItem(
|
aPollAnswerItem(
|
||||||
answer = PollAnswer("option_3", "Brazilian \uD83C\uDDE7\uD83C\uDDF7"),
|
answer = PollAnswer("option_3", "Brazilian \uD83C\uDDE7\uD83C\uDDF7"),
|
||||||
isDisclosed = isDisclosed,
|
showVotes = showVotes,
|
||||||
isEnabled = !isEnded,
|
isEnabled = !isEnded,
|
||||||
isWinner = false,
|
isWinner = false,
|
||||||
isSelected = true,
|
isSelected = true,
|
||||||
|
|
@ -55,7 +55,7 @@ fun aPollAnswerItemList(
|
||||||
percentage = if (hasVotes) 0.1f else 0f
|
percentage = if (hasVotes) 0.1f else 0f
|
||||||
),
|
),
|
||||||
aPollAnswerItem(
|
aPollAnswerItem(
|
||||||
isDisclosed = isDisclosed,
|
showVotes = showVotes,
|
||||||
isEnabled = !isEnded,
|
isEnabled = !isEnded,
|
||||||
votesCount = if (hasVotes) 4 else 0,
|
votesCount = if (hasVotes) 4 else 0,
|
||||||
percentage = if (hasVotes) 0.4f else 0f,
|
percentage = if (hasVotes) 0.4f else 0f,
|
||||||
|
|
@ -70,7 +70,7 @@ fun aPollAnswerItem(
|
||||||
isSelected: Boolean = false,
|
isSelected: Boolean = false,
|
||||||
isEnabled: Boolean = true,
|
isEnabled: Boolean = true,
|
||||||
isWinner: Boolean = false,
|
isWinner: Boolean = false,
|
||||||
isDisclosed: Boolean = true,
|
showVotes: Boolean = true,
|
||||||
votesCount: Int = 4,
|
votesCount: Int = 4,
|
||||||
percentage: Float = 0.4f,
|
percentage: Float = 0.4f,
|
||||||
) = PollAnswerItem(
|
) = PollAnswerItem(
|
||||||
|
|
@ -78,7 +78,7 @@ fun aPollAnswerItem(
|
||||||
isSelected = isSelected,
|
isSelected = isSelected,
|
||||||
isEnabled = isEnabled,
|
isEnabled = isEnabled,
|
||||||
isWinner = isWinner,
|
isWinner = isWinner,
|
||||||
isDisclosed = isDisclosed,
|
showVotes = showVotes,
|
||||||
votesCount = votesCount,
|
votesCount = votesCount,
|
||||||
percentage = percentage
|
percentage = percentage
|
||||||
)
|
)
|
||||||
|
|
@ -87,14 +87,14 @@ fun aPollContentState(
|
||||||
eventId: EventId? = null,
|
eventId: EventId? = null,
|
||||||
isMine: Boolean = false,
|
isMine: Boolean = false,
|
||||||
isEnded: Boolean = false,
|
isEnded: Boolean = false,
|
||||||
isDisclosed: Boolean = true,
|
showVotes: Boolean = true,
|
||||||
isPollEditable: Boolean = true,
|
isPollEditable: Boolean = true,
|
||||||
hasVotes: Boolean = true,
|
hasVotes: Boolean = true,
|
||||||
question: String = aPollQuestion(),
|
question: String = aPollQuestion(),
|
||||||
pollKind: PollKind = PollKind.Disclosed,
|
pollKind: PollKind = PollKind.Disclosed,
|
||||||
answerItems: ImmutableList<PollAnswerItem> = aPollAnswerItemList(
|
answerItems: ImmutableList<PollAnswerItem> = aPollAnswerItemList(
|
||||||
isEnded = isEnded,
|
isEnded = isEnded,
|
||||||
isDisclosed = isDisclosed,
|
showVotes = showVotes,
|
||||||
hasVotes = hasVotes
|
hasVotes = hasVotes
|
||||||
),
|
),
|
||||||
) = PollContentState(
|
) = PollContentState(
|
||||||
|
|
|
||||||
|
|
@ -245,7 +245,7 @@ internal fun PollContentUndisclosedPreview() = ElementPreview {
|
||||||
PollContentView(
|
PollContentView(
|
||||||
eventId = EventId("\$anEventId"),
|
eventId = EventId("\$anEventId"),
|
||||||
question = "What type of food should we have at the party?",
|
question = "What type of food should we have at the party?",
|
||||||
answerItems = aPollAnswerItemList(isDisclosed = false),
|
answerItems = aPollAnswerItemList(showVotes = false),
|
||||||
pollKind = PollKind.Undisclosed,
|
pollKind = PollKind.Undisclosed,
|
||||||
isPollEnded = false,
|
isPollEnded = false,
|
||||||
isPollEditable = false,
|
isPollEditable = false,
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ class DefaultPollContentStateFactory @Inject constructor(
|
||||||
isSelected = isSelected,
|
isSelected = isSelected,
|
||||||
isEnabled = !isPollEnded,
|
isEnabled = !isPollEnded,
|
||||||
isWinner = isWinner,
|
isWinner = isWinner,
|
||||||
isDisclosed = content.kind.isDisclosed || isPollEnded,
|
showVotes = content.kind.isDisclosed || isPollEnded,
|
||||||
votesCount = answerVoteCount,
|
votesCount = answerVoteCount,
|
||||||
percentage = percentage,
|
percentage = percentage,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ class PollContentStateFactoryTest {
|
||||||
val state = factory.create(eventTimelineItem, aPollContent(PollKind.Undisclosed))
|
val state = factory.create(eventTimelineItem, aPollContent(PollKind.Undisclosed))
|
||||||
val expectedState = aPollContentState(pollKind = PollKind.Undisclosed).let {
|
val expectedState = aPollContentState(pollKind = PollKind.Undisclosed).let {
|
||||||
it.copy(
|
it.copy(
|
||||||
answerItems = it.answerItems.map { answerItem -> answerItem.copy(isDisclosed = false) }.toImmutableList()
|
answerItems = it.answerItems.map { answerItem -> answerItem.copy(showVotes = false) }.toImmutableList()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
assertThat(state).isEqualTo(expectedState)
|
assertThat(state).isEqualTo(expectedState)
|
||||||
|
|
@ -147,10 +147,10 @@ class PollContentStateFactoryTest {
|
||||||
val expectedState = aPollContentState(
|
val expectedState = aPollContentState(
|
||||||
pollKind = PollKind.Undisclosed,
|
pollKind = PollKind.Undisclosed,
|
||||||
answerItems = listOf(
|
answerItems = listOf(
|
||||||
aPollAnswerItem(answer = A_POLL_ANSWER_1, isDisclosed = false, votesCount = 3, percentage = 0.3f),
|
aPollAnswerItem(answer = A_POLL_ANSWER_1, showVotes = false, votesCount = 3, percentage = 0.3f),
|
||||||
aPollAnswerItem(answer = A_POLL_ANSWER_2, isDisclosed = false, isSelected = true, votesCount = 6, percentage = 0.6f),
|
aPollAnswerItem(answer = A_POLL_ANSWER_2, showVotes = false, isSelected = true, votesCount = 6, percentage = 0.6f),
|
||||||
aPollAnswerItem(answer = A_POLL_ANSWER_3, isDisclosed = false),
|
aPollAnswerItem(answer = A_POLL_ANSWER_3, showVotes = false),
|
||||||
aPollAnswerItem(answer = A_POLL_ANSWER_4, isDisclosed = false, votesCount = 1, percentage = 0.1f),
|
aPollAnswerItem(answer = A_POLL_ANSWER_4, showVotes = false, votesCount = 1, percentage = 0.1f),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
assertThat(state).isEqualTo(expectedState)
|
assertThat(state).isEqualTo(expectedState)
|
||||||
|
|
@ -164,7 +164,7 @@ class PollContentStateFactoryTest {
|
||||||
pollKind = PollKind.Undisclosed
|
pollKind = PollKind.Undisclosed
|
||||||
).let {
|
).let {
|
||||||
it.copy(
|
it.copy(
|
||||||
answerItems = it.answerItems.map { answerItem -> answerItem.copy(isDisclosed = true, isEnabled = false) }.toImmutableList(),
|
answerItems = it.answerItems.map { answerItem -> answerItem.copy(showVotes = true, isEnabled = false) }.toImmutableList(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
assertThat(state).isEqualTo(expectedState)
|
assertThat(state).isEqualTo(expectedState)
|
||||||
|
|
@ -258,7 +258,7 @@ class PollContentStateFactoryTest {
|
||||||
isSelected: Boolean = false,
|
isSelected: Boolean = false,
|
||||||
isEnabled: Boolean = true,
|
isEnabled: Boolean = true,
|
||||||
isWinner: Boolean = false,
|
isWinner: Boolean = false,
|
||||||
isDisclosed: Boolean = true,
|
showVotes: Boolean = true,
|
||||||
votesCount: Int = 0,
|
votesCount: Int = 0,
|
||||||
percentage: Float = 0f,
|
percentage: Float = 0f,
|
||||||
) = PollAnswerItem(
|
) = PollAnswerItem(
|
||||||
|
|
@ -266,7 +266,7 @@ class PollContentStateFactoryTest {
|
||||||
isSelected = isSelected,
|
isSelected = isSelected,
|
||||||
isEnabled = isEnabled,
|
isEnabled = isEnabled,
|
||||||
isWinner = isWinner,
|
isWinner = isWinner,
|
||||||
isDisclosed = isDisclosed,
|
showVotes = showVotes,
|
||||||
votesCount = votesCount,
|
votesCount = votesCount,
|
||||||
percentage = percentage,
|
percentage = percentage,
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue