From d24b9dd2400b9b121a18998e4dce176d3994bf47 Mon Sep 17 00:00:00 2001 From: hieubt Date: Sun, 26 Nov 2023 13:46:10 +0700 Subject: [PATCH] TF-2323 Update contact controller (cherry picked from commit 1aabb48f306c24a00615ba852d55643870b05dec) --- .../contact/presentation/contact_controller.dart | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/features/contact/presentation/contact_controller.dart b/lib/features/contact/presentation/contact_controller.dart index baf0f2052..b90418e7e 100644 --- a/lib/features/contact/presentation/contact_controller.dart +++ b/lib/features/contact/presentation/contact_controller.dart @@ -8,6 +8,7 @@ import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/session/session.dart'; import 'package:jmap_dart_client/jmap/mail/email/email_address.dart'; import 'package:model/autocomplete/auto_complete_pattern.dart'; +import 'package:model/user/user_profile.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:debounce_throttle/debounce_throttle.dart'; import 'package:tmail_ui_user/features/base/base_controller.dart'; @@ -17,9 +18,11 @@ import 'package:tmail_ui_user/features/composer/domain/state/get_device_contact_ import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart'; import 'package:tmail_ui_user/features/composer/domain/usecases/get_all_autocomplete_interactor.dart'; import 'package:tmail_ui_user/features/composer/domain/usecases/get_device_contact_suggestions_interactor.dart'; +import 'package:tmail_ui_user/features/composer/presentation/model/suggestion_email_address.dart'; import 'package:tmail_ui_user/features/contact/presentation/model/contact_arguments.dart'; import 'package:tmail_ui_user/features/contact/presentation/widgets/contact_suggestion_box_item.dart'; import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart'; +import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart'; class ContactController extends BaseController { @@ -31,6 +34,7 @@ class ContactController extends BaseController { final searchQuery = SearchQuery.initial().obs; final listContactSearched = RxList(); final scrollListViewController = ScrollController(); + final userProfile = Rxn(); GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor; GetAutoCompleteInteractor? _getAutoCompleteInteractor; @@ -64,6 +68,9 @@ class ContactController extends BaseController { if (arguments != null) { _accountId = arguments!.accountId; _session = arguments!.session; + if (_session != null) { + userProfile.value = UserProfile(_session!.username.value); + } final listContactSelected = arguments!.listContactSelected; log('ContactController::onReady(): arguments: $arguments'); log('ContactController::onReady(): listContactSelected: $listContactSelected'); @@ -169,6 +176,11 @@ class ContactController extends BaseController { popBack(result: emailAddress); } + SuggestionEmailAddress getFromMeSuggestion(BuildContext context) { + final userEmailAddress = EmailAddress(AppLocalizations.of(context).me, userProfile.value?.email); + return SuggestionEmailAddress(userEmailAddress, state: SuggestionEmailState.valid); + } + void closeContactView(BuildContext context) { clearAllTextInputSearchForm(); KeyboardUtils.hideKeyboard(context);