41 lines
1.2 KiB
Dart
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);
|
|
}
|