altosdroid: Skip updating hidden UI elements
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / TabMap.java
index 15dc8bf7de029f9437720807fc53ea580a570c23..811e5482bcb442595d36777c9f820355a430ed31 100644 (file)
@@ -42,7 +42,7 @@ import android.view.ViewGroup;
 import android.widget.TextView;
 import android.location.Location;
 
-public class TabMap extends Fragment implements AltosDroidTab {
+public class TabMap extends AltosDroidTab {
        AltosDroid mAltosDroid;
 
        private SupportMapFragment mMapFragment;
@@ -51,6 +51,7 @@ public class TabMap extends Fragment implements AltosDroidTab {
 
        private Marker mRocketMarker;
        private Marker mPadMarker;
+       private boolean pad_set;
        private Polyline mPolyline;
 
        private TextView mDistanceView;
@@ -152,7 +153,9 @@ public class TabMap extends Fragment implements AltosDroidTab {
                }
        }
 
-       public void update_ui(AltosState state, AltosGreatCircle from_receiver, Location receiver) {
+       public String tab_name() { return "map"; }
+
+       public void show(AltosState state, AltosGreatCircle from_receiver, Location receiver) {
                if (from_receiver != null) {
                        mBearingView.setText(String.format("%3.0f°", from_receiver.bearing));
                        mDistanceView.setText(String.format("%6.0f m", from_receiver.distance));
@@ -168,7 +171,8 @@ public class TabMap extends Fragment implements AltosDroidTab {
                                        mPolyline.setVisible(true);
                                }
 
-                               if (state.state == AltosLib.ao_flight_pad) {
+                               if (!pad_set && state.pad_lat != AltosLib.MISSING) {
+                                       pad_set = true;
                                        mPadMarker.setPosition(new LatLng(state.pad_lat, state.pad_lon));
                                        mPadMarker.setVisible(true);
                                }
@@ -194,5 +198,4 @@ public class TabMap extends Fragment implements AltosDroidTab {
                }
 
        }
-
 }