TrackDataListener now passes most recent TrackPoint to onNewTrackPointsDone().

This commit is contained in:
Dennis Guse
2021-02-27 22:28:26 +01:00
parent fdf4336a9b
commit fce76230e1
5 changed files with 21 additions and 16 deletions
@@ -365,10 +365,11 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL
next = new TrackPoint.Id(localLastSeenTrackPointIdId.getId() + 1); //TODO startTrackPointId + 1 is an assumption assumption; should be derived from the DB.
}
TrackPoint trackPoint = null;
try (TrackPointIterator trackPointIterator = contentProviderUtils.getTrackPointLocationIterator(selectedTrackId, next)) {
while (trackPointIterator.hasNext()) {
TrackPoint trackPoint = trackPointIterator.next();
trackPoint = trackPointIterator.next();
TrackPoint.Id trackPointId = trackPoint.getId();
// Stop if past the last wanted point
@@ -398,10 +399,13 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL
}
localNumLoadedTrackPoints++;
localLastSeenTrackPointIdId = trackPointId;
}
}
if (trackPoint != null) {
localLastSeenTrackPointIdId = trackPoint.getId();
}
if (updateSamplingState) {
numLoadedPoints = localNumLoadedTrackPoints;
firstSeenTrackPointId = localFirstSeenTrackPointId;
@@ -409,7 +413,7 @@ public class TrackDataHub implements SharedPreferences.OnSharedPreferenceChangeL
}
for (TrackDataListener listener : sampledInListeners) {
listener.onNewTrackPointsDone();
listener.onNewTrackPointsDone(trackPoint);
}
}
@@ -16,6 +16,8 @@
package de.dennisguse.opentracks.content;
import androidx.annotation.Nullable;
import de.dennisguse.opentracks.content.data.Marker;
import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.data.TrackPoint;
@@ -57,7 +59,7 @@ public interface TrackDataListener {
* Called when finish sending new track points.
* This gets called after every batch of calls to {@link #onSampledInTrackPoint(TrackPoint)} and {@link #onSampledOutTrackPoint(TrackPoint)}.
*/
void onNewTrackPointsDone();
void onNewTrackPointsDone(@Nullable TrackPoint lastTrackPoint);
/**
* Called to clear previously sent markers.