aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/cgeo/geocaching/CompassActivity.java11
-rw-r--r--main/src/cgeo/geocaching/utils/GeoDirHandler.java5
2 files changed, 10 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/CompassActivity.java b/main/src/cgeo/geocaching/CompassActivity.java
index 64be52d..909f8bb 100644
--- a/main/src/cgeo/geocaching/CompassActivity.java
+++ b/main/src/cgeo/geocaching/CompassActivity.java
@@ -134,7 +134,16 @@ public class CompassActivity extends AbstractActivity {
setDestCoords();
setCacheInfo();
- geoDirHandler.updateAll();
+ // Force a refresh of location and direction when data is available.
+ final cgeoapplication app = cgeoapplication.getInstance();
+ final IGeoData geo = app.currentGeo();
+ if (geo != null) {
+ geoDirHandler.update(geo);
+ }
+ final Float dir = app.currentDirection();
+ if (dir != null) {
+ geoDirHandler.update(dir);
+ }
}
@Override
diff --git a/main/src/cgeo/geocaching/utils/GeoDirHandler.java b/main/src/cgeo/geocaching/utils/GeoDirHandler.java
index 14e6426..a143730 100644
--- a/main/src/cgeo/geocaching/utils/GeoDirHandler.java
+++ b/main/src/cgeo/geocaching/utils/GeoDirHandler.java
@@ -63,11 +63,6 @@ public abstract class GeoDirHandler extends Handler implements IObserver<Object>
obtainMessage(OBSERVABLE, o).sendToTarget();
}
- public void updateAll() {
- update(app.currentGeo());
- update(app.currentDirection());
- }
-
/**
* Update method called when new IGeoData is available.
*