aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorPortree-Kid <keith.paterson@gmx.de>2012-10-17 20:03:24 +0200
committerPortree-Kid <keith.paterson@gmx.de>2012-10-17 20:03:24 +0200
commitae74d5c6f1a9f7bc0e90c8e6405745acd01ad5ef (patch)
tree31a16faf1d42c6892750e217b89733791c081d5a /main/src
parentd33c1a01502ce6cb3737d1a88bf0ccd174213ac7 (diff)
downloadcgeo-ae74d5c6f1a9f7bc0e90c8e6405745acd01ad5ef.zip
cgeo-ae74d5c6f1a9f7bc0e90c8e6405745acd01ad5ef.tar.gz
cgeo-ae74d5c6f1a9f7bc0e90c8e6405745acd01ad5ef.tar.bz2
Changed saving of Map-Mode
* Live map starts in last LiveMapMode, persists on exit * Other maps always start in non-live mode, switch possible, CurrentMapMode not persisted Closes #1990
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/maps/CGeoMap.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/maps/CGeoMap.java b/main/src/cgeo/geocaching/maps/CGeoMap.java
index fb366c8..46436bb 100644
--- a/main/src/cgeo/geocaching/maps/CGeoMap.java
+++ b/main/src/cgeo/geocaching/maps/CGeoMap.java
@@ -350,7 +350,14 @@ 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 +399,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));
+ if (savedInstanceState.getString(BUNDLE_MAP_MODE) != null)
+ {
+ mapMode = Enum.valueOf(MapMode.class, savedInstanceState.getString(BUNDLE_MAP_MODE));
+ }
Settings.setLiveMap(mapMode == MapMode.LIVE_ONLINE);
} else {