rename: ContinuousTask -> SimpleWorker

This commit is contained in:
Hannes Janetzek 2014-01-22 22:47:05 +01:00
parent 401b0bf2dc
commit a0586a1897
2 changed files with 18 additions and 19 deletions

View File

@ -51,7 +51,7 @@ import org.oscim.tiling.TileRenderer;
import org.oscim.tiling.TileSet; import org.oscim.tiling.TileSet;
import org.oscim.utils.FastMath; import org.oscim.utils.FastMath;
import org.oscim.utils.OBB2D; import org.oscim.utils.OBB2D;
import org.oscim.utils.async.ContinuousTask; import org.oscim.utils.async.SimpleWorker;
import org.oscim.utils.pool.Pool; import org.oscim.utils.pool.Pool;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -69,14 +69,14 @@ class TextRenderer extends ElementRenderer {
//private ElementLayers mDebugLayer; //private ElementLayers mDebugLayer;
class TextureLayers { class LabelTask {
final TextureLayer layers; final TextureLayer layers;
final TextLayer textLayer; final TextLayer textLayer;
final SymbolLayer symbolLayer; final SymbolLayer symbolLayer;
final MapPosition pos; final MapPosition pos;
TextureLayers() { LabelTask() {
pos = new MapPosition(); pos = new MapPosition();
symbolLayer = new SymbolLayer(); symbolLayer = new SymbolLayer();
@ -126,6 +126,7 @@ class TextRenderer extends ElementRenderer {
private int mRelabelCnt; private int mRelabelCnt;
private final TileRenderer mTileLayer; private final TileRenderer mTileLayer;
private final Map mMap; private final Map mMap;
private final Worker mWorker;
public TextRenderer(Map map, TileRenderer baseLayer) { public TextRenderer(Map map, TileRenderer baseLayer) {
mMap = map; mMap = map;
@ -139,7 +140,7 @@ class TextRenderer extends ElementRenderer {
//mActiveTiles = new HashMap<MapTile, LabelTile>(); //mActiveTiles = new HashMap<MapTile, LabelTile>();
mRelabelCnt = 0; mRelabelCnt = 0;
mLabelTask = new LabelTask(map); mWorker = new Worker(map);
} }
// remove Label l from mLabels and return l.next // remove Label l from mLabels and return l.next
@ -380,7 +381,7 @@ class TextRenderer extends ElementRenderer {
return l; return l;
} }
boolean updateLabels(TextureLayers work) { boolean updateLabels(LabelTask work) {
// nextLayer is not loaded yet // nextLayer is not loaded yet
//if (mNextLayer.ready) //if (mNextLayer.ready)
// return false; // return false;
@ -610,10 +611,10 @@ class TextRenderer extends ElementRenderer {
public synchronized void update(MapPosition pos, boolean changed, public synchronized void update(MapPosition pos, boolean changed,
Matrices matrices) { Matrices matrices) {
TextureLayers t; LabelTask t;
synchronized (mLabelTask) { synchronized (mWorker) {
t = mLabelTask.poll(); t = mWorker.poll();
if (t == null) if (t == null)
return; return;
@ -656,14 +657,14 @@ class TextRenderer extends ElementRenderer {
l = TextureLayer.Renderer.draw(l, scale, m); l = TextureLayer.Renderer.draw(l, scale, m);
} }
final class LabelTask extends ContinuousTask<TextureLayers> { final class Worker extends SimpleWorker<LabelTask> {
public LabelTask(Map map) { public Worker(Map map) {
super(map, 10, new TextureLayers(), new TextureLayers()); super(map, 10, new LabelTask(), new LabelTask());
} }
@Override @Override
public boolean doWork(TextureLayers t) { public boolean doWork(LabelTask t) {
if (updateLabels(t)) { if (updateLabels(t)) {
mMap.render(); mMap.render();
@ -674,7 +675,7 @@ class TextRenderer extends ElementRenderer {
} }
@Override @Override
public void cleanup(TextureLayers t) { public void cleanup(LabelTask t) {
} }
@Override @Override
@ -684,13 +685,11 @@ class TextRenderer extends ElementRenderer {
} }
} }
private final LabelTask mLabelTask;
public void clearLabels() { public void clearLabels() {
mLabelTask.cancel(true); mWorker.cancel(true);
} }
public void update() { public void update() {
mLabelTask.submit(MAX_RELABEL_DELAY); mWorker.submit(MAX_RELABEL_DELAY);
} }
} }

View File

@ -6,7 +6,7 @@ import org.oscim.map.Map;
* Simple 'Double Buffering' worker for running Tasks on AsyncExecutor * Simple 'Double Buffering' worker for running Tasks on AsyncExecutor
* thread. * thread.
*/ */
public abstract class ContinuousTask<T> implements Runnable { public abstract class SimpleWorker<T> implements Runnable {
private final Map mMap; private final Map mMap;
@ -26,7 +26,7 @@ public abstract class ContinuousTask<T> implements Runnable {
/** Stuff that is ready - will not be modified in the worker. */ /** Stuff that is ready - will not be modified in the worker. */
protected T mTaskLocked; protected T mTaskLocked;
public ContinuousTask(Map map, long minDelay, T t1, T t2) { public SimpleWorker(Map map, long minDelay, T t1, T t2) {
mMap = map; mMap = map;
mMinDelay = minDelay; mMinDelay = minDelay;