forked from upstream-mirrors/OpenTracks
Bugfix: TrackStatistics handles SEGMENT_START_AUTOMATIC properly.
This commit is contained in:
@@ -595,8 +595,8 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
|
||||
private void insertTrackPoint(@NonNull Track track, @NonNull TrackPoint trackPoint) {
|
||||
try {
|
||||
if (altitudeSumManager != null) {
|
||||
trackPoint.setAltitudeGain(altitudeSumManager.getAltitudeGain_m());
|
||||
trackPoint.setAltitudeLoss(altitudeSumManager.getAltitudeLoss_m());
|
||||
trackPoint.setAltitudeGain(getAltitudeGain_m());
|
||||
trackPoint.setAltitudeLoss(getAltitudeLoss_m());
|
||||
altitudeSumManager.reset();
|
||||
}
|
||||
if (remoteSensorManager != null) {
|
||||
@@ -689,6 +689,11 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
|
||||
this.remoteSensorManager = remoteSensorManager;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
public void setAltitudeSumManager(AltitudeSumManager altitudeSumManager) {
|
||||
this.altitudeSumManager = altitudeSumManager;
|
||||
}
|
||||
|
||||
public GpsStatusValue getGpsStatus() {
|
||||
return handlerServer.getGpsStatus();
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ public class TrackStatisticsUpdater {
|
||||
currentSegment.setStopTime(trackPoint.getTime());
|
||||
currentSegment.setTotalTime(Duration.between(currentSegment.getStartTime(), trackPoint.getTime()));
|
||||
|
||||
if (trackPoint.isSegmentStart()) {
|
||||
if (trackPoint.getType() == TrackPoint.Type.SEGMENT_START_MANUAL) {
|
||||
reset(trackPoint);
|
||||
return;
|
||||
}
|
||||
@@ -183,6 +183,11 @@ public class TrackStatisticsUpdater {
|
||||
updateSpeed(trackPoint, lastTrackPoint);
|
||||
}
|
||||
|
||||
if (trackPoint.getType() == TrackPoint.Type.SEGMENT_START_AUTOMATIC) {
|
||||
reset(trackPoint);
|
||||
return;
|
||||
}
|
||||
|
||||
lastTrackPoint = trackPoint;
|
||||
lastMovingTrackPoint = trackPoint;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user