TF-3479 Cleanup composer bindings after close composer

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-02-14 18:34:06 +07:00
committed by Dat H. Pham
parent c21a9dda24
commit 562cb39f19
2 changed files with 78 additions and 0 deletions
@@ -334,5 +334,63 @@ class ComposerBindings extends BaseBindings {
}
Get.delete<UploadController>(tag: composerId);
Get.delete<ComposerController>(tag: composerId);
Get.delete<AttachmentUploadDataSourceImpl>(tag: composerId);
Get.delete<ComposerDataSourceImpl>(tag: composerId);
Get.delete<ContactDataSourceImpl>(tag: composerId);
Get.delete<MailboxDataSourceImpl>(tag: composerId);
Get.delete<MailboxCacheDataSourceImpl>(tag: composerId);
Get.delete<EmailDataSourceImpl>(tag: composerId);
Get.delete<HtmlDataSourceImpl>(tag: composerId);
Get.delete<StateDataSourceImpl>(tag: composerId);
Get.delete<PrintFileDataSourceImpl>(tag: composerId);
Get.delete<EmailHiveCacheDataSourceImpl>(tag: composerId);
Get.delete<EmailLocalStorageDataSourceImpl>(tag: composerId);
Get.delete<EmailSessionStorageDatasourceImpl>(tag: composerId);
Get.delete<RemoteServerSettingsDataSourceImpl>(tag: composerId);
Get.delete<SessionStorageComposerDatasourceImpl>(tag: composerId);
Get.delete<AttachmentUploadDataSource>(tag: composerId);
Get.delete<ComposerDataSource>(tag: composerId);
Get.delete<ContactDataSource>(tag: composerId);
Get.delete<MailboxDataSource>(tag: composerId);
Get.delete<EmailDataSource>(tag: composerId);
Get.delete<HtmlDataSource>(tag: composerId);
Get.delete<StateDataSource>(tag: composerId);
Get.delete<PrintFileDataSource>(tag: composerId);
Get.delete<ServerSettingsDataSource>(tag: composerId);
Get.delete<SessionStorageComposerDatasource>(tag: composerId);
Get.delete<ComposerRepositoryImpl>(tag: composerId);
Get.delete<ComposerCacheRepositoryImpl>(tag: composerId);
Get.delete<ContactRepositoryImpl>(tag: composerId);
Get.delete<MailboxRepositoryImpl>(tag: composerId);
Get.delete<EmailRepositoryImpl>(tag: composerId);
Get.delete<ServerSettingsRepositoryImpl>(tag: composerId);
Get.delete<ComposerRepository>(tag: composerId);
Get.delete<ComposerCacheRepository>(tag: composerId);
Get.delete<ContactRepository>(tag: composerId);
Get.delete<MailboxRepository>(tag: composerId);
Get.delete<EmailRepository>(tag: composerId);
Get.delete<ServerSettingsRepository>(tag: composerId);
Get.delete<LocalFilePickerInteractor>(tag: composerId);
Get.delete<LocalImagePickerInteractor>(tag: composerId);
Get.delete<UploadAttachmentInteractor>(tag: composerId);
Get.delete<GetEmailContentInteractor>(tag: composerId);
Get.delete<RemoveComposerCacheOnWebInteractor>(tag: composerId);
Get.delete<SaveComposerCacheOnWebInteractor>(tag: composerId);
Get.delete<DownloadImageAsBase64Interactor>(tag: composerId);
Get.delete<TransformHtmlEmailContentInteractor>(tag: composerId);
Get.delete<GetAlwaysReadReceiptSettingInteractor>(tag: composerId);
Get.delete<CreateNewAndSendEmailInteractor>(tag: composerId);
Get.delete<CreateNewAndSaveEmailToDraftsInteractor>(tag: composerId);
Get.delete<RestoreEmailInlineImagesInteractor>(tag: composerId);
Get.delete<PrintEmailInteractor>(tag: composerId);
Get.delete<FileUploader>(tag: composerId);
IdentityInteractorsBindings().dispose();
}
}
@@ -121,4 +121,24 @@ class IdentityInteractorsBindings extends InteractorsBindings {
tag: composerId,
);
}
void dispose() {
Get.delete<IdentityUtils>(tag: composerId);
Get.delete<IdentityDataSourceImpl>(tag: composerId);
Get.delete<LocalIdentityCreatorDataSourceImpl>(tag: composerId);
Get.delete<IdentityDataSource>(tag: composerId);
Get.delete<IdentityCreatorDataSource>(tag: composerId);
Get.delete<IdentityRepositoryImpl>(tag: composerId);
Get.delete<IdentityCreatorRepositoryImpl>(tag: composerId);
Get.delete<IdentityRepository>(tag: composerId);
Get.delete<IdentityCreatorRepository>(tag: composerId);
Get.delete<GetAllIdentitiesInteractor>(tag: composerId);
Get.delete<CreateNewIdentityInteractor>(tag: composerId);
Get.delete<CreateNewDefaultIdentityInteractor>(tag: composerId);
Get.delete<DeleteIdentityInteractor>(tag: composerId);
Get.delete<EditIdentityInteractor>(tag: composerId);
Get.delete<EditDefaultIdentityInteractor>(tag: composerId);
Get.delete<TransformHtmlSignatureInteractor>(tag: composerId);
Get.delete<SaveIdentityCacheOnWebInteractor>(tag: composerId);
}
}