Fix #6337
This commit is contained in:
parent
8811108adc
commit
56e6c31bc1
1 changed files with 16 additions and 8 deletions
|
@ -369,7 +369,7 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
|
||||||
if (menu.isLandscapeLayout() && newY > topScreenPosY) {
|
if (menu.isLandscapeLayout() && newY > topScreenPosY) {
|
||||||
newY = topScreenPosY;
|
newY = topScreenPosY;
|
||||||
}
|
}
|
||||||
setViewY((int) newY, false, false);
|
setViewY((int) newY, false, false, 0);
|
||||||
|
|
||||||
menuFullHeight = view.getHeight() - (int) newY + 10;
|
menuFullHeight = view.getHeight() - (int) newY + 10;
|
||||||
ViewGroup.LayoutParams lp = mainView.getLayoutParams();
|
ViewGroup.LayoutParams lp = mainView.getLayoutParams();
|
||||||
|
@ -886,7 +886,7 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int newMenuState = menu.getCurrentMenuState();
|
int newMenuState = menu.getCurrentMenuState();
|
||||||
boolean needMapAdjust = currentMenuState != newMenuState && newMenuState != MenuState.FULL_SCREEN;
|
boolean needMapAdjust = currentMenuState != newMenuState && (currentMenuState == MenuState.HEADER_ONLY || newMenuState == MenuState.HEADER_ONLY);
|
||||||
|
|
||||||
if (newMenuState != currentMenuState) {
|
if (newMenuState != currentMenuState) {
|
||||||
menu.updateControlsVisibility(true);
|
menu.updateControlsVisibility(true);
|
||||||
|
@ -1004,7 +1004,11 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
|
||||||
.start();
|
.start();
|
||||||
|
|
||||||
if (needMapAdjust) {
|
if (needMapAdjust) {
|
||||||
adjustMapPosition(posY, true, centered, dZoom);
|
int mapPosY = posY;
|
||||||
|
if (newMenuState == MenuState.FULL_SCREEN) {
|
||||||
|
mapPosY = getMenuStatePosY(MenuState.HALF_SCREEN);
|
||||||
|
}
|
||||||
|
adjustMapPosition(mapPosY, true, centered, dZoom);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1787,12 +1791,12 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
|
||||||
return (int) mainView.getY();
|
return (int) mainView.getY();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setViewY(int y, boolean animated, boolean adjustMapPos) {
|
private void setViewY(int y, boolean animated, boolean adjustMapPos, int mapY) {
|
||||||
mainView.setY(y);
|
mainView.setY(y);
|
||||||
zoomButtonsView.setY(getZoomButtonsY(y));
|
zoomButtonsView.setY(getZoomButtonsY(y));
|
||||||
if (!customMapCenter) {
|
if (!customMapCenter) {
|
||||||
if (adjustMapPos) {
|
if (adjustMapPos) {
|
||||||
adjustMapPosition(y, animated, centered, 0);
|
adjustMapPosition(mapY, animated, centered, 0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
customMapCenter = false;
|
customMapCenter = false;
|
||||||
|
@ -1887,8 +1891,10 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doLayoutMenu() {
|
private void doLayoutMenu() {
|
||||||
final int posY = getPosY(getViewY(), false, menu.getCurrentMenuState());
|
int state = menu.getCurrentMenuState();
|
||||||
setViewY(posY, true, !initLayout || !centered);
|
int posY = getPosY(getViewY(), false, state);
|
||||||
|
int mapPosY = state == MenuState.FULL_SCREEN ? getMenuStatePosY(MenuState.HALF_SCREEN) : posY;
|
||||||
|
setViewY(posY, true, !initLayout || !centered, mapPosY);
|
||||||
updateMainViewLayout(posY);
|
updateMainViewLayout(posY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1919,7 +1925,9 @@ public class MapContextMenuFragment extends BaseOsmAndFragment implements Downlo
|
||||||
if (mapCenter != null) {
|
if (mapCenter != null) {
|
||||||
map.setLatLon(mapCenter.getLatitude(), mapCenter.getLongitude());
|
map.setLatLon(mapCenter.getLatitude(), mapCenter.getLongitude());
|
||||||
}
|
}
|
||||||
adjustMapPosition(getPosY(), true, false, 0);
|
int posY = getPosY();
|
||||||
|
int mapPosY = menu.getCurrentMenuState() == MenuState.FULL_SCREEN ? getMenuStatePosY(MenuState.HALF_SCREEN) : posY;
|
||||||
|
adjustMapPosition(mapPosY, true, false, 0);
|
||||||
} else {
|
} else {
|
||||||
view.setVisibility(View.GONE);
|
view.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue