diff options
| -rw-r--r-- | core/java/com/android/internal/view/menu/MenuPopupHelper.java | 15 | ||||
| -rw-r--r-- | core/res/res/values-sw720dp/config.xml | 3 | ||||
| -rw-r--r-- | core/res/res/values/config.xml | 4 | ||||
| -rw-r--r-- | core/res/res/values/dimens.xml | 3 | ||||
| -rw-r--r-- | core/res/res/values/symbols.xml | 3 |
5 files changed, 18 insertions, 10 deletions
diff --git a/core/java/com/android/internal/view/menu/MenuPopupHelper.java b/core/java/com/android/internal/view/menu/MenuPopupHelper.java index 1f1e594e755b..f59ea3148c58 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 1f5791a99e5e..9792835b9685 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. --> <integer name="config_maxResolverActivityColumns">4</integer> - <!-- Enable cascading submenus. --> - <bool name="config_enableCascadingSubmenus">true</bool> - </resources> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index aada05d4bf82..838faacbab2b 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 --> <string translatable="false" name="config_cameraLaunchGestureSensorStringType"></string> - <!-- Whether to open UI submenus side by side with the top menu (as opposed to - replacing the top menu). --> - <bool name="config_enableCascadingSubmenus">false</bool> - <!-- Allow the gesture to double tap the power button twice to start the camera while the device is non-interactive. --> <bool name="config_cameraDoubleTapPowerGestureEnabled">true</bool> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index ad7b7cc5662b..b4d26bdda503 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -462,4 +462,7 @@ <!-- The default minimal size of a resizable task, in both dimensions. --> <dimen name="default_minimal_size_resizable_task">220dp</dimen> + + <!-- Minimum "smallest width" of the display for cascading menus to be enabled. --> + <dimen name="cascading_menus_min_smallest_width">720dp</dimen> </resources> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 60060a370205..6f22e9bcf26d 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2254,7 +2254,8 @@ <java-symbol type="string" name="prohibit_manual_network_selection_in_gobal_mode" /> <java-symbol type="id" name="profile_button" /> - <java-symbol type="bool" name="config_enableCascadingSubmenus" /> + <!-- Cascading submenus --> + <java-symbol type="dimen" name="cascading_menus_min_smallest_width" /> <!-- From SignalStrength --> <java-symbol type="integer" name="config_LTE_RSRP_threshold_type" /> |