diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2011-09-12 18:04:08 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2011-09-13 08:58:06 +0200 |
| commit | bea8bf6254665e7a5d38f0f84dbcdab8c4c5015d (patch) | |
| tree | 2b8f018495409ed46f2dc17efec7e494f70300ee /src/cgeo/geocaching/sorting/DistanceComparator.java | |
| parent | 586d492fce2196647ba85ec64540dd317ca61efb (diff) | |
| download | cgeo-bea8bf6254665e7a5d38f0f84dbcdab8c4c5015d.zip cgeo-bea8bf6254665e7a5d38f0f84dbcdab8c4c5015d.tar.gz cgeo-bea8bf6254665e7a5d38f0f84dbcdab8c4c5015d.tar.bz2 | |
Replace callers of getDistance() by a direct call
Diffstat (limited to 'src/cgeo/geocaching/sorting/DistanceComparator.java')
| -rw-r--r-- | src/cgeo/geocaching/sorting/DistanceComparator.java | 31 |
1 files changed, 5 insertions, 26 deletions
diff --git a/src/cgeo/geocaching/sorting/DistanceComparator.java b/src/cgeo/geocaching/sorting/DistanceComparator.java index 6198753..9a5b551 100644 --- a/src/cgeo/geocaching/sorting/DistanceComparator.java +++ b/src/cgeo/geocaching/sorting/DistanceComparator.java @@ -1,6 +1,5 @@ package cgeo.geocaching.sorting; -import cgeo.geocaching.cgBase; import cgeo.geocaching.cgCache; import cgeo.geocaching.geopoint.Geopoint; @@ -9,17 +8,9 @@ import cgeo.geocaching.geopoint.Geopoint; * */ public class DistanceComparator extends AbstractCacheComparator { - private Geopoint coords = null; - - public DistanceComparator() { - // nothing - } + private final Geopoint coords; public DistanceComparator(final Geopoint coords) { - setCoords(coords); - } - - public void setCoords(final Geopoint coords) { this.coords = coords; } @@ -32,13 +23,7 @@ public class DistanceComparator extends AbstractCacheComparator { protected int compareCaches(final cgCache cache1, final cgCache cache2) { if ((cache1.coords == null || cache2.coords == null) && cache1.distance != null && cache2.distance != null) { - if (cache1.distance < cache2.distance) { - return -1; - } else if (cache1.distance > cache2.distance) { - return 1; - } else { - return 0; - } + return Double.compare(cache1.distance, cache2.distance); } else { if (cache1.coords == null) { return 1; @@ -47,15 +32,9 @@ public class DistanceComparator extends AbstractCacheComparator { return -1; } - Double distance1 = cgBase.getDistance(coords, cache1.coords); - Double distance2 = cgBase.getDistance(coords, cache2.coords); - - if (distance1 < distance2) { - return -1; - } else if (distance1 > distance2) { - return 1; - } + return Float.compare(coords.distanceTo(cache1.coords), + coords.distanceTo(cache2.coords)); } - return 0; } + } |
