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

Commit f61b6a65 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Verify that section buckets and header controllers are contiguous" into...

Merge "Verify that section buckets and header controllers are contiguous" into tm-dev am: 04248bdd

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17124713

Change-Id: Idd522a3a1242863648f44655c2781c6e514cf741
parents abc05161 04248bdd
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")
            }