Search in sources :

Example 1 with OnlineRoutingHelper

use of net.osmand.plus.onlinerouting.OnlineRoutingHelper in project Osmand by osmandapp.

the class SelectNavProfileBottomSheet method savePredefinedEngine.

private void savePredefinedEngine(RoutingDataObject profile) {
    String stringKey = profile.getStringKey();
    OnlineRoutingHelper helper = app.getOnlineRoutingHelper();
    ProfilesGroup profilesGroup = findGroupOfProfile(profile);
    if (profilesGroup != null) {
        PredefinedProfilesGroup group = (PredefinedProfilesGroup) profilesGroup;
        String type = group.getType().toUpperCase();
        OnlineRoutingEngine engine = EngineType.getTypeByName(type).newInstance(null);
        engine.put(EngineParameter.KEY, stringKey);
        engine.put(EngineParameter.VEHICLE_KEY, NONE_VEHICLE.getKey());
        engine.put(EngineParameter.CUSTOM_URL, profile.getDescription());
        String namePattern = getString(R.string.ltr_or_rtl_combine_via_dash);
        String name = String.format(namePattern, group.getTitle(), profile.getName());
        engine.put(EngineParameter.CUSTOM_NAME, name);
        helper.saveEngine(engine);
    }
}
Also used : PredefinedProfilesGroup(net.osmand.plus.profiles.data.PredefinedProfilesGroup) OnlineRoutingEngine(net.osmand.plus.onlinerouting.engine.OnlineRoutingEngine) OnlineRoutingHelper(net.osmand.plus.onlinerouting.OnlineRoutingHelper) ProfilesGroup(net.osmand.plus.profiles.data.ProfilesGroup) PredefinedProfilesGroup(net.osmand.plus.profiles.data.PredefinedProfilesGroup)

Example 2 with OnlineRoutingHelper

use of net.osmand.plus.onlinerouting.OnlineRoutingHelper in project Osmand by osmandapp.

the class RoutingDataUtils method getOnlineRoutingProfiles.

private List<ProfileDataObject> getOnlineRoutingProfiles(boolean onlyCustom) {
    OnlineRoutingHelper helper = app.getOnlineRoutingHelper();
    List<ProfileDataObject> objects = new ArrayList<>();
    List<OnlineRoutingEngine> engines = onlyCustom ? helper.getOnlyCustomEngines() : helper.getEngines();
    for (int i = 0; i < engines.size(); i++) {
        OnlineRoutingDataObject profile = convertOnlineEngineToDataObject(engines.get(i));
        profile.setOrder(i);
        objects.add(profile);
    }
    return objects;
}
Also used : OnlineRoutingEngine(net.osmand.plus.onlinerouting.engine.OnlineRoutingEngine) ArrayList(java.util.ArrayList) OnlineRoutingHelper(net.osmand.plus.onlinerouting.OnlineRoutingHelper)

Example 3 with OnlineRoutingHelper

use of net.osmand.plus.onlinerouting.OnlineRoutingHelper in project Osmand by osmandapp.

the class RoutingDataUtils method getOnlineEngineByKey.

@Nullable
public ProfileDataObject getOnlineEngineByKey(String stringKey) {
    OnlineRoutingHelper helper = app.getOnlineRoutingHelper();
    OnlineRoutingEngine engine = helper.getEngineByKey(stringKey);
    if (engine != null) {
        return convertOnlineEngineToDataObject(engine);
    }
    return null;
}
Also used : OnlineRoutingEngine(net.osmand.plus.onlinerouting.engine.OnlineRoutingEngine) OnlineRoutingHelper(net.osmand.plus.onlinerouting.OnlineRoutingHelper) Nullable(androidx.annotation.Nullable)

Example 4 with OnlineRoutingHelper

use of net.osmand.plus.onlinerouting.OnlineRoutingHelper in project Osmand by osmandapp.

the class AppInitializer method onCreateApplication.

public void onCreateApplication() {
    // always update application mode to default
    OsmandSettings osmandSettings = app.getSettings();
    if (osmandSettings.FOLLOW_THE_ROUTE.get()) {
        ApplicationMode savedMode = osmandSettings.readApplicationMode();
        if (!osmandSettings.APPLICATION_MODE.get().getStringKey().equals(savedMode.getStringKey())) {
            osmandSettings.setApplicationMode(savedMode);
        }
    } else {
        osmandSettings.setApplicationMode(osmandSettings.DEFAULT_APPLICATION_MODE.get());
    }
    startTime = System.currentTimeMillis();
    getLazyRoutingConfig();
    app.applyTheme(app);
    startupInit(app.reconnectToBRouter(), IBRouterService.class);
    app.backupHelper = startupInit(new BackupHelper(app), BackupHelper.class);
    app.inAppPurchaseHelper = startupInit(new InAppPurchaseHelperImpl(app), InAppPurchaseHelperImpl.class);
    app.poiTypes = startupInit(MapPoiTypes.getDefaultNoInit(), MapPoiTypes.class);
    app.transportRoutingHelper = startupInit(new TransportRoutingHelper(app), TransportRoutingHelper.class);
    app.routingHelper = startupInit(new RoutingHelper(app), RoutingHelper.class);
    app.routingOptionsHelper = startupInit(new RoutingOptionsHelper(app), RoutingOptionsHelper.class);
    app.resourceManager = startupInit(new ResourceManager(app), ResourceManager.class);
    app.daynightHelper = startupInit(new DayNightHelper(app), DayNightHelper.class);
    app.locationProvider = startupInit(new OsmAndLocationProvider(app), OsmAndLocationProvider.class);
    app.avoidSpecificRoads = startupInit(new AvoidSpecificRoads(app), AvoidSpecificRoads.class);
    app.avoidRoadsHelper = startupInit(new AvoidRoadsHelper(app), AvoidRoadsHelper.class);
    app.savingTrackHelper = startupInit(new SavingTrackHelper(app), SavingTrackHelper.class);
    app.analyticsHelper = startupInit(new AnalyticsHelper(app), AnalyticsHelper.class);
    app.notificationHelper = startupInit(new NotificationHelper(app), NotificationHelper.class);
    app.liveMonitoringHelper = startupInit(new LiveMonitoringHelper(app), LiveMonitoringHelper.class);
    app.selectedGpxHelper = startupInit(new GpxSelectionHelper(app, app.savingTrackHelper), GpxSelectionHelper.class);
    app.gpxDbHelper = startupInit(new GpxDbHelper(app), GpxDbHelper.class);
    app.favoritesHelper = startupInit(new FavouritesHelper(app), FavouritesHelper.class);
    app.waypointHelper = startupInit(new WaypointHelper(app), WaypointHelper.class);
    app.aidlApi = startupInit(new OsmandAidlApi(app), OsmandAidlApi.class);
    app.regions = startupInit(new OsmandRegions(), OsmandRegions.class);
    updateRegionVars();
    app.poiFilters = startupInit(new PoiFiltersHelper(app), PoiFiltersHelper.class);
    app.rendererRegistry = startupInit(new RendererRegistry(app), RendererRegistry.class);
    app.geocodingLookupService = startupInit(new GeocodingLookupService(app), GeocodingLookupService.class);
    app.targetPointsHelper = startupInit(new TargetPointsHelper(app), TargetPointsHelper.class);
    app.mapMarkersDbHelper = startupInit(new MapMarkersDbHelper(app), MapMarkersDbHelper.class);
    app.mapMarkersHelper = startupInit(new MapMarkersHelper(app), MapMarkersHelper.class);
    app.searchUICore = startupInit(new QuickSearchHelper(app), QuickSearchHelper.class);
    app.mapViewTrackingUtilities = startupInit(new MapViewTrackingUtilities(app), MapViewTrackingUtilities.class);
    app.osmandMap = startupInit(new OsmandMap(app), OsmandMap.class);
    // TODO TRAVEL_OBF_HELPER check ResourceManager and use TravelObfHelper
    TravelHelper travelHelper = !TravelDbHelper.checkIfDbFileExists(app) ? new TravelObfHelper(app) : new TravelDbHelper(app);
    app.travelHelper = startupInit(travelHelper, TravelHelper.class);
    app.travelRendererHelper = startupInit(new TravelRendererHelper(app), TravelRendererHelper.class);
    app.lockHelper = startupInit(new LockHelper(app), LockHelper.class);
    app.fileSettingsHelper = startupInit(new FileSettingsHelper(app), FileSettingsHelper.class);
    app.networkSettingsHelper = startupInit(new NetworkSettingsHelper(app), NetworkSettingsHelper.class);
    app.quickActionRegistry = startupInit(new QuickActionRegistry(app.getSettings()), QuickActionRegistry.class);
    app.osmOAuthHelper = startupInit(new OsmOAuthHelper(app), OsmOAuthHelper.class);
    app.oprAuthHelper = startupInit(new OprAuthHelper(app), OprAuthHelper.class);
    app.onlineRoutingHelper = startupInit(new OnlineRoutingHelper(app), OnlineRoutingHelper.class);
    app.launcherShortcutsHelper = startupInit(new LauncherShortcutsHelper(app), LauncherShortcutsHelper.class);
    app.gpsFilterHelper = startupInit(new GpsFilterHelper(app), GpsFilterHelper.class);
    app.downloadTilesHelper = startupInit(new DownloadTilesHelper(app), DownloadTilesHelper.class);
    initOpeningHoursParser();
}
Also used : DayNightHelper(net.osmand.plus.helpers.DayNightHelper) OsmOAuthHelper(net.osmand.plus.plugins.osmedit.oauth.OsmOAuthHelper) FavouritesHelper(net.osmand.plus.myplaces.FavouritesHelper) AvoidSpecificRoads(net.osmand.plus.helpers.AvoidSpecificRoads) BackupHelper(net.osmand.plus.backup.BackupHelper) MapViewTrackingUtilities(net.osmand.plus.base.MapViewTrackingUtilities) WaypointHelper(net.osmand.plus.helpers.WaypointHelper) OnlineRoutingHelper(net.osmand.plus.onlinerouting.OnlineRoutingHelper) ApplicationMode(net.osmand.plus.settings.backend.ApplicationMode) SavingTrackHelper(net.osmand.plus.track.helpers.SavingTrackHelper) PoiFiltersHelper(net.osmand.plus.poi.PoiFiltersHelper) TravelObfHelper(net.osmand.plus.wikivoyage.data.TravelObfHelper) AvoidRoadsHelper(net.osmand.plus.routing.AvoidRoadsHelper) GpxDbHelper(net.osmand.plus.track.helpers.GpxDbHelper) OsmandRegions(net.osmand.map.OsmandRegions) LauncherShortcutsHelper(net.osmand.plus.helpers.LauncherShortcutsHelper) RendererRegistry(net.osmand.plus.render.RendererRegistry) DownloadTilesHelper(net.osmand.plus.plugins.rastermaps.DownloadTilesHelper) TargetPointsHelper(net.osmand.plus.helpers.TargetPointsHelper) QuickActionRegistry(net.osmand.plus.quickaction.QuickActionRegistry) AnalyticsHelper(net.osmand.plus.helpers.AnalyticsHelper) TravelHelper(net.osmand.plus.wikivoyage.data.TravelHelper) OsmandMap(net.osmand.plus.views.OsmandMap) TravelDbHelper(net.osmand.plus.wikivoyage.data.TravelDbHelper) MapMarkersDbHelper(net.osmand.plus.mapmarkers.MapMarkersDbHelper) GpsFilterHelper(net.osmand.plus.track.helpers.GpsFilterHelper) OnlineRoutingHelper(net.osmand.plus.onlinerouting.OnlineRoutingHelper) RoutingHelper(net.osmand.plus.routing.RoutingHelper) TransportRoutingHelper(net.osmand.plus.routing.TransportRoutingHelper) ResourceManager(net.osmand.plus.resources.ResourceManager) GpxSelectionHelper(net.osmand.plus.track.helpers.GpxSelectionHelper) TravelRendererHelper(net.osmand.plus.render.TravelRendererHelper) LiveMonitoringHelper(net.osmand.plus.plugins.monitoring.LiveMonitoringHelper) OsmandSettings(net.osmand.plus.settings.backend.OsmandSettings) MapPoiTypes(net.osmand.osm.MapPoiTypes) QuickSearchHelper(net.osmand.plus.search.QuickSearchHelper) NetworkSettingsHelper(net.osmand.plus.backup.NetworkSettingsHelper) RoutingOptionsHelper(net.osmand.plus.routepreparationmenu.RoutingOptionsHelper) MapMarkersHelper(net.osmand.plus.mapmarkers.MapMarkersHelper) NotificationHelper(net.osmand.plus.notifications.NotificationHelper) InAppPurchaseHelperImpl(net.osmand.plus.inapp.InAppPurchaseHelperImpl) TransportRoutingHelper(net.osmand.plus.routing.TransportRoutingHelper) FileSettingsHelper(net.osmand.plus.settings.backend.backup.FileSettingsHelper) OprAuthHelper(net.osmand.plus.plugins.openplacereviews.OprAuthHelper) OsmandAidlApi(net.osmand.aidl.OsmandAidlApi) LockHelper(net.osmand.plus.helpers.LockHelper)

Example 5 with OnlineRoutingHelper

use of net.osmand.plus.onlinerouting.OnlineRoutingHelper in project Osmand by osmandapp.

the class RouteProvider method findOnlineRoute.

private RouteCalculationResult findOnlineRoute(RouteCalculationParams params) throws IOException, JSONException {
    OsmandApplication app = params.ctx;
    OnlineRoutingHelper helper = app.getOnlineRoutingHelper();
    OsmandSettings settings = app.getSettings();
    String engineKey = params.mode.getRoutingProfile();
    OnlineRoutingResponse response = helper.calculateRouteOnline(engineKey, getPathFromParams(params), params.start.hasBearing() ? params.start.getBearing() : null, params.leftSide, params.initialCalculation);
    if (response != null) {
        if (response.getGpxFile() != null) {
            GPXRouteParamsBuilder builder = new GPXRouteParamsBuilder(response.getGpxFile(), settings);
            builder.setCalculatedRouteTimeSpeed(response.hasCalculatedTimeSpeed());
            params.gpxRoute = builder.build(app);
            return calculateGpxRoute(params);
        }
        List<Location> route = response.getRoute();
        List<RouteDirectionInfo> directions = response.getDirections();
        if (!Algorithms.isEmpty(route) && !Algorithms.isEmpty(directions)) {
            params.intermediates = null;
            return new RouteCalculationResult(route, directions, params, null, false);
        }
    } else {
        params.initialCalculation = false;
    }
    return new RouteCalculationResult("Route is empty");
}
Also used : OsmandApplication(net.osmand.plus.OsmandApplication) GPXRouteParamsBuilder(net.osmand.plus.routing.GPXRouteParams.GPXRouteParamsBuilder) OnlineRoutingHelper(net.osmand.plus.onlinerouting.OnlineRoutingHelper) OnlineRoutingResponse(net.osmand.plus.onlinerouting.engine.OnlineRoutingEngine.OnlineRoutingResponse) OsmandSettings(net.osmand.plus.settings.backend.OsmandSettings) Location(net.osmand.Location)

Aggregations

OnlineRoutingHelper (net.osmand.plus.onlinerouting.OnlineRoutingHelper)6 OnlineRoutingEngine (net.osmand.plus.onlinerouting.engine.OnlineRoutingEngine)4 ArrayList (java.util.ArrayList)2 Location (net.osmand.Location)2 OnlineRoutingResponse (net.osmand.plus.onlinerouting.engine.OnlineRoutingEngine.OnlineRoutingResponse)2 OsmandSettings (net.osmand.plus.settings.backend.OsmandSettings)2 Nullable (androidx.annotation.Nullable)1 OsmandAidlApi (net.osmand.aidl.OsmandAidlApi)1 LatLon (net.osmand.data.LatLon)1 OsmandRegions (net.osmand.map.OsmandRegions)1 MapPoiTypes (net.osmand.osm.MapPoiTypes)1 OsmandApplication (net.osmand.plus.OsmandApplication)1 BackupHelper (net.osmand.plus.backup.BackupHelper)1 NetworkSettingsHelper (net.osmand.plus.backup.NetworkSettingsHelper)1 MapViewTrackingUtilities (net.osmand.plus.base.MapViewTrackingUtilities)1 AnalyticsHelper (net.osmand.plus.helpers.AnalyticsHelper)1 AvoidSpecificRoads (net.osmand.plus.helpers.AvoidSpecificRoads)1 DayNightHelper (net.osmand.plus.helpers.DayNightHelper)1 LauncherShortcutsHelper (net.osmand.plus.helpers.LauncherShortcutsHelper)1 LockHelper (net.osmand.plus.helpers.LockHelper)1