summaryrefslogtreecommitdiff
path: root/altosdroid/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-05-11 12:43:51 -0700
committerKeith Packard <keithp@keithp.com>2016-05-11 23:22:15 -0700
commitab905d2f7d8929080042cfd16cc418ea5792c3cb (patch)
tree7fd8f56ca5c9504cae5d41eec1c5083e8fe61797 /altosdroid/src
parent0a50669b1fde3e3c1cbc08c4836613b58ead219b (diff)
altosdroid: make disconnect stick past pause/restart
Clear the active_device preference on disconnect so we don't reconnect anytime the service gets activated. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosdroid/src')
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java9
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java1
2 files changed, 8 insertions, 2 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
index dd86c818..16ee4429 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java
@@ -57,8 +57,13 @@ public class AltosDroidPreferences extends AltosPreferences {
public static void set_active_device(DeviceAddress address) {
synchronized(backend) {
active_device_address = address;
- backend.putString(activeDeviceAddressPreference, active_device_address.address);
- backend.putString(activeDeviceNamePreference, active_device_address.name);
+ if (active_device_address != null) {
+ backend.putString(activeDeviceAddressPreference, active_device_address.address);
+ backend.putString(activeDeviceNamePreference, active_device_address.name);
+ } else {
+ backend.remove(activeDeviceAddressPreference);
+ backend.remove(activeDeviceNamePreference);
+ }
flush_preferences();
}
}
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
index 3c1a1782..a81e24b0 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
@@ -129,6 +129,7 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene
case MSG_DISCONNECT:
AltosDebug.debug("Disconnect command received");
s.address = null;
+ AltosDroidPreferences.set_active_device(null);
s.disconnect(true);
break;
case MSG_DELETE_SERIAL: