intermediate prefs

This commit is contained in:
Fabian Freund
2025-01-30 10:46:38 +01:00
parent 78c17a70c5
commit 36acd46318
51 changed files with 3744 additions and 1719 deletions
@@ -0,0 +1,32 @@
import 'package:flutter_mozilla_components/src/pigeons/gecko.g.dart';
final _apiInstance = GeckoPrefApi();
class GeckoPrefService {
Future<Map<String, Object>> getAllPrefs() {
return _apiInstance.getPrefs(null);
}
Future<Map<String, Object>> getPrefs(List<String> prefs) {
return _apiInstance.getPrefs(prefs);
}
Future<Map<String, Object>> applyPrefs(Map<String, Object> prefs) {
final buffer = prefs.entries.map((pref) {
final value = switch (pref.value) {
final bool x => '$x',
final int x => '$x',
final String x => '"$x"',
_ => throw Exception('Unknow pref type')
};
return 'user_pref("${pref.key}", $value);';
}).join();
return _apiInstance.applyPrefs(buffer);
}
Future<void> resetPrefs(List<String> prefs) {
return _apiInstance.resetPrefs(prefs);
}
}