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,
|
2023-12-06 02:36:54 +00:00
|
|
|
tooLargeFile,
|
2023-08-22 13:44:15 +00:00
|
|
|
unknown,
|
2023-08-28 03:35:42 +00:00
|
|
|
}
|
2023-11-20 07:58:27 +00:00
|
|
|
|
2023-08-28 03:35:42 +00:00
|
|
|
extension InvalidReasonExn on InvalidReason {
|
|
|
|
bool get isLivePhotoErr =>
|
|
|
|
this == InvalidReason.livePhotoToImageTypeChanged ||
|
|
|
|
this == InvalidReason.imageToLivePhotoTypeChanged ||
|
|
|
|
this == InvalidReason.livePhotoVideoMissing;
|
2023-08-22 12:22:29 +00:00
|
|
|
}
|
|
|
|
|
2021-09-01 10:38:00 +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-09-01 10:38:00 +00:00
|
|
|
}
|
2021-02-26 09:21:47 +00:00
|
|
|
|
2022-09-06 11:32:22 +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 {}
|
2021-03-02 07:23:02 +00:00
|
|
|
|
2021-09-12 00:56:56 +00:00
|
|
|
// error when file size + current usage >= storage plan limit + buffer
|
|
|
|
class FileTooLargeForPlanError extends Error {}
|
|
|
|
|
2021-03-02 07:23:02 +00:00
|
|
|
class SilentlyCancelUploadsError extends Error {}
|
2021-03-03 16:07:02 +00:00
|
|
|
|
2021-03-22 06:29:53 +00:00
|
|
|
class UserCancelledUploadError extends Error {}
|
|
|
|
|
2023-01-11 08:25:26 +00:00
|
|
|
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 {}
|
2021-09-15 17:39:37 +00:00
|
|
|
|
|
|
|
class InvalidStateError extends AssertionError {
|
|
|
|
InvalidStateError(String message) : super(message);
|
|
|
|
}
|
2022-09-12 16:44:01 +00:00
|
|
|
|
|
|
|
class KeyDerivationError extends Error {}
|
2023-05-23 05:27:34 +00:00
|
|
|
|
2023-11-20 07:58:27 +00:00
|
|
|
class LoginKeyDerivationError extends Error {}
|
|
|
|
|
2023-07-19 07:24:30 +00:00
|
|
|
class SrpSetupNotCompleteError extends Error {}
|
|
|
|
|
2023-05-23 05:27:34 +00:00
|
|
|
class SharingNotPermittedForFreeAccountsError extends Error {}
|