aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/sorting/DistanceComparator.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/sorting/DistanceComparator.java')
-rw-r--r--main/src/cgeo/geocaching/sorting/DistanceComparator.java14
1 files changed, 5 insertions, 9 deletions
diff --git a/main/src/cgeo/geocaching/sorting/DistanceComparator.java b/main/src/cgeo/geocaching/sorting/DistanceComparator.java
index c34ae96..731e356 100644
--- a/main/src/cgeo/geocaching/sorting/DistanceComparator.java
+++ b/main/src/cgeo/geocaching/sorting/DistanceComparator.java
@@ -43,16 +43,12 @@ public class DistanceComparator extends AbstractCacheComparator {
@Override
protected int compareCaches(final Geocache cache1, final Geocache cache2) {
calculateAllDistances();
- if (cache1.getCoords() == null && cache2.getCoords() == null) {
- return 0;
+ final Float distance1 = cache1.getDistance();
+ final Float distance2 = cache2.getDistance();
+ if (distance1 == null) {
+ return distance2 == null ? 0 : 1;
}
- if (cache1.getCoords() == null) {
- return 1;
- }
- if (cache2.getCoords() == null) {
- return -1;
- }
- return Float.compare(cache1.getDistance(), cache2.getDistance());
+ return distance2 == null ? -1 : Float.compare(distance1, distance2);
}
}