mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2025-03-18 12:18:48 +03:00
Use VoiceBroadcastEvent wrapper
This commit is contained in:
parent
8d3d275921
commit
0a047b6045
1 changed files with 3 additions and 9 deletions
|
@ -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<MessageVoiceBroadcastInfoContent>()
|
||||
?.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<MessageVoiceBroadcastInfoContent>()?.voiceBroadcastState == VoiceBroadcastState.STOPPED }
|
||||
return group.events.find { it.root.asVoiceBroadcastEvent()?.content?.voiceBroadcastState == VoiceBroadcastState.STOPPED }
|
||||
?: group.events.maxBy { it.root.originServerTs ?: 0L }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue