@@ -2,41 +2,39 @@ import 'dart:convert';
2
2
3
3
import 'package:flutter_clean_architecture/src/data/local/pref/pref_helper.dart' ;
4
4
import 'package:flutter_clean_architecture/src/data/model/user_data_model.dart' ;
5
- import 'package:shared_preferences/shared_preferences .dart' ;
5
+ import 'package:hive/hive .dart' ;
6
6
7
7
class AppPrefs extends PrefHelper {
8
- static const String firstRunKey = 'first_run_key' ;
9
- static const String tokenKey = 'token_key' ;
10
- static const String userKey = 'user_key' ;
8
+ static const String _firstRunKey = 'first_run_key' ;
9
+ static const String _tokenKey = 'token_key' ;
10
+ static const String _userKey = 'user_key' ;
11
+
12
+ final Box _prefBox;
13
+ AppPrefs ({required Box prefBox}) : _prefBox = prefBox;
11
14
12
15
@override
13
16
Future <bool > firstRun () async {
14
- final preferences = await SharedPreferences .getInstance ();
15
- return preferences.getBool (firstRunKey) ?? true ;
17
+ return _prefBox.get (_firstRunKey) ?? true ;
16
18
}
17
19
18
20
@override
19
21
Future <void > setFirstRun (bool isFirstRun) async {
20
- final preferences = await SharedPreferences .getInstance ();
21
- await preferences.setBool (firstRunKey, isFirstRun);
22
+ await _prefBox.put (_firstRunKey, isFirstRun);
22
23
}
23
24
24
25
@override
25
26
Future <String ?> getToken () async {
26
- final preferences = await SharedPreferences .getInstance ();
27
- return preferences.getString (tokenKey);
27
+ return _prefBox.get (_tokenKey);
28
28
}
29
29
30
30
@override
31
31
Future setToken (String token) async {
32
- final preferences = await SharedPreferences .getInstance ();
33
- await preferences.setString (tokenKey, token);
32
+ await _prefBox.put (_tokenKey, token);
34
33
}
35
34
36
35
@override
37
36
Future <UserDataModel ?> getUserSaved () async {
38
- final preferences = await SharedPreferences .getInstance ();
39
- final userJson = preferences.getString (userKey);
37
+ final userJson = _prefBox.get (_userKey);
40
38
if (userJson != null ) {
41
39
try {
42
40
return UserDataModel .fromJson (jsonDecode (userJson));
@@ -50,7 +48,6 @@ class AppPrefs extends PrefHelper {
50
48
51
49
@override
52
50
Future saveUser (UserDataModel user) async {
53
- final preferences = await SharedPreferences .getInstance ();
54
- await preferences.setString (userKey, user.toJson ().toString ());
51
+ await _prefBox.put (_userKey, user.toJson ().toString ());
55
52
}
56
53
}
0 commit comments