Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +4 −0 Original line number Diff line number Diff line Loading @@ -5256,6 +5256,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable mSwipeHelper.resetExposedMenuView(animate, force); } boolean isUsingSplitNotificationShade() { return mShouldUseSplitNotificationShade; } static boolean matchesSelection( ExpandableNotificationRow row, @SelectedRows int selection) { Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java +6 −1 Original line number Diff line number Diff line Loading @@ -1099,11 +1099,16 @@ public class NotificationStackScrollLayoutController { /** * Update whether we should show the empty shade view (no notifications in the shade). * If so, send the update to our view. * * When in split mode, notifications are always visible regardless of the state of the * QuickSettings panel. That being the case, empty view is always shown if the other conditions * are true. */ public void updateShowEmptyShadeView() { mShowEmptyShadeView = mBarState != KEYGUARD && !mView.isQsExpanded() && (!mView.isQsExpanded() || mView.isUsingSplitNotificationShade()) && mView.getVisibleNotificationCount() == 0; mView.updateEmptyShadeView( mShowEmptyShadeView, mZenModeController.areNotificationsHiddenInShade()); Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollerControllerTest.java→packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java +36 −10 Original line number Diff line number Diff line Loading @@ -92,7 +92,7 @@ import org.mockito.MockitoAnnotations; */ @SmallTest @RunWith(AndroidTestingRunner.class) public class NotificationStackScrollerControllerTest extends SysuiTestCase { public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase { @Mock private NotificationGutsManager mNotificationGutsManager; @Mock private HeadsUpManagerPhone mHeadsUpManager; Loading Loading @@ -232,16 +232,15 @@ public class NotificationStackScrollerControllerTest extends SysuiTestCase { reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( true /* visible */, true /* notifVisibleInShade */); /* visible= */ true, /* notifVisibleInShade= */ true); setupShowEmptyShadeViewState(stateListener, false); reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( false /* visible */, true /* notifVisibleInShade */); /* visible= */ false, /* notifVisibleInShade= */ true); } @Test Loading @@ -257,15 +256,42 @@ public class NotificationStackScrollerControllerTest extends SysuiTestCase { reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( true /* visible */, false /* notifVisibleInShade */); /* visible= */ true, /* notifVisibleInShade= */ false); setupShowEmptyShadeViewState(stateListener, false); reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( false /* visible */, false /* notifVisibleInShade */); /* visible= */ false, /* notifVisibleInShade= */ false); } @Test public void testUpdateEmptyShadeView_splitShadeMode_alwaysShowEmptyView() { when(mZenModeController.areNotificationsHiddenInShade()).thenReturn(false); mController.attach(mNotificationStackScrollLayout); verify(mSysuiStatusBarStateController).addCallback( mStateListenerArgumentCaptor.capture(), anyInt()); StatusBarStateController.StateListener stateListener = mStateListenerArgumentCaptor.getValue(); when(mNotificationStackScrollLayout.isUsingSplitNotificationShade()).thenReturn(true); stateListener.onStateChanged(SHADE); mController.getView().removeAllViews(); mController.setQsExpanded(false); reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( /* visible= */ true, /* notifVisibleInShade= */ false); mController.setQsExpanded(true); reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( /* visible= */ true, /* notifVisibleInShade= */ false); } @Test Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +4 −0 Original line number Diff line number Diff line Loading @@ -5256,6 +5256,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable mSwipeHelper.resetExposedMenuView(animate, force); } boolean isUsingSplitNotificationShade() { return mShouldUseSplitNotificationShade; } static boolean matchesSelection( ExpandableNotificationRow row, @SelectedRows int selection) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java +6 −1 Original line number Diff line number Diff line Loading @@ -1099,11 +1099,16 @@ public class NotificationStackScrollLayoutController { /** * Update whether we should show the empty shade view (no notifications in the shade). * If so, send the update to our view. * * When in split mode, notifications are always visible regardless of the state of the * QuickSettings panel. That being the case, empty view is always shown if the other conditions * are true. */ public void updateShowEmptyShadeView() { mShowEmptyShadeView = mBarState != KEYGUARD && !mView.isQsExpanded() && (!mView.isQsExpanded() || mView.isUsingSplitNotificationShade()) && mView.getVisibleNotificationCount() == 0; mView.updateEmptyShadeView( mShowEmptyShadeView, mZenModeController.areNotificationsHiddenInShade()); Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollerControllerTest.java→packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutControllerTest.java +36 −10 Original line number Diff line number Diff line Loading @@ -92,7 +92,7 @@ import org.mockito.MockitoAnnotations; */ @SmallTest @RunWith(AndroidTestingRunner.class) public class NotificationStackScrollerControllerTest extends SysuiTestCase { public class NotificationStackScrollLayoutControllerTest extends SysuiTestCase { @Mock private NotificationGutsManager mNotificationGutsManager; @Mock private HeadsUpManagerPhone mHeadsUpManager; Loading Loading @@ -232,16 +232,15 @@ public class NotificationStackScrollerControllerTest extends SysuiTestCase { reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( true /* visible */, true /* notifVisibleInShade */); /* visible= */ true, /* notifVisibleInShade= */ true); setupShowEmptyShadeViewState(stateListener, false); reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( false /* visible */, true /* notifVisibleInShade */); /* visible= */ false, /* notifVisibleInShade= */ true); } @Test Loading @@ -257,15 +256,42 @@ public class NotificationStackScrollerControllerTest extends SysuiTestCase { reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( true /* visible */, false /* notifVisibleInShade */); /* visible= */ true, /* notifVisibleInShade= */ false); setupShowEmptyShadeViewState(stateListener, false); reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( false /* visible */, false /* notifVisibleInShade */); /* visible= */ false, /* notifVisibleInShade= */ false); } @Test public void testUpdateEmptyShadeView_splitShadeMode_alwaysShowEmptyView() { when(mZenModeController.areNotificationsHiddenInShade()).thenReturn(false); mController.attach(mNotificationStackScrollLayout); verify(mSysuiStatusBarStateController).addCallback( mStateListenerArgumentCaptor.capture(), anyInt()); StatusBarStateController.StateListener stateListener = mStateListenerArgumentCaptor.getValue(); when(mNotificationStackScrollLayout.isUsingSplitNotificationShade()).thenReturn(true); stateListener.onStateChanged(SHADE); mController.getView().removeAllViews(); mController.setQsExpanded(false); reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( /* visible= */ true, /* notifVisibleInShade= */ false); mController.setQsExpanded(true); reset(mNotificationStackScrollLayout); mController.updateShowEmptyShadeView(); verify(mNotificationStackScrollLayout).updateEmptyShadeView( /* visible= */ true, /* notifVisibleInShade= */ false); } @Test Loading