Transparency seekbar on the map and UI are not synchronized

This commit is contained in:
sergosm 2020-09-22 10:55:16 +03:00
parent 1cc690ecf5
commit 2e27035a16
2 changed files with 12 additions and 0 deletions

View file

@ -149,6 +149,7 @@ public class RasterMapMenu {
@Override
public boolean onIntegerValueChangedListener(int newValue) {
mapTransparencyPreference.set(newValue);
mapActivity.getMapLayers().getMapControlsLayer().updateTransparencySlider();
mapActivity.getMapView().refreshMap();
return false;
}

View file

@ -1068,6 +1068,17 @@ public class MapControlsLayer extends OsmandMapLayer {
}
}
public void updateTransparencySlider () {
LayerTransparencySeekbarMode seekbarMode = settings.LAYER_TRANSPARENCY_SEEKBAR_MODE.get();
if (OsmandPlugin.getEnabledPlugin(OsmandRasterMapsPlugin.class) != null) {
if (seekbarMode == LayerTransparencySeekbarMode.OVERLAY && settings.MAP_OVERLAY.get() != null) {
transparencySlider.setValue(settings.MAP_OVERLAY_TRANSPARENCY.get());
} else if (seekbarMode == LayerTransparencySeekbarMode.UNDERLAY && settings.MAP_UNDERLAY.get() != null) {
transparencySlider.setValue(settings.MAP_TRANSPARENCY.get());
}
}
}
public void showTransparencyBar(CommonPreference<Integer> transparenPreference,
boolean isTransparencyBarEnabled) {
this.isTransparencyBarEnabled = isTransparencyBarEnabled;