diff options
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/CgeoApplication.java | 7 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/ui/CacheDetailsCreator.java | 17 |
2 files changed, 9 insertions, 15 deletions
diff --git a/main/src/cgeo/geocaching/CgeoApplication.java b/main/src/cgeo/geocaching/CgeoApplication.java index 863dcdd..6eb1235 100644 --- a/main/src/cgeo/geocaching/CgeoApplication.java +++ b/main/src/cgeo/geocaching/CgeoApplication.java @@ -108,6 +108,13 @@ public class CgeoApplication extends Application { return currentGeo != null ? currentGeo : geoDataObservable().toBlocking().first(); } + public Float distanceNonBlocking(final ICoordinates target) { + if (currentGeo == null || target.getCoords() == null) { + return null; + } + return currentGeo.getCoords().distanceTo(target); + } + public float currentDirection() { return currentDirection; } diff --git a/main/src/cgeo/geocaching/ui/CacheDetailsCreator.java b/main/src/cgeo/geocaching/ui/CacheDetailsCreator.java index 78e1dec..40cd726 100644 --- a/main/src/cgeo/geocaching/ui/CacheDetailsCreator.java +++ b/main/src/cgeo/geocaching/ui/CacheDetailsCreator.java @@ -7,7 +7,6 @@ import cgeo.geocaching.Geocache; import cgeo.geocaching.R; import cgeo.geocaching.Waypoint; import cgeo.geocaching.connector.ConnectorFactory; -import cgeo.geocaching.geopoint.Geopoint; import cgeo.geocaching.geopoint.Units; import cgeo.geocaching.utils.Formatter; @@ -152,13 +151,7 @@ public final class CacheDetailsCreator { } public void addDistance(final Geocache cache, final TextView cacheDistanceView) { - Float distance = null; - if (cache.getCoords() != null) { - final Geopoint currentCoords = CgeoApplication.getInstance().currentGeo().getCoords(); - if (currentCoords != null) { - distance = currentCoords.distanceTo(cache); - } - } + Float distance = CgeoApplication.getInstance().distanceNonBlocking(cache); if (distance == null) { if (cache.getDistance() != null) { distance = cache.getDistance(); @@ -177,13 +170,7 @@ public final class CacheDetailsCreator { } public void addDistance(final Waypoint wpt, final TextView waypointDistanceView) { - Float distance = null; - if (wpt.getCoords() != null) { - final Geopoint currentCoords = CgeoApplication.getInstance().currentGeo().getCoords(); - if (currentCoords != null) { - distance = currentCoords.distanceTo(wpt); - } - } + Float distance = CgeoApplication.getInstance().distanceNonBlocking(wpt); String text = "--"; if (distance != null) { text = Units.getDistanceFromKilometers(distance); |
