From 912489d1c82f14467f2b3509a8d9c409aad2fc3c Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Mon, 17 Nov 2025 10:09:37 -0500 Subject: [PATCH] Fix vote selection. --- .../securesms/conversation/PollComponent.kt | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/PollComponent.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/PollComponent.kt index 2a187d2538..21038b1882 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/PollComponent.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/PollComponent.kt @@ -165,11 +165,13 @@ private fun PollOption( .padding(start = 12.dp, end = 16.dp, top = 8.dp, bottom = 8.dp) .clickable( onClick = { - val added = option.voteState == VoteState.PENDING_ADD || option.voteState == VoteState.ADDED - if (VibrateUtil.isHapticFeedbackEnabled(context)) { - haptics.performHapticFeedback(if (added) HapticFeedbackType.ToggleOff else HapticFeedbackType.ToggleOn) + if (!hasEnded) { + val added = option.voteState == VoteState.PENDING_ADD || option.voteState == VoteState.ADDED + if (VibrateUtil.isHapticFeedbackEnabled(context)) { + haptics.performHapticFeedback(if (added) HapticFeedbackType.ToggleOff else HapticFeedbackType.ToggleOn) + } + onToggleVote(option, !added) } - onToggleVote(option, !added) }, interactionSource = remember { MutableInteractionSource() }, indication = null, @@ -216,7 +218,12 @@ private fun PollOption( VoteState.NONE -> { RoundCheckbox( checked = voteState == VoteState.ADDED, - onCheckedChange = {}, + onCheckedChange = { checked -> + if (VibrateUtil.isHapticFeedbackEnabled(context)) { + haptics.performHapticFeedback(if (checked) HapticFeedbackType.ToggleOn else HapticFeedbackType.ToggleOff) + } + onToggleVote(option, checked) + }, modifier = Modifier.padding(top = 4.dp, end = 8.dp).height(24.dp), outlineColor = pollColors.checkbox, checkedColor = pollColors.checkboxBackground