From a9467c7b96c24eacc67b736f8098be0ccc683c1b Mon Sep 17 00:00:00 2001 From: andrew Date: Fri, 20 Oct 2023 13:32:16 +1030 Subject: [PATCH] [SES-1203] Disable radio buttons --- app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt | 3 ++- .../src/main/java/org/session/libsession/utilities/Util.kt | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt index 19d82bddc..8f4cd14f0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt @@ -49,6 +49,7 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.compose.ui.viewinterop.AndroidView import org.session.libsession.utilities.recipients.Recipient +import org.session.libsession.utilities.runIf import org.thoughtcrime.securesms.components.ProfilePictureView import org.thoughtcrime.securesms.conversation.disappearingmessages.ui.OptionsCard import kotlin.math.min @@ -150,7 +151,7 @@ fun TitledRadioButton(option: RadioOption, onClick: () -> Unit) { Row( horizontalArrangement = Arrangement.spacedBy(16.dp), modifier = Modifier - .clickable { if (!option.selected) onClick() } + .runIf(option.enabled) { clickable { if (!option.selected) onClick() } } .heightIn(min = 60.dp) .padding(horizontal = 32.dp) .contentDescription(option.contentDescription) diff --git a/libsession/src/main/java/org/session/libsession/utilities/Util.kt b/libsession/src/main/java/org/session/libsession/utilities/Util.kt index 540f8e097..17009caa7 100644 --- a/libsession/src/main/java/org/session/libsession/utilities/Util.kt +++ b/libsession/src/main/java/org/session/libsession/utilities/Util.kt @@ -367,6 +367,8 @@ object Util { } } +fun T.runIf(condition: Boolean, block: T.() -> R): R where T: R = if (condition) block() else this + fun Iterable.associateByNotNull( keySelector: (T) -> K? ) = associateByNotNull(keySelector) { it }