From 20143cb84e95117239b2fdcc7ff7031c96993e81 Mon Sep 17 00:00:00 2001 From: Alfonso Grillo Date: Mon, 16 Oct 2023 10:22:09 +0200 Subject: [PATCH] Stop audio on redaction (#1893) --- .../TimelineController/RoomTimelineController.swift | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ElementX/Sources/Services/Timeline/TimelineController/RoomTimelineController.swift b/ElementX/Sources/Services/Timeline/TimelineController/RoomTimelineController.swift index 641e478ce..d20805b88 100644 --- a/ElementX/Sources/Services/Timeline/TimelineController/RoomTimelineController.swift +++ b/ElementX/Sources/Services/Timeline/TimelineController/RoomTimelineController.swift @@ -379,7 +379,16 @@ class RoomTimelineController: RoomTimelineControllerProtocol { if timelineItem is EncryptedHistoryRoomTimelineItem { lastEncryptedHistoryItemIndex = newTimelineItems.endIndex } - + + // Stops the audio player when a voice message is redacted. + if timelineItem is RedactedRoomTimelineItem { + guard let audioState = timelineAudioPlayerStates[timelineItem.id] else { + continue + } + audioState.detachAudioPlayer() + timelineAudioPlayerStates.removeValue(forKey: timelineItem.id) + } + newTimelineItems.append(timelineItem) } else { newTimelineItems.append(CollapsibleTimelineItem(items: items))