TF-1611 Fix can not display correctly menu screen when open setting view

(cherry picked from commit 2ba04f782ef17dac3b93930dccd3723f13d6836d)
This commit is contained in:
dab246
2023-03-24 01:13:51 +07:00
committed by Dat Vu
parent bc01ab9b0f
commit fed514e40b
20 changed files with 174 additions and 274 deletions
@@ -28,7 +28,6 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/edit_ident
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/identity_action_type.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/settings_page_level.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/widgets/delete_identity_dialog_builder.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
@@ -51,8 +50,6 @@ class IdentitiesController extends BaseController {
final identitySelected = Rxn<Identity>();
final listAllIdentities = <Identity>[].obs;
late Worker accountIdWorker;
IdentitiesController(
this._getAllIdentitiesInteractor,
this._deleteIdentityInteractor,
@@ -64,16 +61,10 @@ class IdentitiesController extends BaseController {
@override
void onInit() {
_initWorker();
_registerObxStreamListener();
super.onInit();
}
@override
void onClose() {
_clearWorker();
super.onClose();
}
@override
void onDone() {
viewState.value.fold(
@@ -98,23 +89,13 @@ class IdentitiesController extends BaseController {
);
}
void _initWorker() {
accountIdWorker = ever(_accountDashBoardController.accountId, (accountId) {
if (accountId is AccountId) {
final session = _accountDashBoardController.sessionCurrent;
if (session != null) {
_getAllIdentities(session, accountId);
}
void _registerObxStreamListener() {
ever(_accountDashBoardController.accountId, (accountId) {
final session = _accountDashBoardController.sessionCurrent;
if (accountId != null && session != null) {
_getAllIdentities(session, accountId);
}
});
if (_accountDashBoardController.settingsPageLevel.value == SettingsPageLevel.level1) {
_accountDashBoardController.accountId.refresh();
}
}
void _clearWorker() {
accountIdWorker.call();
}
void _getAllIdentities(Session session, AccountId accountId) {
@@ -14,7 +14,7 @@ class IdentityBindings extends Bindings {
void dependencies() {
IdentityInteractorsBindings().dependencies();
Get.lazyPut(() => IdentitiesController(
Get.put(IdentitiesController(
Get.find<GetAllIdentitiesInteractor>(),
Get.find<DeleteIdentityInteractor>(),
Get.find<CreateNewIdentityInteractor>(),