forked from upstream-mirrors/OpenTracks
Use MarkerIterator for TrackDataHub.
This commit is contained in:
@@ -434,9 +434,8 @@ public class ContentProviderUtils {
|
||||
return new MarkerIterator(this, trackId, -1);
|
||||
}
|
||||
|
||||
//TODO Use MarkerIterator instead
|
||||
Cursor getMarkerCursor(@NonNull Track.Id trackId) {
|
||||
return getMarkerCursor(trackId, -1);
|
||||
public AutoCloseableIterator<Marker> getMarkerIterator(@NonNull Track.Id trackId, int maxCount) {
|
||||
return new MarkerIterator(this, trackId, maxCount);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -445,7 +444,7 @@ public class ContentProviderUtils {
|
||||
* @param trackId the track id
|
||||
* @param maxCount the maximum number of markers to return. -1 for no limit
|
||||
*/
|
||||
public Cursor getMarkerCursor(@NonNull Track.Id trackId, int maxCount) {
|
||||
Cursor getMarkerCursor(@NonNull Track.Id trackId, int maxCount) {
|
||||
String selection;
|
||||
String[] selectionArgs;
|
||||
|
||||
|
||||
@@ -276,20 +276,13 @@ public class TrackDataHub {
|
||||
trackDataListener.clearMarkers();
|
||||
}
|
||||
|
||||
try (Cursor cursor = contentProviderUtils.getMarkerCursor(selectedTrackId, MAX_DISPLAYED_MARKERS)) {
|
||||
if (cursor != null && cursor.moveToFirst()) {
|
||||
do {
|
||||
Marker marker = contentProviderUtils.createMarker(cursor);
|
||||
for (Listener trackDataListener : trackDataListeners) {
|
||||
trackDataListener.onNewMarker(marker);
|
||||
}
|
||||
} while (cursor.moveToNext());
|
||||
}
|
||||
try (AutoCloseableIterator<Marker> markerIterator = contentProviderUtils.getMarkerIterator(selectedTrackId, MAX_DISPLAYED_MARKERS)) {
|
||||
markerIterator.forEachRemaining(current ->
|
||||
trackDataListeners.forEach(listener -> listener.onNewMarker(current))
|
||||
);
|
||||
}
|
||||
|
||||
for (Listener trackDataListener : trackDataListeners) {
|
||||
trackDataListener.onNewMarkersDone();
|
||||
}
|
||||
trackDataListeners.forEach(Listener::onNewMarkersDone);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user