From 293ec9d60c29bf92d5a77f8738a5d539942b037d Mon Sep 17 00:00:00 2001 From: Victor Shcherb Date: Mon, 18 Jun 2012 00:54:10 +0200 Subject: [PATCH] Update tracking information --- OsmAnd/res/values/strings.xml | 2 +- .../monitoring/OsmandMonitoringPlugin.java | 2 +- .../osmand/plus/routing/RouteAnimation.java | 2 +- .../osmand/plus/routing/RoutingHelper.java | 37 +------------------ .../net/osmand/plus/routing/VoiceRouter.java | 11 ++++-- .../net/osmand/plus/views/MapInfoLayer.java | 4 +- 6 files changed, 14 insertions(+), 44 deletions(-) diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml index c1edd2c159..289b76338b 100644 --- a/OsmAnd/res/values/strings.xml +++ b/OsmAnd/res/values/strings.xml @@ -226,7 +226,7 @@ User Profile Select a user profile with custom map and navigation settings. - Tracking + - Tracking Specify tracking settings - Navigation Specify navigation options diff --git a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java index 71c897f401..a282811434 100644 --- a/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java +++ b/OsmAnd/src/net/osmand/plus/monitoring/OsmandMonitoringPlugin.java @@ -73,7 +73,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin { @Override public void settingsActivityCreate(final SettingsActivity activity, PreferenceScreen screen) { - Preference offlineData = screen.findPreference("index_settings"); + Preference offlineData = screen.findPreference("local_indexes"); if(offlineData == null) { log.error("OsmandMonitoringPlugin: Index settings preference not found !"); } else { diff --git a/OsmAnd/src/net/osmand/plus/routing/RouteAnimation.java b/OsmAnd/src/net/osmand/plus/routing/RouteAnimation.java index 4942f273b0..ff15ea6033 100644 --- a/OsmAnd/src/net/osmand/plus/routing/RouteAnimation.java +++ b/OsmAnd/src/net/osmand/plus/routing/RouteAnimation.java @@ -95,7 +95,7 @@ public class RouteAnimation { } }); try { - Thread.sleep(1000); + Thread.sleep(1500); } catch (InterruptedException e) { // do nothing } diff --git a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java index feb168ffe7..da3cf955ac 100644 --- a/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java +++ b/OsmAnd/src/net/osmand/plus/routing/RoutingHelper.java @@ -235,13 +235,9 @@ public class RoutingHelper { int index = currentRoute; while (iterations > 0 && currentRoute + 1 < routeNodes.size()) { newDist = getOrthogonalDistance(currentLocation, routeNodes.get(currentRoute), routeNodes.get(currentRoute + 1)); - if (newDist < dist) { index = currentRoute; dist = newDist; - if (newDist < POSITION_TOLERANCE) { - break; - } } currentRoute++; iterations--; @@ -275,7 +271,7 @@ public class RoutingHelper { } } else if (newDist < dist || newDist < 10) { // newDist < 10 (avoid distance 0 till next turn) - if (dist > 3 * POSITION_TOLERANCE /2 ) { + if (dist > POSITION_TOLERANCE) { processed = true; if (log.isDebugEnabled()) { log.debug("Processed by distance : " + newDist + " " + dist); //$NON-NLS-1$//$NON-NLS-2$ @@ -316,37 +312,6 @@ public class RoutingHelper { clearCurrentRoute(null); return true; } - - // FIXME Probably not needed already -// // Double check if turn is passed or not -// // 3.1 check if closest location already passed -// if (currentRoute + 1 < routeNodes.size()) { -// float bearingRouteNext = routeNodes.get(currentRoute).bearingTo(routeNodes.get(currentRoute + 1)); -// float bearingToRoute = currentLocation.bearingTo(routeNodes.get(currentRoute)); -// double diff = Math.abs(MapUtils.degreesDiff(bearingToRoute, bearingRouteNext)); -// // only 40 degrees for that case because it wrong catches sharp turns -// if (diff < 40) { -// if (log.isDebugEnabled()) { -// log.debug("Processed point bearingToRoute : " + bearingToRoute + " bearingRouteNext " + bearingRouteNext); //$NON-NLS-1$ //$NON-NLS-2$ -// } -// route.updateCurrentRoute(currentRoute + 1); -// } -// } -// -// // 3.2 check that we already pass very sharp turn by missing one point (so our turn is sharper than expected) -// // instead of that rule possible could be introduced another if the dist < 5m mark the location as already passed -// if (currentRoute + 2 < routeNodes.size()) { -// float bearingRouteNextNext = routeNodes.get(currentRoute + 1).bearingTo(routeNodes.get(currentRoute + 2)); -// float bearingToRouteNext = currentLocation.bearingTo(routeNodes.get(currentRoute + 1)); -// double diff = Math.abs(MapUtils.degreesDiff(bearingToRouteNext, bearingRouteNextNext)); -// // only 20 degrees for that case because it wrong catches sharp turns -// if (diff < 20) { -// if (log.isDebugEnabled()) { -// log.debug("Processed point bearingToRouteNext : " + bearingToRouteNext + " bearingRouteNextNext " + bearingRouteNextNext); //$NON-NLS-1$ //$NON-NLS-2$ -// } -// route.updateCurrentRoute(currentRoute + 2); -// } -// } return false; } diff --git a/OsmAnd/src/net/osmand/plus/routing/VoiceRouter.java b/OsmAnd/src/net/osmand/plus/routing/VoiceRouter.java index 6af534f11f..1b69415bc4 100644 --- a/OsmAnd/src/net/osmand/plus/routing/VoiceRouter.java +++ b/OsmAnd/src/net/osmand/plus/routing/VoiceRouter.java @@ -31,8 +31,8 @@ public class VoiceRouter { // Speed in m/s protected float DEFAULT_SPEED = 12; - protected int PREPARE_LONG_DISTANCE = 3000; - protected int PREPARE_LONG_DISTANCE_END = 2000; + protected int PREPARE_LONG_DISTANCE = 3500; + protected int PREPARE_LONG_DISTANCE_END = 3000; protected int PREPARE_DISTANCE = 0; protected int PREPARE_DISTANCE_END = 0; @@ -217,7 +217,12 @@ public class VoiceRouter { if (dist > PREPARE_LONG_DISTANCE) { playGoAhead(dist); } - nextStatusAfter(STATUS_UNKNOWN); + // say long distance message only for long distances > 10 km + if(dist > 3 * PREPARE_LONG_DISTANCE) { + nextStatusAfter(STATUS_UNKNOWN); + } else { + nextStatusAfter(STATUS_LONG_PREPARE); + } } } diff --git a/OsmAnd/src/net/osmand/plus/views/MapInfoLayer.java b/OsmAnd/src/net/osmand/plus/views/MapInfoLayer.java index 4737681ca8..7feb2e22bf 100644 --- a/OsmAnd/src/net/osmand/plus/views/MapInfoLayer.java +++ b/OsmAnd/src/net/osmand/plus/views/MapInfoLayer.java @@ -463,7 +463,7 @@ public class MapInfoLayer extends OsmandMapLayer { } else { d = routingHelper.getDistanceToNextNextRouteDirection(); } - if (d > 0 && !showMiniMap) { + if (d >= 0 && !showMiniMap) { visible = true; RouteDirectionInfo next = uturnWhenPossible? routingHelper.getNextRouteDirectionInfo() : routingHelper.getNextNextRouteDirectionInfo(); @@ -541,7 +541,7 @@ public class MapInfoLayer extends OsmandMapLayer { invalidate(); } } else { - if (d > 0 && !showMiniMap) { + if (d >= 0 && !showMiniMap) { visible = true; RouteDirectionInfo next = routeLayer.getHelper().getNextRouteDirectionInfo(); if (next == null) {