From 62b08743c624b0d80d69dcbde2820d4af4708cf6 Mon Sep 17 00:00:00 2001 From: Robert Snoeberger Date: Wed, 6 May 2020 22:16:32 -0400 Subject: [PATCH] Don't show global actions if already handled This double firing of power long press was revealed by a recent change to the global actions dialog (ag/11247230), where long press on power will close the dialog. This results in the dialog opening and then immediately closing when using `adb shell input keyevent --longpress 26`. Fixes: 155917751 Test: `adb shell input keyevent --longpress 26` opens global actions dialog and doesn't immediately close it. Change-Id: I37df6cadf4b12d2c8e000664f906daf40379bb65 --- .../com/android/server/policy/PhoneWindowManager.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 2f84a99774f4b..3bc151af35895 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -1222,10 +1222,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { case LONG_PRESS_POWER_NOTHING: break; case LONG_PRESS_POWER_GLOBAL_ACTIONS: - mPowerKeyHandled = true; - performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, false, - "Power - Long Press - Global Actions"); - showGlobalActionsInternal(); + if (!mPowerKeyHandled) { + mPowerKeyHandled = true; + performHapticFeedback(HapticFeedbackConstants.LONG_PRESS, false, + "Power - Long Press - Global Actions"); + showGlobalActionsInternal(); + } break; case LONG_PRESS_POWER_SHUT_OFF: case LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM: