altosdroid: Skip updating hidden UI elements
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / TabPad.java
index 2c6732e52e9765ec34df56a3f1b1ffeeaff31971..03b78b75dbf29a0cfa9e24b766358bee9d388853 100644 (file)
@@ -17,7 +17,7 @@
 
 package org.altusmetrum.AltosDroid;
 
-import org.altusmetrum.altoslib_2.*;
+import org.altusmetrum.altoslib_5.*;
 
 import android.app.Activity;
 import android.os.Bundle;
@@ -29,7 +29,7 @@ import android.widget.ImageView;
 import android.widget.TextView;
 import android.location.Location;
 
-public class TabPad extends Fragment implements AltosDroidTab {
+public class TabPad extends AltosDroidTab {
        AltosDroid mAltosDroid;
 
        private TextView mBatteryVoltageView;
@@ -101,16 +101,18 @@ public class TabPad extends Fragment implements AltosDroidTab {
                mAltosDroid = null;
        }
 
-       public void update_ui(AltosState state, AltosGreatCircle from_receiver, Location receiver) {
+       public String tab_name() { return "pad"; }
+
+       public void show(AltosState state, AltosGreatCircle from_receiver, Location receiver) {
                if (state != null) {
                        mBatteryVoltageView.setText(AltosDroid.number("%4.2f V", state.battery_voltage));
-                       mBatteryLights.set(state.battery_voltage > 3.7, state.battery_voltage == AltosLib.MISSING);
+                       mBatteryLights.set(state.battery_voltage >= AltosLib.ao_battery_good, state.battery_voltage == AltosLib.MISSING);
 
                        mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.apogee_voltage));
-                       mApogeeLights.set(state.apogee_voltage > 3.2, state.apogee_voltage == AltosLib.MISSING);
+                       mApogeeLights.set(state.apogee_voltage >= AltosLib.ao_igniter_good, state.apogee_voltage == AltosLib.MISSING);
 
                        mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_voltage));
-                       mMainLights.set(state.main_voltage > 3.2, state.main_voltage == AltosLib.MISSING);
+                       mMainLights.set(state.main_voltage >= AltosLib.ao_igniter_good, state.main_voltage == AltosLib.MISSING);
 
                        if (state.flight != 0) {
                                if (state.state <= AltosLib.ao_flight_pad)
@@ -125,7 +127,9 @@ public class TabPad extends Fragment implements AltosDroidTab {
                        mDataLoggingLights.set(state.flight != 0, state.flight == AltosLib.MISSING);
 
                        if (state.gps != null) {
-                               mGPSLockedView.setText(AltosDroid.integer("%4d sats", state.gps.nsat));
+                               int soln = state.gps.nsat;
+                               int nsat = state.gps.cc_gps_sat != null ? state.gps.cc_gps_sat.length : 0;
+                               mGPSLockedView.setText(String.format("%4d in soln, %4d in view", soln, nsat));
                                mGPSLockedLights.set(state.gps.locked && state.gps.nsat >= 4, false);
                                if (state.gps_ready)
                                        mGPSReadyView.setText("Ready");