func update()

in AzureCommunicationUI/sdk/AzureCommunicationUICalling/Sources/Presentation/SwiftUI/ViewComponents/VideoView/LocalVideoViewModel.swift [55:84]


    func update(localUserState: LocalUserState, visibilityState: VisibilityState) {
        if localVideoStreamId != localUserState.localVideoStreamIdentifier {
            localVideoStreamId = localUserState.localVideoStreamIdentifier
        }

        if displayName != localUserState.displayName {
            displayName = localUserState.displayName
        }

        if cameraOperationalStatus != localUserState.cameraState.operation {
            cameraOperationalStatus = localUserState.cameraState.operation
        }

        cameraSwitchButtonPipViewModel.update(isDisabled: localUserState.cameraState.device == .switching)
        cameraSwitchButtonPipViewModel.update(accessibilityLabel: localUserState.cameraState.device == .front
                                              ? localizationProvider.getLocalizedString(.frontCamera)
                                              : localizationProvider.getLocalizedString(.backCamera))

        cameraSwitchButtonFullViewModel.update(isDisabled: localUserState.cameraState.device == .switching)
        cameraSwitchButtonFullViewModel.update(accessibilityLabel: localUserState.cameraState.device == .front
                                               ? localizationProvider.getLocalizedString(.frontCamera)
                                               : localizationProvider.getLocalizedString(.backCamera))

        let showMuted = localUserState.audioState.operation != .on
        if isMuted != showMuted {
            isMuted = showMuted
        }

        isInPip = visibilityState.currentStatus == .pipModeEntered
    }