diff options
| -rw-r--r-- | altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java | 9 | ||||
| -rw-r--r-- | altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java | 1 | 
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: | 
