fun switchCameraDirection()

in app/src/main/java/com/amazon/ivs/broadcast/ui/fragments/main/MainViewModel.kt [209:229]


    fun switchCameraDirection() {
        val newDirection = if (cameraDirection == CameraDirection.FRONT) CameraDirection.BACK else CameraDirection.FRONT
        val newCamera = context.getCamera(newDirection.broadcast)
        if (isCameraOff || cameraDevice == null || cameraDevice?.isValid == false) return
        Timber.d("Switching camera direction from: $cameraDirection to: $newDirection")
        session?.listAttachedDevices()?.forEach {
            Timber.d("Attached device: ${it.descriptor.deviceId}, ${it.descriptor.friendlyName}")
        }
        cameraDevice?.run {
            Timber.d("Detaching old camera: ${descriptor.friendlyName}")
            session?.detachDevice(this)
        }
        newCamera?.run {
            Timber.d("Attaching new camera: $friendlyName")
            session?.attachDevice(this) { camera ->
                displayCameraOutput(camera)
                cameraDevice = camera
                reloadDevices()
            }
        }
    }