TF-1877 Fix error TextEditingController was used after being disposed on some screen

(cherry picked from commit 50e4c6ec55eea21a45a5a8dd31cd239245248df3)
This commit is contained in:
dab246
2023-06-30 15:45:59 +07:00
committed by Dat Vu
parent 32adfb3581
commit 6c06d0742c
30 changed files with 377 additions and 942 deletions
@@ -30,6 +30,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/manage_accoun
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/creator_action_type.dart';
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/rules_filter_creator_arguments.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/dialog_router.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
@@ -88,23 +89,12 @@ class EmailRulesController extends BaseController {
if (accountId != null && session != null) {
final arguments = RulesFilterCreatorArguments(accountId, session);
if (PlatformInfo.isWeb) {
showDialogRuleFilterCreator(
context: context,
arguments: arguments,
onCreatedRuleFilter: (arguments) {
if (arguments is CreateNewEmailRuleFilterRequest) {
_createNewRuleFilterAction(accountId, arguments);
}
});
} else {
final newRuleFilterRequest = await push(
AppRoutes.rulesFilterCreator,
arguments: arguments);
final newRuleFilterRequest = PlatformInfo.isWeb
? await DialogRouter.pushGeneralDialog(routeName: AppRoutes.rulesFilterCreator, arguments: arguments)
: await push(AppRoutes.rulesFilterCreator, arguments: arguments);
if (newRuleFilterRequest is CreateNewEmailRuleFilterRequest) {
_createNewRuleFilterAction(accountId, newRuleFilterRequest);
}
if (newRuleFilterRequest is CreateNewEmailRuleFilterRequest) {
_createNewRuleFilterAction(accountId, newRuleFilterRequest);
}
}
}
@@ -140,23 +130,12 @@ class EmailRulesController extends BaseController {
actionType: CreatorActionType.edit,
tMailRule: rule);
if (PlatformInfo.isWeb) {
showDialogRuleFilterCreator(
context: context,
arguments: arguments,
onCreatedRuleFilter: (arguments) {
if (arguments is EditEmailRuleFilterRequest) {
_editEmailRuleFilterAction(accountId, arguments);
}
});
} else {
final newRuleFilterRequest = await push(
AppRoutes.rulesFilterCreator,
arguments: arguments);
final newRuleFilterRequest = PlatformInfo.isWeb
? await DialogRouter.pushGeneralDialog(routeName: AppRoutes.rulesFilterCreator, arguments: arguments)
: await push(AppRoutes.rulesFilterCreator, arguments: arguments);
if (newRuleFilterRequest is EditEmailRuleFilterRequest) {
_editEmailRuleFilterAction(accountId, newRuleFilterRequest);
}
if (newRuleFilterRequest is EditEmailRuleFilterRequest) {
_editEmailRuleFilterAction(accountId, newRuleFilterRequest);
}
}
}