package net.osmand.plus.mapcontextmenu.editors;
import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon;
import net.osmand.plus.FavouritesDbHelper;
import net.osmand.plus.activities.MapActivity;
import net.osmand.util.Algorithms;
public class FavoritePointEditor extends PointEditor {
private FavouritePoint favorite;
public static final String TAG = "FavoritePointEditorFragment";
public FavoritePointEditor(MapActivity mapActivity) {
super(mapActivity);
}
@Override
public String getFragmentTag() {
return TAG;
}
public FavouritePoint getFavorite() {
return favorite;
}
public void add(LatLon latLon, String title, String originObjectName) {
if (latLon == null) {
return;
}
isNew = true;
String lastCategory = app.getSettings().LAST_FAV_CATEGORY_ENTERED.get();
if (!Algorithms.isEmpty(lastCategory) && !app.getFavorites().groupExists(lastCategory)) {
lastCategory = "";
}
favorite = new FavouritePoint(latLon.getLatitude(), latLon.getLongitude(), title, lastCategory);
favorite.setDescription("");
favorite.setOriginObjectName(originObjectName);
FavoritePointEditorFragment.showInstance(mapActivity);
}
public void add(LatLon latLon, String title, String originObjectName, String categoryName, int categoryColor, boolean autoFill) {
if (latLon == null) return;
isNew = true;
if (categoryName != null && !categoryName.isEmpty()) {
FavouritesDbHelper.FavoriteGroup category = mapActivity.getMyApplication().getFavorites().getGroup(categoryName);
if (category == null)
mapActivity.getMyApplication().getFavorites().addEmptyCategory(categoryName, categoryColor);
} else categoryName = "";
favorite = new FavouritePoint(latLon.getLatitude(), latLon.getLongitude(), title, categoryName);
favorite.setDescription("");
favorite.setOriginObjectName(originObjectName);
FavoritePointEditorFragment.showAutoFillInstance(mapActivity, autoFill);
}
public void edit(FavouritePoint favorite) {
if (favorite == null) {
return;
}
isNew = false;
this.favorite = favorite;
FavoritePointEditorFragment.showInstance(mapActivity);
}
}