Disable map selection when context menu is opened

This commit is contained in:
Alexey Kulish 2015-11-07 22:25:20 +03:00
parent d6ee74ac9b
commit 49cd2b0707

View file

@ -22,8 +22,11 @@ import net.osmand.map.OsmandRegions;
import net.osmand.map.WorldRegion; import net.osmand.map.WorldRegion;
import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R; import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.download.DownloadActivityType; import net.osmand.plus.download.DownloadActivityType;
import net.osmand.plus.download.IndexItem; import net.osmand.plus.download.IndexItem;
import net.osmand.plus.mapcontextmenu.MapContextMenu;
import net.osmand.plus.mapcontextmenu.other.MapMultiSelectionMenu;
import net.osmand.plus.resources.ResourceManager; import net.osmand.plus.resources.ResourceManager;
import net.osmand.plus.views.ContextMenuLayer.IContextMenuProvider; import net.osmand.plus.views.ContextMenuLayer.IContextMenuProvider;
import net.osmand.plus.views.ContextMenuLayer.IContextMenuProviderSelection; import net.osmand.plus.views.ContextMenuLayer.IContextMenuProviderSelection;
@ -65,7 +68,7 @@ public class DownloadedRegionsLayer extends OsmandMapLayer implements IContextMe
private static int ZOOM_TO_SHOW_MAP_NAMES = 6; private static int ZOOM_TO_SHOW_MAP_NAMES = 6;
private static int ZOOM_AFTER_BASEMAP = 12; private static int ZOOM_AFTER_BASEMAP = 12;
private static int ZOOM_TO_SHOW_BORDERS_ST = 5; private static int ZOOM_TO_SHOW_BORDERS_ST = 4;
private static int ZOOM_TO_SHOW_BORDERS = 7; private static int ZOOM_TO_SHOW_BORDERS = 7;
private static int ZOOM_TO_SHOW_SELECTION_ST = 3; private static int ZOOM_TO_SHOW_SELECTION_ST = 3;
private static int ZOOM_TO_SHOW_SELECTION = 10; private static int ZOOM_TO_SHOW_SELECTION = 10;
@ -404,8 +407,17 @@ public class DownloadedRegionsLayer extends OsmandMapLayer implements IContextMe
// IContextMenuProvider // IContextMenuProvider
@Override @Override
public void collectObjectsFromPoint(PointF point, RotatedTileBox tileBox, List<Object> objects) { public void collectObjectsFromPoint(PointF point, RotatedTileBox tileBox, List<Object> objects) {
boolean isMenuVisible = false;
if (view.getContext() instanceof MapActivity) {
MapActivity mapActivity = (MapActivity) view.getContext();
MapContextMenu menu = mapActivity.getContextMenu();
MapMultiSelectionMenu multiMenu = mapActivity.getMultiSelectionMenu();
isMenuVisible = menu.isVisible() || multiMenu.isVisible();
}
if (!isMenuVisible) {
getWorldRegionFromPoint(tileBox, point, objects); getWorldRegionFromPoint(tileBox, point, objects);
} }
}
@Override @Override
public LatLon getObjectLocation(Object o) { public LatLon getObjectLocation(Object o) {