summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java16
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java20
2 files changed, 16 insertions, 20 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java b/packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java
index 5c99cd1b8722..990f04b58f95 100644
--- a/packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandler.java
@@ -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;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java
index 74cf49758ac6..a016a1d8ca70 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/dreams/touch/BouncerSwipeTouchHandlerTest.java
@@ -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));
}
/**