mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-02 17:43:06 +02:00
Add an optional filter for invalid (0 bpm) heart rate readings
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package de.dennisguse.opentracks.data.models;
|
||||
|
||||
public record HeartRate(float value) {
|
||||
public static HeartRate INVALID = HeartRate.of(0.0f);
|
||||
|
||||
public static HeartRate of(float value) {
|
||||
return new HeartRate(value);
|
||||
@@ -9,4 +10,8 @@ public record HeartRate(float value) {
|
||||
public float getBPM() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
return !this.equals(INVALID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,9 @@ public class AggregatorHeartRate extends Aggregator<HeartRate, HeartRate> {
|
||||
|
||||
@Override
|
||||
protected void computeValue(Raw<HeartRate> current) {
|
||||
this.aggregatedValue = current.value();
|
||||
if (current.value().isValid()) {
|
||||
this.aggregatedValue = current.value();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -64,7 +64,8 @@ public class SensorDataSet {
|
||||
|
||||
public Pair<HeartRate, String> getHeartRate() {
|
||||
if (heartRate != null) {
|
||||
return heartRate.getAggregatedValueWithSensorName(trackPointCreator.createNow());
|
||||
Pair<HeartRate, String> value = heartRate.getAggregatedValueWithSensorName(trackPointCreator.createNow());
|
||||
if (value.first.isValid()) return value;
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
+1
-1
@@ -161,7 +161,7 @@ class VoiceAnnouncementUtils {
|
||||
}
|
||||
|
||||
Pair<HeartRate, String> heartrate = sensorDataSet.getHeartRate();
|
||||
if (shouldVoiceAnnounceHeartRateCurrent() && heartrate != null && heartrate.first != null) { //TODO Check has an announcable value?
|
||||
if (shouldVoiceAnnounceHeartRateCurrent() && heartrate != null && heartrate.first != null && heartrate.first.isValid()) { //TODO Check has an announcable value?
|
||||
int averageHeartRate = Math.round(heartrate.first.getBPM());
|
||||
|
||||
builder.append(" ")
|
||||
|
||||
Reference in New Issue
Block a user