package net.osmand.plus; import android.app.Activity; import net.osmand.IProgress; import net.osmand.IndexConstants; import net.osmand.data.LocationPoint; import net.osmand.plus.activities.MapActivity; import net.osmand.plus.activities.PluginsActivity; import net.osmand.plus.activities.SettingsActivity; import net.osmand.plus.activities.TrackActivity; import net.osmand.plus.activities.search.SearchActivity; import net.osmand.plus.download.DownloadActivity; import net.osmand.plus.download.DownloadActivityType; import net.osmand.plus.helpers.WaypointHelper; import net.osmand.plus.myplaces.FavoritesActivity; import net.osmand.plus.routing.RouteCalculationResult; import net.osmand.plus.views.OsmandMapTileView; import java.io.File; import java.util.Collections; import java.util.List; import java.util.Map; public class OsmAndAppCustomization { protected OsmandApplication app; protected OsmandSettings osmandSettings; public void setup(OsmandApplication app) { this.app = app; this.osmandSettings = new OsmandSettings(app, new net.osmand.plus.api.SettingsAPIImpl(app)); } public OsmandSettings getOsmandSettings(){ return osmandSettings;} // Main menu public boolean checkExceptionsOnStart() { return true; } public boolean showFirstTimeRunAndTips(boolean firstTime, boolean appVersionChanged) { return true; } public boolean checkBasemapDownloadedOnStart() { return true; } // Activities public Class<? extends Activity> getSettingsActivity(){ return SettingsActivity.class; } public Class<MapActivity> getMapActivity(){ return MapActivity.class; } public Class<SearchActivity> getSearchActivity(){ return SearchActivity.class; } public Class<TrackActivity> getTrackActivity(){ return TrackActivity.class; } public Class<FavoritesActivity> getFavoritesActivity(){ return FavoritesActivity.class; } public Class<? extends Activity> getDownloadIndexActivity() { return DownloadActivity.class; } public Class<? extends Activity> getPluginsActivity() { return PluginsActivity.class; } public Class<? extends Activity> getDownloadActivity() { return DownloadActivity.class; } // Download screen public void getDownloadTypes(List<DownloadActivityType> items) { } public List<String> onIndexingFiles(IProgress progress, Map<String, String> indexFileNames) { return Collections.emptyList(); } public void prepareLayerContextMenu(MapActivity activity, ContextMenuAdapter adapter) { } public void prepareOptionsMenu(MapActivity mapActivity, ContextMenuAdapter optionsMenuHelper) { } public String getIndexesUrl() { return "http://"+IndexConstants.INDEX_DOWNLOAD_DOMAIN+"/get_indexes?gzip&" + Version.getVersionAsURLParam(app); //$NON-NLS-1$; } public boolean showDownloadExtraActions() { return true; } public File getTracksDir() { return app.getAppPath(IndexConstants.GPX_RECORDED_INDEX_DIR); } public void createLayers(OsmandMapTileView mapView, MapActivity activity) { } public List<? extends LocationPoint> getWaypoints() { return Collections.emptyList(); } public boolean isWaypointGroupVisible(int waypointType, RouteCalculationResult route) { if(waypointType == WaypointHelper.ALARMS) { return route != null && !route.getAlarmInfo().isEmpty(); } else if(waypointType == WaypointHelper.WAYPOINTS) { return route != null && !route.getLocationPoints().isEmpty(); } return true; } public void showLocationPoint(MapActivity ctx, LocationPoint locationPoint) { } public boolean onDestinationReached() { return true; } public boolean onlyTourDownload() { return false; } public <T> void resumeActivity(Class<T> class1, T d) { } public <T> void pauseActivity(Class<T> class1) { } }