aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/CgeoApplication.java7
-rw-r--r--main/src/cgeo/geocaching/ui/CacheDetailsCreator.java17
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);