openCamera static method

Future<void> openCamera(
  1. BuildContext context
)

Implementation

static Future<void> openCamera(BuildContext context) async {
  final deviceStore = DeviceStore.shared;
  final hasPermission = await _checkAndRequestPermission(
    context: context,
    permissionType: PermissionType.camera,
    deniedMessage: RoomLocalizations.of(context)!.roomkit_err_n1101_camera_no_permission,
  );

  if (!hasPermission) return;

  final result = await deviceStore.openLocalCamera(deviceStore.state.isFrontCamera.value);
  if (!result.isSuccess && context.mounted) {
    if (result.errorCode == RoomError.openCameraNeedPermissionFromAdmin.code) {
      Toast.warning(
        context,
        ErrorLocalized.convertToErrorMessage(result.errorCode, result.errorMessage),
        useRootOverlay: true,
      );
    } else {
      Toast.error(
        context,
        ErrorLocalized.convertToErrorMessage(result.errorCode, result.errorMessage),
        useRootOverlay: true,
      );
    }
  }
}