mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-10-31 18:24:23 +00:00 
			
		
		
		
	Create common preference methods
This commit is contained in:
		| @@ -9,6 +9,10 @@ import 'package:shared_preferences/shared_preferences.dart'; | ||||
| /// | ||||
| /// @author Pierre HUBERT | ||||
|  | ||||
| enum PreferencesKeyList { LOGIN_TOKENS } | ||||
|  | ||||
| const _PreferenceKeysName = {PreferencesKeyList.LOGIN_TOKENS: "login_tokens"}; | ||||
|  | ||||
| class PreferencesHelper { | ||||
|   static PreferencesHelper _instance; | ||||
|  | ||||
| @@ -31,14 +35,14 @@ class PreferencesHelper { | ||||
|  | ||||
|   /// Set new login tokens | ||||
|   Future<void> setLoginTokens(LoginTokens tokens) async { | ||||
|     await _sharedPreferences.setString( | ||||
|         "login_tokens", tokens == null ? "null" : tokens.toString()); | ||||
|     await setString(PreferencesKeyList.LOGIN_TOKENS, | ||||
|         tokens == null ? "null" : tokens.toString()); | ||||
|   } | ||||
|  | ||||
|   /// Get current [LoginTokens]. Returns null if none or in case of failure | ||||
|   LoginTokens getLoginTokens() { | ||||
|     try { | ||||
|       final string = _sharedPreferences.getString("login_tokens"); | ||||
|       final string = getString(PreferencesKeyList.LOGIN_TOKENS); | ||||
|       if (string == null || string == "null") return null; | ||||
|       return LoginTokens.fromJSON(jsonDecode(string)); | ||||
|     } on Exception catch (e) { | ||||
| @@ -46,4 +50,12 @@ class PreferencesHelper { | ||||
|       return null; | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   Future<void> setString(PreferencesKeyList key, String value) async { | ||||
|     await _sharedPreferences.setString(_PreferenceKeysName[key], value); | ||||
|   } | ||||
|  | ||||
|   String getString(PreferencesKeyList key) { | ||||
|     return _sharedPreferences.getString(_PreferenceKeysName[key]); | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user