From 7a45e3d177e7cd2143816661aef9e14f96637cd3 Mon Sep 17 00:00:00 2001 From: dab246 Date: Tue, 27 Dec 2022 17:04:34 +0700 Subject: [PATCH] TF-1356 Fix `Env.file` data lost after logout and login again --- lib/features/base/base_controller.dart | 4 +++- lib/main/utils/app_utils.dart | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/features/base/base_controller.dart b/lib/features/base/base_controller.dart index b3d547780..5639133e1 100644 --- a/lib/features/base/base_controller.dart +++ b/lib/features/base/base_controller.dart @@ -11,6 +11,7 @@ import 'package:dartz/dartz.dart'; import 'package:fcm/model/firebase_capability.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:forward/forward/capability_forward.dart'; import 'package:get/get.dart'; @@ -161,7 +162,8 @@ abstract class BaseController extends GetxController try { requireCapability(session!, accountId!, [FirebaseCapability.fcmIdentifier]); if (AppConfig.fcmAvailable) { - await AppUtils.loadFcmConfigFile(); + final mapEnvData = Map.from(dotenv.env); + await AppUtils.loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData); FcmConfiguration.initialize(); if (!kIsWeb) { await LocalNotificationManager.instance.setUp(); diff --git a/lib/main/utils/app_utils.dart b/lib/main/utils/app_utils.dart index 590b36330..f7e6888dc 100644 --- a/lib/main/utils/app_utils.dart +++ b/lib/main/utils/app_utils.dart @@ -10,8 +10,11 @@ class AppUtils { return dotenv.load(fileName: envFileName); } - static Future loadFcmConfigFile() { - return dotenv.load(fileName: AppConfig.appFCMConfigurationPath); + static Future loadFcmConfigFileToEnv({Map? currentMapEnvData}) { + return dotenv.load( + fileName: AppConfig.appFCMConfigurationPath, + mergeWith: currentMapEnvData ?? {} + ); } static Future launchLink(String url, {bool isNewTab = true}) async {