review: Make call intent not optional in content

This commit is contained in:
Valere 2026-04-21 11:03:48 +02:00
parent 6f4dab91a6
commit 0f6b706c7a
4 changed files with 7 additions and 10 deletions

View file

@ -108,7 +108,6 @@ internal fun TimelineItemCallNotifyView(
internal fun TimelineItemCallNotifyViewPreview() = ElementPreview { internal fun TimelineItemCallNotifyViewPreview() = ElementPreview {
Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp)) { Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp)) {
listOf( listOf(
TimelineItemRtcNotificationContent(null),
TimelineItemRtcNotificationContent(CallIntent.AUDIO), TimelineItemRtcNotificationContent(CallIntent.AUDIO),
TimelineItemRtcNotificationContent(CallIntent.VIDEO), TimelineItemRtcNotificationContent(CallIntent.VIDEO),
).forEach { content -> ).forEach { content ->

View file

@ -10,6 +10,6 @@ package io.element.android.features.messages.impl.timeline.model.event
import io.element.android.libraries.matrix.api.notification.CallIntent import io.element.android.libraries.matrix.api.notification.CallIntent
class TimelineItemRtcNotificationContent(val callIntent: CallIntent?) : TimelineItemEventContent { class TimelineItemRtcNotificationContent(val callIntent: CallIntent) : TimelineItemEventContent {
override val type: String = "org.matrix.msc4075.rtc.notification" override val type: String = "org.matrix.msc4075.rtc.notification"
} }

View file

@ -117,7 +117,7 @@ data class LiveLocationContent(
data object LegacyCallInviteContent : EventContent data object LegacyCallInviteContent : EventContent
data class CallNotifyContent( data class CallNotifyContent(
val callIntent: CallIntent? val callIntent: CallIntent
) : EventContent ) : EventContent
data object UnknownContent : EventContent data object UnknownContent : EventContent

View file

@ -110,7 +110,7 @@ class TimelineEventContentMapper(
} }
is MsgLikeKind.LiveLocation -> { is MsgLikeKind.LiveLocation -> {
// Live location messages are a special kind of message that we want to treat as unknown content for now // Live location messages are a special kind of message that we want to treat as unknown content for now
UnknownContent UnknownContent
} }
is MsgLikeKind.Other -> UnknownContent is MsgLikeKind.Other -> UnknownContent
} }
@ -139,12 +139,10 @@ class TimelineEventContentMapper(
} }
is TimelineItemContent.CallInvite -> LegacyCallInviteContent is TimelineItemContent.CallInvite -> LegacyCallInviteContent
is TimelineItemContent.RtcNotification -> CallNotifyContent( is TimelineItemContent.RtcNotification -> CallNotifyContent(
it.callIntent?.let { intentString -> callIntent = if (it.callIntent == "audio") {
if (intentString == "audio") { CallIntent.AUDIO
CallIntent.AUDIO } else {
} else { CallIntent.VIDEO
CallIntent.VIDEO
}
} }
) )
} }