summaryrefslogtreecommitdiff
path: root/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2014-06-15 17:47:41 -0600
committerBdale Garbee <bdale@gag.com>2014-06-15 17:47:41 -0600
commitc5cfc0d6e507d093987741b6ffaf69ebb24caa4b (patch)
treea75b83343939e96592ac07178f2011d82ea6ded8 /altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
parent1b3d07ede530fa40cb7257fb1725c969ba60e0f0 (diff)
parent9ab3a1de95b705783c31a7e16447f52c10b6b480 (diff)
Merge branch 'branch-1.4' into debian
Diffstat (limited to 'altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java')
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java19
1 files changed, 12 insertions, 7 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
index b50cab22..5e8515cb 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
@@ -21,7 +21,7 @@ package org.altusmetrum.AltosDroid;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
-import org.altusmetrum.altoslib_3.*;
+import org.altusmetrum.altoslib_4.*;
public class AltosVoice {
@@ -63,14 +63,17 @@ public class AltosVoice {
boolean spoke = false;
if (old_state == null || old_state.state != state.state) {
- speak(state.state_name());
+ if (state.state != AltosLib.ao_flight_stateless)
+ speak(state.state_name());
if ((old_state == null || old_state.state <= AltosLib.ao_flight_boost) &&
state.state > AltosLib.ao_flight_boost) {
- speak(String.format("max speed: %d meters per second.", (int) (state.max_speed() + 0.5)));
+ if (state.max_speed() != AltosLib.MISSING)
+ speak(String.format("max speed: %d meters per second.", (int) (state.max_speed() + 0.5)));
spoke = true;
} else if ((old_state == null || old_state.state < AltosLib.ao_flight_drogue) &&
state.state >= AltosLib.ao_flight_drogue) {
- speak(String.format("max height: %d meters.", (int) (state.max_height() + 0.5)));
+ if (state.max_height() != AltosLib.MISSING)
+ speak(String.format("max height: %d meters.", (int) (state.max_height() + 0.5)));
spoke = true;
}
}
@@ -109,8 +112,9 @@ public class AltosVoice {
}
/* If the rocket isn't on the pad, then report height */
- if (AltosLib.ao_flight_drogue <= state.state &&
- state.state < AltosLib.ao_flight_landed &&
+ if (((AltosLib.ao_flight_drogue <= state.state &&
+ state.state < AltosLib.ao_flight_landed) ||
+ state.state == AltosLib.ao_flight_stateless) &&
state.range >= 0)
{
speak(String.format("Height %d, bearing %s %d, elevation %d, range %d.\n",
@@ -121,7 +125,8 @@ public class AltosVoice {
(int) (state.elevation + 0.5),
(int) (state.range + 0.5)));
} else if (state.state > AltosLib.ao_flight_pad) {
- speak(String.format("%d meters", (int) (state.height() + 0.5)));
+ if (state.height() != AltosLib.MISSING)
+ speak(String.format("%d meters", (int) (state.height() + 0.5)));
} else {
reported_landing = 0;
}