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

Commit 044ecde5 authored by Paul Keith's avatar Paul Keith Committed by Michael Bestas
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 045d485b
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -764,7 +764,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    int mInitialMetaState;
    boolean mForceShowSystemBars;

    boolean mDevForceNavbar;
    int mDevForceNavbar = -1;

    // Tracks user-customisable behavior for certain key events
    private Action mHomeLongPressAction;
@@ -2430,7 +2430,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    private void updateKeyAssignments() {
        int activeHardwareKeys = mDeviceHardwareKeys;

        if (mDevForceNavbar) {
        if (mDevForceNavbar == 1) {
            activeHardwareKeys = 0;
        }

@@ -2689,12 +2689,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                updateWakeGestureListenerLp();
            }

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

@@ -8915,7 +8916,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() {