diff options
| author | Keith Packard <keithp@keithp.com> | 2016-05-12 23:33:53 -0700 |
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2016-05-12 23:41:55 -0700 |
| commit | b1a90adac9f6e2a609ce1ccd6749462bb5c9adbe (patch) | |
| tree | 107b6491d8ffc507609f9923353d5454c0664323 /altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java | |
| parent | b13037fad0905c5933d1ff579122ba1357b02eea (diff) | |
altoslib: Store saved state in version-independent format
Use AltosHashSet for AltosState so that AltosDroid doesn't lose
tracker information when the application is upgraded.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java')
| -rw-r--r-- | altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java index 6519a114..dc39c899 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java @@ -129,7 +129,8 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene case MSG_DISCONNECT: AltosDebug.debug("Disconnect command received"); s.address = null; - AltosDroidPreferences.set_active_device(null); + if (!(Boolean) msg.obj) + AltosDroidPreferences.set_active_device(null); s.disconnect(true); break; case MSG_DELETE_SERIAL: @@ -613,6 +614,8 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene telemetry_state.latest_serial = AltosPreferences.latest_state(); + AltosDebug.debug("latest serial %d\n", telemetry_state.latest_serial); + for (int serial : serials) { AltosState saved_state = AltosPreferences.state(serial); if (saved_state != null) { @@ -629,6 +632,7 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene telemetry_state.states.put(serial, saved_state); } else { AltosDebug.debug("Failed to recover state for %d", serial); + AltosPreferences.remove_state(serial); } } } |
