diff --git a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart index 8a646de11..5193487bf 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart @@ -481,6 +481,8 @@ class MailboxDashBoardController extends ReloadableController _handleIdentityCache(); } else if (failure is GetServerSettingFailure) { isSenderImportantFlagEnabled.value = true; + } else if (failure is GetAllIdentitiesFailure) { + _handleGetAllIdentitiesFailure(); } } @@ -3082,15 +3084,19 @@ class MailboxDashBoardController extends ReloadableController sessionCurrent!, accountId.value! )); + } else { + consumeState(Stream.value(Left(GetAllIdentitiesFailure(NotFoundAccountIdException())))); } } - void _handleGetAllIdentitiesSuccess(GetAllIdentitiesSuccess success) async { - final listIdentitiesMayDeleted = success.identities?.toListMayDeleted() ?? []; - if (listIdentitiesMayDeleted.isNotEmpty) { - _identities = listIdentitiesMayDeleted; - } + void _handleGetAllIdentitiesSuccess(GetAllIdentitiesSuccess success) { log('MailboxDashBoardController::_handleGetAllIdentitiesSuccess: IDENTITIES_SIZE = ${_identities?.length}'); + final listIdentitiesMayDeleted = success.identities?.toListMayDeleted() ?? []; + _identities = listIdentitiesMayDeleted; + } + + void _handleGetAllIdentitiesFailure() { + _identities = null; } List get listIdentities => _identities ?? [];