Loading packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -838,3 +838,13 @@ flag { purpose: PURPOSE_BUGFIX } } flag { name: "communal_bouncer_do_not_modify_plugin_open" namespace: "systemui" description: "do not modify notification shade when handling bouncer expansion." bug: "338252661" metadata { purpose: PURPOSE_BUGFIX } } packages/SystemUI/multivalentTests/src/com/android/systemui/ambient/touch/BouncerSwipeTouchHandlerTest.java +28 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import android.animation.AnimatorListenerAdapter; Loading Loading @@ -163,6 +164,7 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase { * Ensures expansion only happens when touch down happens in valid part of the screen. */ @Test @DisableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSessionStart() { mTouchHandler.getTouchInitiationRegion(SCREEN_BOUNDS, mRegion, null); Loading Loading @@ -193,7 +195,31 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase { 2)).isTrue(); } /** * Ensures expansion only happens when touch down happens in valid part of the screen. */ @Test @EnableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSessionStart_doesNotModifyNotificationShadeWindow() { mTouchHandler.getTouchInitiationRegion(SCREEN_BOUNDS, mRegion, null); verify(mRegion).union(mRectCaptor.capture()); final Rect bounds = mRectCaptor.getValue(); final Rect expected = new Rect(); expected.set(0, Math.round(SCREEN_HEIGHT_PX * (1 - TOUCH_REGION)), SCREEN_WIDTH_PX, SCREEN_HEIGHT_PX); assertThat(bounds).isEqualTo(expected); mTouchHandler.onSessionStart(mTouchSession); verifyNoMoreInteractions(mNotificationShadeWindowController); } @Test @DisableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSwipeUp_whenBouncerInitiallyShowing_reduceHeightWithExclusionRects() { mTouchHandler.getTouchInitiationRegion(SCREEN_BOUNDS, mRegion, new Rect(0, 0, SCREEN_WIDTH_PX, SCREEN_HEIGHT_PX)); Loading @@ -213,6 +239,7 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase { } @Test @DisableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSwipeUp_exclusionRectAtTop_doesNotIntersectGestureArea() { mTouchHandler.getTouchInitiationRegion(SCREEN_BOUNDS, mRegion, new Rect(0, 0, SCREEN_WIDTH_PX, SCREEN_HEIGHT_PX / 4)); Loading @@ -228,6 +255,7 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase { } @Test @DisableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSwipeUp_exclusionRectBetweenNormalAndMinimumSwipeArea() { final int normalSwipeAreaTop = SCREEN_HEIGHT_PX - Math.round(SCREEN_HEIGHT_PX * TOUCH_REGION); Loading packages/SystemUI/src/com/android/systemui/ambient/touch/BouncerSwipeTouchHandler.java +9 −2 Original line number Diff line number Diff line Loading @@ -254,7 +254,11 @@ public class BouncerSwipeTouchHandler implements TouchHandler { mVelocityTracker = mVelocityTrackerFactory.obtain(); mTouchSession = session; mVelocityTracker.clear(); if (!Flags.communalBouncerDoNotModifyPluginOpen()) { mNotificationShadeWindowController.setForcePluginOpen(true, this); } mScrimManager.addCallback(mScrimManagerCallback); mCurrentScrimController = mScrimManager.getCurrentController(); Loading @@ -265,7 +269,10 @@ public class BouncerSwipeTouchHandler implements TouchHandler { } mScrimManager.removeCallback(mScrimManagerCallback); mCapture = null; if (!Flags.communalBouncerDoNotModifyPluginOpen()) { mNotificationShadeWindowController.setForcePluginOpen(false, this); } }); session.registerGestureListener(mOnGestureListener); Loading Loading
packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -838,3 +838,13 @@ flag { purpose: PURPOSE_BUGFIX } } flag { name: "communal_bouncer_do_not_modify_plugin_open" namespace: "systemui" description: "do not modify notification shade when handling bouncer expansion." bug: "338252661" metadata { purpose: PURPOSE_BUGFIX } }
packages/SystemUI/multivalentTests/src/com/android/systemui/ambient/touch/BouncerSwipeTouchHandlerTest.java +28 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; import android.animation.AnimatorListenerAdapter; Loading Loading @@ -163,6 +164,7 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase { * Ensures expansion only happens when touch down happens in valid part of the screen. */ @Test @DisableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSessionStart() { mTouchHandler.getTouchInitiationRegion(SCREEN_BOUNDS, mRegion, null); Loading Loading @@ -193,7 +195,31 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase { 2)).isTrue(); } /** * Ensures expansion only happens when touch down happens in valid part of the screen. */ @Test @EnableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSessionStart_doesNotModifyNotificationShadeWindow() { mTouchHandler.getTouchInitiationRegion(SCREEN_BOUNDS, mRegion, null); verify(mRegion).union(mRectCaptor.capture()); final Rect bounds = mRectCaptor.getValue(); final Rect expected = new Rect(); expected.set(0, Math.round(SCREEN_HEIGHT_PX * (1 - TOUCH_REGION)), SCREEN_WIDTH_PX, SCREEN_HEIGHT_PX); assertThat(bounds).isEqualTo(expected); mTouchHandler.onSessionStart(mTouchSession); verifyNoMoreInteractions(mNotificationShadeWindowController); } @Test @DisableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSwipeUp_whenBouncerInitiallyShowing_reduceHeightWithExclusionRects() { mTouchHandler.getTouchInitiationRegion(SCREEN_BOUNDS, mRegion, new Rect(0, 0, SCREEN_WIDTH_PX, SCREEN_HEIGHT_PX)); Loading @@ -213,6 +239,7 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase { } @Test @DisableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSwipeUp_exclusionRectAtTop_doesNotIntersectGestureArea() { mTouchHandler.getTouchInitiationRegion(SCREEN_BOUNDS, mRegion, new Rect(0, 0, SCREEN_WIDTH_PX, SCREEN_HEIGHT_PX / 4)); Loading @@ -228,6 +255,7 @@ public class BouncerSwipeTouchHandlerTest extends SysuiTestCase { } @Test @DisableFlags(Flags.FLAG_COMMUNAL_BOUNCER_DO_NOT_MODIFY_PLUGIN_OPEN) public void testSwipeUp_exclusionRectBetweenNormalAndMinimumSwipeArea() { final int normalSwipeAreaTop = SCREEN_HEIGHT_PX - Math.round(SCREEN_HEIGHT_PX * TOUCH_REGION); Loading
packages/SystemUI/src/com/android/systemui/ambient/touch/BouncerSwipeTouchHandler.java +9 −2 Original line number Diff line number Diff line Loading @@ -254,7 +254,11 @@ public class BouncerSwipeTouchHandler implements TouchHandler { mVelocityTracker = mVelocityTrackerFactory.obtain(); mTouchSession = session; mVelocityTracker.clear(); if (!Flags.communalBouncerDoNotModifyPluginOpen()) { mNotificationShadeWindowController.setForcePluginOpen(true, this); } mScrimManager.addCallback(mScrimManagerCallback); mCurrentScrimController = mScrimManager.getCurrentController(); Loading @@ -265,7 +269,10 @@ public class BouncerSwipeTouchHandler implements TouchHandler { } mScrimManager.removeCallback(mScrimManagerCallback); mCapture = null; if (!Flags.communalBouncerDoNotModifyPluginOpen()) { mNotificationShadeWindowController.setForcePluginOpen(false, this); } }); session.registerGestureListener(mOnGestureListener); Loading