forked from upstream-mirrors/OpenTracks
ContentProviderUtils.searchMarkers uses MarkerIterator.
This commit is contained in:
@@ -506,8 +506,7 @@ public class ContentProviderUtils {
|
||||
return contentResolver.query(MarkerColumns.CONTENT_URI, projection, selection, selectionArgs, sortOrder);
|
||||
}
|
||||
|
||||
//TODO Use AutoCloseableIterator<Marker>
|
||||
public List<Marker> searchMarkers(Track.Id trackId, String query) {
|
||||
public MarkerIterator searchMarkers(Track.Id trackId, String query) {
|
||||
String selection = null;
|
||||
String[] selectionArgs = null;
|
||||
String sortOrder = null;
|
||||
@@ -525,15 +524,7 @@ public class ContentProviderUtils {
|
||||
sortOrder = MarkerColumns.DEFAULT_SORT_ORDER + " DESC";
|
||||
}
|
||||
|
||||
ArrayList<Marker> markers = new ArrayList<>();
|
||||
try (Cursor cursor = getMarkerCursor(null, selection, selectionArgs, sortOrder, -1)) {
|
||||
if (cursor.moveToFirst()) {
|
||||
do {
|
||||
markers.add(createMarker(cursor));
|
||||
} while (cursor.moveToNext());
|
||||
}
|
||||
}
|
||||
return markers;
|
||||
return new MarkerIterator(this, getMarkerCursor(null, selection, selectionArgs, sortOrder, -1));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,13 +11,18 @@ import de.dennisguse.opentracks.data.models.Marker;
|
||||
import de.dennisguse.opentracks.data.models.Track;
|
||||
import de.dennisguse.opentracks.util.AutoCloseableIterator;
|
||||
|
||||
class MarkerIterator extends AutoCloseableIterator<Marker> {
|
||||
public class MarkerIterator extends AutoCloseableIterator<Marker> {
|
||||
|
||||
private static final String TAG = MarkerIterator.class.getSimpleName();
|
||||
|
||||
private final ContentProviderUtils contentProviderUtils;
|
||||
private Cursor cursor;
|
||||
|
||||
MarkerIterator(ContentProviderUtils contentProviderUtils, Cursor cursor) {
|
||||
this.contentProviderUtils = contentProviderUtils;
|
||||
this.cursor = cursor;
|
||||
}
|
||||
|
||||
MarkerIterator(ContentProviderUtils contentProviderUtils, Track.Id trackId, int maxCount) {
|
||||
this.contentProviderUtils = contentProviderUtils;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user