X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FPreloadMapActivity.java;fp=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FPreloadMapActivity.java;h=ab5e433d46d2f0cd4dd650461654b51b2c7ffcdb;hb=c5f49d0ac254047f13c6c1ecfb5520eff72109ac;hp=0bf3aa109ee3e1d2b0e0cf17bed6c1671c034bb4;hpb=2e551e7c5f82a7e35d39e8f73e8e526e5484cd5d;p=fw%2Faltos diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java b/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java index 0bf3aa10..ab5e433d 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/PreloadMapActivity.java @@ -69,6 +69,10 @@ 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) { this.runOnUiThread(new Runnable() { @@ -88,6 +92,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); @@ -254,6 +259,9 @@ public class PreloadMapActivity extends Activity implements AltosLaunchSiteListe } private void load() { + if (loader != null) + return; + try { double lat = latitude(); double lon = longitude(); @@ -264,7 +272,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(map, this, lat, lon, min, max, r, t); } catch (ParseException e) { AltosDebug.debug("PreloadMap load raised exception %s", e.toString()); } @@ -409,6 +417,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); }