Make extension isCritical a val instead of a fun.

This commit is contained in:
Benoit Marty 2024-08-16 09:18:13 +02:00 committed by Benoit Marty
parent 05f02f2aa7
commit 0362498fae
3 changed files with 10 additions and 11 deletions

View file

@ -65,7 +65,7 @@ internal fun MessageShieldView(
@Composable @Composable
internal fun MessageShield.toIconColor(): Color { internal fun MessageShield.toIconColor(): Color {
return when (isCritical()) { return when (isCritical) {
true -> ElementTheme.colors.iconCriticalPrimary true -> ElementTheme.colors.iconCriticalPrimary
false -> ElementTheme.colors.iconSecondary false -> ElementTheme.colors.iconSecondary
} }
@ -73,7 +73,7 @@ internal fun MessageShield.toIconColor(): Color {
@Composable @Composable
private fun MessageShield.toTextColor(): Color { private fun MessageShield.toTextColor(): Color {
return when (isCritical()) { return when (isCritical) {
true -> ElementTheme.colors.textCriticalPrimary true -> ElementTheme.colors.textCriticalPrimary
false -> ElementTheme.colors.textSecondary false -> ElementTheme.colors.textSecondary
} }

View file

@ -52,7 +52,7 @@ fun TimelineEventTimestampView(
) { ) {
val formattedTime = event.sentTime val formattedTime = event.sentTime
val hasUnrecoverableError = event.localSendState is LocalEventSendState.SendingFailed.Unrecoverable val hasUnrecoverableError = event.localSendState is LocalEventSendState.SendingFailed.Unrecoverable
val hasEncryptionCritical = event.messageShield?.isCritical().orFalse() val hasEncryptionCritical = event.messageShield?.isCritical.orFalse()
val isMessageEdited = event.content.isEdited() val isMessageEdited = event.content.isEdited()
val tint = if (hasUnrecoverableError || hasEncryptionCritical) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.secondary val tint = if (hasUnrecoverableError || hasEncryptionCritical) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.secondary
Row( Row(

View file

@ -20,28 +20,27 @@ import androidx.compose.runtime.Immutable
@Immutable @Immutable
sealed interface MessageShield { sealed interface MessageShield {
/** Not enough information available to check the authenticity.*/ /** Not enough information available to check the authenticity. */
data class AuthenticityNotGuaranteed(val isCritical: Boolean) : MessageShield data class AuthenticityNotGuaranteed(val isCritical: Boolean) : MessageShield
/** The sending device isn't yet known by the Client.*/ /** The sending device isn't yet known by the Client. */
data class UnknownDevice(val isCritical: Boolean) : MessageShield data class UnknownDevice(val isCritical: Boolean) : MessageShield
/** The sending device hasn't been verified by the sender.*/ /** The sending device hasn't been verified by the sender. */
data class UnsignedDevice(val isCritical: Boolean) : MessageShield data class UnsignedDevice(val isCritical: Boolean) : MessageShield
/** The sender hasn't been verified by the Client's user.*/ /** The sender hasn't been verified by the Client's user. */
data class UnverifiedIdentity(val isCritical: Boolean) : MessageShield data class UnverifiedIdentity(val isCritical: Boolean) : MessageShield
/** An unencrypted event in an encrypted room.*/ /** An unencrypted event in an encrypted room. */
data class SentInClear(val isCritical: Boolean) : MessageShield data class SentInClear(val isCritical: Boolean) : MessageShield
} }
fun MessageShield.isCritical(): Boolean { val MessageShield.isCritical: Boolean
return when (this) { get() = when (this) {
is MessageShield.AuthenticityNotGuaranteed -> isCritical is MessageShield.AuthenticityNotGuaranteed -> isCritical
is MessageShield.UnknownDevice -> isCritical is MessageShield.UnknownDevice -> isCritical
is MessageShield.UnsignedDevice -> isCritical is MessageShield.UnsignedDevice -> isCritical
is MessageShield.UnverifiedIdentity -> isCritical is MessageShield.UnverifiedIdentity -> isCritical
is MessageShield.SentInClear -> isCritical is MessageShield.SentInClear -> isCritical
} }
}