2020-02-16 16:25:53 +08:00
|
|
|
import 'package:flutter/foundation.dart';
|
2020-02-22 20:25:06 +08:00
|
|
|
import 'package:flutter/material.dart';
|
2020-02-16 16:25:53 +08:00
|
|
|
|
2020-02-22 20:25:06 +08:00
|
|
|
import 'package:tsacdop/local_storage/key_value_storage.dart';
|
|
|
|
|
|
|
|
class SettingState extends ChangeNotifier {
|
|
|
|
KeyValueStorage storage = KeyValueStorage('themes');
|
|
|
|
int _theme;
|
|
|
|
|
|
|
|
int get theme => _theme;
|
2020-02-25 17:57:12 +08:00
|
|
|
setTheme(int theme) async{
|
2020-02-22 20:25:06 +08:00
|
|
|
_theme = theme;
|
2020-02-16 16:25:53 +08:00
|
|
|
notifyListeners();
|
2020-02-25 17:57:12 +08:00
|
|
|
await _saveTheme(theme);
|
2020-02-22 20:25:06 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void addListener(VoidCallback listener) {
|
|
|
|
super.addListener(listener);
|
|
|
|
_getTheme();
|
2020-02-16 16:25:53 +08:00
|
|
|
}
|
|
|
|
|
2020-02-22 20:25:06 +08:00
|
|
|
_getTheme() async {
|
|
|
|
_theme = await storage.getTheme();
|
|
|
|
}
|
|
|
|
|
|
|
|
_saveTheme(theme) async {
|
|
|
|
await storage.saveTheme(theme);
|
|
|
|
}
|
|
|
|
}
|