Open track point menu on long click
This commit is contained in:
parent
bb5302e2cc
commit
637f9f957c
18 changed files with 44 additions and 22 deletions
|
@ -155,7 +155,7 @@ public class AudioNotesLayer extends OsmandMapLayer implements
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -316,7 +316,7 @@ class MapillaryVectorLayer extends MapTileLayer implements MapillaryLayer, ICont
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -502,7 +502,7 @@ public class MeasurementToolLayer extends OsmandMapLayer implements ContextMenuL
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return isInMeasurementMode();
|
return isInMeasurementMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -453,7 +453,7 @@ public class OsmBugsLayer extends OsmandMapLayer implements IContextMenuProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -180,7 +180,7 @@ public class OsmEditsLayer extends OsmandMapLayer implements ContextMenuLayer.IC
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -750,7 +750,7 @@ public class TrackMenuFragment extends ContextMenuScrollFragment implements Card
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getStatusBarColorId() {
|
public int getStatusBarColorId() {
|
||||||
if (getViewY() <= getFullScreenTopPosY() || !isPortrait()) {
|
if (getView() != null && getViewY() <= getFullScreenTopPosY() || !isPortrait()) {
|
||||||
return isNightMode() ? R.color.status_bar_color_dark : R.color.status_bar_color_light;
|
return isNightMode() ? R.color.status_bar_color_dark : R.color.status_bar_color_light;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -267,7 +267,7 @@ public class AidlMapLayer extends OsmandMapLayer implements IContextMenuProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -320,7 +320,7 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
||||||
@Override
|
@Override
|
||||||
@RequiresPermission(Manifest.permission.VIBRATE)
|
@RequiresPermission(Manifest.permission.VIBRATE)
|
||||||
public boolean onLongPressEvent(PointF point, RotatedTileBox tileBox) {
|
public boolean onLongPressEvent(PointF point, RotatedTileBox tileBox) {
|
||||||
if (disableLongPressOnMap()) {
|
if (disableLongPressOnMap(point, tileBox)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (pressedContextMarker(tileBox, point.x, point.y)) {
|
if (pressedContextMarker(tileBox, point.x, point.y)) {
|
||||||
|
@ -877,7 +877,7 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
if (mInChangeMarkerPositionMode || mInGpxDetailsMode || mInAddGpxPointMode ||
|
if (mInChangeMarkerPositionMode || mInGpxDetailsMode || mInAddGpxPointMode ||
|
||||||
activity.getMapRouteInfoMenu().isVisible() || MapRouteInfoMenu.waypointsVisible
|
activity.getMapRouteInfoMenu().isVisible() || MapRouteInfoMenu.waypointsVisible
|
||||||
|| MapRouteInfoMenu.followTrackVisible) {
|
|| MapRouteInfoMenu.followTrackVisible) {
|
||||||
|
@ -886,7 +886,7 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
||||||
boolean res = false;
|
boolean res = false;
|
||||||
for (OsmandMapLayer lt : view.getLayers()) {
|
for (OsmandMapLayer lt : view.getLayers()) {
|
||||||
if (lt instanceof IContextMenuProvider) {
|
if (lt instanceof IContextMenuProvider) {
|
||||||
if (((IContextMenuProvider) lt).disableLongPressOnMap()) {
|
if (((IContextMenuProvider) lt).disableLongPressOnMap(point, tileBox)) {
|
||||||
res = true;
|
res = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1101,7 +1101,7 @@ public class ContextMenuLayer extends OsmandMapLayer {
|
||||||
|
|
||||||
boolean disableSingleTap();
|
boolean disableSingleTap();
|
||||||
|
|
||||||
boolean disableLongPressOnMap();
|
boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox);
|
||||||
|
|
||||||
boolean isObjectClickable(Object o);
|
boolean isObjectClickable(Object o);
|
||||||
|
|
||||||
|
|
|
@ -566,7 +566,7 @@ public class DownloadedRegionsLayer extends OsmandMapLayer implements IContextMe
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -213,7 +213,7 @@ public class FavouritesLayer extends OsmandMapLayer implements IContextMenuProvi
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1089,8 +1089,16 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return isInTrackAppearanceMode();
|
if (isInTrackAppearanceMode()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (tileBox.getZoom() >= START_ZOOM) {
|
||||||
|
List<Object> res = new ArrayList<>();
|
||||||
|
getTracksFromPoint(tileBox, point, res);
|
||||||
|
return !Algorithms.isEmpty(res);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1143,6 +1151,20 @@ public class GPXLayer extends OsmandMapLayer implements IContextMenuProvider, IM
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onLongPressEvent(PointF point, RotatedTileBox tileBox) {
|
public boolean onLongPressEvent(PointF point, RotatedTileBox tileBox) {
|
||||||
|
if (tileBox.getZoom() >= START_ZOOM) {
|
||||||
|
List<Object> trackPoints = new ArrayList<>();
|
||||||
|
getTracksFromPoint(tileBox, point, trackPoints);
|
||||||
|
|
||||||
|
if (!Algorithms.isEmpty(trackPoints)) {
|
||||||
|
MapActivity mapActivity = (MapActivity) view.getContext();
|
||||||
|
SelectedGpxPoint selectedGpxPoint = (SelectedGpxPoint) trackPoints.get(0);
|
||||||
|
WptPt wptPt = selectedGpxPoint.getSelectedPoint();
|
||||||
|
PointDescription description = getObjectName(selectedGpxPoint);
|
||||||
|
ContextMenuLayer contextMenuLayer = mapActivity.getMapLayers().getContextMenuLayer();
|
||||||
|
contextMenuLayer.showContextMenu(new LatLon(wptPt.lat, wptPt.lon), description, selectedGpxPoint, this);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ public class ImpassableRoadsLayer extends OsmandMapLayer implements
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -497,7 +497,7 @@ public class MapMarkersLayer extends OsmandMapLayer implements IContextMenuProvi
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return inPlanRouteMode;
|
return inPlanRouteMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -379,7 +379,7 @@ public class POIMapLayer extends OsmandMapLayer implements ContextMenuLayer.ICon
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -226,7 +226,7 @@ public class PointLocationLayer extends OsmandMapLayer implements ContextMenuLay
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -172,7 +172,7 @@ public class PointNavigationLayer extends OsmandMapLayer implements
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -802,7 +802,7 @@ public class RouteLayer extends OsmandMapLayer implements ContextMenuLayer.ICont
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return isInRouteLineAppearanceMode();
|
return isInRouteLineAppearanceMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -294,7 +294,7 @@ public class TransportStopsLayer extends OsmandMapLayer implements ContextMenuLa
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean disableLongPressOnMap() {
|
public boolean disableLongPressOnMap(PointF point, RotatedTileBox tileBox) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue