Kaydet (Commit) 9f77740d authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl Kaydeden (comit) Miklos Vajna

android: force screen to render - add access to LayerClient

Change-Id: Ia65eebd153251985fe736e8f278d46b22a06ec83
üst 0ecf41b4
......@@ -34,20 +34,19 @@ public class LOKitThread extends Thread implements TileProvider.TileInvalidation
composedTileLayer.addTile(tile);
mLayerClient.endDrawing(mViewportMetrics);
if (forceRedraw) {
Log.i(LOGTAG, "Redrawing tile " + tileId);
mLayerClient.forceRedraw();
mLayerClient.forceRender();
}
}
}
private void tileRerender(ComposedTileLayer composedTileLayer, SubTile tile) {
if (composedTileLayer.isStillValid(tile.id)) {
if (composedTileLayer.isStillValid(tile.id) && !tile.markedForRemoval) {
Log.i(LOGTAG, "Redrawing tile " + tile.id);
mLayerClient.beginDrawing();
mTileProvider.rerenderTile(tile.getImage(), tile.id.x, tile.id.y, tile.id.size, tile.id.zoom);
tile.invalidate();
Log.i(LOGTAG, "Redrawing tile " + tile.id);
mLayerClient.forceRedraw();
mLayerClient.endDrawing(mViewportMetrics);
mLayerClient.forceRender();
}
}
......
......@@ -397,6 +397,14 @@ public class GeckoLayerClient implements PanZoomTarget, LayerView.Listener {
}
}
public void forceRender() {
post(new Runnable() {
public void run() {
mView.requestRender();
}
});
}
/** Implementation of PanZoomTarget */
public boolean post(Runnable action) {
return mView.post(action);
......
......@@ -73,7 +73,6 @@ public abstract class TileLayer extends Layer {
* Invalidates the entire buffer so that it will be uploaded again. Only valid inside a
* transaction.
*/
public void invalidate() {
if (!inTransaction())
throw new RuntimeException("invalidate() is only valid inside a transaction");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment