summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2014-06-12 19:59:45 -0700
committerJeff Brown <jeffbrown@google.com>2014-06-12 19:59:45 -0700
commitbae8e77db6f103d8ab74c345d94ad55d4c809b88 (patch)
tree64d662675f1e9819af153f8ea54a13e2dbbf2885
parent4f5fa285a8be63522a3530dca4b6b549cb49ae9b (diff)
downloadframeworks_base-bae8e77db6f103d8ab74c345d94ad55d4c809b88.zip
frameworks_base-bae8e77db6f103d8ab74c345d94ad55d4c809b88.tar.gz
frameworks_base-bae8e77db6f103d8ab74c345d94ad55d4c809b88.tar.bz2
Suppress haptic feedback for SLEEP key when already asleep.
Bug: 15377857 Change-Id: I4dfd273b089871d3a78513f52436a3f9c7d40fa4
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindowManager.java16
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 17c29ce..c096bb7 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());
}