TF-2893 Fix data loss when executing dotenv.load() and dotenv.get() simultaneously
This commit is contained in:
@@ -18,7 +18,6 @@ import 'package:dartz/dartz.dart';
|
||||
import 'package:fcm/model/firebase_capability.dart';
|
||||
import 'package:fcm/model/firebase_registration_id.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';
|
||||
@@ -63,7 +62,6 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_config.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
import 'package:tmail_ui_user/main/universal_import/html_stub.dart' as html;
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
@@ -355,8 +353,6 @@ abstract class BaseController extends GetxController
|
||||
requireCapability(session!, accountId!, [FirebaseCapability.fcmIdentifier]);
|
||||
log('$runtimeType::injectFCMBindings: fcmAvailable = ${AppConfig.fcmAvailable}');
|
||||
if (AppConfig.fcmAvailable) {
|
||||
final mapEnvData = Map<String, String>.from(dotenv.env);
|
||||
await AppUtils.loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData);
|
||||
await FcmConfiguration.initialize();
|
||||
FcmInteractorBindings().dependencies();
|
||||
FcmService.instance.initialStreamController();
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:date_format/date_format.dart' as date_format;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
@@ -13,8 +14,15 @@ class AppUtils {
|
||||
|
||||
static const String envFileName = 'env.file';
|
||||
|
||||
static Future<void> loadEnvFile() {
|
||||
return dotenv.load(fileName: envFileName);
|
||||
static Future<void> loadEnvFile() async {
|
||||
await dotenv.load(fileName: envFileName);
|
||||
final mapEnvData = Map<String, String>.from(dotenv.env);
|
||||
try {
|
||||
await AppUtils.loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData);
|
||||
} catch (e) {
|
||||
logError('AppUtils::loadEnvFile:loadFcmConfigFileToEnv: Exception = $e');
|
||||
await dotenv.load(fileName: envFileName);
|
||||
}
|
||||
}
|
||||
|
||||
static Future<void> loadFcmConfigFileToEnv({Map<String, String>? currentMapEnvData}) {
|
||||
|
||||
Reference in New Issue
Block a user