Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java +13 −3 Original line number Diff line number Diff line Loading @@ -300,7 +300,7 @@ public class NotificationChildrenContainer extends ViewGroup { mNotificationHeaderWrapper.notifyContentUpdated(mContainingNotification); recreateLowPriorityHeader(builder); recreateAmbientHeader(builder); resetHeaderVisibilityIfNeeded(mNotificationHeader, calculateDesiredHeader()); updateHeaderVisibility(false /* animate */); updateChildrenHeaderAppearance(); } Loading Loading @@ -833,6 +833,11 @@ public class NotificationChildrenContainer extends ViewGroup { return mNotificationHeaderLowPriority; } @VisibleForTesting public ViewGroup getCurrentHeaderView() { return mCurrentHeader; } public void notifyShowAmbientChanged() { updateHeaderVisibility(false); } Loading Loading @@ -869,7 +874,12 @@ public class NotificationChildrenContainer extends ViewGroup { desiredHeader.setVisibility(VISIBLE); } if (currentHeader != null) { getWrapperForView(currentHeader).setVisible(false); // Wrapper can be null if we were a low priority notification // and just destroyed it by calling setIsLowPriority(false) NotificationViewWrapper wrapper = getWrapperForView(currentHeader); if (wrapper != null) { wrapper.setVisible(false); } currentHeader.setVisibility(INVISIBLE); } } Loading @@ -878,7 +888,7 @@ public class NotificationChildrenContainer extends ViewGroup { resetHeaderVisibilityIfNeeded(mNotificationHeaderAmbient, desiredHeader); resetHeaderVisibilityIfNeeded(mNotificationHeaderLowPriority, desiredHeader); mCurrentHeader = currentHeader; mCurrentHeader = desiredHeader; } private void resetHeaderVisibilityIfNeeded(View header, View desiredHeader) { Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/stack/NotificationChildrenContainerTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -60,4 +60,12 @@ public class NotificationChildrenContainerTest extends SysuiTestCase { Assert.assertTrue(lowPriorityHeaderView.getParent() == null); Assert.assertTrue(childrenContainer.getLowPriorityHeaderView() == null); } @Test public void testRecreateNotificationHeader_hasHeader() { NotificationChildrenContainer childrenContainer = mGroup.getChildrenContainer(); childrenContainer.recreateNotificationHeader(null); Assert.assertNotNull("Children container must have a header after recreation", childrenContainer.getCurrentHeaderView()); } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationChildrenContainer.java +13 −3 Original line number Diff line number Diff line Loading @@ -300,7 +300,7 @@ public class NotificationChildrenContainer extends ViewGroup { mNotificationHeaderWrapper.notifyContentUpdated(mContainingNotification); recreateLowPriorityHeader(builder); recreateAmbientHeader(builder); resetHeaderVisibilityIfNeeded(mNotificationHeader, calculateDesiredHeader()); updateHeaderVisibility(false /* animate */); updateChildrenHeaderAppearance(); } Loading Loading @@ -833,6 +833,11 @@ public class NotificationChildrenContainer extends ViewGroup { return mNotificationHeaderLowPriority; } @VisibleForTesting public ViewGroup getCurrentHeaderView() { return mCurrentHeader; } public void notifyShowAmbientChanged() { updateHeaderVisibility(false); } Loading Loading @@ -869,7 +874,12 @@ public class NotificationChildrenContainer extends ViewGroup { desiredHeader.setVisibility(VISIBLE); } if (currentHeader != null) { getWrapperForView(currentHeader).setVisible(false); // Wrapper can be null if we were a low priority notification // and just destroyed it by calling setIsLowPriority(false) NotificationViewWrapper wrapper = getWrapperForView(currentHeader); if (wrapper != null) { wrapper.setVisible(false); } currentHeader.setVisibility(INVISIBLE); } } Loading @@ -878,7 +888,7 @@ public class NotificationChildrenContainer extends ViewGroup { resetHeaderVisibilityIfNeeded(mNotificationHeaderAmbient, desiredHeader); resetHeaderVisibilityIfNeeded(mNotificationHeaderLowPriority, desiredHeader); mCurrentHeader = currentHeader; mCurrentHeader = desiredHeader; } private void resetHeaderVisibilityIfNeeded(View header, View desiredHeader) { Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/stack/NotificationChildrenContainerTest.java +8 −0 Original line number Diff line number Diff line Loading @@ -60,4 +60,12 @@ public class NotificationChildrenContainerTest extends SysuiTestCase { Assert.assertTrue(lowPriorityHeaderView.getParent() == null); Assert.assertTrue(childrenContainer.getLowPriorityHeaderView() == null); } @Test public void testRecreateNotificationHeader_hasHeader() { NotificationChildrenContainer childrenContainer = mGroup.getChildrenContainer(); childrenContainer.recreateNotificationHeader(null); Assert.assertNotNull("Children container must have a header after recreation", childrenContainer.getCurrentHeaderView()); } }