diff --git a/lib/features/composer/presentation/composer_controller.dart b/lib/features/composer/presentation/composer_controller.dart index d1c3c9cd5..10f4b7faf 100644 --- a/lib/features/composer/presentation/composer_controller.dart +++ b/lib/features/composer/presentation/composer_controller.dart @@ -190,8 +190,10 @@ class ComposerController extends BaseController { _getEmailContentSuccess(success); } if (success is GetAllIdentitiesSuccess) { if (success.identities?.isNotEmpty == true) { - listIdentities.value = success.identities ?? []; - setIdentityDefault(); + listIdentities.value = success.identities! + .where((identity) => identity.mayDelete == true) + .toList(); + selectIdentity(listIdentities.first); } } }); @@ -927,12 +929,6 @@ class ComposerController extends BaseController { } void setIdentityDefault() { - try { - final identityDefault = listIdentities.firstWhere((identity) => identity.mayDelete == false); - selectIdentity(identityDefault); - } catch (exception) { - selectIdentity(listIdentities.first); - } } void selectIdentity(Identity? newIdentity) { diff --git a/lib/features/manage_account/presentation/profiles/identities/identities_controller.dart b/lib/features/manage_account/presentation/profiles/identities/identities_controller.dart index 25a02bc04..c5d232532 100644 --- a/lib/features/manage_account/presentation/profiles/identities/identities_controller.dart +++ b/lib/features/manage_account/presentation/profiles/identities/identities_controller.dart @@ -7,7 +7,6 @@ import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/id.dart'; import 'package:jmap_dart_client/jmap/identities/identity.dart'; import 'package:model/extensions/identity_extension.dart'; -import 'package:model/extensions/list_identities_extension.dart'; import 'package:tmail_ui_user/features/base/base_controller.dart'; import 'package:tmail_ui_user/features/identity_creator/presentation/model/identity_creator_arguments.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart'; @@ -80,10 +79,11 @@ class IdentitiesController extends BaseController { if (success is GetAllIdentitiesSuccess) { if (success.identities?.isNotEmpty == true) { _addNewIdentityAsAll(); - final newListIdentities = success.identities!; - newListIdentities.sortByMayDelete(); + final newListIdentities = success.identities! + .where((identity) => identity.mayDelete == true) + .toList(); listAllIdentities.addAll(newListIdentities); - setIdentityDefault(); + selectIdentity(listAllIdentities.first); } } else if (success is CreateNewIdentitySuccess) { _createNewIdentitySuccess(success); @@ -135,15 +135,6 @@ class IdentitiesController extends BaseController { } } - void setIdentityDefault() { - try { - final identityDefault = listAllIdentities.firstWhere((identity) => identity.mayDelete == false); - selectIdentity(identityDefault); - } catch (exception) { - selectIdentity(listAllIdentities.first); - } - } - void selectIdentity(Identity? newIdentity) { identitySelected.value = newIdentity; if (newIdentity != null) { diff --git a/model/lib/extensions/list_identities_extension.dart b/model/lib/extensions/list_identities_extension.dart deleted file mode 100644 index 9329a04b1..000000000 --- a/model/lib/extensions/list_identities_extension.dart +++ /dev/null @@ -1,17 +0,0 @@ - -import 'package:jmap_dart_client/jmap/identities/identity.dart'; - -extension ListIdentitiesExtension on List { - - void sortByMayDelete() { - sort((identity1, identity2) { - if (identity1.mayDelete == false && identity2.mayDelete == true) { - return -1; - } if (identity1.mayDelete == true && identity2.mayDelete == false) { - return 1; - } else { - return 0; - } - }); - } -} \ No newline at end of file diff --git a/model/lib/model.dart b/model/lib/model.dart index 4ef431021..bb119c9d4 100644 --- a/model/lib/model.dart +++ b/model/lib/model.dart @@ -53,7 +53,6 @@ export 'extensions/media_type_extension.dart'; export 'extensions/list_attachment_extension.dart'; export 'extensions/list_presentation_email_extension.dart'; export 'extensions/list_email_content_extension.dart'; -export 'extensions/list_identities_extension.dart'; export 'extensions/identity_extension.dart'; // Download