diff options
| author | Keith Packard <keithp@keithp.com> | 2017-09-18 09:57:41 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-09-18 09:59:24 -0700 | 
| commit | 4f2cbe0c537c9f417aae310cc3b89f84e0915103 (patch) | |
| tree | f3b76221b70f33eaef55648bc352e67c46d4f886 /altoslib/AltosFlightStats.java | |
| parent | b9a00856aa4cf55ae4a143288058094ef8061134 (diff) | |
altoslib: Avoid crashing when computing stats for empty flight logs
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosFlightStats.java')
| -rw-r--r-- | altoslib/AltosFlightStats.java | 20 | 
1 files changed, 12 insertions, 8 deletions
| diff --git a/altoslib/AltosFlightStats.java b/altoslib/AltosFlightStats.java index c2e4e2a3..ea1a9675 100644 --- a/altoslib/AltosFlightStats.java +++ b/altoslib/AltosFlightStats.java @@ -212,8 +212,11 @@ public class AltosFlightStats {  					add_times(series, (int) prev.value, prev.time, state.time);  				prev = state;  			} -			if (prev != null) -				add_times(series, (int) prev.value, prev.time, series.accel_series.last().time); +			if (prev != null) { +				AltosTimeValue last_accel = series.accel_series.last(); +				if (last_accel != null) +					add_times(series, (int) prev.value, prev.time, last_accel.time); +			}  		}  		for (int s = 0; s <= AltosLib.ao_flight_invalid; s++) { @@ -245,14 +248,15 @@ public class AltosFlightStats {  			has_gps = true;  			lat = pad_lat = gps.lat;  			lon = pad_lon = gps.lon; -			for (AltosGPSTimeValue gtv : series.gps_series) { -				gps = gtv.gps; -				if (gps.locked && gps.nsat >= 4) { -					lat = gps.lat; -					lon = gps.lon; +			if (series.gps_series != null) { +				for (AltosGPSTimeValue gtv : series.gps_series) { +					gps = gtv.gps; +					if (gps.locked && gps.nsat >= 4) { +						lat = gps.lat; +						lon = gps.lon; +					}  				}  			} -  		}  		max_height = AltosLib.MISSING; | 
