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

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

Merge "Verify that section buckets and header controllers are contiguous" into tm-dev

parents 4359c9d3 8bc0c721
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -230,7 +230,13 @@ public class ShadeListBuilder implements Dumpable {
        mPipelineState.requireState(STATE_IDLE);

        mNotifSections.clear();
        NotifSectioner lastSection = null;
        for (NotifSectioner sectioner : sectioners) {
            if (lastSection != null && lastSection.getBucket() > sectioner.getBucket()) {
                throw new IllegalArgumentException("setSectioners with non contiguous sections "
                        + lastSection.getName() + " - " + lastSection.getBucket() + " & "
                        + sectioner.getName() + " - " + sectioner.getBucket());
            }
            final NotifSection section = new NotifSection(sectioner, mNotifSections.size());
            final NotifComparator sectionComparator = section.getComparator();
            mNotifSections.add(section);
@@ -238,6 +244,7 @@ public class ShadeListBuilder implements Dumpable {
            if (sectionComparator != null) {
                sectionComparator.setInvalidationListener(this::onNotifComparatorInvalidated);
            }
            lastSection = sectioner;
        }

        mNotifSections.add(new NotifSection(DEFAULT_SECTIONER, mNotifSections.size()));
+9 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ class NodeSpecBuilder(

        var currentSection: NotifSection? = null
        val prevSections = mutableSetOf<NotifSection?>()
        var lastSection: NotifSection? = null
        val showHeaders = sectionHeaderVisibilityProvider.sectionHeadersVisible
        val sectionOrder = mutableListOf<NotifSection?>()
        val sectionHeaders = mutableMapOf<NotifSection?, NodeController?>()
@@ -65,6 +66,14 @@ class NodeSpecBuilder(
        for (entry in notifList) {
            val section = entry.section!!

            lastSection?.let {
                if (it.bucket > section.bucket) {
                    throw IllegalStateException("buildNodeSpec with non contiguous section " +
                            "buckets ${it.sectioner.name} - ${it.bucket} & " +
                            "${it.sectioner.name} - ${it.bucket}")
                }
            }
            lastSection = section
            if (prevSections.contains(section)) {
                throw java.lang.RuntimeException("Section ${section.label} has been duplicated")
            }