diff options
| author | 2014-06-13 03:03:47 +0000 | |
|---|---|---|
| committer | 2014-06-12 21:07:47 +0000 | |
| commit | 374013f4dba56c9ea340d22dcefdf904cbd47ce6 (patch) | |
| tree | 3478bd56e760822f9a46271f6b8e4fdf28905c80 | |
| parent | 926e1f01a5f2366c5d0eeab358822ba1d138d980 (diff) | |
| parent | bae8e77db6f103d8ab74c345d94ad55d4c809b88 (diff) | |
Merge "Suppress haptic feedback for SLEEP key when already asleep." into klp-modular-dev
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 17c29ce914be..c096bb78680b 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -3921,11 +3921,6 @@ public class PhoneWindowManager implements WindowManagerPolicy { + " policyFlags=" + Integer.toHexString(policyFlags)); } - if (down && (policyFlags & WindowManagerPolicy.FLAG_VIRTUAL) != 0 - && event.getRepeatCount() == 0) { - performHapticFeedbackLw(null, HapticFeedbackConstants.VIRTUAL_KEY, false); - } - // Basic policy based on interactive state. int result; boolean isWakeKey = (policyFlags & (WindowManagerPolicy.FLAG_WAKE @@ -3948,6 +3943,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { return result; } + boolean useHapticFeedback = down + && (policyFlags & WindowManagerPolicy.FLAG_VIRTUAL) != 0 + && event.getRepeatCount() == 0; + // Handle special keys. switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_DOWN: @@ -4103,6 +4102,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { case KeyEvent.KEYCODE_SLEEP: { result &= ~ACTION_PASS_TO_USER; + if (!mPowerManager.isInteractive()) { + useHapticFeedback = false; // suppress feedback if already non-interactive + } mPowerManager.goToSleep(event.getEventTime()); isWakeKey = false; break; @@ -4177,6 +4179,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } + if (useHapticFeedback) { + performHapticFeedbackLw(null, HapticFeedbackConstants.VIRTUAL_KEY, false); + } + if (isWakeKey) { mPowerManager.wakeUp(event.getEventTime()); } |