@@ -10,6 +10,7 @@ import 'package:flutter_secure_storage/flutter_secure_storage.dart';
1010import 'package:local_auth/local_auth.dart' ;
1111import 'package:locus/api/nostr-relays.dart' ;
1212import 'package:locus/constants/app.dart' ;
13+ import 'package:locus/constants/values.dart' ;
1314
1415import '../api/get-address.dart' ;
1516import '../utils/cache.dart' ;
@@ -69,8 +70,7 @@ class SettingsLastMapLocation {
6970 accuracy: data['accuracy' ] as double ,
7071 );
7172
72- Map <String , dynamic > toJSON () =>
73- {
73+ Map <String , dynamic > toJSON () => {
7474 'latitude' : latitude,
7575 'longitude' : longitude,
7676 'accuracy' : accuracy,
@@ -88,6 +88,7 @@ class SettingsService extends ChangeNotifier {
8888 List <String > _relays;
8989 AndroidTheme androidTheme;
9090 SettingsLastMapLocation ? lastMapLocation;
91+ String currentAppVersion;
9192
9293 GeocoderProvider geocoderProvider;
9394
@@ -113,22 +114,22 @@ class SettingsService extends ChangeNotifier {
113114 required this .requireBiometricAuthenticationOnStart,
114115 required this .alwaysUseBatterySaveMode,
115116 required this .serverOrigin,
117+ required this .currentAppVersion,
116118 this .lastHeadlessRun,
117119 this .lastMapLocation,
118120 Set <String >? seenHelperSheets,
119121 List <String >? relays,
120- })
121- : _relays = relays ?? [],
122+ }) : _relays = relays ?? [],
122123 _seenHelperSheets = seenHelperSheets ?? {};
123124
124125 static Future <SettingsService > createDefault () async {
125126 return SettingsService (
126127 automaticallyLookupAddresses: true ,
127128 primaryColor: null ,
128129 androidTheme:
129- await fetchIsMIUI () ? AndroidTheme .miui : AndroidTheme .materialYou,
130+ await fetchIsMIUI () ? AndroidTheme .miui : AndroidTheme .materialYou,
130131 mapProvider:
131- isPlatformApple () ? MapProvider .apple : MapProvider .openStreetMap,
132+ isPlatformApple () ? MapProvider .apple : MapProvider .openStreetMap,
132133 showHints: true ,
133134 geocoderProvider: isSystemGeocoderAvailable ()
134135 ? GeocoderProvider .system
@@ -141,6 +142,7 @@ class SettingsService extends ChangeNotifier {
141142 lastHeadlessRun: null ,
142143 serverOrigin: "https://locus.cfd" ,
143144 lastMapLocation: null ,
145+ currentAppVersion: CURRENT_APP_VERSION ,
144146 );
145147 }
146148
@@ -151,7 +153,7 @@ class SettingsService extends ChangeNotifier {
151153 return SettingsService (
152154 automaticallyLookupAddresses: data['automaticallyLoadLocation' ],
153155 primaryColor:
154- data['primaryColor' ] != null ? Color (data['primaryColor' ]) : null ,
156+ data['primaryColor' ] != null ? Color (data['primaryColor' ]) : null ,
155157 mapProvider: MapProvider .values[data['mapProvider' ]],
156158 relays: List <String >.from (data['relays' ] ?? []),
157159 showHints: data['showHints' ],
@@ -161,7 +163,7 @@ class SettingsService extends ChangeNotifier {
161163 userHasSeenWelcomeScreen: data['userHasSeenWelcomeScreen' ],
162164 seenHelperSheets: Set <String >.from (data['seenHelperSheets' ] ?? {}),
163165 requireBiometricAuthenticationOnStart:
164- data['requireBiometricAuthenticationOnStart' ],
166+ data['requireBiometricAuthenticationOnStart' ],
165167 alwaysUseBatterySaveMode: data['alwaysUseBatterySaveMode' ],
166168 lastHeadlessRun: data['lastHeadlessRun' ] != null
167169 ? DateTime .parse (data['lastHeadlessRun' ])
@@ -170,6 +172,7 @@ class SettingsService extends ChangeNotifier {
170172 lastMapLocation: data['lastMapLocation' ] != null
171173 ? SettingsLastMapLocation .fromJSON (data['lastMapLocation' ])
172174 : null ,
175+ currentAppVersion: data['currentAppVersion' ],
173176 );
174177 }
175178
@@ -205,16 +208,19 @@ class SettingsService extends ChangeNotifier {
205208 "userHasSeenWelcomeScreen" : userHasSeenWelcomeScreen,
206209 "seenHelperSheets" : _seenHelperSheets.toList (),
207210 "requireBiometricAuthenticationOnStart" :
208- requireBiometricAuthenticationOnStart,
211+ requireBiometricAuthenticationOnStart,
209212 "alwaysUseBatterySaveMode" : alwaysUseBatterySaveMode,
210213 "lastHeadlessRun" : lastHeadlessRun? .toIso8601String (),
211214 "serverOrigin" : serverOrigin,
212215 "lastMapLocation" : lastMapLocation? .toJSON (),
216+ "currentAppVersion" : currentAppVersion,
213217 };
214218 }
215219
216- Future <String > getAddress (final double latitude,
217- final double longitude,) async {
220+ Future <String > getAddress (
221+ final double latitude,
222+ final double longitude,
223+ ) async {
218224 final providers = [
219225 getGeocoderProvider (),
220226 ...GeocoderProvider .values
@@ -246,8 +252,7 @@ class SettingsService extends ChangeNotifier {
246252 throw Exception ("Failed to get address from any provider" );
247253 }
248254
249- Future <void > save () =>
250- storage.write (
255+ Future <void > save () => storage.write (
251256 key: STORAGE_KEY ,
252257 value: jsonEncode (toJSON ()),
253258 );
@@ -268,13 +273,9 @@ class SettingsService extends ChangeNotifier {
268273
269274 // Return system default
270275 if (isCupertino (context)) {
271- return CupertinoTheme
272- .of (context)
273- .primaryColor;
276+ return CupertinoTheme .of (context).primaryColor;
274277 } else {
275- return Theme
276- .of (context)
277- .primaryColor;
278+ return Theme .of (context).primaryColor;
278279 }
279280 }
280281
0 commit comments