mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
Aggregate chunks in voice broacast
This commit is contained in:
parent
2e35895576
commit
a3add5b793
2 changed files with 31 additions and 12 deletions
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue