altosdroid: Check for missing values
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / TabAscent.java
index 23d2e97cead2eb9d48e8000316183999a0d7f8b4..0e141ae47e942e2983333a1ef526c79b67b13c2d 100644 (file)
@@ -87,23 +87,26 @@ public class TabAscent extends Fragment implements AltosDroidTab {
 
        public void update_ui(AltosState state, AltosGreatCircle from_receiver, Location receiver) {
                if (state != null) {
-                       mHeightView.setText(String.format("%6.0f m", state.height));
-                       mMaxHeightView.setText(String.format("%6.0f m", state.max_height));
-                       mSpeedView.setText(String.format("%6.0f m/s", state.speed()));
-                       mMaxSpeedView.setText(String.format("%6.0f m/s", state.max_speed()));
-                       mAccelView.setText(String.format("%6.0f m/s²", state.acceleration));
-                       mMaxAccelView.setText(String.format("%6.0f m/s²", state.max_acceleration));
+                       mHeightView.setText(AltosDroid.number("%6.0f m", state.height));
+                       mMaxHeightView.setText(AltosDroid.number("%6.0f m", state.max_height));
+                       mSpeedView.setText(AltosDroid.number("%6.0f m/s", state.speed()));
+                       mMaxSpeedView.setText(AltosDroid.number("%6.0f m/s", state.max_speed()));
+                       mAccelView.setText(AltosDroid.number("%6.0f m/s²", state.acceleration));
+                       mMaxAccelView.setText(AltosDroid.number("%6.0f m/s²", state.max_acceleration));
 
                        if (state.gps != null) {
                                mLatitudeView.setText(AltosDroid.pos(state.gps.lat, "N", "S"));
                                mLongitudeView.setText(AltosDroid.pos(state.gps.lon, "W", "E"));
+                       } else {
+                               mLatitudeView.setText("");
+                               mLongitudeView.setText("");
                        }
 
-                       mApogeeVoltageView.setText(String.format("%4.2f V", state.drogue_sense));
-                       mApogeeLights.set(state.drogue_sense > 3.2);
+                       mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.drogue_sense));
+                       mApogeeLights.set(state.drogue_sense > 3.2, state.drogue_sense == AltosRecord.MISSING);
 
-                       mMainVoltageView.setText(String.format("%4.2f V", state.main_sense));
-                       mMainLights.set(state.main_sense > 3.2);
+                       mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_sense));
+                       mMainLights.set(state.main_sense > 3.2, state.main_sense == AltosRecord.MISSING);
                }
        }
 }