TF-2667 Remove composer cache after close composer view

This commit is contained in:
dab246
2024-03-22 02:06:06 +07:00
committed by Dat H. Pham
parent 84ce77a46f
commit 5caf08290b
2 changed files with 15 additions and 2 deletions
@@ -171,6 +171,7 @@ class MailboxDashBoardBindings extends BaseBindings {
Get.find<UnsubscribeEmailInteractor>(), Get.find<UnsubscribeEmailInteractor>(),
Get.find<RestoredDeletedMessageInteractor>(), Get.find<RestoredDeletedMessageInteractor>(),
Get.find<GetRestoredDeletedMessageInterator>(), Get.find<GetRestoredDeletedMessageInterator>(),
Get.find<RemoveComposerCacheOnWebInteractor>(),
)); ));
Get.put(AdvancedFilterController()); Get.put(AdvancedFilterController());
} }
@@ -276,6 +277,7 @@ class MailboxDashBoardBindings extends BaseBindings {
); );
Get.lazyPut(() => GetComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>())); Get.lazyPut(() => GetComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>()));
Get.lazyPut(() => RemoveComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>())); Get.lazyPut(() => RemoveComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>()));
Get.lazyPut(() => RemoveComposerCacheOnWebInteractor(Get.find<ComposerCacheRepository>()));
Get.lazyPut(() => MarkAsEmailReadInteractor( Get.lazyPut(() => MarkAsEmailReadInteractor(
Get.find<EmailRepository>(), Get.find<EmailRepository>(),
Get.find<MailboxRepository>() Get.find<MailboxRepository>()
@@ -78,6 +78,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_app_da
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_composer_cache_state.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_composer_cache_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/domain/state/remove_email_drafts_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/get_composer_cache_on_web_interactor.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/get_composer_cache_on_web_interactor.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/remove_composer_cache_on_web_interactor.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/remove_email_drafts_interactor.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/remove_email_drafts_interactor.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/app_grid_dashboard_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/app_grid_dashboard_controller.dart';
@@ -180,6 +181,7 @@ class MailboxDashBoardController extends ReloadableController {
final UnsubscribeEmailInteractor _unsubscribeEmailInteractor; final UnsubscribeEmailInteractor _unsubscribeEmailInteractor;
final RestoredDeletedMessageInteractor _restoreDeletedMessageInteractor; final RestoredDeletedMessageInteractor _restoreDeletedMessageInteractor;
final GetRestoredDeletedMessageInterator _getRestoredDeletedMessageInteractor; final GetRestoredDeletedMessageInterator _getRestoredDeletedMessageInteractor;
final RemoveComposerCacheOnWebInteractor _removeComposerCacheOnWebInteractor;
GetAllVacationInteractor? _getAllVacationInteractor; GetAllVacationInteractor? _getAllVacationInteractor;
UpdateVacationInteractor? _updateVacationInteractor; UpdateVacationInteractor? _updateVacationInteractor;
@@ -257,6 +259,7 @@ class MailboxDashBoardController extends ReloadableController {
this._unsubscribeEmailInteractor, this._unsubscribeEmailInteractor,
this._restoreDeletedMessageInteractor, this._restoreDeletedMessageInteractor,
this._getRestoredDeletedMessageInteractor, this._getRestoredDeletedMessageInteractor,
this._removeComposerCacheOnWebInteractor,
); );
@override @override
@@ -1248,7 +1251,7 @@ class MailboxDashBoardController extends ReloadableController {
composerOverlayState.value = ComposerOverlayState.active; composerOverlayState.value = ComposerOverlayState.active;
} }
void closeComposerOverlay({dynamic result}) { void closeComposerOverlay({dynamic result}) async {
composerArguments = null; composerArguments = null;
ComposerBindings().dispose(); ComposerBindings().dispose();
composerOverlayState.value = ComposerOverlayState.inActive; composerOverlayState.value = ComposerOverlayState.inActive;
@@ -1259,6 +1262,8 @@ class MailboxDashBoardController extends ReloadableController {
result is UpdateEmailDraftsSuccess) { result is UpdateEmailDraftsSuccess) {
consumeState(Stream.value(Right<Failure, Success>(result))); consumeState(Stream.value(Right<Failure, Success>(result)));
} }
await _removeComposerCacheOnWeb();
} }
void dispatchRoute(DashboardRoutes route) { void dispatchRoute(DashboardRoutes route) {
@@ -1394,6 +1399,8 @@ class MailboxDashBoardController extends ReloadableController {
result is UpdateEmailDraftsSuccess) { result is UpdateEmailDraftsSuccess) {
consumeState(Stream.value(Right<Failure, Success>(result))); consumeState(Stream.value(Right<Failure, Success>(result)));
} }
await _removeComposerCacheOnWeb();
} }
} }
@@ -2457,7 +2464,11 @@ class MailboxDashBoardController extends ReloadableController {
isRecoveringDeletedMessage.value = true; isRecoveringDeletedMessage.value = true;
} }
String get userEmail => userProfile.value?.email ?? ''; String get userEmail => sessionCurrent?.username.value ?? '';
Future<void> _removeComposerCacheOnWeb() async {
await _removeComposerCacheOnWebInteractor.execute();
}
@override @override
void onClose() { void onClose() {