import 'package:fluttery/preferences.dart'; import 'package:shared_preferences/shared_preferences.dart'; class PreferencesImpl implements Preferences { late final SharedPreferences _prefs; bool _initialized = false; Future _ensureInitialized() async { if (!_initialized) { _prefs = await SharedPreferences.getInstance(); _initialized = true; } } @override Future setString(String key, String value) async { await _ensureInitialized(); await _prefs.setString(key, value); } @override Future getString(String key) async { await _ensureInitialized(); return _prefs.getString(key); } @override Future setInt(String key, int value) async { await _ensureInitialized(); await _prefs.setInt(key, value); } @override Future getInt(String key) async { await _ensureInitialized(); return _prefs.getInt(key); } @override Future setBool(String key, bool value) async { await _ensureInitialized(); await _prefs.setBool(key, value); } @override Future getBool(String key) async { await _ensureInitialized(); return _prefs.getBool(key); } @override Future setDouble(String key, double value) async { await _ensureInitialized(); await _prefs.setDouble(key, value); } @override Future getDouble(String key) async { await _ensureInitialized(); return _prefs.getDouble(key); } @override Future setStringList(String key, List value) async { await _ensureInitialized(); await _prefs.setStringList(key, value); } @override Future?> getStringList(String key) async { await _ensureInitialized(); return _prefs.getStringList(key); } @override Future remove(String key) async { await _ensureInitialized(); await _prefs.remove(key); } @override Future clear() async { await _ensureInitialized(); await _prefs.clear(); } }