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

Commit d0b37d7c authored by Beverly's avatar Beverly Committed by Automerger Merge Worker
Browse files

RESTRICT AUTOMERGE Show primary bouncer on TOUCH_OUTSIDE am: 95e0af8c

parents 4cf8ff36 95e0af8c
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -1452,11 +1452,13 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
    public boolean onTouch(MotionEvent event) {
    public boolean onTouch(MotionEvent event) {
        boolean handledTouch = false;
        boolean handledTouch = false;
        if (mAlternateBouncerInteractor.isVisibleState()) {
        if (mAlternateBouncerInteractor.isVisibleState()) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
            final boolean downThenUp = event.getActionMasked() == MotionEvent.ACTION_UP
                    && mAlternateBouncerReceivedDownTouch;
            final boolean outsideTouch = event.getActionMasked() == MotionEvent.ACTION_OUTSIDE;
            if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
                mAlternateBouncerReceivedDownTouch = true;
                mAlternateBouncerReceivedDownTouch = true;
            } else if (event.getAction() == MotionEvent.ACTION_UP
            } else if ((downThenUp || outsideTouch)
                    && mAlternateBouncerInteractor.hasAlternateBouncerShownWithMinTime()
                    && mAlternateBouncerInteractor.hasAlternateBouncerShownWithMinTime()) {
                    && mAlternateBouncerReceivedDownTouch) {
                showPrimaryBouncer(true);
                showPrimaryBouncer(true);
            }
            }
            handledTouch = true;
            handledTouch = true;
+16 −0
Original line number Original line Diff line number Diff line
@@ -786,4 +786,20 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
        // THEN the alternateBouncer doesn't hide
        // THEN the alternateBouncer doesn't hide
        verify(mAlternateBouncerInteractor, never()).hide();
        verify(mAlternateBouncerInteractor, never()).hide();
    }
    }

    @Test
    public void testAlternateBouncerOnTouch_actionOutside_hidesAlternateBouncer() {
        reset(mAlternateBouncerInteractor);

        // GIVEN the alternate bouncer has shown for a minimum amount of time
        when(mAlternateBouncerInteractor.hasAlternateBouncerShownWithMinTime()).thenReturn(true);
        when(mAlternateBouncerInteractor.isVisibleState()).thenReturn(true);

        // WHEN only ACTION_OUTSIDE touch event comes
        mStatusBarKeyguardViewManager.onTouch(
                MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_OUTSIDE, 0f, 0f, 0));

        // THEN the alternateBouncer hides
        verify(mAlternateBouncerInteractor).hide();
    }
}
}