Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java +5 −5 Original line number Diff line number Diff line Loading @@ -709,8 +709,8 @@ public class ShadeListBuilder implements Dumpable { new ArraySet<>(groupsWithChildrenLostToStability); // Any group which lost a child to filtering or promotion is exempt from having its summary // promoted when it has no attached children. getGroupsWithChildrenLostToFiltering(groupsExemptFromSummaryPromotion); getGroupsWithChildrenLostToPromotion(shadeList, groupsExemptFromSummaryPromotion); addGroupsWithChildrenLostToFiltering(groupsExemptFromSummaryPromotion); addGroupsWithChildrenLostToPromotion(shadeList, groupsExemptFromSummaryPromotion); // Iterate backwards, so that we can remove elements without affecting indices of // yet-to-be-accessed entries. Loading Loading @@ -865,7 +865,7 @@ public class ShadeListBuilder implements Dumpable { * * These groups will be exempt from appearing without any children. */ private void getGroupsWithChildrenLostToPromotion(List<ListEntry> shadeList, Set<String> out) { private void addGroupsWithChildrenLostToPromotion(List<ListEntry> shadeList, Set<String> out) { for (int i = 0; i < shadeList.size(); i++) { final ListEntry tle = shadeList.get(i); if (tle.getAttachState().getPromoter() != null) { Loading @@ -882,13 +882,13 @@ public class ShadeListBuilder implements Dumpable { * * These groups will be exempt from appearing without any children. */ private void getGroupsWithChildrenLostToFiltering(Set<String> out) { private void addGroupsWithChildrenLostToFiltering(Set<String> out) { for (ListEntry tle : mAllEntries) { StatusBarNotification sbn = tle.getRepresentativeEntry().getSbn(); if (sbn.isGroup() && !sbn.getNotification().isGroupSummary() && tle.getAttachState().getExcludingFilter() != null) { out.add(sbn.getGroup()); out.add(sbn.getGroupKey()); } } } Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java +0 −19 Original line number Diff line number Diff line Loading @@ -1488,25 +1488,6 @@ public class ShadeListBuilderTest extends SysuiTestCase { ); } @Test public void testFinalizeFilteredChildrenPromotesSummary() { // GIVEN a group with only one child was already drawn addGroupSummary(0, PACKAGE_1, GROUP_1); addGroupChild(1, PACKAGE_1, GROUP_1); addGroupChild(2, PACKAGE_1, GROUP_1); // WHEN the parent is filtered out at the finalize step mFinalizeFilter.mIndicesToFilter.add(1); mFinalizeFilter.mIndicesToFilter.add(2); dispatchBuild(); // THEN the children should be promoted to the top level verifyBuiltList( notif(0) ); } @Test public void testFinalizeFilteredChildPromotesSibling() { // GIVEN a group with only one child was already drawn Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java +5 −5 Original line number Diff line number Diff line Loading @@ -709,8 +709,8 @@ public class ShadeListBuilder implements Dumpable { new ArraySet<>(groupsWithChildrenLostToStability); // Any group which lost a child to filtering or promotion is exempt from having its summary // promoted when it has no attached children. getGroupsWithChildrenLostToFiltering(groupsExemptFromSummaryPromotion); getGroupsWithChildrenLostToPromotion(shadeList, groupsExemptFromSummaryPromotion); addGroupsWithChildrenLostToFiltering(groupsExemptFromSummaryPromotion); addGroupsWithChildrenLostToPromotion(shadeList, groupsExemptFromSummaryPromotion); // Iterate backwards, so that we can remove elements without affecting indices of // yet-to-be-accessed entries. Loading Loading @@ -865,7 +865,7 @@ public class ShadeListBuilder implements Dumpable { * * These groups will be exempt from appearing without any children. */ private void getGroupsWithChildrenLostToPromotion(List<ListEntry> shadeList, Set<String> out) { private void addGroupsWithChildrenLostToPromotion(List<ListEntry> shadeList, Set<String> out) { for (int i = 0; i < shadeList.size(); i++) { final ListEntry tle = shadeList.get(i); if (tle.getAttachState().getPromoter() != null) { Loading @@ -882,13 +882,13 @@ public class ShadeListBuilder implements Dumpable { * * These groups will be exempt from appearing without any children. */ private void getGroupsWithChildrenLostToFiltering(Set<String> out) { private void addGroupsWithChildrenLostToFiltering(Set<String> out) { for (ListEntry tle : mAllEntries) { StatusBarNotification sbn = tle.getRepresentativeEntry().getSbn(); if (sbn.isGroup() && !sbn.getNotification().isGroupSummary() && tle.getAttachState().getExcludingFilter() != null) { out.add(sbn.getGroup()); out.add(sbn.getGroupKey()); } } } Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java +0 −19 Original line number Diff line number Diff line Loading @@ -1488,25 +1488,6 @@ public class ShadeListBuilderTest extends SysuiTestCase { ); } @Test public void testFinalizeFilteredChildrenPromotesSummary() { // GIVEN a group with only one child was already drawn addGroupSummary(0, PACKAGE_1, GROUP_1); addGroupChild(1, PACKAGE_1, GROUP_1); addGroupChild(2, PACKAGE_1, GROUP_1); // WHEN the parent is filtered out at the finalize step mFinalizeFilter.mIndicesToFilter.add(1); mFinalizeFilter.mIndicesToFilter.add(2); dispatchBuild(); // THEN the children should be promoted to the top level verifyBuiltList( notif(0) ); } @Test public void testFinalizeFilteredChildPromotesSibling() { // GIVEN a group with only one child was already drawn Loading