aboutsummaryrefslogtreecommitdiffstats
path: root/src/cgeo/geocaching/sorting/DistanceComparator.java
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2011-09-12 18:04:08 +0200
committerSamuel Tardieu <sam@rfc1149.net>2011-09-13 08:58:06 +0200
commitbea8bf6254665e7a5d38f0f84dbcdab8c4c5015d (patch)
tree2b8f018495409ed46f2dc17efec7e494f70300ee /src/cgeo/geocaching/sorting/DistanceComparator.java
parent586d492fce2196647ba85ec64540dd317ca61efb (diff)
downloadcgeo-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.java31
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;
}
+
}