TF-3372 Handle Empty mailbox success + failure states

This commit is contained in:
Dat PHAM HOANG
2024-12-30 22:17:03 +07:00
committed by Dat H. Pham
parent 06adc9e6a8
commit b07a142bcc
6 changed files with 75 additions and 23 deletions
@@ -8,9 +8,9 @@ import 'package:dartz/dartz.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart';
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:jmap_dart_client/jmap/core/utc_date.dart';
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_comparator.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_comparator_property.dart';
@@ -69,7 +69,7 @@ class MailboxIsolateWorker {
),
fun1: _handleMarkAsMailboxReadAction,
notification: (value) {
if (value is List<Email>) {
if (value is List<EmailId>) {
log('MailboxIsolateWorker::markAsMailboxRead(): onUpdateProgress: PERCENT ${value.length / totalEmailUnread}');
onProgressController.add(Right(UpdatingMarkAsMailboxReadState(
mailboxId: mailboxId,
@@ -1359,9 +1359,15 @@ class MailboxController extends BaseMailboxController
void emptyMailboxAction(BuildContext context, PresentationMailbox presentationMailbox) {
log('MailboxController::emptyMailboxAction:presentationMailbox: ${presentationMailbox.name}');
if (presentationMailbox.isTrash) {
mailboxDashBoardController.emptyTrashFolderAction(trashFolderId: presentationMailbox.id);
mailboxDashBoardController.emptyTrashFolderAction(
trashFolderId: presentationMailbox.id,
totalEmails: presentationMailbox.countTotalEmails
);
} else if (presentationMailbox.isSpam) {
mailboxDashBoardController.emptySpamFolderAction(spamFolderId: presentationMailbox.id);
mailboxDashBoardController.emptySpamFolderAction(
spamFolderId: presentationMailbox.id,
totalEmails: presentationMailbox.countTotalEmails
);
}
}