Switch from GPLv2 to GPLv2+
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / AltosVoice.java
index 9e953ffe7fc967a779704a73b800ad9218969785..811b03675d63640bb62d258ce46a6a249fa43d9d 100644 (file)
@@ -4,7 +4,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -22,7 +23,7 @@ import android.speech.tts.TextToSpeech;
 import android.speech.tts.TextToSpeech.OnInitListener;
 import android.location.Location;
 
-import org.altusmetrum.altoslib_7.*;
+import org.altusmetrum.altoslib_11.*;
 
 public class AltosVoice {
 
@@ -183,9 +184,12 @@ public class AltosVoice {
                if (state == null)
                        return false;
 
-               if (state.state != last_state && AltosLib.ao_flight_boost <= state.state && state.state <= AltosLib.ao_flight_landed) {
+               if (last_tell_mode != TELL_MODE_FLIGHT)
+                       last_flight_tell = TELL_FLIGHT_NONE;
+
+               if (state.state() != last_state && AltosLib.ao_flight_boost <= state.state() && state.state() <= AltosLib.ao_flight_landed) {
                        speak(state.state_name());
-                       if (descending(state.state) && !descending(last_state)) {
+                       if (descending(state.state()) && !descending(last_state)) {
                                if (state.max_height() != AltosLib.MISSING) {
                                        speak("max height: %s.",
                                              AltosConvert.height.say_units(state.max_height()));
@@ -195,8 +199,8 @@ public class AltosVoice {
                        return true;
                }
 
-               if (last_tell_mode == TELL_MODE_FLIGHT) {
-                       if (time_since_speak() < 10 * 1000 && last_flight_tell == TELL_FLIGHT_TRACK)
+               if (last_tell_mode == TELL_MODE_FLIGHT && last_flight_tell == TELL_FLIGHT_TRACK) {
+                       if (time_since_speak() < 10 * 1000)
                                return false;
                        if (!target_moved(state) && !receiver_moved(receiver))
                                return false;
@@ -208,7 +212,7 @@ public class AltosVoice {
                if (last_flight_tell == TELL_FLIGHT_NONE || last_flight_tell == TELL_FLIGHT_STATE || last_flight_tell == TELL_FLIGHT_TRACK) {
                        last_flight_tell = TELL_FLIGHT_SPEED;
 
-                       if (state.state <= AltosLib.ao_flight_coast) {
+                       if (state.state() <= AltosLib.ao_flight_coast) {
                                speed = state.speed();
                        } else {
                                speed = state.gps_speed();
@@ -298,10 +302,6 @@ public class AltosVoice {
                else
                        tell_mode = TELL_MODE_RECOVER;
 
-               AltosDebug.debug("last_serial %d serial %d last_mode %d mode %d\n",
-                                last_tell_serial, tell_serial,
-                                last_tell_mode, tell_mode);
-
                if (tell_mode == TELL_MODE_PAD)
                        spoken = tell_pad(telem_state, state, from_receiver, receiver);
                else if (tell_mode == TELL_MODE_FLIGHT)
@@ -313,7 +313,7 @@ public class AltosVoice {
                        last_tell_mode = tell_mode;
                        last_tell_serial = tell_serial;
                        if (state != null) {
-                               last_state = state.state;
+                               last_state = state.state();
                                last_height = state.height();
                                if (state.gps != null)
                                        last_gps = state.gps;