diff options
| author | Portree-Kid <keith.paterson@gmx.de> | 2012-10-17 20:03:24 +0200 |
|---|---|---|
| committer | Portree-Kid <keith.paterson@gmx.de> | 2012-10-17 20:03:24 +0200 |
| commit | ae74d5c6f1a9f7bc0e90c8e6405745acd01ad5ef (patch) | |
| tree | 31a16faf1d42c6892750e217b89733791c081d5a /main/src | |
| parent | d33c1a01502ce6cb3737d1a88bf0ccd174213ac7 (diff) | |
| download | cgeo-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.java | 14 |
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 { |
