diff --git a/core/java/com/android/internal/view/menu/MenuPopupHelper.java b/core/java/com/android/internal/view/menu/MenuPopupHelper.java index 1f1e594e755b3..f59ea3148c582 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; /** @@ -206,8 +209,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 aada05d4bf82a..838faacbab2bc 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 ad7b7cc5662b3..b4d26bdda5032 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -462,4 +462,7 @@ 220dp + + + 720dp diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 60060a3702053..6f22e9bcf26de 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2254,7 +2254,8 @@ - + +