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