TF-1608 Set references and inReplyTo fields for forward email

(cherry picked from commit 45eff180f9330937497c17ee1f3c145e1af005db)
This commit is contained in:
dab246
2023-09-20 15:23:55 +07:00
committed by Dat H. Pham
parent f1a3589df0
commit d53c83920b
3 changed files with 18 additions and 5 deletions
@@ -714,7 +714,8 @@ class ComposerController extends BaseController {
MessageIdsHeaderValue? _generateReferences(ComposerArguments? arguments) { MessageIdsHeaderValue? _generateReferences(ComposerArguments? arguments) {
if (arguments?.emailActionType == EmailActionType.reply || if (arguments?.emailActionType == EmailActionType.reply ||
arguments?.emailActionType == EmailActionType.replyAll) { arguments?.emailActionType == EmailActionType.replyAll ||
arguments?.emailActionType == EmailActionType.forward) {
Set<String> ids = {}; Set<String> ids = {};
if (arguments?.messageId?.ids.isNotEmpty == true) { if (arguments?.messageId?.ids.isNotEmpty == true) {
ids.addAll(arguments!.messageId!.ids); ids.addAll(arguments!.messageId!.ids);
@@ -1186,7 +1186,9 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
ComposerArguments.replyEmail( ComposerArguments.replyEmail(
presentationEmail: presentationEmail, presentationEmail: presentationEmail,
content: _currentEmailLoaded?.htmlContent ?? '', content: _currentEmailLoaded?.htmlContent ?? '',
mailboxRole: presentationEmail.mailboxContain?.role mailboxRole: presentationEmail.mailboxContain?.role,
messageId: _currentEmailLoaded?.emailCurrent?.messageId,
references: _currentEmailLoaded?.emailCurrent?.references,
) )
); );
break; break;
@@ -1195,7 +1197,9 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
ComposerArguments.replyAllEmail( ComposerArguments.replyAllEmail(
presentationEmail: presentationEmail, presentationEmail: presentationEmail,
content: _currentEmailLoaded?.htmlContent ?? '', content: _currentEmailLoaded?.htmlContent ?? '',
mailboxRole: presentationEmail.mailboxContain?.role mailboxRole: presentationEmail.mailboxContain?.role,
messageId: _currentEmailLoaded?.emailCurrent?.messageId,
references: _currentEmailLoaded?.emailCurrent?.references,
) )
); );
break; break;
@@ -1204,7 +1208,9 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
ComposerArguments.forwardEmail( ComposerArguments.forwardEmail(
presentationEmail: presentationEmail, presentationEmail: presentationEmail,
content: _currentEmailLoaded?.htmlContent ?? '', content: _currentEmailLoaded?.htmlContent ?? '',
attachments: attachments attachments: attachments,
messageId: _currentEmailLoaded?.emailCurrent?.messageId,
references: _currentEmailLoaded?.emailCurrent?.references,
) )
); );
break; break;
@@ -118,12 +118,16 @@ class ComposerArguments extends RouterArguments {
required PresentationEmail presentationEmail, required PresentationEmail presentationEmail,
required String content, required String content,
required List<Attachment> attachments, required List<Attachment> attachments,
MessageIdsHeaderValue? messageId,
MessageIdsHeaderValue? references,
}) => ComposerArguments( }) => ComposerArguments(
emailActionType: EmailActionType.forward, emailActionType: EmailActionType.forward,
presentationEmail: presentationEmail, presentationEmail: presentationEmail,
emailContents: content, emailContents: content,
attachments: attachments, attachments: attachments,
mailboxRole: presentationEmail.mailboxContain?.role mailboxRole: presentationEmail.mailboxContain?.role,
messageId: messageId,
references: references,
); );
@override @override
@@ -137,5 +141,7 @@ class ComposerArguments extends RouterArguments {
listSharedMediaFile, listSharedMediaFile,
sendingEmail, sendingEmail,
uri, uri,
messageId,
references,
]; ];
} }