TF-2667 Prevent close sending/saving dialog when click system back on mobile
This commit is contained in:
@@ -826,39 +826,44 @@ class ComposerController extends BaseController with DragDropFileMixin {
|
|||||||
required String emailContent,
|
required String emailContent,
|
||||||
CancelToken? cancelToken
|
CancelToken? cancelToken
|
||||||
}) {
|
}) {
|
||||||
return Get.dialog(
|
final childWidget = PointerInterceptor(
|
||||||
PointerInterceptor(
|
child: SendingMessageDialogView(
|
||||||
child: SendingMessageDialogView(
|
createEmailRequest: CreateEmailRequest(
|
||||||
createEmailRequest: CreateEmailRequest(
|
session: mailboxDashBoardController.sessionCurrent!,
|
||||||
session: mailboxDashBoardController.sessionCurrent!,
|
accountId: mailboxDashBoardController.accountId.value!,
|
||||||
accountId: mailboxDashBoardController.accountId.value!,
|
emailActionType: composerArguments.value!.emailActionType,
|
||||||
emailActionType: composerArguments.value!.emailActionType,
|
subject: subjectEmail.value ?? '',
|
||||||
subject: subjectEmail.value ?? '',
|
emailContent: emailContent,
|
||||||
emailContent: emailContent,
|
fromSender: composerArguments.value!.presentationEmail?.from ?? {},
|
||||||
fromSender: composerArguments.value!.presentationEmail?.from ?? {},
|
toRecipients: listToEmailAddress.toSet(),
|
||||||
toRecipients: listToEmailAddress.toSet(),
|
ccRecipients: listCcEmailAddress.toSet(),
|
||||||
ccRecipients: listCcEmailAddress.toSet(),
|
bccRecipients: listBccEmailAddress.toSet(),
|
||||||
bccRecipients: listBccEmailAddress.toSet(),
|
isRequestReadReceipt: hasRequestReadReceipt.value,
|
||||||
isRequestReadReceipt: hasRequestReadReceipt.value,
|
identity: identitySelected.value,
|
||||||
identity: identitySelected.value,
|
attachments: uploadController.attachmentsUploaded,
|
||||||
attachments: uploadController.attachmentsUploaded,
|
inlineAttachments: uploadController.mapInlineAttachments,
|
||||||
inlineAttachments: uploadController.mapInlineAttachments,
|
outboxMailboxId: mailboxDashBoardController.outboxMailbox?.mailboxId,
|
||||||
outboxMailboxId: mailboxDashBoardController.outboxMailbox?.mailboxId,
|
sentMailboxId: mailboxDashBoardController.mapDefaultMailboxIdByRole[PresentationMailbox.roleSent],
|
||||||
sentMailboxId: mailboxDashBoardController.mapDefaultMailboxIdByRole[PresentationMailbox.roleSent],
|
draftsEmailId: composerArguments.value!.emailActionType == EmailActionType.editDraft
|
||||||
draftsEmailId: composerArguments.value!.emailActionType == EmailActionType.editDraft
|
? composerArguments.value!.presentationEmail?.id
|
||||||
? composerArguments.value!.presentationEmail?.id
|
: null,
|
||||||
: null,
|
answerForwardEmailId: composerArguments.value!.presentationEmail?.id,
|
||||||
answerForwardEmailId: composerArguments.value!.presentationEmail?.id,
|
unsubscribeEmailId: composerArguments.value!.previousEmailId,
|
||||||
unsubscribeEmailId: composerArguments.value!.previousEmailId,
|
messageId: composerArguments.value!.messageId,
|
||||||
messageId: composerArguments.value!.messageId,
|
references: composerArguments.value!.references,
|
||||||
references: composerArguments.value!.references,
|
emailSendingQueue: composerArguments.value!.sendingEmail
|
||||||
emailSendingQueue: composerArguments.value!.sendingEmail
|
|
||||||
),
|
|
||||||
createNewAndSendEmailInteractor: _createNewAndSendEmailInteractor,
|
|
||||||
onCancelSendingEmailAction: _handleCancelSendingMessage,
|
|
||||||
cancelToken: cancelToken,
|
|
||||||
),
|
),
|
||||||
|
createNewAndSendEmailInteractor: _createNewAndSendEmailInteractor,
|
||||||
|
onCancelSendingEmailAction: _handleCancelSendingMessage,
|
||||||
|
cancelToken: cancelToken,
|
||||||
),
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
return Get.dialog(
|
||||||
|
PlatformInfo.isMobile
|
||||||
|
? PopScope(canPop: false, child: childWidget)
|
||||||
|
: childWidget,
|
||||||
|
barrierDismissible: false,
|
||||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -2035,37 +2040,41 @@ class ComposerController extends BaseController with DragDropFileMixin {
|
|||||||
EmailId? draftEmailId,
|
EmailId? draftEmailId,
|
||||||
CancelToken? cancelToken,
|
CancelToken? cancelToken,
|
||||||
}) {
|
}) {
|
||||||
return Get.dialog(
|
final childWidget = PointerInterceptor(
|
||||||
PointerInterceptor(
|
child: SavingMessageDialogView(
|
||||||
child: SavingMessageDialogView(
|
createEmailRequest: CreateEmailRequest(
|
||||||
createEmailRequest: CreateEmailRequest(
|
session: mailboxDashBoardController.sessionCurrent!,
|
||||||
session: mailboxDashBoardController.sessionCurrent!,
|
accountId: mailboxDashBoardController.accountId.value!,
|
||||||
accountId: mailboxDashBoardController.accountId.value!,
|
emailActionType: composerArguments.value!.emailActionType,
|
||||||
emailActionType: composerArguments.value!.emailActionType,
|
subject: subjectEmail.value ?? '',
|
||||||
subject: subjectEmail.value ?? '',
|
emailContent: emailContent,
|
||||||
emailContent: emailContent,
|
fromSender: composerArguments.value!.presentationEmail?.from ?? {},
|
||||||
fromSender: composerArguments.value!.presentationEmail?.from ?? {},
|
toRecipients: listToEmailAddress.toSet(),
|
||||||
toRecipients: listToEmailAddress.toSet(),
|
ccRecipients: listCcEmailAddress.toSet(),
|
||||||
ccRecipients: listCcEmailAddress.toSet(),
|
bccRecipients: listBccEmailAddress.toSet(),
|
||||||
bccRecipients: listBccEmailAddress.toSet(),
|
isRequestReadReceipt: hasRequestReadReceipt.value,
|
||||||
isRequestReadReceipt: hasRequestReadReceipt.value,
|
identity: identitySelected.value,
|
||||||
identity: identitySelected.value,
|
attachments: uploadController.attachmentsUploaded,
|
||||||
attachments: uploadController.attachmentsUploaded,
|
inlineAttachments: uploadController.mapInlineAttachments,
|
||||||
inlineAttachments: uploadController.mapInlineAttachments,
|
sentMailboxId: mailboxDashBoardController.mapDefaultMailboxIdByRole[PresentationMailbox.roleSent],
|
||||||
sentMailboxId: mailboxDashBoardController.mapDefaultMailboxIdByRole[PresentationMailbox.roleSent],
|
draftsMailboxId: mailboxDashBoardController.mapDefaultMailboxIdByRole[PresentationMailbox.roleDrafts],
|
||||||
draftsMailboxId: mailboxDashBoardController.mapDefaultMailboxIdByRole[PresentationMailbox.roleDrafts],
|
draftsEmailId: draftEmailId,
|
||||||
draftsEmailId: draftEmailId,
|
answerForwardEmailId: composerArguments.value!.presentationEmail?.id,
|
||||||
answerForwardEmailId: composerArguments.value!.presentationEmail?.id,
|
unsubscribeEmailId: composerArguments.value!.previousEmailId,
|
||||||
unsubscribeEmailId: composerArguments.value!.previousEmailId,
|
messageId: composerArguments.value!.messageId,
|
||||||
messageId: composerArguments.value!.messageId,
|
references: composerArguments.value!.references,
|
||||||
references: composerArguments.value!.references,
|
emailSendingQueue: composerArguments.value!.sendingEmail
|
||||||
emailSendingQueue: composerArguments.value!.sendingEmail
|
|
||||||
),
|
|
||||||
createNewAndSaveEmailToDraftsInteractor: _createNewAndSaveEmailToDraftsInteractor,
|
|
||||||
onCancelSavingEmailToDraftsAction: _handleCancelSavingMessageToDrafts,
|
|
||||||
cancelToken: cancelToken,
|
|
||||||
),
|
),
|
||||||
|
createNewAndSaveEmailToDraftsInteractor: _createNewAndSaveEmailToDraftsInteractor,
|
||||||
|
onCancelSavingEmailToDraftsAction: _handleCancelSavingMessageToDrafts,
|
||||||
|
cancelToken: cancelToken,
|
||||||
),
|
),
|
||||||
|
);
|
||||||
|
return Get.dialog(
|
||||||
|
PlatformInfo.isMobile
|
||||||
|
? PopScope(canPop: false, child: childWidget)
|
||||||
|
: childWidget,
|
||||||
|
barrierDismissible: false,
|
||||||
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
barrierColor: AppColor.colorDefaultCupertinoActionSheet,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
+5
@@ -1391,7 +1391,12 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
openComposerOverlay(arguments);
|
openComposerOverlay(arguments);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
BackButtonInterceptor.removeByName(AppRoutes.dashboard);
|
||||||
|
|
||||||
final result = await push(AppRoutes.composer, arguments: arguments);
|
final result = await push(AppRoutes.composer, arguments: arguments);
|
||||||
|
|
||||||
|
BackButtonInterceptor.add(_onBackButtonInterceptor, name: AppRoutes.dashboard);
|
||||||
|
|
||||||
if (result is SendingEmailArguments) {
|
if (result is SendingEmailArguments) {
|
||||||
handleSendEmailAction(result);
|
handleSendEmailAction(result);
|
||||||
} else if (result is SendEmailSuccess ||
|
} else if (result is SendEmailSuccess ||
|
||||||
|
|||||||
Reference in New Issue
Block a user