Rust sdk : use newMessageShield state

This commit is contained in:
ganfra
2024-08-27 17:42:00 +02:00
parent 52d5f1cd6f
commit 57c6abfe47
3 changed files with 11 additions and 1 deletions

View File

@@ -88,6 +88,7 @@ internal fun MessageShield.toText(): String {
is MessageShield.UnsignedDevice -> CommonStrings.event_shield_reason_unsigned_device
is MessageShield.UnverifiedIdentity -> CommonStrings.event_shield_reason_unverified_identity
is MessageShield.SentInClear -> CommonStrings.event_shield_reason_sent_in_clear
is MessageShield.PreviouslyVerified -> CommonStrings.event_shield_reason_previously_verified
}
)
}
@@ -98,7 +99,8 @@ internal fun MessageShield.toIcon(): ImageVector {
is MessageShield.AuthenticityNotGuaranteed -> CompoundIcons.Info()
is MessageShield.UnknownDevice,
is MessageShield.UnsignedDevice,
is MessageShield.UnverifiedIdentity -> CompoundIcons.HelpSolid()
is MessageShield.UnverifiedIdentity,
is MessageShield.PreviouslyVerified -> CompoundIcons.HelpSolid()
is MessageShield.SentInClear -> CompoundIcons.LockOff()
}
}
@@ -126,6 +128,9 @@ internal fun MessageShieldViewPreview() {
MessageShieldView(
shield = MessageShield.SentInClear(false)
)
MessageShieldView(
shield = MessageShield.PreviouslyVerified(false)
)
}
}
}

View File

@@ -34,6 +34,9 @@ sealed interface MessageShield {
/** An unencrypted event in an encrypted room. */
data class SentInClear(val isCritical: Boolean) : MessageShield
/** The sender was previously verified but changed their identity. */
data class PreviouslyVerified(val isCritical: Boolean) : MessageShield
}
val MessageShield.isCritical: Boolean
@@ -43,4 +46,5 @@ val MessageShield.isCritical: Boolean
is MessageShield.UnsignedDevice -> isCritical
is MessageShield.UnverifiedIdentity -> isCritical
is MessageShield.SentInClear -> isCritical
is MessageShield.PreviouslyVerified -> isCritical
}

View File

@@ -152,5 +152,6 @@ private fun ShieldState?.map(): MessageShield? {
ShieldStateCode.UNSIGNED_DEVICE -> MessageShield.UnsignedDevice(isCritical)
ShieldStateCode.UNVERIFIED_IDENTITY -> MessageShield.UnverifiedIdentity(isCritical)
ShieldStateCode.SENT_IN_CLEAR -> MessageShield.SentInClear(isCritical)
ShieldStateCode.PREVIOUSLY_VERIFIED -> MessageShield.PreviouslyVerified(isCritical)
}
}