func recordingStateUpdated()

in AzureCommunicationUI/sdk/AzureCommunicationUICalling/Sources/Redux/Middleware/CallingMiddlewareHandler.swift [211:235]


    func recordingStateUpdated(state: AppState,
                               dispatch: @escaping ActionDispatch,
                               isRecordingActive: Bool) -> Task<Void, Never> {
        Task {
            var recordingState: RecordingStatus = .off
            if isRecordingActive {
                recordingState = .on
            } else {
                if state.callingState.recordingStatus == .on {
                    recordingState = .stopped
                }
            }

            dispatch(.callingAction(.recordingUpdated(recordingStatus: recordingState)))
            if isRecordingActive {
                dispatch(.callingAction(.dismissRecordingTranscriptionBannedUpdated(isDismissed: false)))
            }

            if isRecordingActive && !state.callingState.isTranscriptionActive {
                if state.callingState.transcriptionStatus != .off {
                    dispatch(.callingAction(.transcriptionUpdated(transcriptionStatus: .off)))
                }
            }
        }
    }