TF-1180 Reorganize inject and get interactor
This commit is contained in:
@@ -119,7 +119,7 @@ abstract class BaseController extends GetxController
|
||||
requireCapability(session!, accountId!, [CapabilityIdentifier.jmapMdn]);
|
||||
MdnInteractorBindings().dependencies();
|
||||
} catch(e) {
|
||||
logError('ReloadableController::injectVacationBindings(): exception: $e');
|
||||
logError('BaseController::injectMdnBindings(): exception: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ abstract class BaseController extends GetxController
|
||||
requireCapability(session!, accountId!, [capabilityForward]);
|
||||
ForwardingInteractorsBindings().dependencies();
|
||||
} catch(e) {
|
||||
logError('ReloadableController::injectForwardBindings(): exception: $e');
|
||||
logError('BaseController::injectForwardBindings(): exception: $e');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ abstract class BaseController extends GetxController
|
||||
requireCapability(session!, accountId!, [capabilityRuleFilter]);
|
||||
EmailRulesInteractorBindings().dependencies();
|
||||
} catch(e) {
|
||||
logError('ReloadableController::injectRuleFilterBindings(): exception: $e');
|
||||
logError('BaseController::injectRuleFilterBindings(): exception: $e');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -102,7 +102,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
EmailId? _currentEmailId;
|
||||
Identity? _identitySelected;
|
||||
List<EmailContent>? initialEmailContents;
|
||||
late Worker emailWorker;
|
||||
late Worker emailWorker, accountIdWorker;
|
||||
final Debouncer<int?> _getEmailDeBouncer = Debouncer<int?>(
|
||||
const Duration(milliseconds: 800),
|
||||
initialValue: null,
|
||||
@@ -134,31 +134,9 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
_initializeDebounceTimeIndexPageViewChange();
|
||||
_registerListenerWorker();
|
||||
_listenDownloadAttachmentProgressState();
|
||||
injectRuleFilterBindings(
|
||||
emailSupervisorController.sessionCurrent,
|
||||
emailSupervisorController.accountId);
|
||||
try {
|
||||
_createNewEmailRuleFilterInteractor = Get.find<CreateNewEmailRuleFilterInteractor>();
|
||||
} catch (e) {
|
||||
logError('SingleEmailController::onInit(): ${e.toString()}');
|
||||
}
|
||||
super.onInit();
|
||||
}
|
||||
|
||||
@override
|
||||
void onReady() {
|
||||
injectMdnBindings(
|
||||
emailSupervisorController.sessionCurrent,
|
||||
emailSupervisorController.accountId,
|
||||
);
|
||||
try {
|
||||
_sendReceiptToSenderInteractor = Get.find<SendReceiptToSenderInteractor>();
|
||||
} catch (e) {
|
||||
logError('SingleEmailController::onReady(): SendReceiptToSenderInteractor not registered');
|
||||
}
|
||||
super.onReady();
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
_downloadProgressStateController.close();
|
||||
@@ -176,6 +154,15 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
}
|
||||
|
||||
void _registerListenerWorker() {
|
||||
accountIdWorker = ever(mailboxDashBoardController.accountId, (accountId) {
|
||||
if (accountId is AccountId) {
|
||||
_injectAndGetInteractorBindings(
|
||||
mailboxDashBoardController.sessionCurrent,
|
||||
accountId
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
emailWorker = ever(emailSupervisorController.selectedEmail, (presentationEmail) {
|
||||
log('SingleEmailController::_initWorker(): $presentationEmail');
|
||||
if (presentationEmail is PresentationEmail) {
|
||||
@@ -242,6 +229,18 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
});
|
||||
}
|
||||
|
||||
void _injectAndGetInteractorBindings(Session? session, AccountId accountId) {
|
||||
injectRuleFilterBindings(session, accountId);
|
||||
injectMdnBindings(session, accountId);
|
||||
|
||||
if (Get.isRegistered<CreateNewEmailRuleFilterInteractor>()) {
|
||||
_createNewEmailRuleFilterInteractor = Get.find<CreateNewEmailRuleFilterInteractor>();
|
||||
}
|
||||
if (Get.isRegistered<SendReceiptToSenderInteractor>()) {
|
||||
_sendReceiptToSenderInteractor = Get.find<SendReceiptToSenderInteractor>();
|
||||
}
|
||||
}
|
||||
|
||||
void _getAllIdentities() {
|
||||
final accountId = emailSupervisorController.accountId;
|
||||
if (accountId != null) {
|
||||
|
||||
Reference in New Issue
Block a user