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

Commit 0b7e5b5d authored by Matt Pietal's avatar Matt Pietal Committed by Android (Google) Code Review
Browse files

Merge "Update keyguard clipping" into main

parents 11444ba0 38d0f0db
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -763,10 +763,15 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
            // see: b/186644628
            mNotificationsScrim.setDrawableBounds(left - 1, top, right + 1, bottom);
            mScrimBehind.setBottomEdgePosition((int) top);
        } else {
            mNotificationsScrim.setDrawableBounds(left, top, right, bottom);
        }

        // Only clip if the notif scrim is visible
        if (mNotificationsAlpha > 0f) {
            mKeyguardInteractor.setTopClippingBounds((int) top);
        } else {
            mKeyguardInteractor.setTopClippingBounds(null);
            mNotificationsScrim.setDrawableBounds(left, top, right, bottom);
        }
    }

+21 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import static org.mockito.ArgumentMatchers.anyFloat;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
@@ -1682,6 +1683,26 @@ public class ScrimControllerTest extends SysuiTestCase {
        assertThat(mScrimInFront.getTranslationY()).isEqualTo(0);
    }

    @Test
    public void notificationBoundsTopGetsPassedToKeyguard() {
        mScrimController.transitionTo(SHADE_LOCKED);
        mScrimController.setQsPosition(1f, 0);
        finishAnimationsImmediately();

        mScrimController.setNotificationsBounds(0f, 100f, 0f, 0f);
        verify(mKeyguardInteractor).setTopClippingBounds(eq(100));
    }

    @Test
    public void notificationBoundsTopDoesNotGetPassedToKeyguardWhenNotifScrimIsNotVisible() {
        mScrimController.setKeyguardOccluded(true);
        mScrimController.transitionTo(ScrimState.KEYGUARD);
        finishAnimationsImmediately();

        mScrimController.setNotificationsBounds(0f, 100f, 0f, 0f);
        verify(mKeyguardInteractor).setTopClippingBounds(eq(null));
    }

    @Test
    public void transitionToDreaming() {
        mScrimController.setRawPanelExpansionFraction(0f);