Merge "Adding automated test for ag/14874758" into sc-dev

This commit is contained in:
Michał Brzeziński
2021-06-14 11:30:21 +00:00
committed by Android (Google) Code Review
2 changed files with 21 additions and 1 deletions

View File

@@ -323,7 +323,7 @@ public class NotificationPanelViewController extends PanelViewController {
private KeyguardStatusBarView mKeyguardStatusBar; private KeyguardStatusBarView mKeyguardStatusBar;
private KeyguardStatusBarViewController mKeyguarStatusBarViewController; private KeyguardStatusBarViewController mKeyguarStatusBarViewController;
private ViewGroup mBigClockContainer; private ViewGroup mBigClockContainer;
private QS mQs; @VisibleForTesting QS mQs;
private FrameLayout mQsFrame; private FrameLayout mQsFrame;
private KeyguardStatusViewController mKeyguardStatusViewController; private KeyguardStatusViewController mKeyguardStatusViewController;
private LockIconViewController mLockIconViewController; private LockIconViewController mLockIconViewController;

View File

@@ -83,6 +83,7 @@ import com.android.systemui.media.KeyguardMediaController;
import com.android.systemui.media.MediaDataManager; import com.android.systemui.media.MediaDataManager;
import com.android.systemui.media.MediaHierarchyManager; import com.android.systemui.media.MediaHierarchyManager;
import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.QS;
import com.android.systemui.qs.QSDetailDisplayer; import com.android.systemui.qs.QSDetailDisplayer;
import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.FeatureFlags; import com.android.systemui.statusbar.FeatureFlags;
@@ -129,6 +130,8 @@ import java.util.List;
@TestableLooper.RunWithLooper @TestableLooper.RunWithLooper
public class NotificationPanelViewTest extends SysuiTestCase { public class NotificationPanelViewTest extends SysuiTestCase {
private static final int NOTIFICATION_SCRIM_TOP_PADDING_IN_SPLIT_SHADE = 50;
@Mock @Mock
private StatusBar mStatusBar; private StatusBar mStatusBar;
@Mock @Mock
@@ -290,6 +293,8 @@ public class NotificationPanelViewTest extends SysuiTestCase {
when(mResources.getDisplayMetrics()).thenReturn(mDisplayMetrics); when(mResources.getDisplayMetrics()).thenReturn(mDisplayMetrics);
mDisplayMetrics.density = 100; mDisplayMetrics.density = 100;
when(mResources.getBoolean(R.bool.config_enableNotificationShadeDrag)).thenReturn(true); 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.qs_panel_width)).thenReturn(400);
when(mResources.getDimensionPixelSize(R.dimen.notification_panel_width)).thenReturn(400); when(mResources.getDimensionPixelSize(R.dimen.notification_panel_width)).thenReturn(400);
when(mView.getContext()).thenReturn(getContext()); when(mView.getContext()).thenReturn(getContext());
@@ -666,6 +671,21 @@ public class NotificationPanelViewTest extends SysuiTestCase {
verify(mTapAgainViewController).show(); 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() { private FalsingManager.FalsingTapListener getFalsingTapListener() {
for (View.OnAttachStateChangeListener listener : mOnAttachStateChangeListeners) { for (View.OnAttachStateChangeListener listener : mOnAttachStateChangeListeners) {
listener.onViewAttachedToWindow(mView); listener.onViewAttachedToWindow(mView);