TF-1923 Fix new email offline mode not working
(cherry picked from commit c1c48e93d50cb0ebbccaf11c3f4a975af640b63a)
This commit is contained in:
@@ -27,7 +27,7 @@ import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
||||
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/store_opened_email_to_cache_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/store_opened_email_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/controller/email_supervisor_controller.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/email_loaded.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/model/move_action.dart';
|
||||
@@ -93,7 +93,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
final MarkAsStarEmailInteractor _markAsStarEmailInteractor;
|
||||
final DownloadAttachmentForWebInteractor _downloadAttachmentForWebInteractor;
|
||||
final GetAllIdentitiesInteractor _getAllIdentitiesInteractor;
|
||||
final StoreOpenedEmailToCacheInteractor _storeOpenedEmailToCacheInteractor;
|
||||
final StoreOpenedEmailInteractor _storeOpenedEmailInteractor;
|
||||
|
||||
CreateNewEmailRuleFilterInteractor? _createNewEmailRuleFilterInteractor;
|
||||
SendReceiptToSenderInteractor? _sendReceiptToSenderInteractor;
|
||||
@@ -128,7 +128,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
this._markAsStarEmailInteractor,
|
||||
this._downloadAttachmentForWebInteractor,
|
||||
this._getAllIdentitiesInteractor,
|
||||
this._storeOpenedEmailToCacheInteractor
|
||||
this._storeOpenedEmailInteractor
|
||||
);
|
||||
|
||||
@override
|
||||
@@ -348,11 +348,14 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
if (emailLoaded != null) {
|
||||
dispatchState(Right<Failure, Success>(GetEmailContentLoading()));
|
||||
await Future.delayed(const Duration(milliseconds: 300));
|
||||
consumeState(Stream.value(Right<Failure, Success>(GetEmailContentSuccess(
|
||||
emailLoaded.emailContents,
|
||||
emailLoaded.emailContentsDisplayed,
|
||||
emailLoaded.attachments,
|
||||
emailLoaded.emailCurrent))));
|
||||
consumeState(Stream.value(Right<Failure, Success>(
|
||||
GetEmailContentSuccess(
|
||||
emailContents: emailLoaded.emailContents,
|
||||
emailContentsDisplayed: emailLoaded.emailContentsDisplayed,
|
||||
attachments: emailLoaded.attachments,
|
||||
emailCurrent: emailLoaded.emailCurrent
|
||||
)
|
||||
)));
|
||||
} else if (session != null && accountId != null && baseDownloadUrl != null) {
|
||||
consumeState(_getEmailContentInteractor.execute(session, accountId, emailId, baseDownloadUrl));
|
||||
}
|
||||
@@ -386,11 +389,12 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
final detailedEmail = DetailedEmail(
|
||||
emailId: currentEmail!.id!,
|
||||
attachments: attachments,
|
||||
headers: currentEmail?.emailHeader,
|
||||
headers: currentEmail?.emailHeader?.toSet(),
|
||||
keywords: currentEmail?.keywords,
|
||||
htmlEmailContent: emailContents.value
|
||||
);
|
||||
|
||||
_storeOpenedEmailToCache(
|
||||
_storeOpenedEmailAction(
|
||||
mailboxDashBoardController.sessionCurrent,
|
||||
mailboxDashBoardController.accountId.value,
|
||||
detailedEmail
|
||||
@@ -1222,9 +1226,9 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
return false;
|
||||
}
|
||||
|
||||
void _storeOpenedEmailToCache(Session? session, AccountId? accountId, DetailedEmail detailedEmail) async {
|
||||
void _storeOpenedEmailAction(Session? session, AccountId? accountId, DetailedEmail detailedEmail) async {
|
||||
if (session != null && accountId != null) {
|
||||
consumeState(_storeOpenedEmailToCacheInteractor.execute(session, accountId, detailedEmail));
|
||||
consumeState(_storeOpenedEmailInteractor.execute(session, accountId, detailedEmail));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user