Avoid fetching again identity lists in SingleEmailController
This commit is contained in:
@@ -327,8 +327,10 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
markAsEmailRead(selectedEmail, ReadActions.markAsRead, MarkReadAction.tap);
|
||||
}
|
||||
|
||||
if (_identitySelected == null) {
|
||||
if (mailboxDashBoardController.listIdentities.isEmpty) {
|
||||
_getAllIdentities();
|
||||
} else {
|
||||
_initializeSelectedIdentity(mailboxDashBoardController.listIdentities);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -418,17 +420,20 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
|
||||
void _getAllIdentitiesSuccess(GetAllIdentitiesSuccess success) {
|
||||
if (success.identities?.isNotEmpty == true) {
|
||||
if (currentEmail != null) {
|
||||
final currentMailbox = getMailboxContain(currentEmail!);
|
||||
log('SingleEmailController::_getAllIdentitiesSuccess():currentMailbox: $currentMailbox');
|
||||
if (_isBelongToTeamMailboxes(currentMailbox)) {
|
||||
_setUpDefaultIdentityForTeamMailbox(success.identities!, currentMailbox!);
|
||||
} else {
|
||||
_setUpDefaultIdentity(success.identities!);
|
||||
}
|
||||
_initializeSelectedIdentity(success.identities!);
|
||||
}
|
||||
}
|
||||
|
||||
void _initializeSelectedIdentity(List<Identity> identities) {
|
||||
if (currentEmail != null) {
|
||||
final currentMailbox = getMailboxContain(currentEmail!);
|
||||
if (_isBelongToTeamMailboxes(currentMailbox)) {
|
||||
_setUpDefaultIdentityForTeamMailbox(identities, currentMailbox!);
|
||||
} else {
|
||||
_setUpDefaultIdentity(success.identities!);
|
||||
_setUpDefaultIdentity(identities);
|
||||
}
|
||||
} else {
|
||||
_setUpDefaultIdentity(identities);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -621,6 +626,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
||||
blobCalendarEvent.value = null;
|
||||
emailUnsubscribe.value = null;
|
||||
_printEmailAction = null;
|
||||
_identitySelected = null;
|
||||
if (isEmailClosing) {
|
||||
emailLoadedViewState.value = Right(UIState.idle);
|
||||
viewState.value = Right(UIState.idle);
|
||||
|
||||
+2
@@ -2523,6 +2523,8 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
log('MailboxDashBoardController::_handleGetAllIdentitiesSuccess: IDENTITIES_SIZE = ${_identities?.length}');
|
||||
}
|
||||
|
||||
List<Identity> get listIdentities => _identities ?? [];
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
_emailReceiveManager.closeEmailReceiveManagerStream();
|
||||
|
||||
Reference in New Issue
Block a user