diff --git a/core/java/com/android/internal/view/menu/MenuPopupHelper.java b/core/java/com/android/internal/view/menu/MenuPopupHelper.java index 9f029ad2e5074..324f923674eb1 100644 --- a/core/java/com/android/internal/view/menu/MenuPopupHelper.java +++ b/core/java/com/android/internal/view/menu/MenuPopupHelper.java @@ -23,10 +23,13 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.StyleRes; import android.content.Context; +import android.graphics.Point; import android.graphics.Rect; import android.util.DisplayMetrics; +import android.view.Display; import android.view.Gravity; import android.view.View; +import android.view.WindowManager; import android.widget.PopupWindow.OnDismissListener; /** @@ -209,8 +212,16 @@ public class MenuPopupHelper implements MenuHelper { */ @NonNull private MenuPopup createPopup() { - final boolean enableCascadingSubmenus = mContext.getResources().getBoolean( - com.android.internal.R.bool.config_enableCascadingSubmenus); + final WindowManager windowManager = (WindowManager) mContext.getSystemService( + Context.WINDOW_SERVICE); + final Display display = windowManager.getDefaultDisplay(); + final Point displaySize = new Point(); + display.getRealSize(displaySize); + + final int smallestWidth = Math.min(displaySize.x, displaySize.y); + final int minSmallestWidthCascading = mContext.getResources().getDimensionPixelSize( + com.android.internal.R.dimen.cascading_menus_min_smallest_width); + final boolean enableCascadingSubmenus = smallestWidth >= minSmallestWidthCascading; final MenuPopup popup; if (enableCascadingSubmenus) { diff --git a/core/res/res/values-sw720dp/config.xml b/core/res/res/values-sw720dp/config.xml index 1f5791a99e5ee..9792835b96850 100644 --- a/core/res/res/values-sw720dp/config.xml +++ b/core/res/res/values-sw720dp/config.xml @@ -19,7 +19,4 @@ used for picking activities to handle an intent. --> 4 - - true - diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 789a4174194cd..e73fa9a81cc06 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2380,10 +2380,6 @@ must match the value of config_cameraLaunchGestureSensorType in OEM's HAL --> - - false - true diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index 5446d4c8fde4d..8ce922eedd5c0 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -468,4 +468,7 @@ 220dp + + + 720dp diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 22b6b75e0d412..4d86a9252ced2 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2256,7 +2256,8 @@ - + +