mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-05-05 23:47:44 +02:00
Aggregate chunks in voice broacast
This commit is contained in:
@@ -84,9 +84,11 @@ public class VoiceBroadcastAggregator {
|
||||
voiceBroadcastInfoStartEventContent = eventContent
|
||||
voiceBroadcastUserId = userId
|
||||
|
||||
voiceBroadcast = voiceBroadcastBuilder.build(voiceBroadcastStartEventContent: eventContent,
|
||||
events: events,
|
||||
currentUserIdentifier: session.myUserId)
|
||||
voiceBroadcast = voiceBroadcastBuilder.build(mediaManager: session.mediaManager,
|
||||
voiceBroadcastStartEventId: voiceBroadcastStartEventId,
|
||||
voiceBroadcastInvoiceBroadcastStartEventContent: eventContent,
|
||||
events: events,
|
||||
currentUserIdentifier: session.myUserId)
|
||||
|
||||
reloadVoiceBroadcastData()
|
||||
}
|
||||
@@ -124,14 +126,18 @@ public class VoiceBroadcastAggregator {
|
||||
|
||||
self.events.append(event)
|
||||
|
||||
self.voiceBroadcast = self.voiceBroadcastBuilder.build(voiceBroadcastStartEventContent: self.voiceBroadcastInfoStartEventContent,
|
||||
events: self.events,
|
||||
currentUserIdentifier: self.session.myUserId)
|
||||
self.voiceBroadcast = self.voiceBroadcastBuilder.build(mediaManager: self.session.mediaManager,
|
||||
voiceBroadcastStartEventId: self.voiceBroadcastStartEventId,
|
||||
voiceBroadcastInvoiceBroadcastStartEventContent: self.voiceBroadcastInfoStartEventContent,
|
||||
events: self.events,
|
||||
currentUserIdentifier: self.session.myUserId)
|
||||
} as Any
|
||||
|
||||
self.voiceBroadcast = self.voiceBroadcastBuilder.build(voiceBroadcastStartEventContent: self.voiceBroadcastInfoStartEventContent,
|
||||
events: self.events,
|
||||
currentUserIdentifier: self.session.myUserId)
|
||||
self.voiceBroadcast = self.voiceBroadcastBuilder.build(mediaManager: self.session.mediaManager,
|
||||
voiceBroadcastStartEventId: self.voiceBroadcastStartEventId,
|
||||
voiceBroadcastInvoiceBroadcastStartEventContent: self.voiceBroadcastInfoStartEventContent,
|
||||
events: self.events,
|
||||
currentUserIdentifier: self.session.myUserId)
|
||||
|
||||
self.delegate?.voiceBroadcastAggregatorDidEndLoading(self)
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user