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

Commit 595c164a authored by Chandru's avatar Chandru
Browse files

Reset the keyguardGoingAway flag when keyguard is not dismissed.

LockIconViewController relies on
KeyguardStateController#isKeyguardGoingAway() to determine whether
keyguard is currently showing or not. This flag is set to true when the
keyguard is almost completely dismissed by swiping up, but it is never
reset to false when the swipe up is cancelled at the last minute.

This change resets the flag if the lockscreen is not dismissed.

Fixes: 233845417
Test: manually
Test: atest com.android.keyguard
Test: atest com.android.systemui.statusbar
Change-Id: Ia36b6bb15de87a1b343e62772d52cbc6c760a504
parent 7430d775
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import static com.android.keyguard.LockIconView.ICON_LOCK;
import static com.android.keyguard.LockIconView.ICON_UNLOCK;
import static com.android.systemui.classifier.Classifier.LOCK_ICON;
import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInOffset;
import static com.android.systemui.doze.util.BurnInHelperKt.getBurnInProgressOffset;

import android.content.res.Configuration;
import android.content.res.Resources;
@@ -403,7 +402,6 @@ public class LockIconViewController extends ViewController<LockIconView> impleme
        float offsetY = MathUtils.lerp(0f,
                getBurnInOffset(mMaxBurnInOffsetY * 2, false /* xAxis */)
                        - mMaxBurnInOffsetY, mInterpolatedDarkAmount);
        float progress = MathUtils.lerp(0f, getBurnInProgressOffset(), mInterpolatedDarkAmount);

        mView.setTranslationX(offsetX);
        mView.setTranslationY(offsetY);
+1 −1
Original line number Diff line number Diff line
@@ -2706,7 +2706,7 @@ public class KeyguardViewMediator extends CoreStartable implements Dumpable,
    /** Hides the surface behind the keyguard by re-showing the keyguard/activity lock screen. */
    public void hideSurfaceBehindKeyguard() {
        mSurfaceBehindRemoteAnimationRequested = false;

        mKeyguardStateController.notifyKeyguardGoingAway(false);
        if (mShowing) {
            setShowingLocked(true, true);
        }
+7 −0
Original line number Diff line number Diff line
@@ -203,6 +203,13 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
                mViewMediator.mViewMediatorCallback.getBouncerPromptReason());
    }

    @Test
    public void testHideSurfaceBehindKeyguardMarksKeyguardNotGoingAway() {
        mViewMediator.hideSurfaceBehindKeyguard();

        verify(mKeyguardStateController).notifyKeyguardGoingAway(false);
    }

    private void createAndStartViewMediator() {
        mViewMediator = new KeyguardViewMediator(
                mContext,