Loading packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/RankingCoordinatorTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.SysuiTestCase; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.RankingBuilder; import com.android.systemui.statusbar.SbnBuilder; import com.android.systemui.statusbar.notification.collection.BundleEntry; import com.android.systemui.statusbar.notification.collection.ListEntry; import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.NotificationEntry; Loading Loading @@ -272,6 +273,18 @@ public class RankingCoordinatorTest extends SysuiTestCase { assertTrue(mSilentSectioner.isInSection(mEntry)); } @Test public void testSilentSectioner_acceptsBundle() { BundleEntry bundleEntry = new BundleEntry("testBundleKey"); assertTrue(mSilentSectioner.isInSection(bundleEntry)); } @Test public void testMinimizedSectioner_rejectsBundle() { BundleEntry bundleEntry = new BundleEntry("testBundleKey"); assertFalse(mMinimizedSectioner.isInSection(bundleEntry)); } @Test public void testMinSection() { when(mHighPriorityProvider.isHighPriority(mEntry)).thenReturn(false); Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/BundleEntry.java +19 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,8 @@ import androidx.annotation.VisibleForTesting; import com.android.systemui.statusbar.notification.icon.IconPack; import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import java.util.ArrayList; import java.util.Collections; import java.util.List; import kotlinx.coroutines.flow.MutableStateFlow; Loading @@ -51,10 +52,27 @@ public class BundleEntry extends PipelineEntry { // TODO (b/389839319): implement the row private ExpandableNotificationRow mRow; private final List<ListEntry> mChildren = new ArrayList<>(); private final List<ListEntry> mUnmodifiableChildren = Collections.unmodifiableList(mChildren); public BundleEntry(String key) { super(key); } void addChild(ListEntry child) { mChildren.add(child); } @NonNull public List<ListEntry> getChildren() { return mUnmodifiableChildren; } /** * @return Null because bundles do not have an associated NotificationEntry. */ @Nullable @Override public NotificationEntry getRepresentativeEntry() { Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RankingCoordinator.java +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.notification.collection.BundleEntry; import com.android.systemui.statusbar.notification.collection.PipelineEntry; import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.NotificationEntry; Loading Loading @@ -116,6 +117,9 @@ public class RankingCoordinator implements Coordinator { NotificationPriorityBucketKt.BUCKET_SILENT) { @Override public boolean isInSection(PipelineEntry entry) { if (entry instanceof BundleEntry) { return true; } return !mHighPriorityProvider.isHighPriority(entry) && entry.getRepresentativeEntry() != null && !entry.getRepresentativeEntry().isAmbient(); Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/coordinator/RankingCoordinatorTest.java +13 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.SysuiTestCase; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.RankingBuilder; import com.android.systemui.statusbar.SbnBuilder; import com.android.systemui.statusbar.notification.collection.BundleEntry; import com.android.systemui.statusbar.notification.collection.ListEntry; import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.NotificationEntry; Loading Loading @@ -272,6 +273,18 @@ public class RankingCoordinatorTest extends SysuiTestCase { assertTrue(mSilentSectioner.isInSection(mEntry)); } @Test public void testSilentSectioner_acceptsBundle() { BundleEntry bundleEntry = new BundleEntry("testBundleKey"); assertTrue(mSilentSectioner.isInSection(bundleEntry)); } @Test public void testMinimizedSectioner_rejectsBundle() { BundleEntry bundleEntry = new BundleEntry("testBundleKey"); assertFalse(mMinimizedSectioner.isInSection(bundleEntry)); } @Test public void testMinSection() { when(mHighPriorityProvider.isHighPriority(mEntry)).thenReturn(false); Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/BundleEntry.java +19 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,8 @@ import androidx.annotation.VisibleForTesting; import com.android.systemui.statusbar.notification.icon.IconPack; import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import java.util.ArrayList; import java.util.Collections; import java.util.List; import kotlinx.coroutines.flow.MutableStateFlow; Loading @@ -51,10 +52,27 @@ public class BundleEntry extends PipelineEntry { // TODO (b/389839319): implement the row private ExpandableNotificationRow mRow; private final List<ListEntry> mChildren = new ArrayList<>(); private final List<ListEntry> mUnmodifiableChildren = Collections.unmodifiableList(mChildren); public BundleEntry(String key) { super(key); } void addChild(ListEntry child) { mChildren.add(child); } @NonNull public List<ListEntry> getChildren() { return mUnmodifiableChildren; } /** * @return Null because bundles do not have an associated NotificationEntry. */ @Nullable @Override public NotificationEntry getRepresentativeEntry() { Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RankingCoordinator.java +4 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.statusbar.notification.collection.BundleEntry; import com.android.systemui.statusbar.notification.collection.PipelineEntry; import com.android.systemui.statusbar.notification.collection.NotifPipeline; import com.android.systemui.statusbar.notification.collection.NotificationEntry; Loading Loading @@ -116,6 +117,9 @@ public class RankingCoordinator implements Coordinator { NotificationPriorityBucketKt.BUCKET_SILENT) { @Override public boolean isInSection(PipelineEntry entry) { if (entry instanceof BundleEntry) { return true; } return !mHighPriorityProvider.isHighPriority(entry) && entry.getRepresentativeEntry() != null && !entry.getRepresentativeEntry().isAmbient(); Loading