From 0a047b60459db10f77b46dcb736bd953dfc1971b Mon Sep 17 00:00:00 2001 From: Florian Renaud Date: Wed, 5 Oct 2022 15:44:58 +0200 Subject: [PATCH] Use VoiceBroadcastEvent wrapper --- .../detail/timeline/helper/TimelineEventsGroups.kt | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/TimelineEventsGroups.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/TimelineEventsGroups.kt index c25bc83fee..bd211a4513 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/TimelineEventsGroups.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/TimelineEventsGroups.kt @@ -18,8 +18,8 @@ package im.vector.app.features.home.room.detail.timeline.helper import im.vector.app.core.utils.TextUtils import im.vector.app.features.voicebroadcast.STATE_ROOM_VOICE_BROADCAST_INFO -import im.vector.app.features.voicebroadcast.model.MessageVoiceBroadcastInfoContent import im.vector.app.features.voicebroadcast.model.VoiceBroadcastState +import im.vector.app.features.voicebroadcast.model.asVoiceBroadcastEvent import org.matrix.android.sdk.api.extensions.orFalse import org.matrix.android.sdk.api.session.events.model.EventType import org.matrix.android.sdk.api.session.events.model.toModel @@ -59,12 +59,7 @@ class TimelineEventsGroups { val content = root.getClearContent() return when { EventType.isCallEvent(type) -> (content?.get("call_id") as? String) - type == STATE_ROOM_VOICE_BROADCAST_INFO -> { - root.content.toModel() - ?.takeUnless { it.voiceBroadcastState == VoiceBroadcastState.STARTED } - ?.relatesTo?.eventId - ?: eventId - } + type == STATE_ROOM_VOICE_BROADCAST_INFO -> root.asVoiceBroadcastEvent()?.reference?.eventId type == EventType.STATE_ROOM_WIDGET || type == EventType.STATE_ROOM_WIDGET_LEGACY -> root.stateKey else -> { null @@ -140,8 +135,7 @@ class CallSignalingEventsGroup(private val group: TimelineEventsGroup) { class VoiceBroadcastEventsGroup(private val group: TimelineEventsGroup) { fun getLastEvent(): TimelineEvent { - return group.events - .find { it.root.getClearContent().toModel()?.voiceBroadcastState == VoiceBroadcastState.STOPPED } + return group.events.find { it.root.asVoiceBroadcastEvent()?.content?.voiceBroadcastState == VoiceBroadcastState.STOPPED } ?: group.events.maxBy { it.root.originServerTs ?: 0L } } }