diff options
Diffstat (limited to 'altosdroid/src')
26 files changed, 100 insertions, 108 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java index 15efc0e2..246fb0b0 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java @@ -30,7 +30,7 @@ import android.bluetooth.BluetoothSocket; import android.os.Handler; //import android.os.Message; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class AltosBluetooth extends AltosDroidLink { @@ -199,6 +199,8 @@ public class AltosBluetooth extends AltosDroidLink { } int write(byte[] buffer, int len) { + if (output == null) + return -1; try { output.write(buffer, 0, len); } catch (IOException ie) { @@ -208,6 +210,8 @@ public class AltosBluetooth extends AltosDroidLink { } int read(byte[] buffer, int len) { + if (input == null) + return -1; try { return input.read(buffer, 0, len); } catch (IOException ie) { diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDebug.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDebug.java index 64980dc7..eddc83b9 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDebug.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDebug.java @@ -20,7 +20,7 @@ import java.util.Arrays; import java.io.*; import java.lang.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.app.Activity; import android.graphics.*; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java index 026e836d..a62bf7fe 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java @@ -51,7 +51,7 @@ import android.hardware.usb.*; import android.graphics.*; import android.graphics.drawable.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class AltosDroid extends FragmentActivity implements AltosUnitsListener, LocationListener { @@ -825,9 +825,9 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener, } } - private void disconnectDevice() { + private void disconnectDevice(boolean remember) { try { - mService.send(Message.obtain(null, TelemetryService.MSG_DISCONNECT, null)); + mService.send(Message.obtain(null, TelemetryService.MSG_DISCONNECT, (Boolean) remember)); } catch (RemoteException e) { } } @@ -978,11 +978,11 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener, case R.id.disconnect: /* Disconnect the device */ - disconnectDevice(); + disconnectDevice(false); return true; case R.id.quit: AltosDebug.debug("R.id.quit"); - disconnectDevice(); + disconnectDevice(true); finish(); return true; case R.id.setup: diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidLink.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidLink.java index 0fd9af75..bca70d69 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidLink.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidLink.java @@ -24,7 +24,7 @@ import java.util.UUID; import android.os.Handler; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public abstract class AltosDroidLink extends AltosLink { diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java index 43abef0f..b9b4b50f 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidMapInterface.java @@ -20,7 +20,7 @@ package org.altusmetrum.AltosDroid; import java.util.*; import java.io.*; import android.location.Location; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public interface AltosDroidMapInterface { public void onCreateView(AltosDroid altos_droid); diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java index dd86c818..446bbf04 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferences.java @@ -21,7 +21,7 @@ import java.util.*; import java.text.*; import android.content.Context; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class AltosDroidPreferences extends AltosPreferences { @@ -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/AltosDroidPreferencesBackend.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java index 5c7ec513..e48b7b2a 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidPreferencesBackend.java @@ -24,7 +24,7 @@ import android.content.SharedPreferences; import android.os.Environment; import android.util.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class AltosDroidPreferencesBackend extends AltosPreferencesBackend { public final static String NAME = "org.altusmetrum.AltosDroid"; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java index 77dbbcb1..3e10d3a4 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java @@ -17,7 +17,7 @@ package org.altusmetrum.AltosDroid; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.location.Location; import android.app.Activity; import android.graphics.Color; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java index ab142b17..0061eba1 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOffline.java @@ -20,7 +20,7 @@ package org.altusmetrum.AltosDroid; import java.util.*; import java.io.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.app.Activity; import android.graphics.*; @@ -85,6 +85,8 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal AltosMap map; AltosDroid altos_droid; + static int scale = 2; + AltosLatLon here; AltosLatLon there; AltosLatLon pad; @@ -181,14 +183,14 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal } } - public MapTile(AltosMapCache cache, AltosLatLon upper_left, AltosLatLon center, int zoom, int maptype, int px_size) { - super(cache, upper_left, center, zoom, maptype, px_size, 2); + public MapTile(AltosMapCache cache, AltosLatLon upper_left, AltosLatLon center, int zoom, int maptype, int px_size, int scale) { + super(cache, upper_left, center, zoom, maptype, px_size, scale); } } - public AltosMapTile new_tile(AltosMapCache cache, AltosLatLon upper_left, AltosLatLon center, int zoom, int maptype, int px_size) { - return new MapTile(cache, upper_left, center, zoom, maptype, px_size); + public AltosMapTile new_tile(AltosMapCache cache, AltosLatLon upper_left, AltosLatLon center, int zoom, int maptype, int px_size, int scale) { + return new MapTile(cache, upper_left, center, zoom, maptype, px_size, scale); } public AltosMapPath new_path() { @@ -492,7 +494,7 @@ public class AltosMapOffline extends View implements ScaleGestureDetector.OnScal public void onCreateView(AltosDroid altos_droid) { this.altos_droid = altos_droid; - map = new AltosMap(this); + map = new AltosMap(this, scale); AltosPreferences.register_map_type_listener(this); map.set_maptype(AltosPreferences.map_type()); diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java index fcdb930b..9a828df5 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosMapOnline.java @@ -19,7 +19,7 @@ package org.altusmetrum.AltosDroid; import java.util.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import com.google.android.gms.maps.*; import com.google.android.gms.maps.model.*; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosUsb.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosUsb.java index 4660512a..4b007cb1 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosUsb.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosUsb.java @@ -28,7 +28,7 @@ import android.hardware.usb.*; import android.app.*; import android.os.Handler; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class AltosUsb extends AltosDroidLink { diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java index 542ba1f5..d7c0f623 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java @@ -22,7 +22,7 @@ import android.speech.tts.TextToSpeech; import android.speech.tts.TextToSpeech.OnInitListener; import android.location.Location; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class AltosVoice { diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/IdleModeActivity.java b/altosdroid/src/org/altusmetrum/AltosDroid/IdleModeActivity.java index ec12c192..c4e950b6 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/IdleModeActivity.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/IdleModeActivity.java @@ -34,7 +34,7 @@ import android.view.View.OnClickListener; import android.widget.*; import android.widget.AdapterView.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class IdleModeActivity extends Activity { private EditText callsign; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/IgniterActivity.java b/altosdroid/src/org/altusmetrum/AltosDroid/IgniterActivity.java index 931c3cfd..d9229ad6 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/IgniterActivity.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/IgniterActivity.java @@ -32,7 +32,7 @@ import android.view.View.*; import android.widget.*; import android.widget.AdapterView.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; class IgniterItem { public String name; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java b/altosdroid/src/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java index 401cdc9d..d8fd92df 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/ManageFrequenciesActivity.java @@ -32,7 +32,7 @@ import android.view.inputmethod.*; import android.widget.*; import android.widget.AdapterView.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; class FrequencyItem { public AltosFrequency frequency; @@ -125,6 +125,8 @@ public class ManageFrequenciesActivity extends Activity { private void done() { + set(); + if (changed) { AltosFrequency[] frequencies = new AltosFrequency[frequencies_adapter.count()]; for (int i = 0; i < frequencies.length; i++) @@ -164,6 +166,16 @@ public class ManageFrequenciesActivity extends Activity { load_item(); } + private int find(AltosFrequency frequency) { + for (int pos = 0; pos < frequencies_adapter.getCount(); pos++) { + FrequencyItem item = frequencies_adapter.getItem(pos); + if (item.frequency.frequency == frequency.frequency && + item.frequency.description.equals(frequency.description)) + return pos; + } + return -1; + } + private int insert_item(AltosFrequency frequency) { FrequencyItem new_item = new FrequencyItem(frequency); int pos; @@ -200,11 +212,16 @@ public class ManageFrequenciesActivity extends Activity { try { double f = AltosParse.parse_double_locale(frequency_text); + AltosFrequency frequency = new AltosFrequency(f, description_text); + int pos; - int pos = insert_item(new AltosFrequency(f, description_text)); + pos = find(frequency); + if (pos < 0) { + pos = insert_item(frequency); + changed = true; + } frequencies_adapter.selected_item = -1; select_item(pos); - changed = true; } catch (ParseException pe) { } hide_keyboard(); diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/MapTypeActivity.java b/altosdroid/src/org/altusmetrum/AltosDroid/MapTypeActivity.java index cfbcdafc..d8bcad75 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/MapTypeActivity.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/MapTypeActivity.java @@ -34,7 +34,7 @@ import android.view.View.OnClickListener; import android.widget.*; import android.widget.AdapterView.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class MapTypeActivity extends Activity { private Button hybrid; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java b/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java index 13a44e1f..8e3e7b01 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java @@ -41,7 +41,7 @@ import android.location.LocationManager; import android.location.LocationListener; import android.location.Criteria; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; /** * This Activity appears as a dialog. It lists any paired devices and @@ -49,7 +49,7 @@ import org.altusmetrum.altoslib_10.*; * by the user, the MAC address of the device is sent back to the parent * Activity in the result Intent. */ -public class PreloadMapActivity extends Activity implements AltosLaunchSiteListener, AltosMapInterface, AltosMapLoaderListener, LocationListener { +public class PreloadMapActivity extends Activity implements AltosLaunchSiteListener, AltosMapLoaderListener, LocationListener { private ArrayAdapter<AltosLaunchSite> known_sites_adapter; @@ -69,8 +69,14 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe private ProgressBar progress; + private AltosMapLoader loader; + + long loader_notify_time; + /* AltosMapLoaderListener interfaces */ public void loader_start(final int max) { + loader_notify_time = System.currentTimeMillis(); + this.runOnUiThread(new Runnable() { public void run() { progress.setMax(max); @@ -80,6 +86,13 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe } public void loader_notify(final int cur, final int max, final String name) { + long now = System.currentTimeMillis(); + + if (now - loader_notify_time < 100) + return; + + loader_notify_time = now; + this.runOnUiThread(new Runnable() { public void run() { progress.setProgress(cur); @@ -88,6 +101,7 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe } public void loader_done(int max) { + loader = null; this.runOnUiThread(new Runnable() { public void run() { progress.setProgress(0); @@ -96,7 +110,12 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe }); } + public void debug(String format, Object ... arguments) { + AltosDebug.debug(format, arguments); + } + /* AltosLaunchSiteListener interface */ + public void notify_launch_sites(final List<AltosLaunchSite> sites) { this.runOnUiThread(new Runnable() { public void run() { @@ -106,70 +125,6 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe }); } - AltosMap map; - - class PreloadMapImage implements AltosImage { - public void flush() { - } - - public PreloadMapImage(File file) { - } - } - - public AltosMapPath new_path() { - return null; - } - - public AltosMapLine new_line() { - return null; - } - - public AltosImage load_image(File file) throws Exception { - return new PreloadMapImage(file); - } - - public AltosMapMark new_mark(double lat, double lon, int state) { - return null; - } - - class PreloadMapTile extends AltosMapTile { - public void paint(AltosMapTransform t) { - } - - public PreloadMapTile(AltosMapCache cache, AltosLatLon upper_left, AltosLatLon center, int zoom, int maptype, int px_size) { - super(cache, upper_left, center, zoom, maptype, px_size, 2); - } - - } - - public AltosMapTile new_tile(AltosMapCache cache, AltosLatLon upper_left, AltosLatLon center, int zoom, int maptype, int px_size) { - return new PreloadMapTile(cache, upper_left, center, zoom, maptype, px_size); - } - - public int width() { - return AltosMap.px_size; - } - - public int height() { - return AltosMap.px_size; - } - - public void repaint() { - } - - public void repaint(AltosRectangle damage) { - } - - public void set_zoom_label(String label) { - } - - public void select_object(AltosLatLon latlon) { - } - - public void debug(String format, Object ... arguments) { - AltosDebug.debug(format, arguments); - } - /* LocationProvider interface */ AltosLaunchSite current_location_site; @@ -234,7 +189,7 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe private double radius() { double r = value_distance(radius); if (AltosPreferences.imperial_units()) - r = AltosConvert.distance.inverse(r); + r = AltosConvert.miles_to_meters(r); else r = r * 1000; return r; @@ -254,6 +209,9 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe } private void load() { + if (loader != null) + return; + try { double lat = latitude(); double lon = longitude(); @@ -264,7 +222,7 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe AltosDebug.debug("PreloadMap load %f %f %d %d %f %d\n", lat, lon, min, max, r, t); - new AltosMapLoader(map, this, lat, lon, min, max, r, t); + loader = new AltosMapLoader(this, lat, lon, min, max, r, t, AltosMapOffline.scale); } catch (ParseException e) { AltosDebug.debug("PreloadMap load raised exception %s", e.toString()); } @@ -395,8 +353,6 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe known_sites_spinner.setAdapter(known_sites_adapter); known_sites_spinner.setOnItemSelectedListener(new SiteListListener()); - map = new AltosMap(this); - // Listen for GPS and Network position updates LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); @@ -409,6 +365,9 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe protected void onDestroy() { super.onDestroy(); + if (loader != null) + loader.abort(); + // Stop listening for location updates ((LocationManager) getSystemService(Context.LOCATION_SERVICE)).removeUpdates(this); } diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/SetupActivity.java b/altosdroid/src/org/altusmetrum/AltosDroid/SetupActivity.java index fdffc2b0..06e74d9b 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/SetupActivity.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/SetupActivity.java @@ -30,7 +30,7 @@ import android.view.View.*; import android.widget.*; import android.widget.AdapterView.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class SetupActivity extends Activity { private Spinner select_rate; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java index 9bbdc060..dc8390e3 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabFlight.java @@ -17,7 +17,7 @@ package org.altusmetrum.AltosDroid; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.app.Activity; import android.os.Bundle; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java index 19ce86c9..9e3cb530 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java @@ -20,7 +20,7 @@ package org.altusmetrum.AltosDroid; import java.util.*; import java.io.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.app.Activity; import android.graphics.*; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java index 1194eb00..fffc426a 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java @@ -17,7 +17,7 @@ package org.altusmetrum.AltosDroid; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.app.Activity; import android.os.Bundle; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabRecover.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabRecover.java index 8742227b..b0fe9e5f 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabRecover.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabRecover.java @@ -17,7 +17,7 @@ package org.altusmetrum.AltosDroid; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.app.Activity; import android.os.Bundle; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryLogger.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryLogger.java index bdea0986..c379d3d8 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryLogger.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryLogger.java @@ -1,6 +1,6 @@ package org.altusmetrum.AltosDroid; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.content.BroadcastReceiver; import android.content.Context; diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java index 0ac6bb5c..21ac0fbf 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java @@ -25,7 +25,7 @@ import java.util.*; import java.util.concurrent.*; import android.os.Handler; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class TelemetryReader extends Thread { diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java index 3c1a1782..dc39c899 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java @@ -40,7 +40,7 @@ import android.os.Looper; import android.widget.Toast; import android.location.Criteria; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; public class TelemetryService extends Service implements AltosIdleMonitorListener { @@ -129,6 +129,8 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene case MSG_DISCONNECT: AltosDebug.debug("Disconnect command received"); s.address = null; + if (!(Boolean) msg.obj) + AltosDroidPreferences.set_active_device(null); s.disconnect(true); break; case MSG_DELETE_SERIAL: @@ -612,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) { @@ -628,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); } } } diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryState.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryState.java index d3ccf0a9..e7bef92c 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryState.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryState.java @@ -18,7 +18,7 @@ package org.altusmetrum.AltosDroid; import java.util.*; -import org.altusmetrum.altoslib_10.*; +import org.altusmetrum.altoslib_11.*; import android.location.Location; public class TelemetryState { |