kopia lustrzana https://gitlab.com/mysocialportal/relatica
				
				
				
			Add persistence to settings service
							rodzic
							
								
									31c3cbaa98
								
							
						
					
					
						commit
						17319eea12
					
				| 
						 | 
				
			
			@ -39,7 +39,11 @@ void main() async {
 | 
			
		|||
  final entryManagerService = EntryManagerService();
 | 
			
		||||
  final timelineManager = TimelineManager();
 | 
			
		||||
  final galleryService = GalleryService();
 | 
			
		||||
  getIt.registerLazySingleton(() => SettingsService());
 | 
			
		||||
  getIt.registerSingletonAsync(() async {
 | 
			
		||||
    final service = SettingsService();
 | 
			
		||||
    await service.initialize();
 | 
			
		||||
    return service;
 | 
			
		||||
  });
 | 
			
		||||
  getIt.registerLazySingleton<ConnectionsManager>(() => ConnectionsManager());
 | 
			
		||||
  getIt.registerLazySingleton<HashtagService>(() => HashtagService());
 | 
			
		||||
  getIt.registerSingleton(galleryService);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,30 @@
 | 
			
		|||
import 'package:flutter/foundation.dart';
 | 
			
		||||
import 'package:shared_preferences/shared_preferences.dart';
 | 
			
		||||
 | 
			
		||||
class SettingsService extends ChangeNotifier {
 | 
			
		||||
  var _lowBandwidthMode = true;
 | 
			
		||||
  late final SharedPreferences _prefs;
 | 
			
		||||
  var _initialized = false;
 | 
			
		||||
 | 
			
		||||
  SettingsService();
 | 
			
		||||
 | 
			
		||||
  var _lowBandwidthMode = false;
 | 
			
		||||
 | 
			
		||||
  bool get lowBandwidthMode => _lowBandwidthMode;
 | 
			
		||||
 | 
			
		||||
  set lowBandwidthMode(bool value) {
 | 
			
		||||
    _lowBandwidthMode = value;
 | 
			
		||||
    _prefs.setBool(_lowBandwidthModeKey, _lowBandwidthMode);
 | 
			
		||||
    notifyListeners();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Future<void> initialize() async {
 | 
			
		||||
    if (_initialized) {
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
    _prefs = await SharedPreferences.getInstance();
 | 
			
		||||
    _lowBandwidthMode = _prefs.getBool(_lowBandwidthModeKey) ?? false;
 | 
			
		||||
    _initialized = true;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const _lowBandwidthModeKey = 'LowBandwidthMode';
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue