package net.osmand.plus.mapcontextmenu.editors;
import android.support.v4.app.Fragment;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.helpers.AndroidUiHelper;
public abstract class PointEditor {
protected OsmandApplication app;
protected MapActivity mapActivity;
protected boolean isNew;
private boolean portraitMode;
private boolean nightMode;
public PointEditor(MapActivity mapActivity) {
this.app = mapActivity.getMyApplication();
this.mapActivity = mapActivity;
updateLandscapePortrait();
updateNightMode();
}
public void setMapActivity(MapActivity mapActivity) {
this.mapActivity = mapActivity;
}
public boolean isNew() {
return isNew;
}
public boolean isLandscapeLayout() {
return !portraitMode;
}
public boolean isLight() {
return !nightMode;
}
public void updateLandscapePortrait() {
portraitMode = AndroidUiHelper.isOrientationPortrait(mapActivity);
}
public void updateNightMode() {
nightMode = mapActivity.getMyApplication().getDaynightHelper().isNightModeForMapControls();
}
public int getSlideInAnimation() {
if (isLandscapeLayout()) {
return R.anim.slide_in_left;
} else {
return R.anim.slide_in_bottom;
}
}
public int getSlideOutAnimation() {
if (isLandscapeLayout()) {
return R.anim.slide_out_left;
} else {
return R.anim.slide_out_bottom;
}
}
public abstract String getFragmentTag();
public void hide() {
Fragment fragment = mapActivity.getSupportFragmentManager().findFragmentByTag(getFragmentTag());
if (fragment != null)
((PointEditorFragment)fragment).dismiss();
}
public void setCategory(String name) {
Fragment fragment = mapActivity.getSupportFragmentManager().findFragmentByTag(getFragmentTag());
if (fragment != null) {
PointEditorFragment editorFragment = (PointEditorFragment) fragment;
editorFragment.setCategory(name);
}
}
}