Aggregate chunks in voice broacast

This commit is contained in:
yostyle
2022-10-19 11:11:49 +02:00
parent 5d198d0d3a
commit 8adf320cab
2 changed files with 31 additions and 12 deletions
@@ -18,11 +18,24 @@ import Foundation
struct VoiceBroadcastBuilder {
func build(voiceBroadcastStartEventContent: VoiceBroadcastInfo, events: [MXEvent], currentUserIdentifier: String, hasBeenEdited: Bool = false) -> VoiceBroadcast {
func build(mediaManager: MXMediaManager,
voiceBroadcastStartEventId: String,
voiceBroadcastInvoiceBroadcastStartEventContent: VoiceBroadcastInfo,
events: [MXEvent],
currentUserIdentifier: String,
hasBeenEdited: Bool = false) -> VoiceBroadcast {
let voiceBroadcast = VoiceBroadcast()
var voiceBroadcast = VoiceBroadcast()
// TODO: VB set voice broadcast object
voiceBroadcast.chunks = Set(events.compactMap { event in
guard let attachment = MXKAttachment(event: event, andMediaManager: mediaManager),
let chunkInfo = event.content[VoiceBroadcastSettings.voiceBroadcastContentKeyChunkType] as? [String: UInt],
let sequence = chunkInfo[VoiceBroadcastSettings.voiceBroadcastContentKeyChunkSequence] else {
return nil
}
return VoiceBroadcastChunk(voiceBroadcastInfoEventId: voiceBroadcastStartEventId, sequence: sequence, attachment: attachment)
})
return voiceBroadcast
}