package net.osmand.core.samples.android.sample1.mapcontextmenu.controllers;
import android.graphics.drawable.Drawable;
import net.osmand.core.samples.android.sample1.MainActivity;
import net.osmand.core.samples.android.sample1.OsmandResources;
import net.osmand.core.samples.android.sample1.data.PointDescription;
import net.osmand.core.samples.android.sample1.mapcontextmenu.MenuBuilder;
import net.osmand.core.samples.android.sample1.mapcontextmenu.MenuController;
import net.osmand.util.Algorithms;
public class PointDescriptionMenuController extends MenuController {
private boolean hasTypeInDescription;
public PointDescriptionMenuController(MainActivity mainActivity, final PointDescription pointDescription) {
super(new MenuBuilder(mainActivity), pointDescription, mainActivity);
builder.setShowNearestWiki(true);
initData();
}
private void initData() {
hasTypeInDescription = !Algorithms.isEmpty(getPointDescription().getTypeName());
}
@Override
protected void setObject(Object object) {
initData();
}
@Override
protected Object getObject() {
return null;
}
@Override
public boolean displayStreetNameInTitle() {
return true;
}
@Override
public boolean displayDistanceDirection() {
return true;
}
@Override
public Drawable getLeftIcon() {
return getIcon(getPointDescription().getIconId());
}
@Override
public Drawable getSecondLineTypeIcon() {
if (hasTypeInDescription) {
return getIcon(OsmandResources.getDrawableId("ic_small_group"));
} else {
return null;
}
}
@Override
public String getTypeStr() {
if (hasTypeInDescription) {
return getPointDescription().getTypeName();
} else {
return "";
}
}
@Override
public String getCommonTypeStr() {
return getMainActivity().getMyApplication().getString("shared_string_location");
}
@Override
public boolean needStreetName() {
return !getPointDescription().isAddress();
}
}