From 618cfc122d5ac99c673dc4d38761497fcab10962 Mon Sep 17 00:00:00 2001 From: Vladislav Kaznacheev Date: Fri, 28 Apr 2017 17:03:30 -0700 Subject: [PATCH] Fix submenu position when showing with Gravity.END Bug: 37792927 Test: manual Change-Id: I2a1033cb5b78465188958d8f24128d0fe082587f --- core/java/com/android/internal/view/menu/MenuPopupHelper.java | 2 +- core/java/com/android/internal/view/menu/StandardMenuPopup.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/core/java/com/android/internal/view/menu/MenuPopupHelper.java b/core/java/com/android/internal/view/menu/MenuPopupHelper.java index 324f923674eb1..6af41a51f0ddb 100644 --- a/core/java/com/android/internal/view/menu/MenuPopupHelper.java +++ b/core/java/com/android/internal/view/menu/MenuPopupHelper.java @@ -256,7 +256,7 @@ public class MenuPopupHelper implements MenuHelper { final int hgrav = Gravity.getAbsoluteGravity(mDropDownGravity, mAnchorView.getLayoutDirection()) & Gravity.HORIZONTAL_GRAVITY_MASK; if (hgrav == Gravity.RIGHT) { - xOffset -= mAnchorView.getWidth(); + xOffset += mAnchorView.getWidth(); } popup.setHorizontalOffset(xOffset); diff --git a/core/java/com/android/internal/view/menu/StandardMenuPopup.java b/core/java/com/android/internal/view/menu/StandardMenuPopup.java index 169caa585b0e8..d9ca5be0502eb 100644 --- a/core/java/com/android/internal/view/menu/StandardMenuPopup.java +++ b/core/java/com/android/internal/view/menu/StandardMenuPopup.java @@ -263,6 +263,7 @@ final class StandardMenuPopup extends MenuPopup implements OnDismissListener, On mShownAnchorView, mOverflowOnly, mPopupStyleAttr, mPopupStyleRes); subPopup.setPresenterCallback(mPresenterCallback); subPopup.setForceShowIcon(MenuPopup.shouldPreserveIconSpacing(subMenu)); + subPopup.setGravity(mDropDownGravity); // Pass responsibility for handling onDismiss to the submenu. subPopup.setOnDismissListener(mOnDismissListener);