From 9ef4942102da327a9fb3bc65093b4c50456b7bde Mon Sep 17 00:00:00 2001 From: Gideon Zenz Date: Sun, 23 Nov 2025 17:54:45 +0100 Subject: [PATCH] Add HRV summary computation for Huawei devices Uses ComputedHrvSummarySampleProvider to generate HRV summary statistics from per-minute HRV values stored by Huawei devices. --- .../gadgetbridge/devices/huawei/HuaweiLECoordinator.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiLECoordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiLECoordinator.java index e58e68c6e6..8fe4f22098 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiLECoordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huawei/HuaweiLECoordinator.java @@ -33,6 +33,7 @@ import nodomain.freeyourgadget.gadgetbridge.R; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettings; import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.devices.AbstractBLEDeviceCoordinator; +import nodomain.freeyourgadget.gadgetbridge.devices.ComputedHrvSummarySampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; import nodomain.freeyourgadget.gadgetbridge.devices.TimeSampleProvider; @@ -41,6 +42,7 @@ import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.Device; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryParser; +import nodomain.freeyourgadget.gadgetbridge.model.HrvSummarySample; import nodomain.freeyourgadget.gadgetbridge.model.HrvValueSample; import nodomain.freeyourgadget.gadgetbridge.model.SleepScoreSample; import nodomain.freeyourgadget.gadgetbridge.model.Spo2Sample; @@ -288,6 +290,11 @@ public abstract class HuaweiLECoordinator extends AbstractBLEDeviceCoordinator i return new HuaweiHrvValueSampleProvider(device, session); } + @Override + public TimeSampleProvider getHrvSummarySampleProvider(GBDevice device, DaoSession session) { + return new ComputedHrvSummarySampleProvider(getHrvValueSampleProvider(device, session), device, session); + } + @Override public int[] getStressRanges() { return huaweiCoordinator.getStressRanges();