import 'package:flutter/material.dart'; import 'package:flutter_habit/common/LocalData.dart'; import 'package:shared_preferences/shared_preferences.dart'; class ConfigProvider extends ChangeNotifier { late int getUpTimeStart; int? getUpTimeEnd; late int breakfastTimeStart; int? breakfastTimeEnd; late int lunchTimeStart; int? lunchTimeEnd; late int midRestTimeStart; int? midRestTimeEnd; late int dinnerTimeStart; int? dinnerTimeEnd; late int restTimeStart; int? restTimeEnd; void init() { load(); store(); debugPrint("""init ConfigProvider to: getUpTimeStart = ${DateTime.fromMillisecondsSinceEpoch(getUpTimeStart).toString().substring(11, 16)} getUpTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(getUpTimeEnd!).toString().substring(11, 16)} breakfastTimeStart = ${DateTime.fromMillisecondsSinceEpoch(breakfastTimeStart).toString().substring(11, 16)} breakfastTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(breakfastTimeEnd!).toString().substring(11, 16)} midRestTimeStart = ${DateTime.fromMillisecondsSinceEpoch(midRestTimeStart).toString().substring(11, 16)} midRestTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(midRestTimeEnd!).toString().substring(11, 16)} lunchTimeStart = ${DateTime.fromMillisecondsSinceEpoch(lunchTimeStart).toString().substring(11, 16)} lunchTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(lunchTimeEnd!).toString().substring(11, 16)} dinnerTimeStart = ${DateTime.fromMillisecondsSinceEpoch(dinnerTimeStart).toString().substring(11, 16)} dinnerTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(dinnerTimeEnd!).toString().substring(11, 16)} restTimeStart = ${DateTime.fromMillisecondsSinceEpoch(restTimeStart).toString().substring(11, 16)} restTimeEnd = ${DateTime.fromMillisecondsSinceEpoch(restTimeEnd!).toString().substring(11, 16)} """); } void load() { SharedPreferences sp = LocalData.getInstance()!; getUpTimeStart = sp.getInt("getUpTimeStart") ?? DateTime(1,1,1,6).millisecondsSinceEpoch; getUpTimeEnd = sp.getInt("getUpTimeEnd") ?? DateTime(1,1,1,7).millisecondsSinceEpoch; breakfastTimeStart = sp.getInt("breakfastTimeStart") ?? DateTime(1,1,1,7).millisecondsSinceEpoch; breakfastTimeEnd = sp.getInt("breakfastTimeEnd") ?? DateTime(1,1,1,8).millisecondsSinceEpoch; lunchTimeStart = sp.getInt("lunchTimeStart") ?? DateTime(1,1,1,12).millisecondsSinceEpoch; lunchTimeEnd = sp.getInt("lunchTimeEnd") ?? DateTime(1,1,1,13).millisecondsSinceEpoch; midRestTimeStart = sp.getInt("midRestTimeStart") ?? DateTime(1,1,1,13).millisecondsSinceEpoch; midRestTimeEnd = sp.getInt("midRestTimeEnd") ?? DateTime(1,1,1,14).millisecondsSinceEpoch; dinnerTimeStart = sp.getInt("dinnerTimeStart") ?? DateTime(1,1,1,17).millisecondsSinceEpoch; dinnerTimeEnd = sp.getInt("dinnerTimeEnd") ?? DateTime(1,1,1,18).millisecondsSinceEpoch; restTimeStart = sp.getInt("restTimeStart") ?? DateTime(1,1,1,21).millisecondsSinceEpoch; restTimeEnd = sp.getInt("restTimeEnd") ?? DateTime(1,1,1,22).millisecondsSinceEpoch; } void store() { SharedPreferences sp = LocalData.getInstance()!; sp.setInt("getUpTimeStart", getUpTimeStart); sp.setInt("getUpTimeEnd", getUpTimeEnd!); sp.setInt("breakfastTimeStart", breakfastTimeStart); sp.setInt("breakfastTimeEnd", breakfastTimeEnd!); sp.setInt("lunchTimeStart", lunchTimeStart); sp.setInt("lunchTimeEnd", lunchTimeEnd!); sp.setInt("midRestTimeStart", midRestTimeStart); sp.setInt("midRestTimeEnd", midRestTimeEnd!); sp.setInt("dinnerTimeStart", dinnerTimeStart); sp.setInt("dinnerTimeEnd", dinnerTimeEnd!); sp.setInt("restTimeStart", restTimeStart); sp.setInt("restTimeEnd", restTimeEnd!); } void refresh() { notifyListeners(); } }