Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bae8e77d authored by Jeff Brown's avatar Jeff Brown
Browse files

Suppress haptic feedback for SLEEP key when already asleep.

Bug: 15377857
Change-Id: I4dfd273b089871d3a78513f52436a3f9c7d40fa4
parent 4f5fa285
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -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());
        }