TF-2667 Add cancel button in progress send message dialog

This commit is contained in:
dab246
2024-03-12 12:53:41 +07:00
committed by Dat H. Pham
parent ae6341532c
commit f2b70aec48
16 changed files with 215 additions and 46 deletions
@@ -46,10 +46,19 @@ class EmailDataSourceImpl extends EmailDataSource {
Session session,
AccountId accountId,
EmailRequest emailRequest,
{CreateNewMailboxRequest? mailboxRequest}
{
CreateNewMailboxRequest? mailboxRequest,
CancelToken? cancelToken,
}
) async {
try {
return await emailAPI.sendEmail(session, accountId, emailRequest, mailboxRequest: mailboxRequest);
return await emailAPI.sendEmail(
session,
accountId,
emailRequest,
mailboxRequest: mailboxRequest,
cancelToken: cancelToken
);
} catch (error, stackTrace) {
return await _sendEmailExceptionThrower.throwException(error, stackTrace);
}
@@ -157,9 +166,19 @@ class EmailDataSourceImpl extends EmailDataSource {
}
@override
Future<bool> deleteEmailPermanently(Session session, AccountId accountId, EmailId emailId) {
Future<bool> deleteEmailPermanently(
Session session,
AccountId accountId,
EmailId emailId,
{CancelToken? cancelToken}
) {
return Future.sync(() async {
return await emailAPI.deleteEmailPermanently(session, accountId, emailId);
return await emailAPI.deleteEmailPermanently(
session,
accountId,
emailId,
cancelToken: cancelToken
);
}).catchError(_exceptionThrower.throwException);
}
@@ -71,7 +71,12 @@ class EmailHiveCacheDataSourceImpl extends EmailDataSource {
);
@override
Future<bool> deleteEmailPermanently(Session session, AccountId accountId, EmailId emailId) {
Future<bool> deleteEmailPermanently(
Session session,
AccountId accountId,
EmailId emailId,
{CancelToken? cancelToken}
) {
throw UnimplementedError();
}
@@ -134,7 +139,15 @@ class EmailHiveCacheDataSourceImpl extends EmailDataSource {
}
@override
Future<bool> sendEmail(Session session, AccountId accountId, EmailRequest emailRequest, {CreateNewMailboxRequest? mailboxRequest}) {
Future<bool> sendEmail(
Session session,
AccountId accountId,
EmailRequest emailRequest,
{
CreateNewMailboxRequest? mailboxRequest,
CancelToken? cancelToken
}
) {
throw UnimplementedError();
}