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

Commit 6294c4f2 authored by Xiaowen Lei's avatar Xiaowen Lei Committed by Automerger Merge Worker
Browse files

Merge "Don't set expansion for downward (upward) scroll when the bouncer is...

Merge "Don't set expansion for downward (upward) scroll when the bouncer is hidden (shown)." into tm-dev am: 81a5f75d

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17533603



Change-Id: I7d75d622953e2307de9b086186710e1b7fa7fcb7
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 0f7b9e5a 81a5f75d
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -117,15 +117,23 @@ public class BouncerSwipeTouchHandler implements DreamTouchHandler {
                        return false;
                    }

                    // Don't set expansion for downward scroll when the bouncer is hidden.
                    if (!mBouncerInitiallyShowing && (e1.getY() < e2.getY())) {
                        return true;
                    }

                    // Don't set expansion for upward scroll when the bouncer is shown.
                    if (mBouncerInitiallyShowing && (e1.getY() > e2.getY())) {
                        return true;
                    }

                    // For consistency, we adopt the expansion definition found in the
                    // PanelViewController. In this case, expansion refers to the view above the
                    // bouncer. As that view's expansion shrinks, the bouncer appears. The bouncer
                    // is fully hidden at full expansion (1) and fully visible when fully collapsed
                    // (0).
                    final float dy = mBouncerInitiallyShowing ? e2.getY() - e1.getY()
                            : e1.getY() - e2.getY();
                    final float screenTravelPercentage = Math.max(0,
                            dy / mCentralSurfaces.getDisplayHeight());
                    final float screenTravelPercentage = Math.abs(e1.getY() - e2.getY())
                            / mCentralSurfaces.getDisplayHeight();
                    setPanelExpansion(mBouncerInitiallyShowing
                            ? screenTravelPercentage : 1 - screenTravelPercentage);
                    return true;
+4 −16
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase {
     * Makes sure swiping up when bouncer initially showing doesn't change the expansion amount.
     */
    @Test
    public void testSwipeUp_whenBouncerInitiallyShowing_keepsExpansionAtZero() {
    public void testSwipeUp_whenBouncerInitiallyShowing_doesNotSetExpansion() {
        when(mCentralSurfaces.isBouncerShowing()).thenReturn(true);

        mTouchHandler.onSessionStart(mTouchSession);
@@ -191,21 +191,15 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase {
        assertThat(gestureListener.onScroll(event1, event2, 0, distanceY))
                .isTrue();

        // Ensure only called once
        verify(mStatusBarKeyguardViewManager)
        verify(mStatusBarKeyguardViewManager, never())
                .onPanelExpansionChanged(anyFloat(), anyBoolean(), anyBoolean());

        // TODO(b/227348372): update the logic and also this test.
        // Ensure the expansion is kept at 0.
        verify(mStatusBarKeyguardViewManager).onPanelExpansionChanged(eq(0f), eq(false),
                eq(true));
    }

    /**
     * Makes sure swiping down when bouncer initially hidden doesn't change the expansion amount.
     */
    @Test
    public void testSwipeDown_whenBouncerInitiallyHidden_keepsExpansionAtOne() {
    public void testSwipeDown_whenBouncerInitiallyHidden_doesNotSetExpansion() {
        mTouchHandler.onSessionStart(mTouchSession);
        ArgumentCaptor<GestureDetector.OnGestureListener> gestureListenerCaptor =
                ArgumentCaptor.forClass(GestureDetector.OnGestureListener.class);
@@ -225,14 +219,8 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase {
        assertThat(gestureListener.onScroll(event1, event2, 0, distanceY))
                .isTrue();

        // Ensure only called once
        verify(mStatusBarKeyguardViewManager)
        verify(mStatusBarKeyguardViewManager, never())
                .onPanelExpansionChanged(anyFloat(), anyBoolean(), anyBoolean());

        // TODO(b/227348372): update the logic and also this test.
        // Ensure the expansion is kept at 1.
        verify(mStatusBarKeyguardViewManager).onPanelExpansionChanged(eq(1f), eq(false),
                eq(true));
    }

    /**