aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2012-02-21 08:03:28 +0100
committerBananeweizen <bananeweizen@gmx.de>2012-02-21 08:03:28 +0100
commit61b3c7758e4602495c8f356a832a10b2a4e59a2d (patch)
tree6a5cab003328eb2c01aa887233de171a652a3186 /main/src
parentcfbf1b6507cf62382ccf71b04232fd6be963701c (diff)
downloadcgeo-61b3c7758e4602495c8f356a832a10b2a4e59a2d.zip
cgeo-61b3c7758e4602495c8f356a832a10b2a4e59a2d.tar.gz
cgeo-61b3c7758e4602495c8f356a832a10b2a4e59a2d.tar.bz2
refactoring: code cleanup
* move human distance code to own class * remove warning suppression * fix several compiler warnings
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java5
-rw-r--r--main/src/cgeo/geocaching/cgBase.java38
-rw-r--r--main/src/cgeo/geocaching/cgeo.java3
-rw-r--r--main/src/cgeo/geocaching/cgeoaddresses.java3
-rw-r--r--main/src/cgeo/geocaching/cgeonavigate.java5
-rw-r--r--main/src/cgeo/geocaching/cgeopopup.java3
-rw-r--r--main/src/cgeo/geocaching/cgeotrackable.java3
-rw-r--r--main/src/cgeo/geocaching/enumerations/WaypointType.java1
-rw-r--r--main/src/cgeo/geocaching/geopoint/HumanDistance.java42
-rw-r--r--main/src/cgeo/geocaching/geopoint/Viewport.java1
-rw-r--r--main/src/cgeo/geocaching/ui/DistanceView.java6
11 files changed, 61 insertions, 49 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index c24ea41..528b2e2 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -13,6 +13,7 @@ import cgeo.geocaching.enumerations.LoadFlags.RemoveFlag;
import cgeo.geocaching.enumerations.LogType;
import cgeo.geocaching.enumerations.WaypointType;
import cgeo.geocaching.geopoint.GeopointFormatter;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.network.HtmlImage;
import cgeo.geocaching.network.Parameters;
import cgeo.geocaching.ui.DecryptTextClickListener;
@@ -690,7 +691,7 @@ public class CacheDetailActivity extends AbstractActivity {
StringBuilder dist = new StringBuilder();
if (geo.coordsNow != null && cache != null && cache.getCoords() != null) {
- dist.append(cgBase.getHumanDistance(geo.coordsNow.distanceTo(cache.getCoords())));
+ dist.append(HumanDistance.getHumanDistance(geo.coordsNow.distanceTo(cache.getCoords())));
}
if (cache != null && cache.getElevation() != null) {
@@ -1358,7 +1359,7 @@ public class CacheDetailActivity extends AbstractActivity {
}
// distance
- cacheDistanceView = addCacheDetail(R.string.cache_distance, cache.getDistance() != null ? "~" + cgBase.getHumanDistance(cache.getDistance()) : "--");
+ cacheDistanceView = addCacheDetail(R.string.cache_distance, cache.getDistance() != null ? "~" + HumanDistance.getHumanDistance(cache.getDistance()) : "--");
// difficulty
if (cache.getDifficulty() > 0) {
diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java
index c03d45a..c88739c 100644
--- a/main/src/cgeo/geocaching/cgBase.java
+++ b/main/src/cgeo/geocaching/cgBase.java
@@ -19,7 +19,6 @@ import cgeo.geocaching.gcvote.GCVoteRating;
import cgeo.geocaching.geopoint.DistanceParser;
import cgeo.geocaching.geopoint.Geopoint;
import cgeo.geocaching.geopoint.GeopointFormatter.Format;
-import cgeo.geocaching.geopoint.IConversion;
import cgeo.geocaching.geopoint.Viewport;
import cgeo.geocaching.network.HtmlImage;
import cgeo.geocaching.network.Parameters;
@@ -1695,43 +1694,6 @@ public class cgBase {
return trackables;
}
- public static String getHumanDistance(final Float distanceKilometers) {
- if (distanceKilometers == null) {
- return "?";
- }
-
- if (Settings.isUseMetricUnits()) {
- if (distanceKilometers > 100) {
- return String.format("%d", Math.round(distanceKilometers)) + " km";
- } else if (distanceKilometers > 10) {
- return String.format("%.1f", Double.valueOf(Math.round(distanceKilometers * 10.0) / 10.0)) + " km";
- } else if (distanceKilometers > 1) {
- return String.format("%.2f", Double.valueOf(Math.round(distanceKilometers * 100.0) / 100.0)) + " km";
- } else if (distanceKilometers > 0.1) {
- return String.format("%d", Math.round(distanceKilometers * 1000.0)) + " m";
- } else if (distanceKilometers > 0.01) {
- return String.format("%.1f", Double.valueOf(Math.round(distanceKilometers * 1000.0 * 10.0) / 10.0)) + " m";
- } else {
- return String.format("%.2f", Double.valueOf(Math.round(distanceKilometers * 1000.0 * 100.0) / 100.0)) + " m";
- }
- } else {
- final float miles = distanceKilometers / IConversion.miles2km;
- if (distanceKilometers > 100) {
- return String.format("%d", Math.round(miles)) + " mi";
- } else if (distanceKilometers > 0.5) {
- return String.format("%.1f", Double.valueOf(Math.round(miles * 10.0) / 10.0)) + " mi";
- } else if (distanceKilometers > 0.1) {
- return String.format("%.2f", Double.valueOf(Math.round(miles * 100.0) / 100.0)) + " mi";
- } else if (distanceKilometers > 0.05) {
- return String.format("%d", Math.round(miles * 5280.0)) + " ft";
- } else if (distanceKilometers > 0.01) {
- return String.format("%.1f", Double.valueOf(Math.round(miles * 5280 * 10.0) / 10.0)) + " ft";
- } else {
- return String.format("%.2f", Double.valueOf(Math.round(miles * 5280 * 100.0) / 100.0)) + " ft";
- }
- }
- }
-
/**
* Insert the right cache type restriction in parameters
*
diff --git a/main/src/cgeo/geocaching/cgeo.java b/main/src/cgeo/geocaching/cgeo.java
index 6f2c758..c012f3a 100644
--- a/main/src/cgeo/geocaching/cgeo.java
+++ b/main/src/cgeo/geocaching/cgeo.java
@@ -8,6 +8,7 @@ import cgeo.geocaching.enumerations.LogType;
import cgeo.geocaching.enumerations.StatusCode;
import cgeo.geocaching.enumerations.WaypointType;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.maps.CGeoMap;
import org.apache.commons.collections.CollectionUtils;
@@ -599,7 +600,7 @@ public class cgeo extends AbstractActivity {
}
} else {
if (geo.altitudeNow != null) {
- final String humanAlt = cgBase.getHumanDistance(geo.altitudeNow.floatValue() / 1000);
+ final String humanAlt = HumanDistance.getHumanDistance(geo.altitudeNow.floatValue() / 1000);
navLocation.setText(geo.coordsNow + " | " + humanAlt);
} else {
navLocation.setText(geo.coordsNow.toString());
diff --git a/main/src/cgeo/geocaching/cgeoaddresses.java b/main/src/cgeo/geocaching/cgeoaddresses.java
index 27a3110..9170a4a 100644
--- a/main/src/cgeo/geocaching/cgeoaddresses.java
+++ b/main/src/cgeo/geocaching/cgeoaddresses.java
@@ -2,6 +2,7 @@ package cgeo.geocaching;
import cgeo.geocaching.activity.AbstractActivity;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.geopoint.HumanDistance;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@@ -101,7 +102,7 @@ public class cgeoaddresses extends AbstractActivity {
if (lastLoc != null) {
if (address.hasLatitude() && address.hasLongitude()) {
- lines.add(cgBase.getHumanDistance(lastLoc.distanceTo(new Geopoint(address.getLatitude(), address.getLongitude()))));
+ lines.add(HumanDistance.getHumanDistance(lastLoc.distanceTo(new Geopoint(address.getLatitude(), address.getLongitude()))));
}
}
diff --git a/main/src/cgeo/geocaching/cgeonavigate.java b/main/src/cgeo/geocaching/cgeonavigate.java
index e5600a9..8540ff4 100644
--- a/main/src/cgeo/geocaching/cgeonavigate.java
+++ b/main/src/cgeo/geocaching/cgeonavigate.java
@@ -2,6 +2,7 @@ package cgeo.geocaching;
import cgeo.geocaching.activity.AbstractActivity;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.maps.CGeoMap;
import cgeo.geocaching.ui.CompassView;
@@ -329,7 +330,7 @@ public class cgeonavigate extends AbstractActivity {
}
cacheHeading = geo.coordsNow.bearingTo(dstCoords);
- distanceView.setText(cgBase.getHumanDistance(geo.coordsNow.distanceTo(dstCoords)));
+ distanceView.setText(HumanDistance.getHumanDistance(geo.coordsNow.distanceTo(dstCoords)));
headingView.setText(Math.round(cacheHeading) + "°");
}
@@ -372,7 +373,7 @@ public class cgeonavigate extends AbstractActivity {
}
if (geo.altitudeNow != null) {
- final String humanAlt = cgBase.getHumanDistance(geo.altitudeNow.floatValue() / 1000);
+ final String humanAlt = HumanDistance.getHumanDistance(geo.altitudeNow.floatValue() / 1000);
navLocation.setText(geo.coordsNow + " | " + humanAlt);
} else {
navLocation.setText(geo.coordsNow.toString());
diff --git a/main/src/cgeo/geocaching/cgeopopup.java b/main/src/cgeo/geocaching/cgeopopup.java
index 6e1af49..e7bf143 100644
--- a/main/src/cgeo/geocaching/cgeopopup.java
+++ b/main/src/cgeo/geocaching/cgeopopup.java
@@ -8,6 +8,7 @@ import cgeo.geocaching.enumerations.LoadFlags;
import cgeo.geocaching.enumerations.LogType;
import cgeo.geocaching.gcvote.GCVote;
import cgeo.geocaching.gcvote.GCVoteRating;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.utils.CancellableHandler;
import org.apache.commons.lang3.StringUtils;
@@ -502,7 +503,7 @@ public class cgeopopup extends AbstractActivity {
try {
if (geo.coordsNow != null && cache != null && cache.getCoords() != null) {
- cacheDistance.setText(cgBase.getHumanDistance(geo.coordsNow.distanceTo(cache.getCoords())));
+ cacheDistance.setText(HumanDistance.getHumanDistance(geo.coordsNow.distanceTo(cache.getCoords())));
cacheDistance.bringToFront();
}
} catch (Exception e) {
diff --git a/main/src/cgeo/geocaching/cgeotrackable.java b/main/src/cgeo/geocaching/cgeotrackable.java
index 557d11a..e40e04f 100644
--- a/main/src/cgeo/geocaching/cgeotrackable.java
+++ b/main/src/cgeo/geocaching/cgeotrackable.java
@@ -1,6 +1,7 @@
package cgeo.geocaching;
import cgeo.geocaching.activity.AbstractActivity;
+import cgeo.geocaching.geopoint.HumanDistance;
import cgeo.geocaching.network.HtmlImage;
import org.apache.commons.lang3.StringUtils;
@@ -157,7 +158,7 @@ public class cgeotrackable extends AbstractActivity {
// trackable distance
if (trackable.getDistance() >= 0) {
- addDetail(R.string.trackable_distance, cgBase.getHumanDistance(trackable.getDistance()));
+ addDetail(R.string.trackable_distance, HumanDistance.getHumanDistance(trackable.getDistance()));
}
// trackable goal
diff --git a/main/src/cgeo/geocaching/enumerations/WaypointType.java b/main/src/cgeo/geocaching/enumerations/WaypointType.java
index 551ee19..78e5ceb 100644
--- a/main/src/cgeo/geocaching/enumerations/WaypointType.java
+++ b/main/src/cgeo/geocaching/enumerations/WaypointType.java
@@ -76,6 +76,7 @@ public enum WaypointType {
}
}
+ @Override
public final String toString() {
return getL10n();
}
diff --git a/main/src/cgeo/geocaching/geopoint/HumanDistance.java b/main/src/cgeo/geocaching/geopoint/HumanDistance.java
new file mode 100644
index 0000000..7ae2684
--- /dev/null
+++ b/main/src/cgeo/geocaching/geopoint/HumanDistance.java
@@ -0,0 +1,42 @@
+package cgeo.geocaching.geopoint;
+
+import cgeo.geocaching.Settings;
+
+public class HumanDistance {
+ public static String getHumanDistance(final Float distanceKilometers) {
+ if (distanceKilometers == null) {
+ return "?";
+ }
+
+ if (Settings.isUseMetricUnits()) {
+ if (distanceKilometers > 100) {
+ return String.format("%d", Math.round(distanceKilometers)) + " km";
+ } else if (distanceKilometers > 10) {
+ return String.format("%.1f", Double.valueOf(Math.round(distanceKilometers * 10.0) / 10.0)) + " km";
+ } else if (distanceKilometers > 1) {
+ return String.format("%.2f", Double.valueOf(Math.round(distanceKilometers * 100.0) / 100.0)) + " km";
+ } else if (distanceKilometers > 0.1) {
+ return String.format("%d", Math.round(distanceKilometers * 1000.0)) + " m";
+ } else if (distanceKilometers > 0.01) {
+ return String.format("%.1f", Double.valueOf(Math.round(distanceKilometers * 1000.0 * 10.0) / 10.0)) + " m";
+ } else {
+ return String.format("%.2f", Double.valueOf(Math.round(distanceKilometers * 1000.0 * 100.0) / 100.0)) + " m";
+ }
+ } else {
+ final float miles = distanceKilometers / IConversion.miles2km;
+ if (distanceKilometers > 100) {
+ return String.format("%d", Math.round(miles)) + " mi";
+ } else if (distanceKilometers > 0.5) {
+ return String.format("%.1f", Double.valueOf(Math.round(miles * 10.0) / 10.0)) + " mi";
+ } else if (distanceKilometers > 0.1) {
+ return String.format("%.2f", Double.valueOf(Math.round(miles * 100.0) / 100.0)) + " mi";
+ } else if (distanceKilometers > 0.05) {
+ return String.format("%d", Math.round(miles * 5280.0)) + " ft";
+ } else if (distanceKilometers > 0.01) {
+ return String.format("%.1f", Double.valueOf(Math.round(miles * 5280 * 10.0) / 10.0)) + " ft";
+ } else {
+ return String.format("%.2f", Double.valueOf(Math.round(miles * 5280 * 100.0) / 100.0)) + " ft";
+ }
+ }
+ }
+}
diff --git a/main/src/cgeo/geocaching/geopoint/Viewport.java b/main/src/cgeo/geocaching/geopoint/Viewport.java
index 71508c3..2b76624 100644
--- a/main/src/cgeo/geocaching/geopoint/Viewport.java
+++ b/main/src/cgeo/geocaching/geopoint/Viewport.java
@@ -33,6 +33,7 @@ public class Viewport {
return topRight.getLongitude();
}
+ @Override
public String toString() {
return "(" + bottomLeft.toString() + "," + topRight.toString() + ")";
}
diff --git a/main/src/cgeo/geocaching/ui/DistanceView.java b/main/src/cgeo/geocaching/ui/DistanceView.java
index 49c90b7..83de4aa 100644
--- a/main/src/cgeo/geocaching/ui/DistanceView.java
+++ b/main/src/cgeo/geocaching/ui/DistanceView.java
@@ -1,7 +1,7 @@
package cgeo.geocaching.ui;
-import cgeo.geocaching.cgBase;
import cgeo.geocaching.geopoint.Geopoint;
+import cgeo.geocaching.geopoint.HumanDistance;
import android.content.Context;
import android.util.AttributeSet;
@@ -30,11 +30,11 @@ public class DistanceView extends TextView {
if (cacheCoords == null || coords == null) {
return;
}
- setText(cgBase.getHumanDistance(coords.distanceTo(cacheCoords)));
+ setText(HumanDistance.getHumanDistance(coords.distanceTo(cacheCoords)));
}
public void setDistance(Float distance) {
- setText("~" + cgBase.getHumanDistance(distance));
+ setText("~" + HumanDistance.getHumanDistance(distance));
}
public void clear() {