Avoid calling getMinInputLengthAutocomplete multiple times from session

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-07-11 01:27:01 +07:00
committed by Dat H. Pham
parent be84c90690
commit 84e3c526f7
2 changed files with 24 additions and 18 deletions
@@ -292,6 +292,7 @@ class MailboxDashBoardController extends ReloadableController
bool _isFirstSessionLoad = false;
DeepLinksManager? _deepLinksManager;
StreamSubscription<DeepLinkData?>? _deepLinkDataStreamSubscription;
int minInputLengthAutocomplete = AppConfig.defaultMinInputLengthAutocomplete;
final StreamController<Either<Failure, Success>> _progressStateController =
StreamController<Either<Failure, Success>>.broadcast();
@@ -795,6 +796,7 @@ class MailboxDashBoardController extends ReloadableController
accountId.value = currentAccountId;
synchronizeOwnEmailAddress(session.getOwnEmailAddressOrEmpty());
_setUpMinInputLengthAutocomplete();
injectAutoCompleteBindings(session, currentAccountId);
injectRuleFilterBindings(session, currentAccountId);
injectVacationBindings(session, currentAccountId);
@@ -3220,13 +3222,14 @@ class MailboxDashBoardController extends ReloadableController
dispatchAction(ClearSearchFilterAppliedAction());
}
int get minInputLengthAutocomplete {
void _setUpMinInputLengthAutocomplete() {
if (sessionCurrent == null || accountId.value == null) {
return AppConfig.defaultMinInputLengthAutocomplete;
minInputLengthAutocomplete = AppConfig.defaultMinInputLengthAutocomplete;
}
return getMinInputLengthAutocomplete(
minInputLengthAutocomplete = getMinInputLengthAutocomplete(
session: sessionCurrent!,
accountId: accountId.value!);
accountId: accountId.value!,
);
}
void setCurrentEmailState(jmap.State? newState) {
@@ -59,6 +59,7 @@ class ManageAccountDashBoardController extends ReloadableController {
Session? sessionCurrent;
bool? isVacationDateDialogDisplayed;
Uri? previousUri;
int minInputLengthAutocomplete = AppConfig.defaultMinInputLengthAutocomplete;
@override
void onInit() {
@@ -103,23 +104,15 @@ class ManageAccountDashBoardController extends ReloadableController {
@override
void handleReloaded(Session session) {
log('ManageAccountDashBoardController::handleReloaded:');
sessionCurrent = session;
accountId.value = session.accountId;
synchronizeOwnEmailAddress(session.getOwnEmailAddressOrEmpty());
_bindingInteractorForMenuItemView(sessionCurrent, accountId.value);
_getVacationResponse();
_setUpComponentsFromSession(session);
_getParametersRouter();
}
void _getArguments() {
final arguments = Get.arguments;
if (arguments is ManageAccountArguments) {
sessionCurrent = arguments.session;
accountId.value = arguments.session?.accountId;
synchronizeOwnEmailAddress(arguments.session?.getOwnEmailAddressOrEmpty() ?? '');
previousUri = arguments.previousUri;
_bindingInteractorForMenuItemView(sessionCurrent, accountId.value);
_getVacationResponse();
_setUpComponentsFromSession(arguments.session);
if (arguments.menuSettingCurrent != null) {
selectAccountMenuItem(arguments.menuSettingCurrent!);
}
@@ -128,6 +121,15 @@ class ManageAccountDashBoardController extends ReloadableController {
}
}
void _setUpComponentsFromSession(Session? session) {
sessionCurrent = session;
accountId.value = session?.accountId;
synchronizeOwnEmailAddress(session?.getOwnEmailAddressOrEmpty() ?? '');
_setUpMinInputLengthAutocomplete();
_bindingInteractorForMenuItemView(sessionCurrent, accountId.value);
_getVacationResponse();
}
void _getParametersRouter() {
final parameters = Get.parameters;
log('ManageAccountDashBoardController::_getParametersRouter:parameters: $parameters');
@@ -394,13 +396,14 @@ class ManageAccountDashBoardController extends ReloadableController {
return false;
}
int get minInputLengthAutocomplete {
void _setUpMinInputLengthAutocomplete() {
if (sessionCurrent == null || accountId.value == null) {
return AppConfig.defaultMinInputLengthAutocomplete;
minInputLengthAutocomplete = AppConfig.defaultMinInputLengthAutocomplete;
}
return getMinInputLengthAutocomplete(
minInputLengthAutocomplete = getMinInputLengthAutocomplete(
session: sessionCurrent!,
accountId: accountId.value!);
accountId: accountId.value!,
);
}
@override