fix possible concurrent modification
This commit is contained in:
parent
143e981ad1
commit
dd681e390d
@ -23,14 +23,13 @@ import android.widget.RelativeLayout.LayoutParams;
|
|||||||
public class AndroidMap extends Map {
|
public class AndroidMap extends Map {
|
||||||
|
|
||||||
private final MapView mMapView;
|
private final MapView mMapView;
|
||||||
boolean mWaitRedraw;
|
private boolean mWaitRedraw;
|
||||||
final GLView mGLView;
|
final GLView mGLView;
|
||||||
boolean mPausing = false;
|
boolean mPausing = false;
|
||||||
|
|
||||||
private final Runnable mRedrawRequest = new Runnable() {
|
private final Runnable mRedrawRequest = new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
mWaitRedraw = false;
|
|
||||||
redrawMapInternal(false);
|
redrawMapInternal(false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -61,7 +60,7 @@ public class AndroidMap extends Map {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMap(boolean requestRender) {
|
public synchronized void updateMap(boolean requestRender) {
|
||||||
if (requestRender && !mClearMap && !mPausing) // && mInitialized)
|
if (requestRender && !mClearMap && !mPausing) // && mInitialized)
|
||||||
mGLView.requestRender();
|
mGLView.requestRender();
|
||||||
|
|
||||||
@ -72,15 +71,16 @@ public class AndroidMap extends Map {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render() {
|
public synchronized void render() {
|
||||||
if (mClearMap)
|
if (mClearMap)
|
||||||
updateMap(false);
|
updateMap(false);
|
||||||
else
|
else
|
||||||
mGLView.requestRender();
|
mGLView.requestRender();
|
||||||
}
|
}
|
||||||
|
|
||||||
void redrawMapInternal(boolean forceRedraw) {
|
synchronized void redrawMapInternal(boolean forceRedraw) {
|
||||||
boolean clear = mClearMap;
|
boolean clear = mClearMap;
|
||||||
|
mWaitRedraw = false;
|
||||||
|
|
||||||
if (forceRedraw && !clear)
|
if (forceRedraw && !clear)
|
||||||
mGLView.requestRender();
|
mGLView.requestRender();
|
||||||
@ -104,7 +104,7 @@ public class AndroidMap extends Map {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void pause(boolean pause) {
|
public synchronized void pause(boolean pause) {
|
||||||
mPausing = pause;
|
mPausing = pause;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user