diff --git a/core/java/android/widget/ListPopupWindow.java b/core/java/android/widget/ListPopupWindow.java index 6425cf11ccb33..4311ffbe0e95b 100755 --- a/core/java/android/widget/ListPopupWindow.java +++ b/core/java/android/widget/ListPopupWindow.java @@ -745,6 +745,15 @@ public class ListPopupWindow implements ShowableListMenu { mHandler.removeCallbacks(mResizePopupRunnable); } + /** + * Remove existing exit transition from PopupWindow and force immediate dismissal. + * @hide + */ + public void dismissImmediate() { + mPopup.setExitTransition(null); + dismiss(); + } + /** * Set a listener to receive a callback when the popup is dismissed. * diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt index 42db0051b8e67..f3693c1c72ab3 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt @@ -536,7 +536,7 @@ class ControlsUiControllerImpl @Inject constructor ( override fun hide() { Log.d(ControlsUiController.TAG, "hide()") hidden = true - popup?.dismiss() + popup?.dismissImmediate() activeDialog?.dismiss() ControlActionCoordinator.closeDialog() diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java index 6aa4f8684928c..9bd32ff7b344c 100644 --- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java +++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java @@ -484,8 +484,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, */ @VisibleForTesting protected int getMaxShownPowerItems() { - // TODO: Overflow disabled on keyguard while we solve for touch blocking issues. - if (shouldUseControlsLayout() && !mKeyguardShowing) { + if (shouldUseControlsLayout()) { return mResources.getInteger(com.android.systemui.R.integer.power_menu_max_columns); } else { return Integer.MAX_VALUE; @@ -2246,7 +2245,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, mShowing = false; resetOrientation(); dismissPanel(); - dismissOverflow(); + dismissOverflow(true); if (mControlsUiController != null) mControlsUiController.hide(); mNotificationShadeWindowController.setForceHasTopUi(mHadTopUi); mDepthController.updateGlobalDialogVisibility(0, null /* view */); @@ -2259,9 +2258,13 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener, } } - private void dismissOverflow() { + private void dismissOverflow(boolean immediate) { if (mOverflowPopup != null) { - mOverflowPopup.dismiss(); + if (immediate) { + mOverflowPopup.dismissImmediate(); + } else { + mOverflowPopup.dismiss(); + } } }