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));
}
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());
}