projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altosui: Handle broken network in map tile loading
[fw/altos]
/
altosui
/
AltosSiteMap.java
diff --git
a/altosui/AltosSiteMap.java
b/altosui/AltosSiteMap.java
index 5bf02e546179fbf936cdfb05c263617bb4054b84..23085f3ec5e270645b8c44760c34fb9202d61271 100644
(file)
--- a/
altosui/AltosSiteMap.java
+++ b/
altosui/AltosSiteMap.java
@@
-220,6
+220,16
@@
public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {
return pngfile.toString();
}
return pngfile.toString();
}
+ public void initAndFinishMapAsync (final AltosSiteMapTile tile, final Point offset) {
+ Thread thread = new Thread() {
+ public void run() {
+ initMap(offset);
+ finishTileLater(tile, offset);
+ }
+ };
+ thread.start();
+ }
+
public void setBaseLocation(double lat, double lng) {
for (Point k : mapTiles.keySet()) {
AltosSiteMapTile tile = mapTiles.get(k);
public void setBaseLocation(double lat, double lng) {
for (Point k : mapTiles.keySet()) {
AltosSiteMapTile tile = mapTiles.get(k);
@@
-308,8
+318,7
@@
public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {
AltosSiteMapTile tile = createTile(offset);
tile.show(state, listener_state, lref, ref);
AltosSiteMapTile tile = createTile(offset);
tile.show(state, listener_state, lref, ref);
- initMap(offset);
- finishTileLater(tile, offset);
+ initAndFinishMapAsync(tile, offset);
}
scrollRocketToVisible(pt);
}
scrollRocketToVisible(pt);
@@
-370,8
+379,7
@@
public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {
if (mapTiles.containsKey(offset))
continue;
AltosSiteMapTile tile = createTile(offset);
if (mapTiles.containsKey(offset))
continue;
AltosSiteMapTile tile = createTile(offset);
- initMap(offset);
- finishTileLater(tile, offset);
+ initAndFinishMapAsync(tile, offset);
}
}
}
}
}
}