Skip to content

Commit 2813300

Browse files
author
Florian Renaud
committed
Use VoiceBroadcastEvent wrapper
1 parent d596a46 commit 2813300

File tree

1 file changed

+3
-9
lines changed

1 file changed

+3
-9
lines changed

vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/TimelineEventsGroups.kt

+3-9
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ package im.vector.app.features.home.room.detail.timeline.helper
1818

1919
import im.vector.app.core.utils.TextUtils
2020
import im.vector.app.features.voicebroadcast.STATE_ROOM_VOICE_BROADCAST_INFO
21-
import im.vector.app.features.voicebroadcast.model.MessageVoiceBroadcastInfoContent
2221
import im.vector.app.features.voicebroadcast.model.VoiceBroadcastState
22+
import im.vector.app.features.voicebroadcast.model.asVoiceBroadcastEvent
2323
import org.matrix.android.sdk.api.extensions.orFalse
2424
import org.matrix.android.sdk.api.session.events.model.EventType
2525
import org.matrix.android.sdk.api.session.events.model.toModel
@@ -59,12 +59,7 @@ class TimelineEventsGroups {
5959
val content = root.getClearContent()
6060
return when {
6161
EventType.isCallEvent(type) -> (content?.get("call_id") as? String)
62-
type == STATE_ROOM_VOICE_BROADCAST_INFO -> {
63-
root.content.toModel<MessageVoiceBroadcastInfoContent>()
64-
?.takeUnless { it.voiceBroadcastState == VoiceBroadcastState.STARTED }
65-
?.relatesTo?.eventId
66-
?: eventId
67-
}
62+
type == STATE_ROOM_VOICE_BROADCAST_INFO -> root.asVoiceBroadcastEvent()?.reference?.eventId
6863
type == EventType.STATE_ROOM_WIDGET || type == EventType.STATE_ROOM_WIDGET_LEGACY -> root.stateKey
6964
else -> {
7065
null
@@ -140,8 +135,7 @@ class CallSignalingEventsGroup(private val group: TimelineEventsGroup) {
140135

141136
class VoiceBroadcastEventsGroup(private val group: TimelineEventsGroup) {
142137
fun getLastEvent(): TimelineEvent {
143-
return group.events
144-
.find { it.root.getClearContent().toModel<MessageVoiceBroadcastInfoContent>()?.voiceBroadcastState == VoiceBroadcastState.STOPPED }
138+
return group.events.find { it.root.asVoiceBroadcastEvent()?.content?.voiceBroadcastState == VoiceBroadcastState.STOPPED }
145139
?: group.events.maxBy { it.root.originServerTs ?: 0L }
146140
}
147141
}

0 commit comments

Comments
 (0)