Skip to content

Commit

Permalink
fixup! fixup! TF-2871 Fix cannot open email correctly when click on n…
Browse files Browse the repository at this point in the history
…otification in app terminated
  • Loading branch information
dab246 committed Jun 27, 2024
1 parent 838c4f7 commit f86fd8a
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 7 deletions.
11 changes: 7 additions & 4 deletions lib/features/home/presentation/home_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:model/email/email_content.dart';
import 'package:model/email/email_content_type.dart';
import 'package:model/extensions/email_id_extensions.dart';
import 'package:receive_sharing_intent/receive_sharing_intent.dart';
import 'package:tmail_ui_user/features/base/reloadable/reloadable_controller.dart';
import 'package:tmail_ui_user/features/caching/config/hive_cache_config.dart';
Expand Down Expand Up @@ -61,13 +62,13 @@ class HomeController extends ReloadableController {

@override
void onClose() {
_emailIdPreview = null;
log('HomeController::onClose:EmailID = ${_emailIdPreview?.asString}');
super.onClose();
}

@override
void handleReloaded(Session session) {
log('HomeController::handleReloaded: GO TO DASHBOARD | EmailID = $_emailIdPreview');
log('HomeController::handleReloaded: GO TO DASHBOARD | EmailID = ${_emailIdPreview?.asString}');
if (_emailIdPreview != null) {
popAndPush(
RouteUtils.generateNavigationRoute(AppRoutes.dashboard),
Expand Down Expand Up @@ -127,8 +128,10 @@ class HomeController extends ReloadableController {
}

Future<EmailId?> _getCurrentEmailIdFromNotificationOnIOS() async {
if (Get.arguments != null && Get.arguments is EmailId) {
return Get.arguments;
final emailId = Get.arguments as EmailId?;
log('HomeController::_getCurrentEmailIdFromNotificationOnIOS:emailId = ${emailId?.asString}');
if (emailId != null) {
return emailId;
} else {
final emailId = await FcmReceiver.instance.getCurrentEmailIdInNotificationClick();
return emailId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -549,8 +549,18 @@ class MailboxDashBoardController extends ReloadableController {
void _handleOpenEmailAction(PreviewEmailArguments arguments) {
log('MailboxDashBoardController::_handleOpenEmailAction:emailId: ${arguments.emailId.asString}');
dispatchRoute(DashboardRoutes.waiting);
_handleSession(arguments.session);
_handleNotificationMessageFromEmailId(arguments.emailId, onForeground: false);

updateAuthenticationAccount(
arguments.session,
arguments.session.personalAccount.accountId,
arguments.session.username);

_setUpComponentsFromSession(arguments.session);

_getPresentationEmailFromEmailIdAction(
arguments.emailId,
arguments.session.personalAccount.accountId,
arguments.session);
}

void _getVacationResponse() {
Expand Down Expand Up @@ -1786,7 +1796,7 @@ class MailboxDashBoardController extends ReloadableController {
}

void _getPresentationEmailFromEmailIdAction(EmailId emailId, AccountId accountId, Session session) {
log('MailboxDashBoardController:_getPresentationEmailFromEmailIdAction:emailId: $emailId');
log('MailboxDashBoardController:_getPresentationEmailFromEmailIdAction:emailId: ${emailId.asString}');
consumeState(_getEmailByIdInteractor.execute(
session,
accountId,
Expand Down

0 comments on commit f86fd8a

Please sign in to comment.