summaryrefslogtreecommitdiff
path: root/lib/services/preferences.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/services/preferences.dart')
-rw-r--r--lib/services/preferences.dart30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/services/preferences.dart b/lib/services/preferences.dart
new file mode 100644
index 0000000..dbe261a
--- /dev/null
+++ b/lib/services/preferences.dart
@@ -0,0 +1,30 @@
+import 'package:shared_preferences/shared_preferences.dart';
+
+import 'storage.dart';
+
+const _kDirectory = 'Directory';
+const _kAutoLogSharedText = 'AutoLogSharedText';
+
+class PreferencesService {
+ Future<String> directory() async {
+ final prefs = await SharedPreferences.getInstance();
+ final stored = prefs.getString(_kDirectory);
+ if (stored != null && stored.isNotEmpty) return stored;
+ return defaultLogDirectory();
+ }
+
+ Future<bool> autoLogSharedText() async {
+ final prefs = await SharedPreferences.getInstance();
+ return prefs.getBool(_kAutoLogSharedText) ?? false;
+ }
+
+ Future<void> setDirectory(String value) async {
+ final prefs = await SharedPreferences.getInstance();
+ await prefs.setString(_kDirectory, value);
+ }
+
+ Future<void> setAutoLogSharedText(bool value) async {
+ final prefs = await SharedPreferences.getInstance();
+ await prefs.setBool(_kAutoLogSharedText, value);
+ }
+}