relatica/lib/services/setting_service.dart

31 lines
767 B
Dart
Raw Normal View History

import 'package:flutter/foundation.dart';
2023-01-16 16:06:11 +00:00
import 'package:shared_preferences/shared_preferences.dart';
class SettingsService extends ChangeNotifier {
2023-01-16 16:06:11 +00:00
late final SharedPreferences _prefs;
var _initialized = false;
SettingsService();
var _lowBandwidthMode = false;
bool get lowBandwidthMode => _lowBandwidthMode;
set lowBandwidthMode(bool value) {
_lowBandwidthMode = value;
2023-01-16 16:06:11 +00:00
_prefs.setBool(_lowBandwidthModeKey, _lowBandwidthMode);
notifyListeners();
}
2023-01-16 16:06:11 +00:00
Future<void> initialize() async {
if (_initialized) {
return;
}
_prefs = await SharedPreferences.getInstance();
_lowBandwidthMode = _prefs.getBool(_lowBandwidthModeKey) ?? false;
_initialized = true;
}
}
2023-01-16 16:06:11 +00:00
const _lowBandwidthModeKey = 'LowBandwidthMode';