From c2640c09c76ce32e471dcf6df83095d146bb39a2 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 16 Apr 2013 14:22:23 -0700 Subject: [PATCH 1/1] altosdroid: Check for missing values When displaying numbers, check for MISSING values and display nothing Signed-off-by: Keith Packard --- altosdroid/res/layout/tab_ascent.xml | 4 +-- altosdroid/res/layout/tab_descent.xml | 4 +-- altosdroid/res/layout/tab_pad.xml | 12 ++++----- .../altusmetrum/AltosDroid/AltosDroid.java | 8 ++++++ .../altusmetrum/AltosDroid/GoNoGoLights.java | 15 ++++++++--- .../org/altusmetrum/AltosDroid/TabAscent.java | 23 +++++++++------- .../altusmetrum/AltosDroid/TabDescent.java | 20 +++++++------- .../org/altusmetrum/AltosDroid/TabPad.java | 27 ++++++++++--------- 8 files changed, 67 insertions(+), 46 deletions(-) diff --git a/altosdroid/res/layout/tab_ascent.xml b/altosdroid/res/layout/tab_ascent.xml index d2d721e1..b21ec426 100644 --- a/altosdroid/res/layout/tab_ascent.xml +++ b/altosdroid/res/layout/tab_ascent.xml @@ -228,7 +228,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="@string/apogee_voltage_label" - android:src="@drawable/redled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> + android:src="@drawable/grayled" /> 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); } } } diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java index 49774a30..09e7169b 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java @@ -91,14 +91,14 @@ public class TabDescent extends Fragment implements AltosDroidTab { public void update_ui(AltosState state, AltosGreatCircle from_receiver, Location receiver) { if (state != null) { - mSpeedView.setText(String.format("%6.0f m/s", state.speed())); - mHeightView.setText(String.format("%6.0f m", state.height)); + mSpeedView.setText(AltosDroid.number("%6.0f m/s", state.speed())); + mHeightView.setText(AltosDroid.number("%6.0f m", state.height)); if (from_receiver != null) { - mElevationView.setText(String.format("%3.0f°", from_receiver.elevation)); - mRangeView.setText(String.format("%6.0f m", from_receiver.range)); - mBearingView.setText(String.format("%3.0f°", from_receiver.bearing)); + mElevationView.setText(AltosDroid.number("%3.0f°", from_receiver.elevation)); + mRangeView.setText(AltosDroid.number("%6.0f m", from_receiver.range)); + mBearingView.setText(AltosDroid.number("%3.0f°", from_receiver.bearing)); mCompassView.setText(from_receiver.bearing_words(AltosGreatCircle.BEARING_LONG)); - mDistanceView.setText(String.format("%6.0f m", from_receiver.distance)); + mDistanceView.setText(AltosDroid.number("%6.0f m", from_receiver.distance)); } else { mElevationView.setText(""); mRangeView.setText(""); @@ -111,11 +111,11 @@ public class TabDescent extends Fragment implements AltosDroidTab { mLongitudeView.setText(AltosDroid.pos(state.gps.lon, "W", "E")); } - 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); } } diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java index 3c168e37..8b3c4012 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java @@ -103,14 +103,14 @@ public class TabPad extends Fragment implements AltosDroidTab { public void update_ui(AltosState state, AltosGreatCircle from_receiver, Location receiver) { if (state != null) { - mBatteryVoltageView.setText(String.format("%4.2f V", state.battery)); - mBatteryLights.set(state.battery > 3.7); + mBatteryVoltageView.setText(AltosDroid.number("%4.2f V", state.battery)); + mBatteryLights.set(state.battery > 3.7, state.battery == AltosRecord.MISSING); - 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); if (state.data.flight != 0) { if (state.data.state <= AltosLib.ao_flight_pad) @@ -122,17 +122,18 @@ public class TabPad extends Fragment implements AltosDroidTab { } else { mDataLoggingView.setText("Storage full"); } - mDataLoggingLights.set(state.data.flight != 0); + mDataLoggingLights.set(state.data.flight != 0, state.data.flight != AltosRecord.MISSING); if (state.gps != null) { - mGPSLockedView.setText(String.format("%4d sats", state.gps.nsat)); - mGPSLockedLights.set(state.gps.locked && state.gps.nsat >= 4); + mGPSLockedView.setText(AltosDroid.number("%4d sats", state.gps.nsat)); + mGPSLockedLights.set(state.gps.locked && state.gps.nsat >= 4, false); if (state.gps_ready) mGPSReadyView.setText("Ready"); else - mGPSReadyView.setText(String.format("Waiting %d", state.gps_waiting)); - mGPSReadyLights.set(state.gps_ready); - } + mGPSReadyView.setText(AltosDroid.number("Waiting %d", state.gps_waiting)); + } else + mGPSLockedLights.set(false, true); + mGPSReadyLights.set(state.gps_ready, state.gps == null); } if (receiver != null) { @@ -141,7 +142,7 @@ public class TabPad extends Fragment implements AltosDroidTab { altitude = receiver.getAltitude(); mPadLatitudeView.setText(AltosDroid.pos(receiver.getLatitude(), "N", "S")); mPadLongitudeView.setText(AltosDroid.pos(receiver.getLongitude(), "W", "E")); - mPadAltitudeView.setText(String.format("%4.0f m", altitude)); + mPadAltitudeView.setText(AltosDroid.number("%4.0f m", altitude)); } } -- 2.30.2