diff --git a/lib/features/composer/domain/usecases/create_new_and_save_email_to_drafts_interactor.dart b/lib/features/composer/domain/usecases/create_new_and_save_email_to_drafts_interactor.dart index 6ae297ff5..64c19dbc8 100644 --- a/lib/features/composer/domain/usecases/create_new_and_save_email_to_drafts_interactor.dart +++ b/lib/features/composer/domain/usecases/create_new_and_save_email_to_drafts_interactor.dart @@ -69,7 +69,7 @@ class CreateNewAndSaveEmailToDraftsInteractor { } } catch (e) { logWarning('CreateNewAndSaveEmailToDraftsInteractor::execute: Exception: $e'); - if (e is UnknownRemoteException && e.message is List) { + if (e is UnknownRemoteException && e.error is List) { if (createEmailRequest.draftsEmailId == null) { yield dartz.Left(SaveEmailAsDraftsFailure(SavingEmailToDraftsCanceledException())); } else { diff --git a/lib/features/composer/domain/usecases/create_new_and_send_email_interactor.dart b/lib/features/composer/domain/usecases/create_new_and_send_email_interactor.dart index 301a3b4d8..d8a9e6ea0 100644 --- a/lib/features/composer/domain/usecases/create_new_and_send_email_interactor.dart +++ b/lib/features/composer/domain/usecases/create_new_and_send_email_interactor.dart @@ -66,7 +66,7 @@ class CreateNewAndSendEmailInteractor { } } catch (e) { logWarning('CreateNewAndSendEmailInteractor::execute: Exception: $e'); - if (e is UnknownRemoteException && e.message is List) { + if (e is UnknownRemoteException && e.error is List) { yield dartz.Left(SendEmailFailure( exception: SendingEmailCanceledException(), session: sendingEmailArguments?.session, diff --git a/lib/features/composer/presentation/widgets/saving_message_dialog_view.dart b/lib/features/composer/presentation/widgets/saving_message_dialog_view.dart index e7fb02d83..096125063 100644 --- a/lib/features/composer/presentation/widgets/saving_message_dialog_view.dart +++ b/lib/features/composer/presentation/widgets/saving_message_dialog_view.dart @@ -82,7 +82,7 @@ class _SavingMessageDialogViewState extends State { void _handleErrorStream(Object error, StackTrace stackTrace) { logWarning('_SavingMessageDialogViewState::_handleErrorStream: Exception = $error'); - if (error is UnknownRemoteException && error.message is List) { + if (error is UnknownRemoteException && error.error is List) { popBack(result: SaveEmailAsDraftsFailure(SavingEmailToDraftsCanceledException())); } else { popBack(result: SaveEmailAsDraftsFailure(error)); diff --git a/lib/features/composer/presentation/widgets/sending_message_dialog_view.dart b/lib/features/composer/presentation/widgets/sending_message_dialog_view.dart index 937bf621d..8fee141de 100644 --- a/lib/features/composer/presentation/widgets/sending_message_dialog_view.dart +++ b/lib/features/composer/presentation/widgets/sending_message_dialog_view.dart @@ -79,7 +79,7 @@ class _SendingMessageDialogViewState extends State { void _handleErrorStream(Object error, StackTrace stackTrace) { logWarning('_SendingMessageDialogViewState::_handleErrorStream: Exception = $error'); - if (error is UnknownRemoteException && error.message is List) { + if (error is UnknownRemoteException && error.error is List) { popBack(result: SendEmailFailure(exception: SendingEmailCanceledException())); } else { popBack(result: SendEmailFailure(exception: error)); diff --git a/lib/main/exceptions/remote/unknown_remote_exception.dart b/lib/main/exceptions/remote/unknown_remote_exception.dart index 0aa93bd41..2e66a6c17 100644 --- a/lib/main/exceptions/remote/unknown_remote_exception.dart +++ b/lib/main/exceptions/remote/unknown_remote_exception.dart @@ -1,11 +1,18 @@ import 'package:tmail_ui_user/main/exceptions/remote/remote_exception.dart'; class UnknownRemoteException extends RemoteException { + + final Object? error; + const UnknownRemoteException({ super.code, super.message, + this.error, }); @override String get exceptionName => 'UnknownRemoteException'; + + @override + List get props => [...super.props, error]; } diff --git a/lib/main/exceptions/thrower/remote_exception_thrower.dart b/lib/main/exceptions/thrower/remote_exception_thrower.dart index f4012955a..133056dce 100644 --- a/lib/main/exceptions/thrower/remote_exception_thrower.dart +++ b/lib/main/exceptions/thrower/remote_exception_thrower.dart @@ -97,7 +97,7 @@ class RemoteExceptionThrower extends ExceptionThrower { } else if (underlyingError is OAuthAuthorizationError) { throw underlyingError; } else if (underlyingError != null) { - throw UnknownRemoteException(message: underlyingError.toString()); + throw UnknownRemoteException(error: underlyingError); } else { throw const UnknownRemoteException(); }