altosdroid: Save selected map type in AltosDroid object
authorKeith Packard <keithp@keithp.com>
Fri, 29 May 2015 05:08:51 +0000 (22:08 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 29 May 2015 05:11:43 +0000 (22:11 -0700)
The map tabs may not have been created when the map type was selected,
so save the desired type in the main application object.

Signed-off-by: Keith Packard <keithp@keithp.com>
altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java
altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java
altosdroid/src/org/altusmetrum/AltosDroid/TabMapOffline.java

index 6c6566b..5be9ba8 100644 (file)
@@ -76,6 +76,8 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener {
        public static final int REQUEST_PRELOAD_MAPS   = 3;
        public static final int REQUEST_MAP_TYPE       = 4;
 
+       public int map_type = AltosMap.maptype_hybrid;
+
        public static FragmentManager   fm;
 
        private BluetoothAdapter mBluetoothAdapter = null;
@@ -677,12 +679,13 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener {
        }
 
        private void set_map_type(Intent data) {
-               int     mode = data.getIntExtra(MapTypeActivity.EXTRA_MAP_TYPE, -1);
+               int type = data.getIntExtra(MapTypeActivity.EXTRA_MAP_TYPE, -1);
 
-               AltosDebug.debug("intent set_map_type %d\n", mode);
-               if (mode != -1) {
+               AltosDebug.debug("intent set_map_type %d\n", type);
+               if (type != -1) {
+                       map_type = type;
                        for (AltosDroidTab mTab : mTabs)
-                               mTab.set_map_type(mode);
+                               mTab.set_map_type(map_type);
                }
        }
 
index 5376d42..cea3cac 100644 (file)
@@ -118,6 +118,7 @@ public class TabMap extends AltosDroidTab {
        private void setupMap() {
                mMap = mMapFragment.getMap();
                if (mMap != null) {
+                       set_map_type(mAltosDroid.map_type);
                        mMap.setMyLocationEnabled(true);
                        mMap.getUiSettings().setTiltGesturesEnabled(false);
                        mMap.getUiSettings().setZoomControlsEnabled(false);
index 31acda7..cbf5001 100644 (file)
@@ -389,6 +389,10 @@ public class TabMapOffline extends AltosDroidTab implements AltosMapInterface {
                super.onAttach(activity);
                mAltosDroid = (AltosDroid) activity;
                mAltosDroid.registerTab(this);
+
+               map = new AltosMap(this);
+               map.set_maptype(mAltosDroid.map_type);
+
                pad_bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.pad);
                /* arrow at the bottom of the launchpad image */
                pad_off_x = pad_bitmap.getWidth() / 2;