From 5d1361c95f94125cda244b4cc5e55c2fb77b680b Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 9 Oct 2011 11:09:25 -0600 Subject: [PATCH] altosui: Deal with missing state transitions in FlightStats window Any missing start/end times are pinned to the end of the flight. Signed-off-by: Keith Packard --- altosui/AltosFlightStats.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/altosui/AltosFlightStats.java b/altosui/AltosFlightStats.java index 2067951e..72d12600 100644 --- a/altosui/AltosFlightStats.java +++ b/altosui/AltosFlightStats.java @@ -47,7 +47,7 @@ public class AltosFlightStats { AltosState state = null; AltosState new_state = null; double boost_time = -1; - double start_time; + double end_time = 0; year = month = day = -1; hour = minute = second = -1; @@ -62,9 +62,7 @@ public class AltosFlightStats { if ((record.seen & AltosRecord.seen_flight) != 0 && flight < 0) flight = record.flight; new_state = new AltosState(record, state); - if (state == null) { - start_time = new_state.time; - } + end_time = new_state.time; state = new_state; if (0 <= state.state && state.state < Altos.ao_flight_invalid) { if (state.state >= Altos.ao_flight_boost) { @@ -107,6 +105,10 @@ public class AltosFlightStats { state_baro_speed[s] /= state_count[s]; state_accel[s] /= state_count[s]; } + if (state_start[s] == 0) + state_start[s] = end_time; + if (state_end[s] == 0) + state_end[s] = end_time; } } -- 2.30.2