HardwareException.fromPlatformException constructor

HardwareException.fromPlatformException(
  1. PlatformException error
)

Maps a native PlatformException into a specialized HardwareException.

Implementation

factory HardwareException.fromPlatformException(PlatformException error) {
  final code = HardwareErrorCode.fromPlatformCode(error.code);
  final message = error.message ?? 'Hardware operation failed.';

  switch (code) {
    case HardwareErrorCode.permissionDenied:
      return HardwarePermissionException(
          message: message, details: error.details);
    case HardwareErrorCode.notSupported:
      return HardwareUnsupportedException(
          message: message, details: error.details);
    case HardwareErrorCode.timeout:
      return HardwareTimeoutException(
          message: message, details: error.details);
    case HardwareErrorCode.bluetoothUnavailable:
    case HardwareErrorCode.cameraUnavailable:
      return HardwareUnavailableException(
          code: code, message: message, details: error.details);
    default:
      return HardwareException(
          code: code, message: message, details: error.details);
  }
}