From 3b4ef0b7f6f41bd15fb99f71fd55576725e6ed12 Mon Sep 17 00:00:00 2001 From: "Martin.JM" Date: Wed, 9 Apr 2025 14:38:13 +0200 Subject: [PATCH] Huawei: Fix workout average pace calculation Make it a weighted average. Fix for #4717. --- .../service/devices/huawei/HuaweiWorkoutGbParser.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/HuaweiWorkoutGbParser.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/HuaweiWorkoutGbParser.java index e56c91a16e..2c2411ab4b 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/HuaweiWorkoutGbParser.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huawei/HuaweiWorkoutGbParser.java @@ -861,8 +861,9 @@ public class HuaweiWorkoutGbParser implements ActivitySummaryParser { int pace = sample.getPace(); + int weight = sample.getCorrection() == null ? 10000 : sample.getCorrection(); paceCount++; - paceSum += pace; + paceSum += pace * weight; if (pace < paceFastest) paceFastest = pace; @@ -896,7 +897,7 @@ public class HuaweiWorkoutGbParser implements ActivitySummaryParser { summaryData.add( ActivitySummaryEntries.GROUP_PACE, GBApplication.getContext().getString(R.string.fmtPaceAverage), - paceSum / (float) paceCount, + (paceSum / 10000) / (float) paceCount, ActivitySummaryEntries.UNIT_SECONDS_PER_KM ); }