AzureCommunicationUI/sdk/AzureCommunicationUICalling/Sources/Redux/Reducer/AudioSessionReducer.swift (15 lines of code) (raw):

// // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. // import Foundation extension Reducer where State == AudioSessionState, Actions == AudioSessionAction { static var liveAudioSessionReducer: Self = Reducer { audioSessionState, action in var audioSessionStatus = audioSessionState.status switch action { case .audioEngaged, .audioInterruptEnded: audioSessionStatus = .active case .audioInterrupted: audioSessionStatus = .interrupted } return AudioSessionState(status: audioSessionStatus) } }