Compare commits

...

3 commits

Author SHA1 Message Date
Vadim
57ea7d00fb fixed tests 2023-11-07 11:48:05 +01:00
Vadim
59d94bf1f1 internal remote config fetch error 2023-11-07 10:56:44 +01:00
Vadim
f8b4c7f57f Unable to connect to the server 2023-11-07 10:24:35 +01:00
3 changed files with 13 additions and 2 deletions

View file

@ -24,7 +24,6 @@ class RemoteConfigService {
await remoteConfig.setDefaults(featuresDefaultValues.map((key, value) => MapEntry(key.name, value)));
await remoteConfig.activate();
await remoteConfig.ensureInitialized();
unawaited(remoteConfig.fetch());
log('Firebase remote config initialized successfully');
} on FirebaseException catch (e) {
@ -34,6 +33,12 @@ class RemoteConfigService {
}
}
Future<void> fetchConfig() async {
// https://github.com/firebase/flutterfire/issues/6196#issuecomment-927751667
await Future.delayed(const Duration(seconds: 1));
await FirebaseRemoteConfig.instance.fetch();
}
dynamic getValue(Feature feature) => FirebaseRemoteConfig.instance.getValue(feature.name).toValue(feature);
Map<Feature, dynamic> getAll() {

View file

@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:lightmeter/data/models/feature.dart';
@ -25,7 +26,11 @@ class RemoteConfigProviderState extends State<RemoteConfigProvider> {
@override
void initState() {
super.initState();
_updatesSubscription = widget.remoteConfigService.onConfigUpdated().listen(_updateFeatures);
widget.remoteConfigService.fetchConfig();
_updatesSubscription = widget.remoteConfigService.onConfigUpdated().listen(
_updateFeatures,
onError: (e) => log(e.toString()),
);
}
@override

View file

@ -18,6 +18,7 @@ void main() {
});
setUp(() {
when(() => mockRemoteConfigService.fetchConfig()).thenAnswer((_) async {});
when(() => mockRemoteConfigService.getValue(Feature.unlockProFeaturesText)).thenReturn(false);
when(() => mockRemoteConfigService.getAll()).thenReturn({Feature.unlockProFeaturesText: false});
});