fun start()

in azure-communication-ui/calling/src/main/java/com/azure/android/communication/ui/calling/presentation/fragment/setup/components/SetupControlBarView.kt [45:111]


    fun start(
        viewLifecycleOwner: LifecycleOwner,
        setupControlBarViewModel: SetupControlBarViewModel,
    ) {
        viewModel = setupControlBarViewModel

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.cameraIsEnabled.collect {
                cameraButton.isEnabled = it
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.cameraIsVisible.collect {
                cameraButton.visibility = if (it) VISIBLE else GONE
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.isVisibleState.collect { visible ->
                visibility = if (visible) VISIBLE else INVISIBLE
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.audioOperationalStatusStat.collect {
                setMicButtonState(it)
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.micIsEnabled.collect {
                micButton.isEnabled = it
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.cameraState.collect {
                setCameraButtonState(it)
                setButtonColorOnCameraState(it)
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.audioDeviceSelectionStatusState.collect {
                setAudioDeviceButtonState(it)
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.audioDeviceButtonEnabled.collect {
                audioDeviceButton.isEnabled = it
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.micVisible.collect {
                micButton.visibility = if (it) VISIBLE else GONE
            }
        }

        viewLifecycleOwner.lifecycleScope.launch {
            viewModel.audioDeviceButtonVisible.collect {
                audioDeviceButton.visibility = if (it) VISIBLE else GONE
            }
        }
    }