review: Make call intent not optional in content

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

View file

@ -108,7 +108,6 @@ internal fun TimelineItemCallNotifyView(
internal fun TimelineItemCallNotifyViewPreview() = ElementPreview {
Column(modifier = Modifier.padding(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp)) {
listOf(
TimelineItemRtcNotificationContent(null),
TimelineItemRtcNotificationContent(CallIntent.AUDIO),
TimelineItemRtcNotificationContent(CallIntent.VIDEO),
).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
class TimelineItemRtcNotificationContent(val callIntent: CallIntent?) : TimelineItemEventContent {
class TimelineItemRtcNotificationContent(val callIntent: CallIntent) : TimelineItemEventContent {
override val type: String = "org.matrix.msc4075.rtc.notification"
}

View file

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

View file

@ -110,7 +110,7 @@ class TimelineEventContentMapper(
}
is MsgLikeKind.LiveLocation -> {
// 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
}
@ -139,12 +139,10 @@ class TimelineEventContentMapper(
}
is TimelineItemContent.CallInvite -> LegacyCallInviteContent
is TimelineItemContent.RtcNotification -> CallNotifyContent(
it.callIntent?.let { intentString ->
if (intentString == "audio") {
CallIntent.AUDIO
} else {
CallIntent.VIDEO
}
callIntent = if (it.callIntent == "audio") {
CallIntent.AUDIO
} else {
CallIntent.VIDEO
}
)
}