TextRenderer: handle 'clear' on update to remove all previous labels
This commit is contained in:
parent
af4df27d42
commit
3b92134b2a
@ -613,6 +613,9 @@ class TextRenderer extends ElementRenderer {
|
|||||||
compile();
|
compile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mRequestClear)
|
||||||
|
cleanup();
|
||||||
|
|
||||||
//if (!mHolding)
|
//if (!mHolding)
|
||||||
postLabelTask();
|
postLabelTask();
|
||||||
}
|
}
|
||||||
@ -620,6 +623,7 @@ class TextRenderer extends ElementRenderer {
|
|||||||
/* private */LabelTask mLabelTask;
|
/* private */LabelTask mLabelTask;
|
||||||
/* private */long mLastRun;
|
/* private */long mLastRun;
|
||||||
/* private */boolean mRequestRun;
|
/* private */boolean mRequestRun;
|
||||||
|
/* private */boolean mRequestClear;
|
||||||
/* private */boolean mRelabel;
|
/* private */boolean mRelabel;
|
||||||
|
|
||||||
class LabelTask implements Runnable {
|
class LabelTask implements Runnable {
|
||||||
@ -654,6 +658,7 @@ class TextRenderer extends ElementRenderer {
|
|||||||
mLabels = (Label) mPool.releaseAll(mLabels);
|
mLabels = (Label) mPool.releaseAll(mLabels);
|
||||||
mTileSet.releaseTiles();
|
mTileSet.releaseTiles();
|
||||||
mLabelTask = null;
|
mLabelTask = null;
|
||||||
|
mRequestClear = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Runnable mLabelUpdate = new Runnable() {
|
private final Runnable mLabelUpdate = new Runnable() {
|
||||||
@ -718,6 +723,14 @@ class TextRenderer extends ElementRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void clearLabels() {
|
public synchronized void clearLabels() {
|
||||||
|
if (mRequestRun) {
|
||||||
|
mRequestClear = true;
|
||||||
|
mRelabel = true;
|
||||||
|
} else {
|
||||||
|
cleanup();
|
||||||
|
postLabelTask();
|
||||||
|
}
|
||||||
|
|
||||||
// if (mLabelHandler != null)
|
// if (mLabelHandler != null)
|
||||||
// mLabelHandler.removeCallbacks(mLabelUpdate);
|
// mLabelHandler.removeCallbacks(mLabelUpdate);
|
||||||
//
|
//
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user