Show cascading popup menus if screen is big enough.

...even if in split screen mode.

Bug: 28175404
Change-Id: I63ff60090e299e48f2273477dc3b820d4d95db8d
This commit is contained in:
Oren Blasberg
2016-04-14 14:08:17 -07:00
parent 6ed4e35e49
commit 93c195894d
5 changed files with 18 additions and 10 deletions

View File

@@ -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) {

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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" />