diff options
Diffstat (limited to 'main/src/cgeo/geocaching/geopoint')
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/DistanceParser.java | 3 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/Geopoint.java | 36 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/geopoint/Units.java | 34 |
3 files changed, 14 insertions, 59 deletions
diff --git a/main/src/cgeo/geocaching/geopoint/DistanceParser.java b/main/src/cgeo/geocaching/geopoint/DistanceParser.java index 5a840a8..e3a7482 100644 --- a/main/src/cgeo/geocaching/geopoint/DistanceParser.java +++ b/main/src/cgeo/geocaching/geopoint/DistanceParser.java @@ -22,7 +22,8 @@ public final class DistanceParser { * @throws NumberFormatException * if the given number is invalid */ - public static float parseDistance(String distanceText, final boolean metricUnit) throws NumberFormatException { + public static float parseDistance(String distanceText, final boolean metricUnit) + throws NumberFormatException { final MatcherWrapper matcher = new MatcherWrapper(pattern, distanceText); if (!matcher.find()) { diff --git a/main/src/cgeo/geocaching/geopoint/Geopoint.java b/main/src/cgeo/geocaching/geopoint/Geopoint.java index dbe0aa4..e8a6dff 100644 --- a/main/src/cgeo/geocaching/geopoint/Geopoint.java +++ b/main/src/cgeo/geocaching/geopoint/Geopoint.java @@ -2,14 +2,8 @@ package cgeo.geocaching.geopoint; import cgeo.geocaching.ICoordinates; import cgeo.geocaching.R; -import cgeo.geocaching.geopoint.GeopointFormatter.Format; -import cgeo.geocaching.network.Network; -import cgeo.geocaching.network.Parameters; -import cgeo.geocaching.utils.Log; import org.apache.commons.lang3.StringUtils; -import org.json.JSONArray; -import org.json.JSONObject; import android.location.Location; import android.os.Parcel; @@ -297,7 +291,7 @@ public final class Geopoint implements ICoordinates, Parcelable { /** * Returns formatted coordinates with default format. * Default format is decimalminutes, e.g. N 52° 36.123 E 010° 03.456 - * + * * @return formatted coordinates */ @Override @@ -323,34 +317,6 @@ public final class Geopoint implements ICoordinates, Parcelable { } } - public Double getElevation() { - try { - final String uri = "http://maps.googleapis.com/maps/api/elevation/json"; - final Parameters params = new Parameters( - "sensor", "false", - "locations", format(Format.LAT_LON_DECDEGREE_COMMA)); - final JSONObject response = Network.requestJSON(uri, params); - - if (response == null) { - return null; - } - - if (!StringUtils.equalsIgnoreCase(response.getString("status"), "OK")) { - return null; - } - - if (response.has("results")) { - JSONArray results = response.getJSONArray("results"); - JSONObject result = results.getJSONObject(0); - return result.getDouble("elevation"); - } - } catch (Exception e) { - Log.w("cgBase.getElevation", e); - } - - return null; - } - @Override public Geopoint getCoords() { return this; diff --git a/main/src/cgeo/geocaching/geopoint/Units.java b/main/src/cgeo/geocaching/geopoint/Units.java index 3da3ad9..b99e00e 100644 --- a/main/src/cgeo/geocaching/geopoint/Units.java +++ b/main/src/cgeo/geocaching/geopoint/Units.java @@ -1,6 +1,6 @@ package cgeo.geocaching.geopoint; -import cgeo.geocaching.Settings; +import cgeo.geocaching.settings.Settings; import org.apache.commons.lang3.tuple.ImmutablePair; @@ -9,15 +9,7 @@ public class Units { public static ImmutablePair<Double, String> scaleDistance(final double distanceKilometers) { double distance; String units; - if (Settings.isUseMetricUnits()) { - if (distanceKilometers >= 1) { - distance = distanceKilometers; - units = "km"; - } else { - distance = distanceKilometers * 1000; - units = "m"; - } - } else { + if (Settings.isUseImperialUnits()) { distance = distanceKilometers / IConversion.MILES_TO_KILOMETER; if (distance >= 0.1) { units = "mi"; @@ -25,6 +17,14 @@ public class Units { distance *= 5280; units = "ft"; } + } else { + if (distanceKilometers >= 1) { + distance = distanceKilometers; + units = "km"; + } else { + distance = distanceKilometers * 1000; + units = "m"; + } } return new ImmutablePair<Double, String>(distance, units); } @@ -47,18 +47,6 @@ public class Units { return String.format(formatString + " %s", scaled.left, scaled.right); } - /** - * Get human readable elevation, depending on settings for metric units. - * Result is rounded to full meters/feet, as the sensors don't have that precision anyway. - * - * @param meters - * @return - */ - public static String getElevation(float meters) { - final ImmutablePair<Double, String> scaled = scaleDistance(meters / 1000f); - return (meters >= 0 ? "↥ " : "↧ ") + String.format("%d %s", Math.abs(Math.round(scaled.left)), scaled.right); - } - public static String getDistanceFromMeters(float meters) { return getDistanceFromKilometers(meters / 1000f); } @@ -68,6 +56,6 @@ public class Units { if (speed.endsWith("mi")) { return speed.substring(0, speed.length() - 2) + "mph"; } - return speed + (Settings.isUseMetricUnits() ? "/h" : "ph"); + return speed + (!Settings.isUseImperialUnits() ? "/h" : "ph"); } } |
