// // Copyright 2025 Element Creations Ltd. // Copyright 2023-2025 New Vector Ltd. // // SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. // Please see LICENSE files in the repository root for full details. // import AVFoundation nonisolated protocol AudioSessionProtocol: AnyObject, Sendable { func requestRecordPermission(_ response: @escaping (Bool) -> Void) func setAllowHapticsAndSystemSoundsDuringRecording(_ inValue: Bool) throws func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions) throws func setActive(_ active: Bool, options: AVAudioSession.SetActiveOptions) throws } nonisolated extension AudioSessionProtocol { func setActive(_ active: Bool) throws { try setActive(active, options: []) } } // sourcery: AutoMockable extension AudioSessionProtocol { } nonisolated extension AVAudioSession: AudioSessionProtocol { }