From d5b61a2a7d61b6ead5353a1fbf8f678297dc28e8 Mon Sep 17 00:00:00 2001 From: dab246 Date: Mon, 16 Jan 2023 15:49:31 +0700 Subject: [PATCH] TF-1296 Improve auto suggestion is still slow response --- .../widgets/email_address_input_builder.dart | 27 +++---------------- ...complete_contact_text_field_with_tags.dart | 1 + pubspec.lock | 6 ++--- 3 files changed, 7 insertions(+), 27 deletions(-) diff --git a/lib/features/composer/presentation/widgets/email_address_input_builder.dart b/lib/features/composer/presentation/widgets/email_address_input_builder.dart index 151dac3cd..5e62c59e9 100644 --- a/lib/features/composer/presentation/widgets/email_address_input_builder.dart +++ b/lib/features/composer/presentation/widgets/email_address_input_builder.dart @@ -140,6 +140,7 @@ class EmailAddressInputBuilder { autoDisposeFocusNode: autoDisposeFocusNode, keyboardType: TextInputType.emailAddress, textInputAction: TextInputAction.done, + debounceDuration: const Duration(milliseconds: 150), hasAddButton: false, tagSpacing: 8, autofocus: _prefixEmailAddress != PrefixEmailAddress.to && listEmailAddress.isEmpty, @@ -148,7 +149,7 @@ class EmailAddressInputBuilder { suggestionsBoxElevation: _suggestionBoxRadius, suggestionsBoxBackgroundColor: Colors.white, suggestionsBoxRadius: 20, - suggestionsBoxMaxHeight: 300, + suggestionsBoxMaxHeight: 350, textStyle: const TextStyle(color: AppColor.colorEmailAddress, fontSize: 14, fontWeight: FontWeight.w500), onFocusTagAction: (focused) { setState(() { @@ -355,9 +356,7 @@ class EmailAddressInputBuilder { String? suggestionValid ) { return Container( - decoration: BoxDecoration( - color: highlight ? AppColor.colorItemSelected : Colors.white, - borderRadius: _getBorderRadiusSuggestionItem(index, length)), + color: highlight ? AppColor.colorItemSelected : Colors.white, child: ListTile( contentPadding: const EdgeInsets.symmetric(horizontal: 16), leading: Container( @@ -400,26 +399,6 @@ class EmailAddressInputBuilder { ); } - BorderRadius _getBorderRadiusSuggestionItem(int index, int length) { - var borderRadius = const BorderRadius.all(Radius.circular(0)); - if (length <= 1) { - borderRadius = const BorderRadius.all(Radius.circular(20)); - } else { - if (index == 0) { - borderRadius = const BorderRadius.only( - topLeft: Radius.circular(20), - topRight: Radius.circular(20), - ); - } else if (index == length - 1) { - borderRadius = const BorderRadius.only( - bottomRight: Radius.circular(20), - bottomLeft: Radius.circular(20), - ); - } - } - return borderRadius; - } - FutureOr> _findSuggestions(String query) async { log('EmailAddressInputBuilder::_findSuggestions():query: $query'); if (_gapBetweenTagChangedAndFindSuggestion?.isActive ?? false) { diff --git a/lib/features/contact/presentation/widgets/autocomplete_contact_text_field_with_tags.dart b/lib/features/contact/presentation/widgets/autocomplete_contact_text_field_with_tags.dart index 1d37f4a47..dc8d352b8 100644 --- a/lib/features/contact/presentation/widgets/autocomplete_contact_text_field_with_tags.dart +++ b/lib/features/contact/presentation/widgets/autocomplete_contact_text_field_with_tags.dart @@ -86,6 +86,7 @@ class _AutocompleteContactTextFieldWithTagsState extends State