diff options
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/CompassActivity.java | 15 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeoapplication.java | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/GeoDirHandler.java | 7 |
3 files changed, 25 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/CompassActivity.java b/main/src/cgeo/geocaching/CompassActivity.java index a7e0f03..64be52d 100644 --- a/main/src/cgeo/geocaching/CompassActivity.java +++ b/main/src/cgeo/geocaching/CompassActivity.java @@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils; import android.content.Context; import android.content.Intent; +import android.content.res.Configuration; import android.hardware.Sensor; import android.hardware.SensorManager; import android.media.AudioManager; @@ -123,6 +124,20 @@ public class CompassActivity extends AbstractActivity { } @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + + setContentView(R.layout.compass_activity); + Views.inject(this); + + setTitle(); + setDestCoords(); + setCacheInfo(); + + geoDirHandler.updateAll(); + } + + @Override public boolean onCreateOptionsMenu(final Menu menu) { getMenuInflater().inflate(R.menu.compass_activity_options, menu); menu.findItem(R.id.menu_switch_compass_gps).setVisible(hasMagneticFieldSensor); diff --git a/main/src/cgeo/geocaching/cgeoapplication.java b/main/src/cgeo/geocaching/cgeoapplication.java index b8f63ee..b227939 100644 --- a/main/src/cgeo/geocaching/cgeoapplication.java +++ b/main/src/cgeo/geocaching/cgeoapplication.java @@ -170,6 +170,10 @@ public class cgeoapplication extends Application { return dir; } + public Float currentDirection() { + return currentDirObject().getMemory(); + } + public StatusUpdater getStatusUpdater() { return statusUpdater; } diff --git a/main/src/cgeo/geocaching/utils/GeoDirHandler.java b/main/src/cgeo/geocaching/utils/GeoDirHandler.java index 98a2287..14e6426 100644 --- a/main/src/cgeo/geocaching/utils/GeoDirHandler.java +++ b/main/src/cgeo/geocaching/utils/GeoDirHandler.java @@ -1,8 +1,8 @@ package cgeo.geocaching.utils; import cgeo.geocaching.IGeoData; -import cgeo.geocaching.settings.Settings; import cgeo.geocaching.cgeoapplication; +import cgeo.geocaching.settings.Settings; import android.os.Handler; import android.os.Message; @@ -63,6 +63,11 @@ 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. * |
