From a6f2a23cecffc9849d9a5a9474089a1ce05decb8 Mon Sep 17 00:00:00 2001 From: dab246 Date: Fri, 15 Oct 2021 12:06:24 +0700 Subject: [PATCH] TF-186 [BUG] Fix should not duplicate RE, FWD --- .../composer/presentation/composer_controller.dart | 12 +++++------- .../extensions/email_action_type_extension.dart | 14 +++++++++++--- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index b158ad1e7..13d42afc2 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -122,13 +122,11 @@ class ComposerController extends BaseController { } void _initSubjectEmail() { - if (composerArguments.value != null - && composerArguments.value?.presentationEmail != null - && Get.context != null) { - final subject = '${composerArguments.value!.emailActionType.prefixSubjectComposer(Get.context!)} ' - '${composerArguments.value!.presentationEmail?.getEmailTitle()}'; - setSubjectEmail(subject); - subjectEmailInputController.text = subject; + if (Get.context != null) { + final subjectEmail = composerArguments.value?.presentationEmail?.getEmailTitle().trim() ?? ''; + final newSubject = composerArguments.value?.emailActionType.getSubjectComposer(Get.context!, subjectEmail) ?? ''; + setSubjectEmail(newSubject); + subjectEmailInputController.text = newSubject; } } diff --git a/lib/features/composer/presentation/extensions/email_action_type_extension.dart b/lib/features/composer/presentation/extensions/email_action_type_extension.dart index 0638febea..7e38c92ae 100644 --- a/lib/features/composer/presentation/extensions/email_action_type_extension.dart +++ b/lib/features/composer/presentation/extensions/email_action_type_extension.dart @@ -4,13 +4,21 @@ import 'package:model/email/email_action_type.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; extension EmailActionTypeExtension on EmailActionType { - String prefixSubjectComposer(BuildContext context) { + String getSubjectComposer(BuildContext context, String subject) { switch(this) { case EmailActionType.reply: case EmailActionType.replyAll: - return AppLocalizations.of(context).prefix_reply_email; + if (subject.toLowerCase().startsWith('re:')) { + return subject; + } else { + return '${AppLocalizations.of(context).prefix_reply_email} $subject'; + } case EmailActionType.forward: - return AppLocalizations.of(context).prefix_forward_email; + if (subject.toLowerCase().startsWith('fwd:')) { + return subject; + } else { + return '${AppLocalizations.of(context).prefix_forward_email} $subject'; + } default: return ''; }