From 630c58c8f405f9ae06244295f4b1e6c52494c9e8 Mon Sep 17 00:00:00 2001 From: vanous Date: Thu, 9 Apr 2020 18:22:57 +0200 Subject: [PATCH] Edit Changelog Do not count days with 0 steps into average/goal. Add sleep to the 0 days not calculation. Do not count days with 0 steps into average/goal. --- CHANGELOG.md | 3 +++ .../charts/AbstractWeekChartFragment.java | 14 +++++++++++--- .../activities/charts/WeekSleepChartFragment.java | 2 +- .../activities/charts/WeekStepsChartFragment.java | 2 +- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccd706735..455992e32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ### Changelog +#### Version 0.43.2 +* Fossil Q Hybrid: Allow choosing and cropping image to be set as watch background +* Steps/Sleep averages: skip days with zero data #### Version 0.43.1 * Initial support for Amazfit Bip S (incomplete, needs the official app once to obtain the pairing key) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/AbstractWeekChartFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/AbstractWeekChartFragment.java index 68b9caa3c..7f68fc51d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/AbstractWeekChartFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/AbstractWeekChartFragment.java @@ -59,6 +59,7 @@ import nodomain.freeyourgadget.gadgetbridge.util.LimitedQueue; public abstract class AbstractWeekChartFragment extends AbstractChartFragment { protected static final Logger LOG = LoggerFactory.getLogger(AbstractWeekChartFragment.class); protected final int TOTAL_DAYS = getRangeDays(); + protected int TOTAL_DAYS_FOR_AVERAGE = 0; private Locale mLocale; private int mTargetValue = 0; @@ -124,10 +125,17 @@ public abstract class AbstractWeekChartFragment extends AbstractChartFragment { ArrayList labels = new ArrayList(); long balance = 0; + long daily_balance=0; + + for (int counter = 0; counter < TOTAL_DAYS; counter++) { ActivityAmounts amounts = getActivityAmountsForDay(db, day, device); + daily_balance=calculateBalance(amounts); + if (daily_balance>0){ + TOTAL_DAYS_FOR_AVERAGE++; + } - balance += calculateBalance(amounts); + balance += daily_balance; entries.add(new BarEntry(counter, getTotalsForActivityAmounts(amounts))); labels.add(getWeeksChartsLabel(day)); day.add(Calendar.DATE, 1); @@ -146,8 +154,8 @@ public abstract class AbstractWeekChartFragment extends AbstractChartFragment { barChart.getAxisLeft().addLimitLine(target); float average = 0; - if (TOTAL_DAYS > 0) { - average = Math.abs(balance / TOTAL_DAYS); + if (TOTAL_DAYS_FOR_AVERAGE > 0) { + average = Math.abs(balance / TOTAL_DAYS_FOR_AVERAGE); } LimitLine average_line = new LimitLine(average); average_line.setLabel(getString(R.string.average, getAverage(average))); diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekSleepChartFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekSleepChartFragment.java index 48f2925d8..a9abaeea7 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekSleepChartFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekSleepChartFragment.java @@ -76,7 +76,7 @@ public class WeekSleepChartFragment extends AbstractWeekChartFragment { @Override protected String getBalanceMessage(long balance, int targetValue) { if (balance > 0) { - final long totalBalance = balance - ((long)targetValue * TOTAL_DAYS); + final long totalBalance = balance - ((long)targetValue * TOTAL_DAYS_FOR_AVERAGE); if (totalBalance > 0) return getString(R.string.overslept, getHM(totalBalance)); else diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekStepsChartFragment.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekStepsChartFragment.java index 79c34fb41..b31e18832 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekStepsChartFragment.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/activities/charts/WeekStepsChartFragment.java @@ -109,7 +109,7 @@ public class WeekStepsChartFragment extends AbstractWeekChartFragment { @Override protected String getBalanceMessage(long balance, int targetValue) { if (balance > 0) { - final long totalBalance = balance - ((long)targetValue * TOTAL_DAYS); + final long totalBalance = balance - ((long)targetValue * TOTAL_DAYS_FOR_AVERAGE); if (totalBalance > 0) return getString(R.string.overstep, Math.abs(totalBalance)); else