altoslib: Fix map preloading callbacks, run in separate thread
[fw/altos] / altoslib / AltosMap.java
index 26851e961453e985169e990939e5b92da4137646..1841277f8bd61889390f0d5802dff09a7584b603 100644 (file)
@@ -328,7 +328,8 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
                                if (!tiles.containsKey(point)) {
                                        AltosLatLon     ul = transform.lat_lon(point);
                                        AltosLatLon     center = transform.lat_lon(new AltosPointDouble(x + AltosMap.px_size/2, y + AltosMap.px_size/2));
-                                       AltosMapTile tile = map_interface.new_tile(this, ul, center, zoom, maptype, px_size);
+                                       AltosMapTile tile = map_interface.new_tile(cache, ul, center, zoom, maptype, px_size);
+                                       tile.add_listener(this);
                                        tiles.put(point, tile);
                                }
                        }
@@ -345,11 +346,6 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
                centre(lat, lon);
                tiles.clear();
                make_tiles();
-               for (AltosMapTile tile : tiles.values()) {
-                       tile.add_store_listener(this);
-                       if (tile.store_status() != AltosMapTile.loading)
-                               listener.notify_tile(tile, tile.store_status());
-               }
                repaint();
        }