diff options
| author | Keith Packard <keithp@keithp.com> | 2014-08-17 20:48:23 -0700 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2014-08-17 20:48:23 -0700 |
| commit | 59dfe661fcb504f390d9726378c676f2b5b005f3 (patch) | |
| tree | 3b04fce1f5365ba7f98768dcaa3b29bfbb0afcb4 /altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java | |
| parent | b1f1844aa514893228080704da3b3ccf855bda1e (diff) | |
altosdroid: Skip updating hidden UI elements
Instead of updating everything in the UI, only update the visible UI
elements to save a bunch of computation.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java')
| -rw-r--r-- | altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java index 15dc8bf7..811e5482 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java @@ -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 { } } - } |
