aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/src/cgeo/geocaching/maps/CGeoMap.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java
index fb366c8..a2848ae 100644
--- a/main/src/cgeo/geocaching/maps/CGeoMap.java
+++ b/main/src/cgeo/geocaching/maps/CGeoMap.java
@@ -350,7 +350,12 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
public void onSaveInstanceState(final Bundle outState) {
outState.putInt(BUNDLE_MAP_SOURCE, currentSourceId);
outState.putIntArray(BUNDLE_MAP_STATE, currentMapState());
- outState.putString(BUNDLE_MAP_MODE, mapMode.name());
+ if (isLiveMode()) {
+ outState.putString(BUNDLE_MAP_MODE, mapMode.name());
+ }
+ else {
+ outState.putString(BUNDLE_MAP_MODE, null);
+ }
}
@Override
@@ -392,7 +397,10 @@ public class CGeoMap extends AbstractMap implements OnMapDragListener, ViewFacto
if (savedInstanceState != null) {
currentSourceId = savedInstanceState.getInt(BUNDLE_MAP_SOURCE, Settings.getMapSource());
mapStateIntent = savedInstanceState.getIntArray(BUNDLE_MAP_STATE);
- mapMode = Enum.valueOf(MapMode.class, savedInstanceState.getString(BUNDLE_MAP_MODE));
+ String lastMapmode = savedInstanceState.getString(BUNDLE_MAP_MODE);
+ if (lastMapmode != null) {
+ mapMode = Enum.valueOf(MapMode.class, lastMapmode);
+ }
Settings.setLiveMap(mapMode == MapMode.LIVE_ONLINE);
} else {