Skip to content

Commit 5bf903c

Browse files
authored
Merge pull request #623 from wger-project/prefs-consts
for consistency and safety, always use prefs constants
2 parents 02eea70 + e1e27fb commit 5bf903c

File tree

5 files changed

+17
-13
lines changed

5 files changed

+17
-13
lines changed

lib/helpers/consts.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ const PREFS_LAST_UPDATED_CATEGORIES = 'lastUpdatedCategories';
6262
const PREFS_LAST_UPDATED_LANGUAGES = 'lastUpdatedLanguages';
6363
const PREFS_EXERCISE_CACHE_VERSION = 'cacheVersion';
6464
const PREFS_INGREDIENTS = 'ingredientData';
65+
const PREFS_WORKOUT_UNITS = 'workoutUnits';
66+
const PREFS_USER = 'userData';
67+
const PREFS_LAST_SERVER = 'lastServer';
6568

6669
const DEFAULT_ANIMATION_DURATION = Duration(milliseconds: 200);
6770
const DEFAULT_ANIMATION_CURVE = Curves.bounceIn;

lib/providers/auth.dart

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -193,29 +193,29 @@ class AuthProvider with ChangeNotifier {
193193
});
194194
final serverData = json.encode({'serverUrl': this.serverUrl});
195195

196-
prefs.setString('userData', userData);
197-
prefs.setString('lastServer', serverData);
196+
prefs.setString(PREFS_USER, userData);
197+
prefs.setString(PREFS_LAST_SERVER, serverData);
198198
return {'action': LoginActions.proceed};
199199
}
200200

201201
/// Loads the last server URL from which the user successfully logged in
202202
Future<String> getServerUrlFromPrefs() async {
203203
final prefs = await SharedPreferences.getInstance();
204-
if (!prefs.containsKey('lastServer')) {
204+
if (!prefs.containsKey(PREFS_LAST_SERVER)) {
205205
return DEFAULT_SERVER_PROD;
206206
}
207207

208-
final userData = json.decode(prefs.getString('lastServer')!);
208+
final userData = json.decode(prefs.getString(PREFS_LAST_SERVER)!);
209209
return userData['serverUrl'] as String;
210210
}
211211

212212
Future<bool> tryAutoLogin() async {
213213
final prefs = await SharedPreferences.getInstance();
214-
if (!prefs.containsKey('userData')) {
214+
if (!prefs.containsKey(PREFS_USER)) {
215215
log('autologin failed');
216216
return false;
217217
}
218-
final extractedUserData = json.decode(prefs.getString('userData')!);
218+
final extractedUserData = json.decode(prefs.getString(PREFS_USER)!);
219219

220220
token = extractedUserData['token'];
221221
serverUrl = extractedUserData['serverUrl'];
@@ -239,7 +239,7 @@ class AuthProvider with ChangeNotifier {
239239
}
240240

241241
final prefs = await SharedPreferences.getInstance();
242-
prefs.remove('userData');
242+
prefs.remove(PREFS_USER);
243243
}
244244

245245
/// Returns the application name and version

lib/providers/nutrition.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,9 +304,9 @@ class NutritionPlansProvider with ChangeNotifier {
304304
_ingredients.add(ingredient);
305305

306306
final prefs = await SharedPreferences.getInstance();
307-
final ingredientData = json.decode(prefs.getString('ingredientData')!);
307+
final ingredientData = json.decode(prefs.getString(PREFS_INGREDIENTS)!);
308308
ingredientData['ingredients'].add(ingredient.toJson());
309-
prefs.setString('ingredientData', json.encode(ingredientData));
309+
prefs.setString(PREFS_INGREDIENTS, json.encode(ingredientData));
310310
log("Saved ingredient '${ingredient.name}' to cache.");
311311

312312
return ingredient;

lib/providers/workout_plans.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,8 @@ class WorkoutPlansProvider with ChangeNotifier {
331331
Future<void> fetchAndSetUnits() async {
332332
// Load units from cache, if available
333333
final prefs = await SharedPreferences.getInstance();
334-
if (prefs.containsKey('workoutUnits')) {
335-
final unitData = json.decode(prefs.getString('workoutUnits')!);
334+
if (prefs.containsKey(PREFS_WORKOUT_UNITS)) {
335+
final unitData = json.decode(prefs.getString(PREFS_WORKOUT_UNITS)!);
336336
if (DateTime.parse(unitData['expiresIn']).isAfter(DateTime.now())) {
337337
unitData['repetitionUnits'].forEach(
338338
(e) => _repetitionUnit.add(RepetitionUnit.fromJson(e)),
@@ -358,7 +358,7 @@ class WorkoutPlansProvider with ChangeNotifier {
358358
'repetitionUnits': _repetitionUnit.map((e) => e.toJson()).toList(),
359359
'weightUnit': _weightUnits.map((e) => e.toJson()).toList(),
360360
};
361-
prefs.setString('workoutUnits', json.encode(exerciseData));
361+
prefs.setString(PREFS_WORKOUT_UNITS, json.encode(exerciseData));
362362
notifyListeners();
363363
}
364364

test/workout/workout_provider_test.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import 'package:mockito/annotations.dart';
2525
import 'package:mockito/mockito.dart';
2626
import 'package:shared_preferences/shared_preferences.dart';
2727
import 'package:wger/core/locator.dart';
28+
import 'package:wger/helpers/consts.dart';
2829
import 'package:wger/models/workouts/repetition_unit.dart';
2930
import 'package:wger/models/workouts/weight_unit.dart';
3031
import 'package:wger/models/workouts/workout_plan.dart';
@@ -156,7 +157,7 @@ void main() {
156157
// Load the entries
157158
final provider = WorkoutPlansProvider(mockBaseProvider, exercisesProvider, []);
158159
await provider.fetchAndSetUnits();
159-
final prefsJson = jsonDecode(prefs.getString('workoutUnits')!);
160+
final prefsJson = jsonDecode(prefs.getString(PREFS_WORKOUT_UNITS)!);
160161

161162
expect(prefsJson['repetitionUnits'].length, 7);
162163
expect(prefsJson['weightUnit'].length, 6);

0 commit comments

Comments
 (0)