Bugfix: reset elevation every time track point is inserted.

This commit is contained in:
Román
2020-07-29 17:34:46 +02:00
committed by Dennis Guse
parent be7eb41cf3
commit 3bfb212dc9
2 changed files with 5 additions and 9 deletions
@@ -549,10 +549,6 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
//TODO Figure out how to avoid loading the lastValidTrackPoint from the database //TODO Figure out how to avoid loading the lastValidTrackPoint from the database
TrackPoint lastValidTrackPoint = getLastValidTrackPointInCurrentSegment(track.getId()); TrackPoint lastValidTrackPoint = getLastValidTrackPointInCurrentSegment(track.getId());
if (elevationSumManager != null) {
trackPoint.setElevationGain(elevationSumManager.getElevationGain_m());
}
//Storing trackPoint //Storing trackPoint
// Always insert the first segment location // Always insert the first segment location
@@ -576,7 +572,6 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
insertTrackPoint(track, TrackPoint.createPause()); insertTrackPoint(track, TrackPoint.createPause());
insertTrackPoint(track, trackPoint); insertTrackPoint(track, trackPoint);
elevationSumManager.reset();
isIdle = false; isIdle = false;
lastTrackPoint = trackPoint; lastTrackPoint = trackPoint;
@@ -587,7 +582,6 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
insertTrackPointIfNewer(track, lastTrackPoint); insertTrackPointIfNewer(track, lastTrackPoint);
insertTrackPoint(track, trackPoint); insertTrackPoint(track, trackPoint);
elevationSumManager.reset();
isIdle = false; isIdle = false;
@@ -599,7 +593,6 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
insertTrackPointIfNewer(track, lastTrackPoint); insertTrackPointIfNewer(track, lastTrackPoint);
insertTrackPoint(track, trackPoint); insertTrackPoint(track, trackPoint);
elevationSumManager.reset();
isIdle = true; isIdle = true;
@@ -611,7 +604,6 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
insertTrackPointIfNewer(track, lastTrackPoint); insertTrackPointIfNewer(track, lastTrackPoint);
insertTrackPoint(track, trackPoint); insertTrackPoint(track, trackPoint);
elevationSumManager.reset();
isIdle = false; isIdle = false;
@@ -662,6 +654,10 @@ public class TrackRecordingService extends Service implements HandlerServer.Hand
*/ */
private void insertTrackPoint(@NonNull Track track, @NonNull TrackPoint trackPoint) { private void insertTrackPoint(@NonNull Track track, @NonNull TrackPoint trackPoint) {
try { try {
if (elevationSumManager != null) {
trackPoint.setElevationGain(elevationSumManager.getElevationGain_m());
elevationSumManager.reset();
}
contentProviderUtils.insertTrackPoint(trackPoint, track.getId()); contentProviderUtils.insertTrackPoint(trackPoint, track.getId());
trackStatisticsUpdater.addTrackPoint(trackPoint, recordingDistanceInterval); trackStatisticsUpdater.addTrackPoint(trackPoint, recordingDistanceInterval);
updateTrackTotalTime(track); updateTrackTotalTime(track);
@@ -5,7 +5,7 @@ import android.hardware.SensorManager;
public class PressureSensorUtils { public class PressureSensorUtils {
//Everything above is considered a meaningful change in elevation. //Everything above is considered a meaningful change in elevation.
private static float ELEVATION_CHANGE_DIFF_M = 5.0f; private static float ELEVATION_CHANGE_DIFF_M = 3.0f;
private static float EXPONENTIAL_SMOOTHING = 0.3f; private static float EXPONENTIAL_SMOOTHING = 0.3f;