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
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
}

View File

@@ -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(

View File

@@ -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
}
}