Files
winui_n2n/lib/shared_pref_singleton.dart
2024-07-26 20:46:35 +08:00

27 lines
1.0 KiB
Dart

import 'package:shared_preferences/shared_preferences.dart';
class SharedPrefSingleton {
static final SharedPrefSingleton _instance = SharedPrefSingleton._internal();
factory SharedPrefSingleton() => _instance;
SharedPrefSingleton._internal();
late SharedPreferences _pref;
Future<void> initialize() async {
_pref = await SharedPreferences.getInstance();
}
Future<bool> setAutoFirewall(bool ok) => _pref.setBool('auto_firewall', ok);
bool get autoFirewall => _pref.getBool('auto_firewall') ?? true;
Future<bool> setAppTheme(bool ok) => _pref.setBool('app_theme', ok);
// false = dark, true = light
bool get appTheme => _pref.getBool('app_theme') ?? false;
Future<bool> setSavedConnection(String config) =>
_pref.setString('saved_connection', config);
String get savedConnection => _pref.getString('saved_connection') ?? '[]';
Future<bool> setMinimizeOrNot(bool min) =>
_pref.setBool('minimize_on_quit', min);
bool? get minimizeOnQuit => _pref.getBool('minimize_on_quit');
}