TF-2311 Sync use variables in BaseController to avoid wasting memory

Signed-off-by: dab246 <tdvu@linagora.com>

Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 21ac80615f7bc9e832fd72cb8ae6875c967d3cea)
This commit is contained in:
dab246
2023-11-14 17:33:17 +07:00
committed by Dat Vu
parent 4ff601b4fc
commit fb47832225
57 changed files with 727 additions and 958 deletions
@@ -1,7 +1,5 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/presentation/utils/app_toast.dart';
import 'package:core/utils/app_logger.dart';
import 'package:dartz/dartz.dart';
import 'package:flutter/material.dart';
@@ -40,8 +38,6 @@ class MailboxVisibilityController extends BaseMailboxController {
SubscribeMailboxInteractor? _subscribeMailboxInteractor;
SubscribeMultipleMailboxInteractor? _subscribeMultipleMailboxInteractor;
final _accountDashBoardController = Get.find<ManageAccountDashBoardController>();
final _appToast = Get.find<AppToast>();
final _imagePaths = Get.find<ImagePaths>();
final mailboxListScrollController = ScrollController();
MailboxVisibilityController(
@@ -221,7 +217,7 @@ class MailboxVisibilityController extends BaseMailboxController {
{List<MailboxId>? listDescendantMailboxIds}
) {
if (currentOverlayContext != null && currentContext != null) {
_appToast.showToastMessage(
appToast.showToastMessage(
currentOverlayContext!,
AppLocalizations.of(currentContext!).toastMsgHideFolderSuccess,
actionName: AppLocalizations.of(currentContext!).undo,
@@ -233,10 +229,10 @@ class MailboxVisibilityController extends BaseMailboxController {
)
),
leadingSVGIconColor: Colors.white,
leadingSVGIcon: _imagePaths.icFolderMailbox,
leadingSVGIcon: imagePaths.icFolderMailbox,
backgroundColor: AppColor.toastSuccessBackgroundColor,
textColor: Colors.white,
actionIcon: SvgPicture.asset(_imagePaths.icUndo),
actionIcon: SvgPicture.asset(imagePaths.icUndo),
);
}
}
@@ -1,7 +1,5 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/views/list/tree_view.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -21,19 +19,16 @@ class MailboxVisibilityView extends GetWidget<MailboxVisibilityController>
with AppLoaderMixin,
MailboxWidgetMixin {
final _responsiveUtils = Get.find<ResponsiveUtils>();
final _imagePaths = Get.find<ImagePaths>();
MailboxVisibilityView({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return SettingDetailViewBuilder(
responsiveUtils: _responsiveUtils,
responsiveUtils: controller.responsiveUtils,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (_responsiveUtils.isWebDesktop(context))
if (controller.responsiveUtils.isWebDesktop(context))
...[
const SizedBox(height: 24),
const MailboxVisibilityHeaderWidget(),
@@ -46,7 +41,7 @@ class MailboxVisibilityView extends GetWidget<MailboxVisibilityController>
],
_buildLoadingView(),
Expanded(child: Padding(
padding: MailboxVisibilityUtils.getPaddingListView(context, _responsiveUtils),
padding: MailboxVisibilityUtils.getPaddingListView(context, controller.responsiveUtils),
child: _buildListMailbox(context)
))
]
@@ -100,8 +95,8 @@ class MailboxVisibilityView extends GetWidget<MailboxVisibilityController>
return Column(children: [
buildHeaderMailboxCategory(
context,
_responsiveUtils,
_imagePaths,
controller.responsiveUtils,
controller.imagePaths,
categories,
controller,
padding: const EdgeInsets.all(8),
@@ -139,7 +134,7 @@ class MailboxVisibilityView extends GetWidget<MailboxVisibilityController>
isExpanded: mailboxNode.expandMode == ExpandMode.EXPAND,
paddingChild: const EdgeInsetsDirectional.only(start: 10),
parent: MailBoxVisibilityFolderTileBuilder(
_imagePaths,
controller.imagePaths,
mailboxNode,
onClickExpandMailboxNodeAction: (mailboxNode) {
controller.toggleMailboxFolder(mailboxNode, controller.mailboxListScrollController);
@@ -148,7 +143,7 @@ class MailboxVisibilityView extends GetWidget<MailboxVisibilityController>
),
children: _buildListChildTileWidget(context, mailboxNode)).build()
: MailBoxVisibilityFolderTileBuilder(
_imagePaths,
controller.imagePaths,
mailboxNode,
onClickExpandMailboxNodeAction: (mailboxNode) {
controller.toggleMailboxFolder(mailboxNode, controller.mailboxListScrollController);