diff --git a/OsmAnd/res/values-sv/strings.xml b/OsmAnd/res/values-sv/strings.xml
index e6b6a9fa51..785eb1d253 100644
--- a/OsmAnd/res/values-sv/strings.xml
+++ b/OsmAnd/res/values-sv/strings.xml
@@ -1,4 +1,4 @@
-
+
För att låsa upp skärmen tryck på låsikonen
Välj land
@@ -1969,4 +1969,8 @@
Läs mer
Nyheter
Dölj föreslagna objekt
-
+Lågtyska
+ Makedonska
+ Frisiska
+ Albanska (Toskiska)
+
diff --git a/OsmAnd/res/values/styles.xml b/OsmAnd/res/values/styles.xml
index ec0eebe927..83ec7de0e1 100644
--- a/OsmAnd/res/values/styles.xml
+++ b/OsmAnd/res/values/styles.xml
@@ -114,7 +114,7 @@
- @style/OsmandLightTheme.DarkActionbar
- @style/OsmandLightTheme.Toolbar
- @style/OsmandLightTheme.NewAppTheme
- - @color/dashboard_black
+ - @color/icon_color
- @color/map_widget_blue
@@ -207,7 +207,7 @@
- @style/OsmandDarkTheme.DarkActionbar
- @style/OsmandDarkTheme
- @style/OsmandDarkTheme
- - @color/map_widget_light
+ - @color/dash_search_icon_dark
- @color/osmand_orange
diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenu.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenu.java
index 3b567f7a05..af620089f4 100644
--- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenu.java
+++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenu.java
@@ -7,7 +7,6 @@ import net.osmand.data.FavouritePoint;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.plus.ContextMenuAdapter;
-import net.osmand.plus.GPXUtilities;
import net.osmand.plus.GPXUtilities.WptPt;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
@@ -520,21 +519,23 @@ public class MapContextMenu extends MenuTitleController {
}
public void updateMyLocation(net.osmand.Location location) {
- if (location != null) {
+ if (location != null && active && displayDistanceDirection()) {
myLocation = new LatLon(location.getLatitude(), location.getLongitude());
updateLocation(false, true, false);
}
}
public void updateCompassValue(float value) {
- // 99 in next line used to one-time initialize arrows (with reference vs. fixed-north direction)
- // on non-compass devices
- float lastHeading = heading != null ? heading : 99;
- heading = value;
- if (Math.abs(MapUtils.degreesDiff(lastHeading, heading)) > 5) {
- updateLocation(false, false, true);
- } else {
- heading = lastHeading;
+ if (active && displayDistanceDirection()) {
+ // 99 in next line used to one-time initialize arrows (with reference vs. fixed-north direction)
+ // on non-compass devices
+ float lastHeading = heading != null ? heading : 99;
+ heading = value;
+ if (Math.abs(MapUtils.degreesDiff(lastHeading, heading)) > 5) {
+ updateLocation(false, false, true);
+ } else {
+ heading = lastHeading;
+ }
}
}
diff --git a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenuFragment.java b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenuFragment.java
index 18bb4ab1c1..1de2edb66a 100644
--- a/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenuFragment.java
+++ b/OsmAnd/src/net/osmand/plus/mapcontextmenu/MapContextMenuFragment.java
@@ -74,6 +74,9 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
private int menuFullHeight;
private int menuFullHeightMax;
+ private int screenHeight;
+ private int viewHeight;
+
private int fabPaddingTopPx;
private int markerPaddingPx;
private int markerPaddingXPx;
@@ -126,6 +129,9 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
+ screenHeight = getScreenHeight();
+ viewHeight = screenHeight - getStatusBarHeight();
+
fabPaddingTopPx = dpToPx(FAB_PADDING_TOP_DP);
markerPaddingPx = dpToPx(MARKER_PADDING_DP);
markerPaddingXPx = dpToPx(MARKER_PADDING_X_DP);
@@ -704,26 +710,26 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
private int getPosY(boolean needCloseMenu) {
if (needCloseMenu) {
- return getScreenHeight();
+ return screenHeight;
}
int destinationState;
int minHalfY;
if (menu.isExtended()) {
destinationState = menu.getCurrentMenuState();
- minHalfY = view.getHeight() - (int)(view.getHeight() * menu.getHalfScreenMaxHeightKoef());
+ minHalfY = viewHeight - (int)(viewHeight * menu.getHalfScreenMaxHeightKoef());
} else {
destinationState = MenuController.MenuState.HEADER_ONLY;
- minHalfY = view.getHeight();
+ minHalfY = viewHeight;
}
int posY = 0;
switch (destinationState) {
case MenuController.MenuState.HEADER_ONLY:
- posY = view.getHeight() - (menuTitleHeight - dpToPx(SHADOW_HEIGHT_BOTTOM_DP));
+ posY = viewHeight - (menuTitleHeight - dpToPx(SHADOW_HEIGHT_BOTTOM_DP));
break;
case MenuController.MenuState.HALF_SCREEN:
- posY = view.getHeight() - menuFullHeightMax;
+ posY = viewHeight - menuFullHeightMax;
posY = Math.max(posY, minHalfY);
break;
case MenuController.MenuState.FULL_SCREEN:
@@ -925,6 +931,15 @@ public class MapContextMenuFragment extends Fragment implements DownloadEvents {
return dm.heightPixels;
}
+ public int getStatusBarHeight() {
+ int result = 0;
+ int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
+ if (resourceId > 0) {
+ result = getResources().getDimensionPixelSize(resourceId);
+ }
+ return result;
+ }
+
public void updateLocation(boolean centerChanged, boolean locationChanged, boolean compassChanged) {
updateDistanceDirection();
}