From bea8bf6254665e7a5d38f0f84dbcdab8c4c5015d Mon Sep 17 00:00:00 2001 From: Samuel Tardieu Date: Mon, 12 Sep 2011 18:04:08 +0200 Subject: Replace callers of getDistance() by a direct call --- .../geocaching/sorting/DistanceComparator.java | 31 ++++------------------ 1 file changed, 5 insertions(+), 26 deletions(-) (limited to 'src/cgeo/geocaching/sorting/DistanceComparator.java') 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; } + } -- cgit v1.1