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

Commit 2faf7881 authored by Patrick Rohr's avatar Patrick Rohr
Browse files

Add Option To Prevent Wake On Back Key Press

KEYCODE_BACK was previously hardcoded as a wake key in KeyEvent.java.
For TV remotes, we want to make this behavior configurable.

Test: Tested on Android TV Device.
Bug: 144979700
Change-Id: I496c9c283525d5e04325e4bb3d6ab19a571db0c7
parent 5bbfd653
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -1941,7 +1941,6 @@ public class KeyEvent extends InputEvent implements Parcelable {
    /** @hide */
    public static final boolean isWakeKey(int keyCode) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
            case KeyEvent.KEYCODE_CAMERA:
            case KeyEvent.KEYCODE_MENU:
            case KeyEvent.KEYCODE_PAIRING:
+1 −0
Original line number Diff line number Diff line
@@ -4404,6 +4404,7 @@
         Determines whether the specified key groups can be used to wake up the device. -->
    <bool name="config_wakeOnDpadKeyPress">true</bool>
    <bool name="config_wakeOnAssistKeyPress">true</bool>
    <bool name="config_wakeOnBackKeyPress">true</bool>

    <!-- Whether to default to an expanded list of users on the lock screen user switcher. -->
    <bool name="config_expandLockScreenUserSwitcher">false</bool>
+1 −0
Original line number Diff line number Diff line
@@ -3051,6 +3051,7 @@
  <!-- Override Wake Key Behavior When Screen is Off -->
  <java-symbol type="bool" name="config_wakeOnDpadKeyPress" />
  <java-symbol type="bool" name="config_wakeOnAssistKeyPress" />
  <java-symbol type="bool" name="config_wakeOnBackKeyPress" />

  <!-- Pinner Service -->
  <java-symbol type="array" name="config_defaultPinnerServiceFiles" />
+6 −0
Original line number Diff line number Diff line
@@ -482,6 +482,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    MetricsLogger mLogger;
    boolean mWakeOnDpadKeyPress;
    boolean mWakeOnAssistKeyPress;
    boolean mWakeOnBackKeyPress;

    private boolean mHandleVolumeKeysInWM;

@@ -1736,6 +1737,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                res.getBoolean(com.android.internal.R.bool.config_wakeOnDpadKeyPress);
        mWakeOnAssistKeyPress =
                res.getBoolean(com.android.internal.R.bool.config_wakeOnAssistKeyPress);
        mWakeOnBackKeyPress =
                res.getBoolean(com.android.internal.R.bool.config_wakeOnBackKeyPress);

        // Init display burn-in protection
        boolean burnInProtectionEnabled = context.getResources().getBoolean(
@@ -4107,6 +4110,9 @@ public class PhoneWindowManager implements WindowManagerPolicy {

            case KeyEvent.KEYCODE_ASSIST:
                return mWakeOnAssistKeyPress;

            case KeyEvent.KEYCODE_BACK:
                return mWakeOnBackKeyPress;
        }

        return true;