altoslib: fix adjustment of landed time
authorKeith Packard <keithp@keithp.com>
Fri, 21 Jul 2017 23:09:55 +0000 (16:09 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 21 Jul 2017 23:09:55 +0000 (16:09 -0700)
Push landed time out if we computed silliness.

Signed-off-by: Keith Packard <keithp@keithp.com>
altoslib/AltosFlightStats.java

index 7159cc35e8d6ef7effb6bfe7b685d1158ba3cb24..6f8732cf5c25af479793e670fb256b6dc3312cfe 100644 (file)
@@ -53,11 +53,14 @@ public class AltosFlightStats {
        double landed_time(AltosFlightSeries series) {
                double  landed_state_time = AltosLib.MISSING;
 
        double landed_time(AltosFlightSeries series) {
                double  landed_state_time = AltosLib.MISSING;
 
+               double  prev_state_time = AltosLib.MISSING;
                if (series.state_series != null) {
                        for (AltosTimeValue state : series.state_series) {
                                if (state.value == AltosLib.ao_flight_landed) {
                                        landed_state_time = state.time;
                                        break;
                if (series.state_series != null) {
                        for (AltosTimeValue state : series.state_series) {
                                if (state.value == AltosLib.ao_flight_landed) {
                                        landed_state_time = state.time;
                                        break;
+                               } else {
+                                       prev_state_time = state.time;
                                }
                        }
                }
                                }
                        }
                }
@@ -95,7 +98,7 @@ public class AltosFlightStats {
                        }
                }
 
                        }
                }
 
-               if (landed_time == AltosLib.MISSING)
+               if (landed_time == AltosLib.MISSING || (prev_state_time != AltosLib.MISSING && landed_time < prev_state_time))
                        landed_time = landed_state_time;
                return landed_time;
        }
                        landed_time = landed_state_time;
                return landed_time;
        }