From 0171b796bbe8970c86056034c43fd22408efa58d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 12 Nov 2024 10:20:21 +0100 Subject: [PATCH] Update the strings for unsupported calls --- .../event/TimelineItemLegacyCallInviteView.kt | 15 +++++---------- .../DefaultMessageSummaryFormatter.kt | 2 +- .../impl/src/main/res/values/localazy.xml | 1 + .../impl/DefaultRoomLastMessageFormatter.kt | 2 +- .../impl/DefaultTimelineEventFormatter.kt | 4 +--- .../DefaultNotifiableEventResolver.kt | 2 +- .../DefaultNotifiableEventResolverTest.kt | 2 +- .../ui-strings/src/main/res/values/localazy.xml | 1 + tools/localazy/checkForbiddenTerms.py | 2 ++ 9 files changed, 14 insertions(+), 17 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemLegacyCallInviteView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemLegacyCallInviteView.kt index a59741597b..74f27e5327 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemLegacyCallInviteView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemLegacyCallInviteView.kt @@ -7,24 +7,21 @@ package io.element.android.features.messages.impl.timeline.components.event -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.width -import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons +import io.element.android.features.messages.impl.R import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.ui.strings.CommonStrings @Composable fun TimelineItemLegacyCallInviteView( @@ -32,20 +29,18 @@ fun TimelineItemLegacyCallInviteView( ) { Row( modifier = modifier, - horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.CenterVertically ) { Icon( imageVector = CompoundIcons.VoiceCall(), contentDescription = null, - tint = MaterialTheme.colorScheme.secondary, + tint = ElementTheme.colors.iconSecondary, ) Spacer(modifier = Modifier.width(8.dp)) Text( - color = MaterialTheme.colorScheme.secondary, + color = ElementTheme.colors.textSecondary, style = ElementTheme.typography.fontBodyMdRegular, - text = stringResource(CommonStrings.common_call_invite), - textAlign = TextAlign.Center, + text = stringResource(R.string.screen_room_timeline_legacy_call), + textAlign = TextAlign.Start, ) } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/messagesummary/DefaultMessageSummaryFormatter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/messagesummary/DefaultMessageSummaryFormatter.kt index f39645088d..595987be35 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/messagesummary/DefaultMessageSummaryFormatter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/messagesummary/DefaultMessageSummaryFormatter.kt @@ -56,7 +56,7 @@ class DefaultMessageSummaryFormatter @Inject constructor( is TimelineItemVideoContent -> context.getString(CommonStrings.common_video) is TimelineItemFileContent -> context.getString(CommonStrings.common_file) is TimelineItemAudioContent -> context.getString(CommonStrings.common_audio) - is TimelineItemLegacyCallInviteContent -> context.getString(CommonStrings.common_call_invite) + is TimelineItemLegacyCallInviteContent -> context.getString(CommonStrings.common_unsupported_call) is TimelineItemCallNotifyContent -> context.getString(CommonStrings.common_call_started) }.take(MAX_SAFE_LENGTH) } diff --git a/features/messages/impl/src/main/res/values/localazy.xml b/features/messages/impl/src/main/res/values/localazy.xml index 63d3d90382..73d266f799 100644 --- a/features/messages/impl/src/main/res/values/localazy.xml +++ b/features/messages/impl/src/main/res/values/localazy.xml @@ -31,6 +31,7 @@ "Add emoji" "This is the beginning of %1$s." "This is the beginning of this conversation." + "Unsupported call. Ask if the caller can use the new Element X app." "Show less" "Message copied" "You do not have permission to post to this room" diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt index 4031915445..c2b8c06bd3 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt @@ -91,7 +91,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( val message = sp.getString(CommonStrings.common_unsupported_event) message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom, isOutgoing) } - is LegacyCallInviteContent -> sp.getString(CommonStrings.common_call_invite) + is LegacyCallInviteContent -> sp.getString(CommonStrings.common_unsupported_call) is CallNotifyContent -> sp.getString(CommonStrings.common_call_started) }?.take(MAX_SAFE_LENGTH) } diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultTimelineEventFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultTimelineEventFormatter.kt index ddff8fb5bf..485a176cc8 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultTimelineEventFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultTimelineEventFormatter.kt @@ -52,13 +52,11 @@ class DefaultTimelineEventFormatter @Inject constructor( is StateContent -> { stateContentFormatter.format(content, senderDisambiguatedDisplayName, isOutgoing, RenderingMode.Timeline) } - is LegacyCallInviteContent -> { - sp.getString(CommonStrings.common_call_invite) - } is CallNotifyContent -> { sp.getString(CommonStrings.common_call_started) } RedactedContent, + is LegacyCallInviteContent, is StickerContent, is PollContent, is UnableToDecryptContent, diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt index 97e80f4dbf..c378b76140 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt @@ -151,7 +151,7 @@ class DefaultNotifiableEventResolver @Inject constructor( noisy = isNoisy, timestamp = this.timestamp, senderDisambiguatedDisplayName = getDisambiguatedDisplayName(content.senderId), - body = stringProvider.getString(CommonStrings.common_call_invite), + body = stringProvider.getString(CommonStrings.common_unsupported_call), roomName = roomDisplayName, roomIsDm = isDm, roomAvatarPath = roomAvatarUrl, diff --git a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolverTest.kt b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolverTest.kt index 153ebe1ffc..fa4e1fa1ee 100644 --- a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolverTest.kt +++ b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolverTest.kt @@ -588,7 +588,7 @@ class DefaultNotifiableEventResolverTest { noisy = false, timestamp = A_TIMESTAMP, senderDisambiguatedDisplayName = A_USER_NAME_2, - body = "Call in progress (unsupported)", + body = "Unsupported call", imageUriString = null, imageMimeType = null, threadId = null, diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index d1f17f147f..8be031ca0a 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -247,6 +247,7 @@ Reason: %1$s." "Unable to send invite(s)" "Unlock" "Unmute" + "Unsupported call" "Unsupported event" "Username" "Verification cancelled" diff --git a/tools/localazy/checkForbiddenTerms.py b/tools/localazy/checkForbiddenTerms.py index 3178c66c3b..f687809f2c 100755 --- a/tools/localazy/checkForbiddenTerms.py +++ b/tools/localazy/checkForbiddenTerms.py @@ -23,6 +23,8 @@ forbiddenTerms = { "screen_onboarding_welcome_title", # Contains "Element Call" "screen_incoming_call_subtitle_android", + # Contains "Element X" + "screen_room_timeline_legacy_call", ] }