aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/sorting
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/sorting')
-rw-r--r--main/src/cgeo/geocaching/sorting/DistanceComparator.java13
-rw-r--r--main/src/cgeo/geocaching/sorting/SortActionProvider.java2
2 files changed, 13 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/sorting/DistanceComparator.java b/main/src/cgeo/geocaching/sorting/DistanceComparator.java
index 541ce48..b3b751b 100644
--- a/main/src/cgeo/geocaching/sorting/DistanceComparator.java
+++ b/main/src/cgeo/geocaching/sorting/DistanceComparator.java
@@ -3,6 +3,7 @@ package cgeo.geocaching.sorting;
import cgeo.geocaching.Geocache;
import cgeo.geocaching.geopoint.Geopoint;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -15,7 +16,17 @@ public class DistanceComparator extends AbstractCacheComparator {
final private List<Geocache> list;
private boolean cachedDistances;
- public DistanceComparator(final Geopoint coords, List<Geocache> list) {
+ final static public DistanceComparator singleton = new DistanceComparator();
+
+ public DistanceComparator() {
+ // This constructor should not be used as a comparator as distances will not be updated.
+ // It is needed in order to really know we are sorting by Distances in the sort menu.
+ // If you need it for sorting, please use the second constructor.
+ coords = null;
+ list = new ArrayList<>();
+ }
+
+ public DistanceComparator(final Geopoint coords, final List<Geocache> list) {
this.coords = coords;
this.list = list;
}
diff --git a/main/src/cgeo/geocaching/sorting/SortActionProvider.java b/main/src/cgeo/geocaching/sorting/SortActionProvider.java
index e9e65a0..6251984 100644
--- a/main/src/cgeo/geocaching/sorting/SortActionProvider.java
+++ b/main/src/cgeo/geocaching/sorting/SortActionProvider.java
@@ -62,7 +62,7 @@ public class SortActionProvider extends ActionProvider implements OnMenuItemClic
}
private void registerComparators() {
- register(R.string.caches_sort_distance, null);
+ register(R.string.caches_sort_distance, DistanceComparator.class);
register(R.string.caches_sort_date_hidden, DateComparator.class);
register(R.string.caches_sort_difficulty, DifficultyComparator.class);
register(R.string.caches_sort_finds, FindsComparator.class);