errors.dart 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. enum InvalidReason {
  2. assetDeleted,
  3. assetDeletedEvent,
  4. sourceFileMissing,
  5. livePhotoToImageTypeChanged,
  6. imageToLivePhotoTypeChanged,
  7. livePhotoVideoMissing,
  8. thumbnailMissing,
  9. tooLargeFile,
  10. unknown,
  11. }
  12. extension InvalidReasonExn on InvalidReason {
  13. bool get isLivePhotoErr =>
  14. this == InvalidReason.livePhotoToImageTypeChanged ||
  15. this == InvalidReason.imageToLivePhotoTypeChanged ||
  16. this == InvalidReason.livePhotoVideoMissing;
  17. }
  18. class InvalidFileError extends ArgumentError {
  19. final InvalidReason reason;
  20. InvalidFileError(String message, this.reason) : super(message);
  21. @override
  22. String toString() {
  23. return 'InvalidFileError: $message (reason: $reason)';
  24. }
  25. }
  26. class SubscriptionAlreadyClaimedError extends Error {}
  27. class WiFiUnavailableError extends Error {}
  28. class SyncStopRequestedError extends Error {}
  29. class NoActiveSubscriptionError extends Error {}
  30. class StorageLimitExceededError extends Error {}
  31. // error when file size + current usage >= storage plan limit + buffer
  32. class FileTooLargeForPlanError extends Error {}
  33. class SilentlyCancelUploadsError extends Error {}
  34. class UserCancelledUploadError extends Error {}
  35. bool isHandledSyncError(Object errObj) {
  36. if (errObj is UnauthorizedError ||
  37. errObj is NoActiveSubscriptionError ||
  38. errObj is WiFiUnavailableError ||
  39. errObj is StorageLimitExceededError ||
  40. errObj is SyncStopRequestedError) {
  41. return true;
  42. }
  43. return false;
  44. }
  45. class LockAlreadyAcquiredError extends Error {}
  46. class UnauthorizedError extends Error {}
  47. class RequestCancelledError extends Error {}
  48. class InvalidSyncStatusError extends AssertionError {
  49. InvalidSyncStatusError(String message) : super(message);
  50. }
  51. class UnauthorizedEditError extends AssertionError {}
  52. class InvalidStateError extends AssertionError {
  53. InvalidStateError(String message) : super(message);
  54. }
  55. class KeyDerivationError extends Error {}
  56. class LoginKeyDerivationError extends Error {}
  57. class SrpSetupNotCompleteError extends Error {}
  58. class SharingNotPermittedForFreeAccountsError extends Error {}
  59. class NoMediaLocationAccessError extends Error {}