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

Commit dcdfd97f authored by Beverly's avatar Beverly Committed by Beverly Tai
Browse files

Don't hide the alternate bouncer on keyguardReset

if hideBouncerWhenShowing=false

See CentralSurfacesImpl#setOccluded comment:
"If Keyguard is reshown, don't hide the bouncer as it
might just have been requested by a FLAG_DISMISS_KEYGUARD_ACTIVITY"

Fixes: 271457895
Test: atest StatusBarKeyguardViewManagerTest
Change-Id: Iaaeffc78036e0dd7b24236b3c105ae990f54d29f
parent 30f403c2
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -733,7 +733,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
            } else {
                showBouncerOrKeyguard(hideBouncerWhenShowing);
            }
            if (hideBouncerWhenShowing) {
                hideAlternateBouncer(false);
            }
            mKeyguardUpdateManager.sendKeyguardReset();
            updateStates();
        }
+26 −0
Original line number Diff line number Diff line
@@ -683,4 +683,30 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
        // the following call before registering centralSurfaces should NOT throw a NPE:
        mStatusBarKeyguardViewManager.hideAlternateBouncer(true);
    }

    @Test
    public void testResetHideBouncerWhenShowing_alternateBouncerHides() {
        // GIVEN the keyguard is showing
        reset(mAlternateBouncerInteractor);
        when(mKeyguardStateController.isShowing()).thenReturn(true);

        // WHEN SBKV is reset with hideBouncerWhenShowing=true
        mStatusBarKeyguardViewManager.reset(true);

        // THEN alternate bouncer is hidden
        verify(mAlternateBouncerInteractor).hide();
    }

    @Test
    public void testResetHideBouncerWhenShowingIsFalse_alternateBouncerHides() {
        // GIVEN the keyguard is showing
        reset(mAlternateBouncerInteractor);
        when(mKeyguardStateController.isShowing()).thenReturn(true);

        // WHEN SBKV is reset with hideBouncerWhenShowing=false
        mStatusBarKeyguardViewManager.reset(false);

        // THEN alternate bouncer is NOT hidden
        verify(mAlternateBouncerInteractor, never()).hide();
    }
}