TF-971 Add method injectAutoCompleteBindings in baseController

This commit is contained in:
dab246
2022-09-22 19:05:36 +07:00
committed by Dat H. Pham
parent 90c3e1c8ed
commit 129118bd3c
+19
View File
@@ -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<Either<Failure, Success>>(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');
}
}
}