From ccfcd3b3063833288b5d42a57ab44a725a4687d4 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Mon, 24 May 2021 16:56:20 +0200 Subject: [PATCH] TrackDataHub: do not send more TrackPoints after stop(). --- .../dennisguse/opentracks/content/TrackDataHub.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/content/TrackDataHub.java b/src/main/java/de/dennisguse/opentracks/content/TrackDataHub.java index 55a63a511..8f4578e64 100644 --- a/src/main/java/de/dennisguse/opentracks/content/TrackDataHub.java +++ b/src/main/java/de/dennisguse/opentracks/content/TrackDataHub.java @@ -342,14 +342,16 @@ public class TrackDataHub { } TrackPoint trackPoint = null; - TrackStatisticsUpdater currentUpdater = trackStatisticsUpdater; //TODO This prevents a NPE if stop() is happening while notifyTrackPointsTableUpdate() - if (currentUpdater == null) { - Log.e(TAG, "notifyTrackPointsTableUpdate() while being stopped."); - return; - } try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(selectedTrackId, next)) { while (trackPointIterator.hasNext()) { + if (!isStarted()) { + break; + } + + //Prevents a NPE if stop() is happening while notifyTrackPointsTableUpdate() + TrackStatisticsUpdater currentUpdater = trackStatisticsUpdater; + trackPoint = trackPointIterator.next(); TrackPoint.Id trackPointId = trackPoint.getId();