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",
]
}