diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessageAttachmentCacheManager.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessageAttachmentCacheManager.swift index 127797926..ece5b8408 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessageAttachmentCacheManager.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessageAttachmentCacheManager.swift @@ -105,6 +105,7 @@ class VoiceMessageAttachmentCacheManager { if var existingSamples = self.samples[identifier] { existingSamples[numberOfSamples] = samples + self.samples[identifier] = existingSamples } else { self.samples[identifier] = [numberOfSamples: samples] } diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackController.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackController.swift index c2f2a18c2..9abc99e3b 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackController.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackController.swift @@ -87,6 +87,10 @@ class VoiceMessagePlaybackController: VoiceMessageAudioPlayerDelegate, VoiceMess } } + func voiceMessagePlaybackViewDidChangeWidth() { + loadAttachmentData() + } + // MARK: - VoiceMessageAudioPlayerDelegate func audioPlayerDidFinishLoading(_ audioPlayer: VoiceMessageAudioPlayer) { diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackView.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackView.swift index 4492b671f..e3f53a434 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackView.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackView.swift @@ -19,6 +19,7 @@ import Reusable protocol VoiceMessagePlaybackViewDelegate: AnyObject { func voiceMessagePlaybackViewDidRequestPlaybackToggle() + func voiceMessagePlaybackViewDidChangeWidth() } struct VoiceMessagePlaybackViewDetails { @@ -54,6 +55,14 @@ class VoiceMessagePlaybackView: UIView, NibLoadable, Themable { return _waveformView } + override var bounds: CGRect { + didSet { + if oldValue.width != bounds.width { + delegate?.voiceMessagePlaybackViewDidChangeWidth() + } + } + } + override func awakeFromNib() { super.awakeFromNib() diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift index d29dbeebb..3cfaebff7 100644 --- a/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift +++ b/Riot/Modules/Room/VoiceMessages/VoiceMessageToolbarView.swift @@ -189,6 +189,10 @@ class VoiceMessageToolbarView: PassthroughView, NibLoadable, Themable, UIGesture delegate?.voiceMessageToolbarViewDidRequestPlaybackToggle(self) } + func voiceMessagePlaybackViewDidChangeWidth() { + + } + // MARK: - Private @objc private func handleLongPress(_ gestureRecognizer: UILongPressGestureRecognizer) {