Deprecate base layer, closes #102

This commit is contained in:
Andrey Novikov 2016-08-18 15:13:35 +03:00 committed by Emux
parent 3a1ee523bc
commit 7355463090

View File

@ -108,8 +108,6 @@ public abstract class Map implements TaskQueue {
protected final MapEventLayer mEventLayer; protected final MapEventLayer mEventLayer;
protected GestureDetector mGestureDetector; protected GestureDetector mGestureDetector;
private TileLayer mBaseLayer;
protected boolean mClearMap = true; protected boolean mClearMap = true;
public Map() { public Map() {
@ -161,7 +159,6 @@ public abstract class Map implements TaskQueue {
public TileLayer setBaseMap(TileLayer tileLayer) { public TileLayer setBaseMap(TileLayer tileLayer) {
mLayers.add(1, tileLayer); mLayers.add(1, tileLayer);
mBaseLayer = tileLayer;
return tileLayer; return tileLayer;
} }
@ -178,10 +175,6 @@ public abstract class Map implements TaskQueue {
* to all vector layers and use map background color from theme. * to all vector layers and use map background color from theme.
*/ */
public void setTheme(ThemeFile theme, boolean allLayers) { public void setTheme(ThemeFile theme, boolean allLayers) {
if (mBaseLayer == null) {
log.error("No base layer set");
throw new IllegalStateException();
}
setTheme(ThemeLoader.load(theme), allLayers); setTheme(ThemeLoader.load(theme), allLayers);
} }
@ -194,19 +187,19 @@ public abstract class Map implements TaskQueue {
throw new IllegalArgumentException("Theme cannot be null."); throw new IllegalArgumentException("Theme cannot be null.");
} }
if (mBaseLayer == null) { boolean themeSet = false;
log.warn("No base layer set."); for (Layer layer : mLayers) {
} else if (mBaseLayer instanceof VectorTileLayer) { if (layer instanceof VectorTileLayer) {
((VectorTileLayer) mBaseLayer).setRenderTheme(theme); ((VectorTileLayer) layer).setRenderTheme(theme);
} themeSet = true;
if (!allLayers)
if (allLayers) { break;
for (Layer layer : mLayers) {
if (layer instanceof VectorTileLayer) {
((VectorTileLayer) layer).setRenderTheme(theme);
}
} }
} }
if (!themeSet) {
log.error("No vector layers set");
throw new IllegalStateException();
}
MapRenderer.setBackgroundColor(theme.getMapBackground()); MapRenderer.setBackgroundColor(theme.getMapBackground());