summaryrefslogtreecommitdiff
path: root/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
diff options
context:
space:
mode:
authorBdale Garbee <bdale@gag.com>2014-12-06 15:39:53 -0700
committerBdale Garbee <bdale@gag.com>2014-12-06 15:39:53 -0700
commit7339d2379713b5b7e4c4fe6bad89ed93f9d39e82 (patch)
tree41e653c4014940a0d78900fddd433514b9dbfc66 /altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
parentd1f9121593fe30b924223e89ef4d596b5bec2b25 (diff)
parentb6462ca3a7e99fe390ec97f94c23d36fab8c294d (diff)
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
Diffstat (limited to 'altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java')
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
index 30d94409..e029c75c 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
@@ -139,6 +139,10 @@ public class TelemetryService extends Service implements LocationListener {
case MSG_TELEMETRY:
// forward telemetry messages
s.telemetry_state.state = (AltosState) msg.obj;
+ if (s.telemetry_state.state != null) {
+ if (D) Log.d(TAG, "Save state");
+ AltosPreferences.set_state(0, s.telemetry_state.state, null);
+ }
if (D) Log.d(TAG, "MSG_TELEMETRY");
s.sendMessageToClients();
break;
@@ -179,6 +183,8 @@ public class TelemetryService extends Service implements LocationListener {
private Message message() {
if (telemetry_state == null)
Log.d(TAG, "telemetry_state null!");
+ if (telemetry_state.state == null)
+ Log.d(TAG, "telemetry_state.state null!");
return Message.obtain(null, AltosDroid.MSG_STATE, telemetry_state);
}
@@ -262,7 +268,7 @@ public class TelemetryService extends Service implements LocationListener {
if (D) Log.d(TAG, "connected bluetooth configured");
telemetry_state.connect = TelemetryState.CONNECT_CONNECTED;
- mTelemetryReader = new TelemetryReader(mAltosBluetooth, mHandler);
+ mTelemetryReader = new TelemetryReader(mAltosBluetooth, mHandler, telemetry_state.state);
mTelemetryReader.start();
if (D) Log.d(TAG, "connected TelemetryReader started");
@@ -306,6 +312,13 @@ public class TelemetryService extends Service implements LocationListener {
telemetry_state.connect = TelemetryState.CONNECT_READY;
+ AltosSavedState saved_state = AltosPreferences.state(0);
+
+ if (saved_state != null) {
+ if (D) Log.d(TAG, String.format("recovered old state flight %d\n", saved_state.state.flight));
+ telemetry_state.state = saved_state.state;
+ }
+
// Start our timer - first event in 10 seconds, then every 10 seconds after that.
timer.scheduleAtFixedRate(new TimerTask(){ public void run() {onTimerTick();}}, 10000L, 10000L);