Use VoiceBroadcastEvent wrapper
This commit is contained in:
parent
8d3d275921
commit
0a047b6045
@ -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.core.utils.TextUtils
|
||||||
import im.vector.app.features.voicebroadcast.STATE_ROOM_VOICE_BROADCAST_INFO
|
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.VoiceBroadcastState
|
||||||
|
import im.vector.app.features.voicebroadcast.model.asVoiceBroadcastEvent
|
||||||
import org.matrix.android.sdk.api.extensions.orFalse
|
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.EventType
|
||||||
import org.matrix.android.sdk.api.session.events.model.toModel
|
import org.matrix.android.sdk.api.session.events.model.toModel
|
||||||
@ -59,12 +59,7 @@ class TimelineEventsGroups {
|
|||||||
val content = root.getClearContent()
|
val content = root.getClearContent()
|
||||||
return when {
|
return when {
|
||||||
EventType.isCallEvent(type) -> (content?.get("call_id") as? String)
|
EventType.isCallEvent(type) -> (content?.get("call_id") as? String)
|
||||||
type == STATE_ROOM_VOICE_BROADCAST_INFO -> {
|
type == STATE_ROOM_VOICE_BROADCAST_INFO -> root.asVoiceBroadcastEvent()?.reference?.eventId
|
||||||
root.content.toModel<MessageVoiceBroadcastInfoContent>()
|
|
||||||
?.takeUnless { it.voiceBroadcastState == VoiceBroadcastState.STARTED }
|
|
||||||
?.relatesTo?.eventId
|
|
||||||
?: eventId
|
|
||||||
}
|
|
||||||
type == EventType.STATE_ROOM_WIDGET || type == EventType.STATE_ROOM_WIDGET_LEGACY -> root.stateKey
|
type == EventType.STATE_ROOM_WIDGET || type == EventType.STATE_ROOM_WIDGET_LEGACY -> root.stateKey
|
||||||
else -> {
|
else -> {
|
||||||
null
|
null
|
||||||
@ -140,8 +135,7 @@ class CallSignalingEventsGroup(private val group: TimelineEventsGroup) {
|
|||||||
|
|
||||||
class VoiceBroadcastEventsGroup(private val group: TimelineEventsGroup) {
|
class VoiceBroadcastEventsGroup(private val group: TimelineEventsGroup) {
|
||||||
fun getLastEvent(): TimelineEvent {
|
fun getLastEvent(): TimelineEvent {
|
||||||
return group.events
|
return group.events.find { it.root.asVoiceBroadcastEvent()?.content?.voiceBroadcastState == VoiceBroadcastState.STOPPED }
|
||||||
.find { it.root.getClearContent().toModel<MessageVoiceBroadcastInfoContent>()?.voiceBroadcastState == VoiceBroadcastState.STOPPED }
|
|
||||||
?: group.events.maxBy { it.root.originServerTs ?: 0L }
|
?: group.events.maxBy { it.root.originServerTs ?: 0L }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user