mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-09-30 16:52:21 +02:00
@@ -24,6 +24,12 @@ class MarkerIterator extends AutoCloseableIterator<Marker> {
|
||||
cursor = contentProviderUtils.getMarkerCursor(trackId, maxCount);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Marker get() {
|
||||
return contentProviderUtils.createMarker(cursor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasNext() {
|
||||
if (cursor == null) {
|
||||
@@ -38,7 +44,7 @@ class MarkerIterator extends AutoCloseableIterator<Marker> {
|
||||
if (cursor == null || !cursor.moveToNext()) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
return contentProviderUtils.createMarker(cursor);
|
||||
return get();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -33,13 +33,19 @@ class TrackPointIterator extends AutoCloseableIterator<TrackPoint> {
|
||||
return !cursor.isLast() && !cursor.isAfterLast();
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public TrackPoint get() {
|
||||
return ContentProviderUtils.fillTrackPoint(cursor, indexes);
|
||||
}
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public TrackPoint next() {
|
||||
if (cursor == null || !cursor.moveToNext()) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
return ContentProviderUtils.fillTrackPoint(cursor, indexes);
|
||||
return get();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -123,7 +123,7 @@ public class MarkerDetailActivity extends AbstractActivity implements DeleteMark
|
||||
@NonNull
|
||||
public Fragment createFragment(int position) {
|
||||
markerAutoCloseableIterator.moveToPosition(position);
|
||||
return MarkerDetailFragment.newInstance(markerAutoCloseableIterator.next().id());
|
||||
return MarkerDetailFragment.newInstance(markerAutoCloseableIterator.get(position).id());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -133,8 +133,7 @@ public class MarkerDetailActivity extends AbstractActivity implements DeleteMark
|
||||
|
||||
@Nullable
|
||||
public CharSequence getPageTitle(int position) {
|
||||
markerAutoCloseableIterator.moveToPosition(position);
|
||||
return getString(R.string.marker_detail_title, position + 1, getItemCount(), markerAutoCloseableIterator.next().name());
|
||||
return getString(R.string.marker_detail_title, position + 1, getItemCount(), markerAutoCloseableIterator.get().name());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
package de.dennisguse.opentracks.util;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
public abstract class AutoCloseableIterator<T> implements Iterator<T>, AutoCloseable {
|
||||
@@ -13,5 +15,14 @@ public abstract class AutoCloseableIterator<T> implements Iterator<T>, AutoClose
|
||||
|
||||
public abstract boolean moveToPosition(int position);
|
||||
|
||||
@NonNull
|
||||
public abstract T get();
|
||||
|
||||
@NonNull
|
||||
public T get(int position) {
|
||||
moveToPosition(position);
|
||||
return get();
|
||||
}
|
||||
|
||||
public abstract int getCount();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user