refactor: TileLoader.createLoader()

This commit is contained in:
Hannes Janetzek
2014-03-09 18:06:57 +01:00
parent d00e9771e0
commit ff01b3f80d
7 changed files with 24 additions and 29 deletions

View File

@@ -2,7 +2,6 @@ package org.oscim.layers;
import org.oscim.layers.tile.MapTile; import org.oscim.layers.tile.MapTile;
import org.oscim.layers.tile.TileLoader; import org.oscim.layers.tile.TileLoader;
import org.oscim.layers.tile.TileManager;
import org.oscim.layers.tile.bitmap.BitmapTileLayer; import org.oscim.layers.tile.bitmap.BitmapTileLayer;
import org.oscim.map.Map; import org.oscim.map.Map;
import org.oscim.tiling.source.bitmap.BitmapTileSource; import org.oscim.tiling.source.bitmap.BitmapTileSource;
@@ -14,8 +13,8 @@ public class JeoTileLayer extends BitmapTileLayer {
} }
@Override @Override
protected TileLoader createLoader(TileManager tm) { protected TileLoader createLoader() {
return new TileLoader(tm) { return new TileLoader(this.getManager()) {
@Override @Override
public void cleanup() { public void cleanup() {

View File

@@ -45,7 +45,7 @@ public abstract class TileLayer extends Layer implements UpdateListener {
} }
abstract protected TileLoader createLoader(TileManager tm); abstract protected TileLoader createLoader();
public TileRenderer tileRenderer() { public TileRenderer tileRenderer() {
return (TileRenderer) mRenderer; return (TileRenderer) mRenderer;
@@ -55,7 +55,7 @@ public abstract class TileLayer extends Layer implements UpdateListener {
mTileLoader = new TileLoader[numLoaders]; mTileLoader = new TileLoader[numLoaders];
for (int i = 0; i < numLoaders; i++) { for (int i = 0; i < numLoaders; i++) {
mTileLoader[i] = createLoader(mTileManager); mTileLoader[i] = createLoader();
mTileLoader[i].start(); mTileLoader[i].start();
} }
} }
@@ -111,4 +111,8 @@ public abstract class TileLayer extends Layer implements UpdateListener {
for (TileLoader loader : mTileLoader) for (TileLoader loader : mTileLoader)
loader.proceed(); loader.proceed();
} }
public TileManager getManager() {
return mTileManager;
}
} }

View File

@@ -99,7 +99,7 @@ public class BitmapTileLayer extends TileLayer {
} }
@Override @Override
protected TileLoader createLoader(TileManager tm) { protected TileLoader createLoader() {
return new BitmapTileLoader(tm, mTileSource); return new BitmapTileLoader(this.getManager(), mTileSource);
} }
} }

View File

@@ -42,13 +42,13 @@ public class TestTileLayer extends TileLayer {
} }
@Override @Override
protected TestTileLoader createLoader(TileManager tm) { protected TestTileLoader createLoader() {
return new TestTileLoader(tm); return new TestTileLoader(this);
} }
static class TestTileLoader extends TileLoader { static class TestTileLoader extends TileLoader {
public TestTileLoader(TileManager tileManager) { public TestTileLoader(TileLayer tileLayer) {
super(tileManager); super(tileLayer.getManager());
} }
GeometryBuffer mGeom = new GeometryBuffer(128, 16); GeometryBuffer mGeom = new GeometryBuffer(128, 16);

View File

@@ -3,7 +3,6 @@ package org.oscim.layers.tile.vector;
import org.oscim.core.Tag; import org.oscim.core.Tag;
import org.oscim.core.TagSet; import org.oscim.core.TagSet;
import org.oscim.layers.tile.TileLoader; import org.oscim.layers.tile.TileLoader;
import org.oscim.layers.tile.TileManager;
import org.oscim.map.Map; import org.oscim.map.Map;
public class OsmTileLayer extends VectorTileLayer { public class OsmTileLayer extends VectorTileLayer {
@@ -17,15 +16,15 @@ public class OsmTileLayer extends VectorTileLayer {
} }
@Override @Override
protected TileLoader createLoader(TileManager tm) { protected TileLoader createLoader() {
return new OsmTileLoader(tm); return new OsmTileLoader(this);
} }
static class OsmTileLoader extends VectorTileLoader { static class OsmTileLoader extends VectorTileLoader {
private final TagSet mFilteredTags; private final TagSet mFilteredTags;
public OsmTileLoader(TileManager tileManager) { public OsmTileLoader(VectorTileLayer tileLayer) {
super(tileManager); super(tileLayer);
mFilteredTags = new TagSet(); mFilteredTags = new TagSet();
} }

View File

@@ -58,8 +58,8 @@ public class VectorTileLayer extends TileLayer {
} }
@Override @Override
protected TileLoader createLoader(TileManager tm) { protected TileLoader createLoader() {
return new VectorTileLoader(tm); return new VectorTileLoader(this);
} }
/** /**
@@ -112,7 +112,5 @@ public class VectorTileLayer extends TileLayer {
resumeLoaders(); resumeLoaders();
} }
public TileManager getManager() {
return mTileManager;
} }
} }

View File

@@ -20,7 +20,6 @@ import static org.oscim.layers.tile.MapTile.State.CANCEL;
import java.util.concurrent.CancellationException; import java.util.concurrent.CancellationException;
import org.oscim.backend.canvas.Bitmap;
import org.oscim.core.GeometryBuffer.GeometryType; import org.oscim.core.GeometryBuffer.GeometryType;
import org.oscim.core.MapElement; import org.oscim.core.MapElement;
import org.oscim.core.MercatorProjection; import org.oscim.core.MercatorProjection;
@@ -29,7 +28,6 @@ import org.oscim.core.Tag;
import org.oscim.core.TagSet; import org.oscim.core.TagSet;
import org.oscim.layers.tile.MapTile; import org.oscim.layers.tile.MapTile;
import org.oscim.layers.tile.TileLoader; import org.oscim.layers.tile.TileLoader;
import org.oscim.layers.tile.TileManager;
import org.oscim.renderer.elements.ElementLayers; import org.oscim.renderer.elements.ElementLayers;
import org.oscim.renderer.elements.ExtrusionLayer; import org.oscim.renderer.elements.ExtrusionLayer;
import org.oscim.renderer.elements.LineLayer; import org.oscim.renderer.elements.LineLayer;
@@ -83,9 +81,11 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
renderTheme = theme; renderTheme = theme;
renderLevels = theme.getLevels(); renderLevels = theme.getLevels();
} }
private final VectorTileLayer mTileLayer;
public VectorTileLoader(TileManager tileManager) { public VectorTileLoader(VectorTileLayer tileLayer) {
super(tileManager); super(tileLayer.getManager());
mTileLayer = tileLayer;
} }
@Override @Override
@@ -397,9 +397,4 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
l.add(mElement, height, minHeight); l.add(mElement, height, minHeight);
} }
@Override
public void setTileImage(Bitmap bitmap) {
}
} }