ConfigProvider.dart 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_habit/common/LocalData.dart';
  3. import 'package:shared_preferences/shared_preferences.dart';
  4. class ConfigProvider extends ChangeNotifier {
  5. late int getUpTimeStart;
  6. int? getUpTimeEnd;
  7. late int breakfastTimeStart;
  8. int? breakfastTimeEnd;
  9. late int lunchTimeStart;
  10. int? lunchTimeEnd;
  11. late int midRestTimeStart;
  12. int? midRestTimeEnd;
  13. late int dinnerTimeStart;
  14. int? dinnerTimeEnd;
  15. late int restTimeStart;
  16. int? restTimeEnd;
  17. void init() {
  18. load();
  19. store();
  20. debugPrint("""init ConfigProvider to:
  21. getUpTimeStart = ${DateTime.fromMillisecondsSinceEpoch(getUpTimeStart).toString().substring(11, 16)}
  22. getUpTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(getUpTimeEnd!).toString().substring(11, 16)}
  23. breakfastTimeStart = ${DateTime.fromMillisecondsSinceEpoch(breakfastTimeStart).toString().substring(11, 16)}
  24. breakfastTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(breakfastTimeEnd!).toString().substring(11, 16)}
  25. midRestTimeStart = ${DateTime.fromMillisecondsSinceEpoch(midRestTimeStart).toString().substring(11, 16)}
  26. midRestTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(midRestTimeEnd!).toString().substring(11, 16)}
  27. lunchTimeStart = ${DateTime.fromMillisecondsSinceEpoch(lunchTimeStart).toString().substring(11, 16)}
  28. lunchTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(lunchTimeEnd!).toString().substring(11, 16)}
  29. dinnerTimeStart = ${DateTime.fromMillisecondsSinceEpoch(dinnerTimeStart).toString().substring(11, 16)}
  30. dinnerTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(dinnerTimeEnd!).toString().substring(11, 16)}
  31. restTimeStart = ${DateTime.fromMillisecondsSinceEpoch(restTimeStart).toString().substring(11, 16)}
  32. restTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(restTimeEnd!).toString().substring(11, 16)}
  33. """);
  34. }
  35. void load() {
  36. SharedPreferences sp = LocalData.getInstance()!;
  37. getUpTimeStart = sp.getInt("getUpTimeStart") ?? DateTime(1,1,1,6).millisecondsSinceEpoch;
  38. getUpTimeEnd = sp.getInt("getUpTimeEnd") ?? DateTime(1,1,1,7).millisecondsSinceEpoch;
  39. breakfastTimeStart = sp.getInt("breakfastTimeStart") ?? DateTime(1,1,1,7).millisecondsSinceEpoch;
  40. breakfastTimeEnd = sp.getInt("breakfastTimeEnd") ?? DateTime(1,1,1,8).millisecondsSinceEpoch;
  41. lunchTimeStart = sp.getInt("lunchTimeStart") ?? DateTime(1,1,1,12).millisecondsSinceEpoch;
  42. lunchTimeEnd = sp.getInt("lunchTimeEnd") ?? DateTime(1,1,1,13).millisecondsSinceEpoch;
  43. midRestTimeStart = sp.getInt("midRestTimeStart") ?? DateTime(1,1,1,13).millisecondsSinceEpoch;
  44. midRestTimeEnd = sp.getInt("midRestTimeEnd") ?? DateTime(1,1,1,14).millisecondsSinceEpoch;
  45. dinnerTimeStart = sp.getInt("dinnerTimeStart") ?? DateTime(1,1,1,17).millisecondsSinceEpoch;
  46. dinnerTimeEnd = sp.getInt("dinnerTimeEnd") ?? DateTime(1,1,1,18).millisecondsSinceEpoch;
  47. restTimeStart = sp.getInt("restTimeStart") ?? DateTime(1,1,1,21).millisecondsSinceEpoch;
  48. restTimeEnd = sp.getInt("restTimeEnd") ?? DateTime(1,1,1,22).millisecondsSinceEpoch;
  49. }
  50. void store() {
  51. SharedPreferences sp = LocalData.getInstance()!;
  52. sp.setInt("getUpTimeStart", getUpTimeStart);
  53. sp.setInt("getUpTimeEnd", getUpTimeEnd!);
  54. sp.setInt("breakfastTimeStart", breakfastTimeStart);
  55. sp.setInt("breakfastTimeEnd", breakfastTimeEnd!);
  56. sp.setInt("lunchTimeStart", lunchTimeStart);
  57. sp.setInt("lunchTimeEnd", lunchTimeEnd!);
  58. sp.setInt("midRestTimeStart", midRestTimeStart);
  59. sp.setInt("midRestTimeEnd", midRestTimeEnd!);
  60. sp.setInt("dinnerTimeStart", dinnerTimeStart);
  61. sp.setInt("dinnerTimeEnd", dinnerTimeEnd!);
  62. sp.setInt("restTimeStart", restTimeStart);
  63. sp.setInt("restTimeEnd", restTimeEnd!);
  64. }
  65. void refresh() {
  66. notifyListeners();
  67. }
  68. }