From d74951a1acf53c67bdbe10aabc8d46531c07f36d Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 18 Dec 2024 12:48:43 +0700 Subject: [PATCH] TF-3334 Remove resynchronisation when performing actions with emails --- .../presentation/mailbox_controller.dart | 56 ---------------- .../presentation/search_email_controller.dart | 36 ---------- .../presentation/thread_controller.dart | 65 ------------------- 3 files changed, 157 deletions(-) diff --git a/lib/features/mailbox/presentation/mailbox_controller.dart b/lib/features/mailbox/presentation/mailbox_controller.dart index b0501879e..4503fc2d1 100644 --- a/lib/features/mailbox/presentation/mailbox_controller.dart +++ b/lib/features/mailbox/presentation/mailbox_controller.dart @@ -19,15 +19,7 @@ import 'package:pointer_interceptor/pointer_interceptor.dart'; import 'package:rxdart/transformers.dart'; import 'package:tmail_ui_user/features/base/base_mailbox_controller.dart'; import 'package:tmail_ui_user/features/base/mixin/mailbox_action_handler_mixin.dart'; -import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_drafts_state.dart'; -import 'package:tmail_ui_user/features/composer/domain/state/send_email_state.dart'; -import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart'; import 'package:tmail_ui_user/features/email/domain/model/move_action.dart'; -import 'package:tmail_ui_user/features/email/domain/state/delete_email_permanently_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/delete_multiple_emails_permanently_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/get_restored_deleted_message_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/move_to_mailbox_state.dart'; import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart'; import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart'; import 'package:tmail_ui_user/features/mailbox/domain/constants/mailbox_constants.dart'; @@ -44,7 +36,6 @@ import 'package:tmail_ui_user/features/mailbox/domain/state/create_default_mailb import 'package:tmail_ui_user/features/mailbox/domain/state/create_new_mailbox_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/delete_multiple_mailbox_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/get_all_mailboxes_state.dart'; -import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/move_mailbox_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/refresh_all_mailboxes_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/refresh_changes_all_mailboxes_state.dart'; @@ -72,16 +63,11 @@ import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_utils. import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart'; import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/mailbox_creator_arguments.dart'; import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/new_mailbox_arguments.dart'; -import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_email_drafts_state.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart'; import 'package:tmail_ui_user/features/search/mailbox/presentation/search_mailbox_bindings.dart'; import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/empty_spam_folder_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/empty_trash_folder_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/mark_as_multiple_email_read_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/move_multiple_email_to_mailbox_state.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import 'package:tmail_ui_user/main/routes/app_routes.dart'; import 'package:tmail_ui_user/main/routes/dialog_router.dart'; @@ -248,48 +234,6 @@ class MailboxController extends BaseMailboxController with MailboxActionHandlerM _handleNavigationRouteParameters ); - ever(mailboxDashBoardController.viewState, (state) { - state.fold((failure) => null, (success) { - if (success is MarkAsMultipleEmailReadAllSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is MarkAsMultipleEmailReadHasSomeEmailFailure) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is MoveMultipleEmailToMailboxAllSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is MoveMultipleEmailToMailboxHasSomeEmailFailure) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is DeleteMultipleEmailsPermanentlyAllSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is EmptyTrashFolderSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is MarkAsEmailReadSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is MoveToMailboxSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is DeleteEmailPermanentlySuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is SaveEmailAsDraftsSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is RemoveEmailDraftsSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is SendEmailSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is MarkAsMailboxReadAllSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is MarkAsMailboxReadHasSomeEmailFailure) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is UpdateEmailDraftsSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is EmptySpamFolderSuccess) { - _refreshMailboxChanges(currentMailboxState: success.currentMailboxState); - } else if (success is GetRestoredDeletedMessageSuccess) { - _refreshMailboxChanges(properties: MailboxConstants.propertiesDefault); - } - }); - }); - ever(mailboxDashBoardController.dashBoardAction, (action) { if (action is ClearSearchEmailAction) { _switchBackToMailboxDefault(); diff --git a/lib/features/search/email/presentation/search_email_controller.dart b/lib/features/search/email/presentation/search_email_controller.dart index 6871b6871..aec3fce50 100644 --- a/lib/features/search/email/presentation/search_email_controller.dart +++ b/lib/features/search/email/presentation/search_email_controller.dart @@ -31,13 +31,6 @@ import 'package:tmail_ui_user/features/composer/presentation/extensions/prefix_e import 'package:tmail_ui_user/features/contact/presentation/model/contact_arguments.dart'; import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart'; import 'package:tmail_ui_user/features/email/domain/model/mark_read_action.dart'; -import 'package:tmail_ui_user/features/email/domain/state/delete_email_permanently_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/delete_multiple_emails_permanently_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_star_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/move_to_mailbox_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/store_event_attendance_status_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/unsubscribe_email_state.dart'; import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart'; import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart'; @@ -62,11 +55,6 @@ import 'package:tmail_ui_user/features/search/email/presentation/model/search_mo import 'package:tmail_ui_user/features/search/email/presentation/search_email_bindings.dart'; import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart'; import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/empty_spam_folder_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/empty_trash_folder_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/mark_as_multiple_email_read_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/mark_as_star_multiple_email_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/move_multiple_email_to_mailbox_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/search_more_email_state.dart'; import 'package:tmail_ui_user/features/thread/domain/usecases/search_email_interactor.dart'; @@ -246,30 +234,6 @@ class SearchEmailController extends BaseController } void _initWorkerListener() { - dashBoardViewStateWorker = ever(mailboxDashBoardController.viewState, (viewState) { - viewState.map((success) { - if (success is MarkAsEmailReadSuccess || - success is MoveToMailboxSuccess || - success is MarkAsStarEmailSuccess || - success is DeleteEmailPermanentlySuccess || - success is MarkAsMultipleEmailReadAllSuccess || - success is MarkAsMultipleEmailReadHasSomeEmailFailure || - success is MarkAsStarMultipleEmailAllSuccess || - success is MarkAsStarMultipleEmailHasSomeEmailFailure || - success is MoveMultipleEmailToMailboxAllSuccess || - success is MoveMultipleEmailToMailboxHasSomeEmailFailure || - success is EmptyTrashFolderSuccess || - success is EmptySpamFolderSuccess || - success is DeleteMultipleEmailsPermanentlyAllSuccess || - success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure || - success is UnsubscribeEmailSuccess || - success is StoreEventAttendanceStatusSuccess - ) { - _refreshEmailChanges(); - } - }); - }); - dashBoardActionWorker = ever( mailboxDashBoardController.dashBoardAction, (action) { diff --git a/lib/features/thread/presentation/thread_controller.dart b/lib/features/thread/presentation/thread_controller.dart index d58b75886..61ba7fdbb 100644 --- a/lib/features/thread/presentation/thread_controller.dart +++ b/lib/features/thread/presentation/thread_controller.dart @@ -18,22 +18,10 @@ import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart'; import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart'; import 'package:model/model.dart'; import 'package:tmail_ui_user/features/base/base_controller.dart'; -import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_drafts_state.dart'; -import 'package:tmail_ui_user/features/composer/domain/state/send_email_state.dart'; -import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart'; import 'package:tmail_ui_user/features/email/domain/model/mark_read_action.dart'; -import 'package:tmail_ui_user/features/email/domain/state/delete_email_permanently_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/delete_multiple_emails_permanently_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_read_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/mark_as_email_star_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/move_to_mailbox_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/store_event_attendance_status_state.dart'; -import 'package:tmail_ui_user/features/email/domain/state/unsubscribe_email_state.dart'; import 'package:tmail_ui_user/features/email/presentation/action/email_ui_action.dart'; import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart'; import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart'; -import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart'; -import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_email_drafts_state.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart' as search; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart'; @@ -51,14 +39,9 @@ import 'package:tmail_ui_user/features/thread/domain/model/email_filter.dart'; import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart'; import 'package:tmail_ui_user/features/thread/domain/model/get_email_request.dart'; import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/empty_spam_folder_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/empty_trash_folder_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/get_all_email_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/get_email_by_id_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/load_more_emails_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/mark_as_multiple_email_read_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/mark_as_star_multiple_email_state.dart'; -import 'package:tmail_ui_user/features/thread/domain/state/move_multiple_email_to_mailbox_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/refresh_all_email_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/refresh_changes_all_email_state.dart'; import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart'; @@ -342,54 +325,6 @@ class ThreadController extends BaseController with EmailActionController { mailboxDashBoardController.clearEmailUIAction(); } }); - - ever(mailboxDashBoardController.viewState, (viewState) { - viewState.map((success) { - if (success is MarkAsEmailReadSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MoveToMailboxSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MarkAsStarEmailSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is DeleteEmailPermanentlySuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is SaveEmailAsDraftsSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is RemoveEmailDraftsSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is SendEmailSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is UpdateEmailDraftsSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MarkAsMailboxReadAllSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MarkAsMailboxReadHasSomeEmailFailure) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MoveMultipleEmailToMailboxAllSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MoveMultipleEmailToMailboxHasSomeEmailFailure) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is DeleteMultipleEmailsPermanentlyAllSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is DeleteMultipleEmailsPermanentlyHasSomeEmailFailure) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MarkAsStarMultipleEmailAllSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MarkAsStarMultipleEmailHasSomeEmailFailure) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MarkAsMultipleEmailReadAllSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is MarkAsMultipleEmailReadHasSomeEmailFailure) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is EmptyTrashFolderSuccess || success is EmptySpamFolderSuccess) { - refreshAllEmail(); - } else if (success is UnsubscribeEmailSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } else if (success is StoreEventAttendanceStatusSuccess) { - _refreshEmailChanges(currentEmailState: success.currentEmailState); - } - }); - }); } void _registerBrowserResizeListener() {