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()
}
}
}