From 48375b95f4a329596aa797b9ced86f75719bf920 Mon Sep 17 00:00:00 2001 From: hieubt Date: Wed, 4 Oct 2023 09:00:21 +0700 Subject: [PATCH] TF-2199 show suggestion for unknown email when suggestion list is empty (cherry picked from commit 3aad76825857f30e4537418bb3cab2b6f1395975) --- .../presentation/composer_controller.dart | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index f19a10e40..26e7afd8c 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -940,9 +940,8 @@ class ComposerController extends BaseController { .execute(AutoCompletePattern(word: word, accountId: accountId)) .then((value) => value.fold( (failure) => [], - (success) => success is GetAutoCompleteSuccess - ? success.listEmailAddress - : [])); + (success) => _getAutoCompleteSuccess(success, word) + )); return listEmailAddress; } else { if (_getAutoCompleteInteractor == null) { @@ -952,14 +951,25 @@ class ComposerController extends BaseController { final listEmailAddress = await _getAutoCompleteInteractor! .execute(AutoCompletePattern(word: word, accountId: accountId)) .then((value) => value.fold( - (failure) => [], - (success) => success is GetAutoCompleteSuccess - ? success.listEmailAddress - : [])); + (failure) => [], + (success) => _getAutoCompleteSuccess(success, word) + )); return listEmailAddress; } } + List _getAutoCompleteSuccess(Success success, String word) { + if (success is GetAutoCompleteSuccess) { + if (success.listEmailAddress.isEmpty == true && GetUtils.isEmail(word)) { + final unknownEmailAddress = EmailAddress(word, word); + return [unknownEmailAddress]; + } + return success.listEmailAddress; + } else { + return []; + } + } + void openPickAttachmentMenu(BuildContext context, List actionTiles) { clearFocusEditor(context);