TF-3396 Fix mobile app can not get the latest email when open app from terminated

This commit is contained in:
dab246
2025-01-07 00:17:12 +07:00
committed by Dat H. Pham
parent 5de6bb3819
commit e9a8f498d3
2 changed files with 12 additions and 2 deletions
@@ -253,6 +253,7 @@ class MailboxDashBoardController extends ReloadableController
StreamSubscription? _pendingSharedFileInfoSubscription;
StreamSubscription? _receivingFileSharingStreamSubscription;
StreamSubscription? _currentEmailIdInNotificationIOSStreamSubscription;
bool _isFirstSessionLoad = false;
final StreamController<Either<Failure, Success>> _progressStateController =
StreamController<Either<Failure, Success>>.broadcast();
@@ -264,6 +265,10 @@ class MailboxDashBoardController extends ReloadableController
final _notificationManager = LocalNotificationManager.instance;
final _fcmService = FcmService.instance;
bool get isFirstSessionLoad => _isFirstSessionLoad;
bool setIsFirstSessionLoad(bool value) => _isFirstSessionLoad = value;
MailboxDashBoardController(
this._moveToMailboxInteractor,
this._deleteEmailPermanentlyInteractor,
@@ -645,6 +650,7 @@ class MailboxDashBoardController extends ReloadableController
void _setUpComponentsFromSession(Session session) {
final currentAccountId = session.accountId;
_isFirstSessionLoad = true;
sessionCurrent = session;
accountId.value = currentAccountId;
@@ -3140,6 +3146,7 @@ class MailboxDashBoardController extends ReloadableController
mapDefaultMailboxIdByRole = {};
WebSocketController.instance.onClose();
_currentEmailState = null;
_isFirstSessionLoad = false;
super.onClose();
}
}
@@ -261,7 +261,10 @@ class ThreadController extends BaseController with EmailActionController {
_currentMemoryMailboxId = mailbox.id;
consumeState(Stream.value(Right(GetAllEmailLoading())));
_resetToOriginalValue();
_getAllEmailAction(getLatestChanges: false);
_getAllEmailAction(
getLatestChanges: mailboxDashBoardController.isFirstSessionLoad,
);
mailboxDashBoardController.setIsFirstSessionLoad(false);
} else if (mailbox == null) { // disable current mailbox when search active
_currentMemoryMailboxId = null;
_resetToOriginalValue();
@@ -520,7 +523,7 @@ class ThreadController extends BaseController with EmailActionController {
void _getAllEmailAction({
bool getLatestChanges = true,
}) {
log('ThreadController::_getAllEmailAction:');
log('ThreadController::_getAllEmailAction:getLatestChanges = $getLatestChanges');
if (_session != null &&_accountId != null) {
consumeState(_getEmailsInMailboxInteractor.execute(
_session!,