From a4ea039f05f0e6ad10c0d77b89788040311ac10e Mon Sep 17 00:00:00 2001 From: Michal Brzezinski Date: Mon, 7 Jun 2021 16:41:44 +0100 Subject: [PATCH] Adding automated test for ag/14874758 Bug: 190032145 Test: NotificationPanelViewTest Change-Id: Ib2c33a4c72cfc6bff9ef448a9aa46b5b33a87345 --- .../NotificationPanelViewController.java | 2 +- .../phone/NotificationPanelViewTest.java | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java index 20f3fc955ba5b..038817f45fc72 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java @@ -329,7 +329,7 @@ public class NotificationPanelViewController extends PanelViewController { private KeyguardStatusBarView mKeyguardStatusBar; private KeyguardStatusBarViewController mKeyguarStatusBarViewController; private ViewGroup mBigClockContainer; - private QS mQs; + @VisibleForTesting QS mQs; private FrameLayout mQsFrame; private KeyguardStatusViewController mKeyguardStatusViewController; private LockIconViewController mLockIconViewController; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java index 4b5657afe02fa..c6e5697ac199e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java @@ -83,6 +83,7 @@ import com.android.systemui.media.KeyguardMediaController; import com.android.systemui.media.MediaDataManager; import com.android.systemui.media.MediaHierarchyManager; import com.android.systemui.plugins.FalsingManager; +import com.android.systemui.plugins.qs.QS; import com.android.systemui.qs.QSDetailDisplayer; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.FeatureFlags; @@ -129,6 +130,8 @@ import java.util.List; @TestableLooper.RunWithLooper public class NotificationPanelViewTest extends SysuiTestCase { + private static final int NOTIFICATION_SCRIM_TOP_PADDING_IN_SPLIT_SHADE = 50; + @Mock private StatusBar mStatusBar; @Mock @@ -290,6 +293,8 @@ public class NotificationPanelViewTest extends SysuiTestCase { when(mResources.getDisplayMetrics()).thenReturn(mDisplayMetrics); mDisplayMetrics.density = 100; when(mResources.getBoolean(R.bool.config_enableNotificationShadeDrag)).thenReturn(true); + when(mResources.getDimensionPixelSize(R.dimen.notifications_top_padding_split_shade)) + .thenReturn(NOTIFICATION_SCRIM_TOP_PADDING_IN_SPLIT_SHADE); when(mResources.getDimensionPixelSize(R.dimen.qs_panel_width)).thenReturn(400); when(mResources.getDimensionPixelSize(R.dimen.notification_panel_width)).thenReturn(400); when(mView.getContext()).thenReturn(getContext()); @@ -666,6 +671,21 @@ public class NotificationPanelViewTest extends SysuiTestCase { verify(mTapAgainViewController).show(); } + @Test + public void testNotificationClipping_isAlignedWithNotificationScrimInSplitShade() { + mStatusBarStateController.setState(SHADE); + QS qs = mock(QS.class); + when(qs.getHeader()).thenReturn(mock(View.class)); + mNotificationPanelViewController.mQs = qs; + enableSplitShade(); + + // hacky way to refresh notification scrim top with non-zero qsPanelBottom value + mNotificationPanelViewController.setTransitionToFullShadeAmount(200, false, 0); + + verify(mAmbientState) + .setNotificationScrimTop(NOTIFICATION_SCRIM_TOP_PADDING_IN_SPLIT_SHADE); + } + private FalsingManager.FalsingTapListener getFalsingTapListener() { for (View.OnAttachStateChangeListener listener : mOnAttachStateChangeListeners) { listener.onViewAttachedToWindow(mView);