switchCamera method

Future<void> switchCamera()

Implementation

Future<void> switchCamera() async {
  isCameraReady.value = false;
  isCameraSwitching.value = true; // Start switching
  try {
    cameraLensDirection = cameraLensDirection == CameraLensDirection.front
        ? CameraLensDirection.back
        : CameraLensDirection.front;

    if (cameraController != null) {
      await cameraController?.dispose();
      cameraController = null;
    }
    await _initCamera();

    // Notify that the camera is ready
    isCameraReady.value = cameraController?.value.isInitialized ?? false;

    // Set the camera switch state to false (finished switching)
    isCameraSwitching.value = false;
  } catch (e) {
    Utills.printLogs("Error switching camera: $e");
    isCameraSwitching.value = false; // Set switching state to false on error
  }
}