Message Shields - i18n
This commit is contained in:
parent
33e09edd62
commit
1a671f708e
1 changed files with 19 additions and 3 deletions
|
|
@ -37,6 +37,7 @@ import androidx.compose.foundation.layout.wrapContentHeight
|
||||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.CompositionLocalProvider
|
import androidx.compose.runtime.CompositionLocalProvider
|
||||||
|
import androidx.compose.runtime.ReadOnlyComposable
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
|
|
@ -696,14 +697,29 @@ internal fun TimelineItemEventRowShieldsPreview() = ElementPreview {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
@ReadOnlyComposable
|
||||||
private fun TimelineItem.Event.shieldPosition(): MessageShieldPosition {
|
private fun TimelineItem.Event.shieldPosition(): MessageShieldPosition {
|
||||||
if (this.messageShield == null) return MessageShieldPosition.None
|
val shield = this.messageShield ?: return MessageShieldPosition.None
|
||||||
|
|
||||||
|
// sdk returns raw human readable strings, add i18n support
|
||||||
|
val localizedMessage = when (shield.message) {
|
||||||
|
"The authenticity of this encrypted message can't be guaranteed on this device." -> stringResource(
|
||||||
|
CommonStrings.event_shield_reason_authenticity_not_guaranteed
|
||||||
|
)
|
||||||
|
"Encrypted by a device not verified by its owner." -> stringResource(CommonStrings.event_shield_reason_unsigned_device)
|
||||||
|
"Encrypted by an unknown or deleted device." -> stringResource(CommonStrings.event_shield_reason_unknown_device)
|
||||||
|
"Encrypted by an unverified user." -> stringResource(CommonStrings.event_shield_reason_unverified_identity)
|
||||||
|
else -> shield.message
|
||||||
|
}
|
||||||
|
val localShield = shield.copy(message = localizedMessage)
|
||||||
|
|
||||||
return when (this.content) {
|
return when (this.content) {
|
||||||
is TimelineItemImageContent,
|
is TimelineItemImageContent,
|
||||||
is TimelineItemVideoContent,
|
is TimelineItemVideoContent,
|
||||||
is TimelineItemStickerContent,
|
is TimelineItemStickerContent,
|
||||||
is TimelineItemLocationContent,
|
is TimelineItemLocationContent,
|
||||||
is TimelineItemPollContent -> MessageShieldPosition.OutOfBubble(this.messageShield)
|
is TimelineItemPollContent -> MessageShieldPosition.OutOfBubble(localShield)
|
||||||
else -> MessageShieldPosition.InBubble(this.messageShield)
|
else -> MessageShieldPosition.InBubble(localShield)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue