From 0362498faeda0abb7997686cc51ffdae266aa6f7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 16 Aug 2024 09:18:13 +0200 Subject: [PATCH] Make extension isCritical a val instead of a fun. --- .../impl/timeline/components/MessageShieldView.kt | 4 ++-- .../components/TimelineEventTimestampView.kt | 2 +- .../api/timeline/item/event/MessageShield.kt | 15 +++++++-------- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageShieldView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageShieldView.kt index 649c03b985..4b1415e8d4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageShieldView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageShieldView.kt @@ -65,7 +65,7 @@ internal fun MessageShieldView( @Composable internal fun MessageShield.toIconColor(): Color { - return when (isCritical()) { + return when (isCritical) { true -> ElementTheme.colors.iconCriticalPrimary false -> ElementTheme.colors.iconSecondary } @@ -73,7 +73,7 @@ internal fun MessageShield.toIconColor(): Color { @Composable private fun MessageShield.toTextColor(): Color { - return when (isCritical()) { + return when (isCritical) { true -> ElementTheme.colors.textCriticalPrimary false -> ElementTheme.colors.textSecondary } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt index eb57e51006..a7500531b2 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineEventTimestampView.kt @@ -52,7 +52,7 @@ fun TimelineEventTimestampView( ) { val formattedTime = event.sentTime 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 tint = if (hasUnrecoverableError || hasEncryptionCritical) MaterialTheme.colorScheme.error else MaterialTheme.colorScheme.secondary Row( diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/MessageShield.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/MessageShield.kt index 7323f9b712..9092817569 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/MessageShield.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/MessageShield.kt @@ -20,28 +20,27 @@ import androidx.compose.runtime.Immutable @Immutable 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 - /** 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 - /** 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 - /** 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 - /** An unencrypted event in an encrypted room.*/ + /** An unencrypted event in an encrypted room. */ data class SentInClear(val isCritical: Boolean) : MessageShield } -fun MessageShield.isCritical(): Boolean { - return when (this) { +val MessageShield.isCritical: Boolean + get() = when (this) { is MessageShield.AuthenticityNotGuaranteed -> isCritical is MessageShield.UnknownDevice -> isCritical is MessageShield.UnsignedDevice -> isCritical is MessageShield.UnverifiedIdentity -> isCritical is MessageShield.SentInClear -> isCritical } -}