Added debounce to settings storage for better performance
This commit is contained in:
		| @@ -1,5 +1,6 @@ | |||||||
| import 'dart:convert'; | import 'dart:convert'; | ||||||
| import 'dart:developer'; | import 'dart:developer'; | ||||||
|  | import 'package:easy_debounce/easy_debounce.dart'; | ||||||
| import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||||
| import 'package:shared_preferences/shared_preferences.dart'; | import 'package:shared_preferences/shared_preferences.dart'; | ||||||
|  |  | ||||||
| @@ -15,7 +16,11 @@ class SettingsProvider extends ChangeNotifier { | |||||||
|   Settings val({bool write = false}) { |   Settings val({bool write = false}) { | ||||||
|     if(write) { |     if(write) { | ||||||
|       notifyListeners(); |       notifyListeners(); | ||||||
|       Future.delayed(const Duration(milliseconds: 300)).then((_) => update()); |       EasyDebounce.debounce( | ||||||
|  |           _fieldName, | ||||||
|  |           const Duration(milliseconds: 500), | ||||||
|  |           update | ||||||
|  |       ); | ||||||
|     } |     } | ||||||
|     return _settings; |     return _settings; | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -93,6 +93,7 @@ dependencies: | |||||||
|   device_info_plus: ^9.0.3 |   device_info_plus: ^9.0.3 | ||||||
|   flutter_app_badger: ^1.5.0 |   flutter_app_badger: ^1.5.0 | ||||||
|   qr_flutter: ^4.1.0 |   qr_flutter: ^4.1.0 | ||||||
|  |   easy_debounce: ^2.0.3 | ||||||
|  |  | ||||||
| dev_dependencies: | dev_dependencies: | ||||||
|   flutter_test: |   flutter_test: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user