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

Commit d9a707e5 authored by Lucas Dupin's avatar Lucas Dupin Committed by android-build-merger
Browse files

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

am: 388ceaa3

Change-Id: Ia706458360372059715ea86873dbbefc854731d6
parents 84296900 388ceaa3
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());
    }
}