eagletracker/lib/class/preferenceSaved.dart
2024-07-08 23:03:37 +02:00

41 lines
1.2 KiB
Dart

import 'dart:convert';
import 'package:shared_preferences/shared_preferences.dart';
/*
* Class to save the preferences of the user
*/
class PreferenceSaved {
int timeTakingPointSecond = 0;
PreferenceSaved({required this.timeTakingPointSecond});
PreferenceSaved.empty();
PreferenceSaved.fromJson(Map<String, dynamic> json) {
timeTakingPointSecond = json['timeTakingPointSecond'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['timeTakingPointSecond'] = timeTakingPointSecond;
return data;
}
}
Future<PreferenceSaved> restoreLocal() async {
final prefs = await SharedPreferences.getInstance();
final String? encodedData = prefs.getString('preferenceSaved');
if (encodedData != null) {
final Map<String, dynamic> decodedData = jsonDecode(encodedData);
return PreferenceSaved.fromJson(decodedData);
}
return PreferenceSaved(timeTakingPointSecond: 0);
}
Future<void> saveLocal(PreferenceSaved preferenceSaved) async {
final prefs = await SharedPreferences.getInstance();
final String encodedData = jsonEncode(preferenceSaved.toJson());
await prefs.setString('preferenceSaved', encodedData);
}