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

Commit 9678ef8e authored by Paul Keith's avatar Paul Keith
Browse files

PhoneWindowManager: Make sure KeyDisabler is always called on boot

* Otherwise, some KeyDisabler classes are left in a weird state
* Because we don't keep track of whether an initial state was ever set,
  we never call KeyDisabler on boot if the setting is set to 0
* To remedy this, keep track of whether an initial state was set

Change-Id: Ib432ed3278dd8f4f4cba3ba488879b3c1cd9c8f4
parent ad38167f
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -695,7 +695,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    boolean mForcingShowNavBar;
    int mForcingShowNavBarLayer;

    boolean mDevForceNavbar = false;
    int mDevForceNavbar = -1;

    // States of keyguard dismiss.
    private static final int DISMISS_KEYGUARD_NONE = 0; // Keyguard not being dismissed.
@@ -2274,7 +2274,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    private void updateKeyAssignments() {
        int activeHardwareKeys = mDeviceHardwareKeys;

        if (mDevForceNavbar) {
        if (mDevForceNavbar == 1) {
            activeHardwareKeys = 0;
        }
        final boolean hasMenu = (activeHardwareKeys & KEY_MASK_MENU) != 0;
@@ -2529,12 +2529,12 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                updateWakeGestureListenerLp();
            }

            boolean devForceNavbar = CMSettings.Global.getIntForUser(resolver,
                    CMSettings.Global.DEV_FORCE_SHOW_NAVBAR, 0, UserHandle.USER_CURRENT) == 1;
            int devForceNavbar = CMSettings.Global.getIntForUser(resolver,
                    CMSettings.Global.DEV_FORCE_SHOW_NAVBAR, 0, UserHandle.USER_CURRENT);
            if (devForceNavbar != mDevForceNavbar) {
                mDevForceNavbar = devForceNavbar;
                if (mCMHardware.isSupported(CMHardwareManager.FEATURE_KEY_DISABLE)) {
                    mCMHardware.set(CMHardwareManager.FEATURE_KEY_DISABLE, mDevForceNavbar);
                    mCMHardware.set(CMHardwareManager.FEATURE_KEY_DISABLE, mDevForceNavbar == 1);
                }
            }

@@ -8870,7 +8870,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    // overridden by qemu.hw.mainkeys in the emulator.
    @Override
    public boolean hasNavigationBar() {
        return mHasNavigationBar || mDevForceNavbar;
        return mHasNavigationBar || mDevForceNavbar == 1;
    }

    public boolean needsNavigationBar() {