package net.osmand.plus.mapcontextmenu.controllers; import android.graphics.drawable.Drawable; import android.support.v4.content.ContextCompat; import net.osmand.data.PointDescription; import net.osmand.plus.GPXUtilities.WptPt; import net.osmand.plus.R; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.base.FavoriteImageDrawable; import net.osmand.plus.mapcontextmenu.MenuController; import net.osmand.plus.mapcontextmenu.builders.WptPtMenuBuilder; import net.osmand.util.Algorithms; public class WptPtMenuController extends MenuController { private WptPt wpt; public WptPtMenuController(MapActivity mapActivity, PointDescription pointDescription, WptPt wpt) { super(new WptPtMenuBuilder(mapActivity, wpt), pointDescription, mapActivity); this.wpt = wpt; } @Override protected void setObject(Object object) { if (object instanceof WptPt) { this.wpt = (WptPt) object; } } @Override protected Object getObject() { return wpt; } /* @Override public boolean handleSingleTapOnMap() { Fragment fragment = getMapActivity().getSupportFragmentManager().findFragmentByTag(FavoritePointEditor.TAG); if (fragment != null) { ((FavoritePointEditorFragment)fragment).dismiss(); return true; } return false; } */ @Override public boolean needStreetName() { return false; } @Override public boolean displayDistanceDirection() { return true; } @Override public Drawable getLeftIcon() { return FavoriteImageDrawable.getOrCreate(getMapActivity().getMyApplication(), wpt.getColor(ContextCompat.getColor(getMapActivity(), R.color.gpx_color_point)), false); } @Override public Drawable getSecondLineTypeIcon() { if (Algorithms.isEmpty(getTypeStr())) { return null; } else { return getIcon(R.drawable.map_small_group); } } @Override public String getTypeStr() { return wpt.category != null ? wpt.category : ""; } @Override public String getCommonTypeStr() { return getMapActivity().getString(R.string.gpx_wpt); } }