Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 388ceaa3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix header not set on initialization" into oc-dev

parents c0643da0 6ea27879
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -300,7 +300,7 @@ public class NotificationChildrenContainer extends ViewGroup {
        mNotificationHeaderWrapper.notifyContentUpdated(mContainingNotification);
        recreateLowPriorityHeader(builder);
        recreateAmbientHeader(builder);
        resetHeaderVisibilityIfNeeded(mNotificationHeader, calculateDesiredHeader());
        updateHeaderVisibility(false /* animate */);
        updateChildrenHeaderAppearance();
    }

@@ -833,6 +833,11 @@ public class NotificationChildrenContainer extends ViewGroup {
        return mNotificationHeaderLowPriority;
    }

    @VisibleForTesting
    public ViewGroup getCurrentHeaderView() {
        return mCurrentHeader;
    }

    public void notifyShowAmbientChanged() {
        updateHeaderVisibility(false);
    }
@@ -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);
            }
        }
@@ -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) {
+8 −0
Original line number Diff line number Diff line
@@ -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());
    }
}