Merge "Suppress haptic feedback for SLEEP key when already asleep." into klp-modular-dev

This commit is contained in:
Jeff Brown
2014-06-13 03:03:47 +00:00
committed by Android (Google) Code Review

View File

@@ -3921,11 +3921,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
+ " policyFlags=" + Integer.toHexString(policyFlags)); + " 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. // Basic policy based on interactive state.
int result; int result;
boolean isWakeKey = (policyFlags & (WindowManagerPolicy.FLAG_WAKE boolean isWakeKey = (policyFlags & (WindowManagerPolicy.FLAG_WAKE
@@ -3948,6 +3943,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
return result; return result;
} }
boolean useHapticFeedback = down
&& (policyFlags & WindowManagerPolicy.FLAG_VIRTUAL) != 0
&& event.getRepeatCount() == 0;
// Handle special keys. // Handle special keys.
switch (keyCode) { switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_DOWN: case KeyEvent.KEYCODE_VOLUME_DOWN:
@@ -4103,6 +4102,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {
case KeyEvent.KEYCODE_SLEEP: { case KeyEvent.KEYCODE_SLEEP: {
result &= ~ACTION_PASS_TO_USER; result &= ~ACTION_PASS_TO_USER;
if (!mPowerManager.isInteractive()) {
useHapticFeedback = false; // suppress feedback if already non-interactive
}
mPowerManager.goToSleep(event.getEventTime()); mPowerManager.goToSleep(event.getEventTime());
isWakeKey = false; isWakeKey = false;
break; break;
@@ -4177,6 +4179,10 @@ public class PhoneWindowManager implements WindowManagerPolicy {
} }
} }
if (useHapticFeedback) {
performHapticFeedbackLw(null, HapticFeedbackConstants.VIRTUAL_KEY, false);
}
if (isWakeKey) { if (isWakeKey) {
mPowerManager.wakeUp(event.getEventTime()); mPowerManager.wakeUp(event.getEventTime());
} }