diff --git a/OsmAnd/res/drawable/btn_circle_n.xml b/OsmAnd/res/drawable/btn_circle_n.xml
index 1890ac9861..f9697ef6a0 100644
--- a/OsmAnd/res/drawable/btn_circle_n.xml
+++ b/OsmAnd/res/drawable/btn_circle_n.xml
@@ -14,7 +14,7 @@
android:insetRight="@dimen/map_button_inset_shadow"
android:insetTop="@dimen/map_button_inset_shadow" >
-
+
diff --git a/OsmAnd/res/values/sizes.xml b/OsmAnd/res/values/sizes.xml
index b062c5bf95..4c19d39f9b 100644
--- a/OsmAnd/res/values/sizes.xml
+++ b/OsmAnd/res/values/sizes.xml
@@ -62,7 +62,7 @@
50dp
120dp
7dp
- 52dp
+ 54dp
78dp
25sp
@@ -78,7 +78,7 @@
100dp
2dp
- 2dp
+ 1dp
4dp
3dp
1px
diff --git a/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java b/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java
index 1934a2910b..92918c3abd 100644
--- a/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java
+++ b/OsmAnd/src/net/osmand/plus/views/MapControlsLayer.java
@@ -527,12 +527,17 @@ public class MapControlsLayer extends OsmandMapLayer {
// final Drawable backToLocTrackedWhite = map.getResources().getDrawable(R.drawable.back_to_loc_tracked_white);
boolean enabled = mapActivity.getMyApplication().getLocationProvider().getLastKnownLocation() != null;
boolean tracked = mapActivity.getMapViewTrackingUtilities().isMapLinkedToLocation();
+
if (!enabled) {
- backToLocationControl.setIconColorId(R.color.icon_color_light);
+ backToLocationControl.setBg(R.drawable.btn_circle, R.drawable.btn_circle_night);
+ backToLocationControl.setIconColorId(R.color.icon_color_light, 0);
} else if (tracked) {
- backToLocationControl.setIconColorId(R.color.color_distance);
+ backToLocationControl.setIconColorId(0);
+ backToLocationControl.setBg(R.drawable.btn_circle_blue);
} else {
- backToLocationControl.setIconColorId(R.color.color_white);
+ // TODO different icon
+ backToLocationControl.setIconColorId(R.color.map_widget_icon_color);
+ backToLocationControl.setBg(R.drawable.btn_circle_blue);
}
boolean visible = !(tracked && rh.isFollowingMode());
backToLocationControl.updateVisibility(visible);
@@ -628,6 +633,9 @@ public class MapControlsLayer extends OsmandMapLayer {
}
public MapHudButton setBg(int dayBg, int nightBg) {
+ if(bgDark == nightBg && dayBg == bgLight) {
+ return this;
+ }
bgDark = nightBg;
bgLight = dayBg;
f = true;
@@ -648,6 +656,9 @@ public class MapControlsLayer extends OsmandMapLayer {
}
public MapHudButton setBg(int bg) {
+ if(bgDark == bg && bg == bgLight) {
+ return this;
+ }
bgDark = bg;
bgLight = bg;
f = true;
@@ -672,6 +683,16 @@ public class MapControlsLayer extends OsmandMapLayer {
f = true;
return this;
}
+
+ public MapHudButton setIconColorId(int clrLight, int clrDark) {
+ if (resLight == clrLight && resDark == clrDark) {
+ return this;
+ }
+ resLight = clrLight;
+ resDark = clrDark;
+ f = true;
+ return this;
+ }
public void update(OsmandApplication ctx, boolean night) {
if (nightMode == night && !f) {
diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
index 451476f79b..a15a2289bc 100644
--- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
+++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/MapInfoWidgetsFactory.java
@@ -349,6 +349,8 @@ public class MapInfoWidgetsFactory {
RouteDataObject rt = locationProvider.getLastKnownRouteSegment();
if(rt != null) {
text = RoutingHelper.formatStreetName(rt.getName(), rt.getRef(), rt.getDestinationName());
+ } else {
+ text = "";
}
}
if(!showNextTurn && updateWaypoint()) {
diff --git a/OsmAnd/src/net/osmand/plus/views/mapwidgets/TextInfoWidget.java b/OsmAnd/src/net/osmand/plus/views/mapwidgets/TextInfoWidget.java
index 8a879b53bc..fed6db6269 100644
--- a/OsmAnd/src/net/osmand/plus/views/mapwidgets/TextInfoWidget.java
+++ b/OsmAnd/src/net/osmand/plus/views/mapwidgets/TextInfoWidget.java
@@ -4,7 +4,6 @@ import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.views.OsmandMapLayer.DrawSettings;
import android.app.Activity;
-import android.app.Application;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.view.View;