ente/mobile/lib/core/errors.dart

84 lines
2.1 KiB
Dart
Raw Normal View History

2023-08-22 12:22:29 +00:00
enum InvalidReason {
assetDeleted,
2023-08-22 13:00:24 +00:00
assetDeletedEvent,
2023-08-22 12:22:29 +00:00
sourceFileMissing,
2023-08-22 13:44:15 +00:00
livePhotoToImageTypeChanged,
imageToLivePhotoTypeChanged,
2023-08-22 13:00:24 +00:00
livePhotoVideoMissing,
2023-08-22 12:22:29 +00:00
thumbnailMissing,
tooLargeFile,
2023-08-22 13:44:15 +00:00
unknown,
}
extension InvalidReasonExn on InvalidReason {
bool get isLivePhotoErr =>
this == InvalidReason.livePhotoToImageTypeChanged ||
this == InvalidReason.imageToLivePhotoTypeChanged ||
this == InvalidReason.livePhotoVideoMissing;
2023-08-22 12:22:29 +00:00
}
class InvalidFileError extends ArgumentError {
2023-08-22 13:00:24 +00:00
final InvalidReason reason;
2023-08-22 12:22:29 +00:00
2023-08-22 13:00:24 +00:00
InvalidFileError(String message, this.reason) : super(message);
2023-08-22 12:22:29 +00:00
@override
String toString() {
2023-08-22 13:00:24 +00:00
return 'InvalidFileError: $message (reason: $reason)';
2023-08-22 12:22:29 +00:00
}
}
2021-02-26 09:21:47 +00:00
class SubscriptionAlreadyClaimedError extends Error {}
2021-02-26 09:21:47 +00:00
class WiFiUnavailableError extends Error {}
class SyncStopRequestedError extends Error {}
class NoActiveSubscriptionError extends Error {}
class StorageLimitExceededError extends Error {}
// error when file size + current usage >= storage plan limit + buffer
class FileTooLargeForPlanError extends Error {}
class SilentlyCancelUploadsError extends Error {}
class UserCancelledUploadError extends Error {}
bool isHandledSyncError(Object errObj) {
if (errObj is UnauthorizedError ||
errObj is NoActiveSubscriptionError ||
errObj is WiFiUnavailableError ||
errObj is StorageLimitExceededError ||
errObj is SyncStopRequestedError) {
return true;
}
return false;
}
2021-03-17 22:08:13 +00:00
class LockAlreadyAcquiredError extends Error {}
class UnauthorizedError extends Error {}
2021-05-03 15:18:56 +00:00
2021-07-23 11:13:01 +00:00
class RequestCancelledError extends Error {}
class InvalidSyncStatusError extends AssertionError {
InvalidSyncStatusError(String message) : super(message);
}
2021-08-09 13:26:06 +00:00
class UnauthorizedEditError extends AssertionError {}
class InvalidStateError extends AssertionError {
InvalidStateError(String message) : super(message);
}
class KeyDerivationError extends Error {}
class LoginKeyDerivationError extends Error {}
class SrpSetupNotCompleteError extends Error {}
class SharingNotPermittedForFreeAccountsError extends Error {}
class NoMediaLocationAccessError extends Error {}