diff --git a/OsmAnd/res/values-lt/strings.xml b/OsmAnd/res/values-lt/strings.xml index ff9c58fb3d..100c7ad0c8 100644 --- a/OsmAnd/res/values-lt/strings.xml +++ b/OsmAnd/res/values-lt/strings.xml @@ -2910,8 +2910,8 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka. Visi žymekliai perkelti į istorija Žemėlapio žymeklis perkeltas į istoriją Žemėlapio žymeklis perkeltas prie aktyvų - Paskutinį kartą naudota: %1$ s - Taisymų %1$ s, suma %2$ s mBTC + Paskutinį kartą naudota: %1$s + Taisymų %1$s, suma %2$s mBTC Laosiečių OsmAnd (OSM Automated Navigation Directions) yra žemėlapio ir navigacijos programa su prieiga prie nemokamų, pasaulinių ir aukštos kokybės OpenStreetMap (OSM) duomenų. Naudokitės balso ir vaizdo navigatoriumi, peržiūrėkite LV (lankytinas vietas), kurkite ir valdytkite GPX kelius, naudojkite kontūro linijos vizualizaciją ir aukščio info (įskiepių pagalba), pasirinkite vairavimo, dviračių, pėsčiųjų režimus, redaguokite OSM duomenis ir daug daugiau. Nuostatos pavadinimas @@ -2922,7 +2922,7 @@ Tai yra puikus būdas paremti OsmAnd ir OSM, jei jie jums patinka. Bakstelėję veiksmo mygtuką pridėsite OSM pastabą ekrano centre. Bakstelėję veiksmo mygtuką pridėsite LV-ą ekrano centre. Bakstelėję veiksmo mygtuką pridėsite automobilio stovėjimo vietą ekrano centre. - Nurodyto greito veiksmo pavadinimas jau naudojamas, todėl buvo pakeistas į %1$ s, kad būtų išvengta dubliavimo. + Nurodyto greito veiksmo pavadinimas jau naudojamas, todėl buvo pakeistas į %1$s, kad būtų išvengta dubliavimo. Pasikartojantis greitojo veiksmo pavadinimas Bakstelėjus veiksmo mygtuką bus parodoma arba paslepiama LV-a žemėlapyje. Nuspauskite ir vilkite mygtuką norėdami pakeisti jo padėtį ekrane. diff --git a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java index c005c66ac5..9eca8830e8 100644 --- a/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java +++ b/OsmAnd/src/net/osmand/plus/dashboard/DashboardOnMap.java @@ -1487,13 +1487,18 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis public void run() { if (visibleType == DashboardType.WAYPOINTS || visibleType == DashboardType.WAYPOINTS_FLAT) { List allTargets = new ArrayList<>(); + TargetPoint start = null; if (items != null) { for (Object obj : items) { if (obj instanceof LocationPointWrapper) { LocationPointWrapper p = (LocationPointWrapper) obj; if (p.getPoint() instanceof TargetPoint) { TargetPoint t = (TargetPoint) p.getPoint(); - t.intermediate = true; + if (t.start) { + start = t; + } else { + t.intermediate = true; + } allTargets.add(t); } } @@ -1503,15 +1508,24 @@ public class DashboardOnMap implements ObservableScrollViewCallbacks, DynamicLis } } TargetPointsHelper targetPointsHelper = getMyApplication().getTargetPointsHelper(); - if (allTargets.size() > 0) { - TargetPoint start = allTargets.remove(0); - targetPointsHelper.setStartPoint(new LatLon(start.getLatitude(), start.getLongitude()), - false, start.getPointDescription(getMyApplication())); + if (start != null) { + int startInd = allTargets.indexOf(start); + TargetPoint first = allTargets.remove(0); + if (startInd != 0) { + start.start = false; + start.intermediate = startInd != allTargets.size() - 1; + if (targetPointsHelper.getPointToStart() == null) { + start.getOriginalPointDescription().setName(start.getLatitude() + ", " + start.getLongitude()); + } + first.start = true; + first.intermediate = false; + targetPointsHelper.setStartPoint(new LatLon(first.getLatitude(), first.getLongitude()), + false, first.getPointDescription(getMyApplication())); + } } targetPointsHelper.reorderAllTargetPoints(allTargets, false); newRouteIsCalculated(false, new ValueHolder()); targetPointsHelper.updateRouteAndRefresh(true); - } } }, 50); diff --git a/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java b/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java index 47f4d04b8d..4962c50830 100644 --- a/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java +++ b/OsmAnd/src/net/osmand/plus/openseamapsplugin/NauticalMapsPlugin.java @@ -6,6 +6,7 @@ import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.support.v7.app.AlertDialog; import net.osmand.IndexConstants; +import net.osmand.plus.ApplicationMode; import net.osmand.plus.OsmandApplication; import net.osmand.plus.OsmandPlugin; import net.osmand.plus.R; @@ -13,6 +14,9 @@ import net.osmand.plus.download.DownloadActivity; import net.osmand.plus.download.DownloadResources; import net.osmand.plus.render.RendererRegistry; +import java.util.LinkedHashSet; +import java.util.Set; + public class NauticalMapsPlugin extends OsmandPlugin { public static final String ID = "nauticalPlugin.plugin"; @@ -53,6 +57,7 @@ public class NauticalMapsPlugin extends OsmandPlugin { @Override public boolean init(final OsmandApplication app, final Activity activity) { if(activity != null) { + addBoatProfile(true); // called from UI previousRenderer = app.getSettings().RENDERER.get(); app.getSettings().RENDERER.set(RendererRegistry.NAUTICAL_RENDER); @@ -82,6 +87,17 @@ public class NauticalMapsPlugin extends OsmandPlugin { } return true; } + + public void addBoatProfile(boolean flag) { + Set selectedProfiles = new LinkedHashSet<>(ApplicationMode.values(app.getSettings())); + boolean isBoatEnabled = selectedProfiles.contains(ApplicationMode.BOAT); + if((!isBoatEnabled && flag) || (isBoatEnabled && !flag)) { + String s = app.getSettings().AVAILABLE_APP_MODES.get(); + String currModes = flag ? s + ApplicationMode.BOAT.getStringKey() + "," + : s.replace(ApplicationMode.BOAT.getStringKey() + ",", ""); + app.getSettings().AVAILABLE_APP_MODES.set(currModes); + } + } @Override public void disable(OsmandApplication app) { @@ -89,6 +105,7 @@ public class NauticalMapsPlugin extends OsmandPlugin { if(app.getSettings().RENDERER.get().equals(RendererRegistry.NAUTICAL_RENDER)) { app.getSettings().RENDERER.set(previousRenderer); } + addBoatProfile(false); } @Override