diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index 2461e156c..1181eb8fc 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -84,8 +84,6 @@ class ComposerController extends BaseController { final emailContentsViewState = Rx>(Right(UIState.idle)); final SendEmailInteractor _sendEmailInteractor; - final GetAutoCompleteInteractor _getAutoCompleteInteractor; - final GetAutoCompleteWithDeviceContactInteractor _getAutoCompleteWithDeviceContactInteractor; final LocalFilePickerInteractor _localFilePickerInteractor; final DeviceInfoPlugin _deviceInfoPlugin; final SaveEmailAsDraftsInteractor _saveEmailAsDraftsInteractor; @@ -98,6 +96,9 @@ class ComposerController extends BaseController { final RichTextWebController richTextWebController; final DownloadImageAsBase64Interactor _downloadImageAsBase64Interactor; + late GetAutoCompleteWithDeviceContactInteractor _getAutoCompleteWithDeviceContactInteractor; + late GetAutoCompleteInteractor _getAutoCompleteInteractor; + List listToEmailAddress = []; List listCcEmailAddress = []; List listBccEmailAddress = []; @@ -156,8 +157,6 @@ class ComposerController extends BaseController { ComposerController( this._sendEmailInteractor, - this._getAutoCompleteInteractor, - this._getAutoCompleteWithDeviceContactInteractor, this._deviceInfoPlugin, this._localFilePickerInteractor, this._saveEmailAsDraftsInteractor, @@ -700,6 +699,16 @@ class ComposerController extends BaseController { Future> getAutoCompleteSuggestion( {required String word}) async { + log('ComposerController::getAutoCompleteSuggestion(): $word | $_contactSuggestionSource'); + + if (!Get.isRegistered() || + !Get.isRegistered()) { + mailboxDashBoardController.injectAutoCompleteBindings(); + } + + _getAutoCompleteWithDeviceContactInteractor = Get.find(); + _getAutoCompleteInteractor = Get.find(); + if (_contactSuggestionSource == ContactSuggestionSource.all) { return await _getAutoCompleteWithDeviceContactInteractor .execute(AutoCompletePattern(word: word, accountId: mailboxDashBoardController.accountId.value)) diff --git a/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart index e70ca068f..04469997a 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart @@ -11,7 +11,6 @@ import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart'; import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart'; import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart'; -import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/advanced_filter_bindings.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart'; @@ -20,8 +19,7 @@ import 'package:tmail_ui_user/main/routes/app_routes.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart'; class AdvancedFilterController extends GetxController { - late GetAutoCompleteWithDeviceContactInteractor - _getAutoCompleteWithDeviceContactInteractor; + late GetAutoCompleteWithDeviceContactInteractor _getAutoCompleteWithDeviceContactInteractor; late GetAutoCompleteInteractor _getAutoCompleteInteractor; final dateFilterSelectedFormAdvancedSearch = EmailReceiveTimeType.allTime.obs; @@ -43,13 +41,6 @@ class AdvancedFilterController extends GetxController { final MailboxDashBoardController _mailboxDashBoardController = Get.find(); - AdvancedFilterController() { - AdvancedFilterBindings().dependencies(); - _getAutoCompleteWithDeviceContactInteractor = - Get.find(); - _getAutoCompleteInteractor = Get.find(); - } - SearchEmailFilter get searchEmailFilter => searchController.searchEmailFilter.value; @@ -150,6 +141,15 @@ class AdvancedFilterController extends GetxController { Future> getAutoCompleteSuggestion( {required String word}) async { + + if (!Get.isRegistered() || + !Get.isRegistered()) { + _mailboxDashBoardController.injectAutoCompleteBindings(); + } + + _getAutoCompleteWithDeviceContactInteractor = Get.find(); + _getAutoCompleteInteractor = Get.find(); + if (_contactSuggestionSource == ContactSuggestionSource.all) { return await _getAutoCompleteWithDeviceContactInteractor .execute(AutoCompletePattern(