From fd9646bb1f052ca54b534348df2478a581056e9c Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sat, 14 Dec 2024 12:21:50 +0100 Subject: [PATCH] Bugfix: on idle detection reset movement-based sensor data. Fixes #1995. --- .../dennisguse/opentracks/sensors/sensorData/Aggregator.java | 4 +++- .../opentracks/sensors/sensorData/AggregatorBarometer.java | 5 ----- .../opentracks/sensors/sensorData/AggregatorGPS.java | 5 ----- .../opentracks/sensors/sensorData/AggregatorHeartRate.java | 5 +++++ 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/sensors/sensorData/Aggregator.java b/src/main/java/de/dennisguse/opentracks/sensors/sensorData/Aggregator.java index 10116be42..3643b7976 100644 --- a/src/main/java/de/dennisguse/opentracks/sensors/sensorData/Aggregator.java +++ b/src/main/java/de/dennisguse/opentracks/sensors/sensorData/Aggregator.java @@ -55,7 +55,9 @@ public abstract class Aggregator { /** * Reset long term aggregated values (more than derived from previous SensorData). e.g. overall distance. */ - public void reset() {} + public void reset() { + value = getNoneValue(); + } /** * Is the data recent considering the current time. diff --git a/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorBarometer.java b/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorBarometer.java index 06f9fbb7e..4717c107c 100644 --- a/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorBarometer.java +++ b/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorBarometer.java @@ -37,10 +37,5 @@ public class AggregatorBarometer extends Aggregator { value = current.value(); } - @Override - public void reset() { - value = null; - } - @NonNull @Override protected Position getNoneValue() { diff --git a/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorHeartRate.java b/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorHeartRate.java index 9bc470c87..90d5a9f1f 100644 --- a/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorHeartRate.java +++ b/src/main/java/de/dennisguse/opentracks/sensors/sensorData/AggregatorHeartRate.java @@ -15,6 +15,11 @@ public class AggregatorHeartRate extends Aggregator { this.value = current.value(); } + @Override + public void reset() { + // We don't need to reset the heart rate as this value is valid for a certain amount of time: and it is not an aggregate. + } + @NonNull @Override protected HeartRate getNoneValue() {