Auto refresh mails when resume app from background

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-06-17 17:03:39 +07:00
committed by Dat H. Pham
parent 4bd5ecc5d4
commit 23019ae030
17 changed files with 35 additions and 266 deletions
@@ -15,9 +15,9 @@ class MailboxUIAction extends UIAction {
class SelectMailboxDefaultAction extends MailboxUIAction {}
class RefreshChangeMailboxAction extends MailboxUIAction {
final jmap.State? newState;
final jmap.State newState;
RefreshChangeMailboxAction(this.newState);
RefreshChangeMailboxAction({required this.newState});
@override
List<Object?> get props => [newState];
@@ -521,12 +521,12 @@ class MailboxController extends BaseMailboxController
}
}
void _refreshMailboxChanges({jmap.State? newState}) {
void _refreshMailboxChanges({required jmap.State newState}) {
log('MailboxController::_refreshMailboxChanges():newState: $newState');
if (accountId == null ||
session == null ||
currentMailboxState == null ||
newState == null) {
currentMailboxState == newState) {
_newFolderId = null;
return;
}
@@ -536,11 +536,6 @@ class MailboxController extends BaseMailboxController
Future<void> _handleWebSocketMessage(WebSocketMessage message) async {
try {
if (currentMailboxState == message.newState) {
log('MailboxController::_handleWebSocketMessage:Skipping redundant state: ${message.newState}');
return Future.value();
}
final refreshViewState = await refreshAllMailboxInteractor!.execute(
session!,
accountId!,