Extract settings and harden geofence automation
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'dart:convert';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import '../features/settings/models/app_theme_preset.dart';
|
||||
import '../models/home_config.dart';
|
||||
import 'credentials_storage.dart';
|
||||
|
||||
@@ -8,6 +9,7 @@ import 'credentials_storage.dart';
|
||||
class SettingsService {
|
||||
static const String _homesKey = 'ignis_homes';
|
||||
static const String _currentHomeKey = 'ignis_current_home_id';
|
||||
static const String _themeKey = 'ignis_theme_preset';
|
||||
|
||||
final CredentialsStorage _credentialsStorage;
|
||||
|
||||
@@ -107,6 +109,16 @@ class SettingsService {
|
||||
Future<void> deleteHomeApiKey(String homeId) =>
|
||||
_credentialsStorage.deleteApiKey(homeId);
|
||||
|
||||
Future<AppThemePreset> getAppThemePreset() async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
return AppThemePreset.fromStorageValue(prefs.getString(_themeKey));
|
||||
}
|
||||
|
||||
Future<void> setAppThemePreset(AppThemePreset preset) async {
|
||||
final prefs = await SharedPreferences.getInstance();
|
||||
await prefs.setString(_themeKey, preset.storageValue);
|
||||
}
|
||||
|
||||
Future<List<Map<String, dynamic>>> _migrateApiKeysIfNeeded(
|
||||
SharedPreferences prefs,
|
||||
List<dynamic> rawList,
|
||||
|
||||
Reference in New Issue
Block a user