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

Commit 08c92766 authored by kwaky's avatar kwaky
Browse files

Make Keyguard window focusable so that adb shell input command registers

This change allows existing CTS tests to work properly by entering
test passwords programmatically. This is also a requirement for support-
ing back button pressed event handling.

Bug: 154829257
Test: Manual & CTS tests (atest CtsWindowManagerDeviceTestCases:KeyguardLockedTests)
Change-Id: I13db0153b792f4ef6941067dc1aa06793f033116
parent 4a9bd0da
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@ public class CarKeyguardViewController extends OverlayViewController implements
        mKeyguardStateController.notifyKeyguardState(mShowing, /* occluded= */ false);
        mCarNavigationBarController.showAllKeyguardButtons(/* isSetUp= */ true);
        start();
        getOverlayViewGlobalStateController().setWindowFocusable(/* focusable= */ true);
        reset(/* hideBouncerWhenShowing= */ false);
        notifyKeyguardUpdateMonitor();
    }
@@ -185,6 +186,7 @@ public class CarKeyguardViewController extends OverlayViewController implements
        mBouncer.hide(/* destroyView= */ true);
        mCarNavigationBarController.hideAllKeyguardButtons(/* isSetUp= */ true);
        stop();
        getOverlayViewGlobalStateController().setWindowFocusable(/* focusable= */ false);
        mKeyguardStateController.notifyKeyguardDoneFading();
        mViewMediatorCallback.keyguardGone();
        notifyKeyguardUpdateMonitor();
@@ -229,8 +231,10 @@ public class CarKeyguardViewController extends OverlayViewController implements

    @Override
    public void dismissAndCollapse() {
        if (!mBouncer.isSecure()) {
            hide(/* startTime= */ 0, /* fadeoutDuration= */ 0);
        }
    }

    @Override
    public void startPreHideAnimation(Runnable finishRunnable) {
@@ -241,7 +245,6 @@ public class CarKeyguardViewController extends OverlayViewController implements

    @Override
    public void setNeedsInput(boolean needsInput) {
        getOverlayViewGlobalStateController().setWindowFocusable(needsInput);
        getOverlayViewGlobalStateController().setWindowNeedsInput(needsInput);
    }