From 47a340578f954f8adc3383d83b4015d8c6e0bb25 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Mon, 14 Jun 2021 12:11:23 +0200 Subject: [PATCH] Bugfix: prevent crash when creating TRACKPOINT without location. Introduced in 2f0449c4209633417d798b7b0f108a99f46956ad --- .../opentracks/stats/TrackStatisticsUpdater.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/stats/TrackStatisticsUpdater.java b/src/main/java/de/dennisguse/opentracks/stats/TrackStatisticsUpdater.java index 039e258c4..287401691 100644 --- a/src/main/java/de/dennisguse/opentracks/stats/TrackStatisticsUpdater.java +++ b/src/main/java/de/dennisguse/opentracks/stats/TrackStatisticsUpdater.java @@ -172,13 +172,14 @@ public class TrackStatisticsUpdater { return; } - if (!trackPoint.hasSensorDistance()) { + if (!trackPoint.hasSensorDistance() + && trackPoint.hasLocation() && lastMovingTrackPoint.hasLocation()) { // GPS-based distance/speed Distance movingDistance = trackPoint.distanceToPrevious(lastMovingTrackPoint); - if (movingDistance.lessThan(minGPSDistance) && !trackPoint.isMoving()) { + if (movingDistance != null && movingDistance.lessThan(minGPSDistance) && !trackPoint.isMoving()) { speedBuffer_mps.reset(); lastTrackPoint = trackPoint; - return; + return; //TOOD Why? Is there nothing to be done afterwards? } // Update total distance currentSegment.addTotalDistance(movingDistance);