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

Commit ce08cd15 authored by Lyn Han's avatar Lyn Han Committed by Android (Google) Code Review
Browse files

Merge changes I7663ba49,If0b9ebd1,I46d064e6 into main

* changes:
  Test that bundles are not minimized
  BundleEntry: add ListEntry children
  RankingCoordinator: make bundles silent
parents a779fdcc ffe786a2
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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);
+19 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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() {
+4 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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();