Day Seperation bug fixed

This commit is contained in:
Sewmina
2022-03-11 04:01:44 +05:30
parent 3cd1ffdc1c
commit 959cada3a7
4 changed files with 129 additions and 56 deletions

View File

@@ -148,13 +148,13 @@ class _MyHomePageState extends State<MyHomePage> {
init(context);
super.initState();
print("Initializing refresh stream on main dart");
LoadStats();
connectivitySub=Connectivity().onConnectivityChanged.listen((result) {
if (this.mounted) {
setState(() {});
}
});
LoadStats();
// User.progressDialog=progressDialog;
}
var refreshSub;
@@ -170,6 +170,8 @@ class _MyHomePageState extends State<MyHomePage> {
print("Closing progress dialog");
}
});
await User.refreshUserData();
}
@override
void dispose() {
@@ -177,10 +179,9 @@ class _MyHomePageState extends State<MyHomePage> {
super.dispose();
connectivitySub?.cancel();
}
void LoadStats() async {
// return;
// await User.refreshUserData();
DateFormat dFormat = DateFormat("MM/dd");
Map<Category, int> catTimeMap = <Category, int>{};
Map<Category, int> catBriefMap = <Category, int>{};
@@ -206,19 +207,9 @@ class _MyHomePageState extends State<MyHomePage> {
}
firstDay = element.startTime;
String thisDate = dFormat.format(element.startTime);
String endDate = dFormat.format(element.endTime);
int thisMinutes = element.endTime.difference(element.startTime).inMinutes;
int nextMinutes = 0;
if(element.startTime.day != element.endTime.day){
print("welp, ${element.startTime} - ${element.endTime}");
DateTime nextDayBaseline = DateTime(element.endTime.year, element.endTime.month,
element.endTime.day,0,0,0);
nextMinutes = element.endTime.difference(nextDayBaseline).inMinutes;
thisMinutes -= nextMinutes;
print("Today : $thisMinutes, Next day : $nextMinutes");
}
if (!days.contains(thisDate)) {
days.add(dFormat.format(element.startTime));
}
@@ -250,25 +241,16 @@ class _MyHomePageState extends State<MyHomePage> {
}
if (thisDate == curDay) {
if (element.taskType.cat == null) {
continue;
}
print("Null : ${thisMinutes}");
if (catTimeMap.containsKey(element.taskType.cat)) {
catTimeMap[element.taskType.cat!] = (catTimeMap[element.taskType.cat]! + thisMinutes);
} else {
catTimeMap.putIfAbsent(element.taskType.cat!, () => thisMinutes);
}
}else if(thisDate==endDate){
if (element.taskType.cat == null) {
continue;
}
print("Null : ${nextMinutes}");
if (catTimeMap.containsKey(element.taskType.cat)) {
catTimeMap[element.taskType.cat!] = (catTimeMap[element.taskType.cat]! + nextMinutes);
} else {
catTimeMap.putIfAbsent(element.taskType.cat!, () => nextMinutes);
}
if (element.taskType.cat == null) {
continue;
}
print("Null : ${thisMinutes}");
if (catTimeMap.containsKey(element.taskType.cat)) {
catTimeMap[element.taskType.cat!] =
(catTimeMap[element.taskType.cat]! + thisMinutes);
} else {
catTimeMap.putIfAbsent(element.taskType.cat!, () => thisMinutes);
}
}
if ((element.startTime.isAfter(catsRange!.start) && element.startTime.isBefore(catsRange!.end)) ||
@@ -299,17 +281,18 @@ class _MyHomePageState extends State<MyHomePage> {
dailyData.add(CatMapData(key.name, value, barCol));
trackedTime += value;
});
int untrackedTime = 1440-trackedTime;
print("Tracked time : $trackedTime");
dailyData.sort((a, b) {
return a.name.toLowerCase().compareTo(b.name.toLowerCase());
});
dailyData.add(CatMapData("Untracked",1440-trackedTime, Colors.black));
if(untrackedTime> 0){dailyData.add(CatMapData("Untracked",1440-trackedTime, Colors.black));}else{}
for (var element in days) {
// if(productivtyActs.containsKey(element) && unproductivtyActs.containsKey(element)){
int prodActs = (productivtyActs[element] ?? 0);
int unprodActs = (unproductivtyActs[element] ?? 0);
double prod = (prodActs / (prodActs + unprodActs)) * 100;
double prod = (prodActs / 1440) * 100;
productivityData.add(ProductivityMapData(element, prod));
// }
}
@@ -331,6 +314,7 @@ class _MyHomePageState extends State<MyHomePage> {
catsData.sort((a, b) => a.time.compareTo(b.time));
});
}
// loadingStats=false;
}
void showOfflineSnack() async {
@@ -486,7 +470,7 @@ class _MyHomePageState extends State<MyHomePage> {
)),
),
Container(
height: 370,
height: 400,
padding: EdgeInsets.all(10),
child: Card(
elevation: 8,
@@ -507,15 +491,16 @@ class _MyHomePageState extends State<MyHomePage> {
}),
]),
Expanded(
child: SfCircularChart(legend: Legend(isVisible: true), series: <CircularSeries>[
child: SfCircularChart(legend: Legend(isVisible: true,position: LegendPosition.bottom,overflowMode: LegendItemOverflowMode.wrap), series: <CircularSeries>[
// Render pie chart
PieSeries<CatMapData, String>(
dataSource: dailyData,
pointColorMapper: (CatMapData data, _) => data.color,
xValueMapper: (CatMapData data, _) => data.name,
yValueMapper: (CatMapData data, _) => data.time,
dataLabelMapper: (CatMapData sales, _) => MinutesToTimeString(sales.time),
dataLabelSettings: DataLabelSettings(isVisible: true, useSeriesColor: true))
dataLabelSettings: DataLabelSettings(isVisible: true, useSeriesColor: true, overflowMode: OverflowMode.shift, showZeroValue: false))
]))
],
)