From 59dfe661fcb504f390d9726378c676f2b5b005f3 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 17 Aug 2014 20:48:23 -0700 Subject: 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 --- altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java') 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 { } } - } -- cgit v1.2.3