From 129118bd3c00427cfc107cdbb49062c841b8e270 Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 22 Sep 2022 19:05:36 +0700 Subject: [PATCH] TF-971 Add method `injectAutoCompleteBindings` in `baseController` --- lib/features/base/base_controller.dart | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lib/features/base/base_controller.dart b/lib/features/base/base_controller.dart index 2c8486526..6ea9de5de 100644 --- a/lib/features/base/base_controller.dart +++ b/lib/features/base/base_controller.dart @@ -1,9 +1,15 @@ import 'package:connectivity_plus/connectivity_plus.dart'; +import 'package:contact/contact/model/capability_contact.dart'; import 'package:core/core.dart'; import 'package:dartz/dartz.dart'; import 'package:get/get.dart'; +import 'package:jmap_dart_client/jmap/account_id.dart'; +import 'package:jmap_dart_client/jmap/core/session/session.dart'; import 'package:tmail_ui_user/features/base/mixin/message_dialog_action_mixin.dart'; import 'package:tmail_ui_user/features/base/mixin/popup_context_menu_action_mixin.dart'; +import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/contact_autocomplete_bindings.dart'; +import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/tmail_autocomplete_bindings.dart'; +import 'package:tmail_ui_user/main/error/capability_validator.dart'; abstract class BaseController extends GetxController with MessageDialogActionMixin, PopupContextMenuActionMixin { final viewState = Rx>(Right(UIState.idle)); @@ -66,4 +72,17 @@ abstract class BaseController extends GetxController with MessageDialogActionMix FpsManager().removeFpsCallback(fpsCallback!); } } + + void injectAutoCompleteBindings(Session? session, AccountId? accountId) { + if (session == null || accountId == null) { + return; + } + try { + ContactAutoCompleteBindings().dependencies(); + requireCapability(session, accountId, [tmailContactCapabilityIdentifier]); + TMailAutoCompleteBindings().dependencies(); + } catch (e) { + logError('BaseController::injectAutoCompleteBindings(): exception: $e'); + } + } } \ No newline at end of file