Merge pull request #7245 from vector-im/nimau/7235_prevent_new_voicemessage_during_VB

Send voice message should not be allowed during a voice broadcast recording (#7235)
This commit is contained in:
Nicolas Mauri
2023-01-09 17:13:53 +01:00
committed by GitHub
5 changed files with 33 additions and 0 deletions
@@ -20,6 +20,7 @@ import DSWaveformImage
@objc public protocol VoiceMessageControllerDelegate: AnyObject {
func voiceMessageControllerDidRequestMicrophonePermission(_ voiceMessageController: VoiceMessageController)
func voiceMessageControllerDidRequestRecording(_ voiceMessageController: VoiceMessageController) -> Bool
func voiceMessageController(_ voiceMessageController: VoiceMessageController, didRequestSendForFileAtURL url: URL, duration: UInt, samples: [Float]?, completion: @escaping (Bool) -> Void)
}
@@ -106,6 +107,13 @@ public class VoiceMessageController: NSObject, VoiceMessageToolbarViewDelegate,
guard let temporaryFileURL = temporaryFileURL else {
return
}
// Ask our delegate if we can start recording
let canStartRecording = delegate?.voiceMessageControllerDidRequestRecording(self) ?? true
guard canStartRecording else {
return
}
guard AVAudioSession.sharedInstance().recordPermission == .granted else {
delegate?.voiceMessageControllerDidRequestMicrophonePermission(self)
return