TrackRecordingManager: do not store altitude changes twice (previous …

…TrackPoint's storage was delayed).

Fixes #969.
This commit is contained in:
Dennis Guse
2021-10-08 23:36:12 +02:00
parent 90493ae498
commit d07ab3cc22
5 changed files with 41 additions and 12 deletions
@@ -349,9 +349,15 @@ public class TrackPoint {
return this;
}
public TrackPoint minusSensorDistance(@NonNull TrackPoint lastTrackPoint) {
public TrackPoint minusCumulativeSensorData(@NonNull TrackPoint lastTrackPoint) {
if (hasSensorDistance() && lastTrackPoint.hasSensorDistance()) {
setSensorDistance(getSensorDistance().minus(lastTrackPoint.getSensorDistance()));
sensorDistance = sensorDistance.minus(lastTrackPoint.getSensorDistance());
}
if (hasAltitudeGain() && lastTrackPoint.hasAltitudeGain()) {
altitudeGain_m -= lastTrackPoint.altitudeGain_m;
}
if (hasAltitudeLoss() && lastTrackPoint.hasAltitudeLoss()) {
altitudeLoss_m -= lastTrackPoint.altitudeLoss_m;
}
return this;
}