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

Commit b3890939 authored by kwaky's avatar kwaky
Browse files

Show Bouncer (Unocclude it) if Activity Dismissing Keyguard is launched

while Keyguard is occluded.

Test: android.server.wm.MultiDisplayLockedKeyguardTests passing without
flakiness (10 passes/10 attempts).
Bug: 156117648

Change-Id: I744c566433614a9de6fec3de9d4e9581472f73cf
parent 24790e96
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ public class CarKeyguardViewController extends OverlayViewController implements
    private KeyguardBouncer mBouncer;
    private OnKeyguardCancelClickedListener mKeyguardCancelClickedListener;
    private boolean mShowing;
    private boolean mIsOccluded;

    @Inject
    public CarKeyguardViewController(
@@ -220,6 +221,7 @@ public class CarKeyguardViewController extends OverlayViewController implements

    @Override
    public void setOccluded(boolean occluded, boolean animate) {
        mIsOccluded = occluded;
        getOverlayViewGlobalStateController().setOccluded(occluded);
        if (!occluded) {
            reset(/* hideBouncerWhenShowing= */ false);
@@ -244,6 +246,12 @@ public class CarKeyguardViewController extends OverlayViewController implements

    @Override
    public void dismissAndCollapse() {
        // If dismissing and collapsing Keyguard is requested (e.g. by a Keyguard-dismissing
        // Activity) while Keyguard is occluded, unocclude Keyguard so the user can authenticate to
        // dismiss Keyguard.
        if (mIsOccluded) {
            setOccluded(/* occluded= */ false, /* animate= */ false);
        }
        if (!mBouncer.isSecure()) {
            hide(/* startTime= */ 0, /* fadeoutDuration= */ 0);
        }