Merge "Cache NotifCollection for next pipeline run" into udc-dev am: c2384f8b3a

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

Change-Id: Id53d69e0e9e076286c4d01ef91552e0b3052fa0f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Ibrahim Yilmaz
2023-03-23 22:52:18 +00:00
committed by Automerger Merge Worker

View File

@@ -110,6 +110,8 @@ public class ShadeListBuilder implements Dumpable, PipelineDumpable {
private final PipelineState mPipelineState = new PipelineState();
private final Map<String, GroupEntry> mGroups = new ArrayMap<>();
private Collection<NotificationEntry> mAllEntries = Collections.emptyList();
@Nullable
private Collection<NotificationEntry> mPendingEntries = null;
private int mIterationCount = 0;
private final List<NotifFilter> mNotifPreGroupFilters = new ArrayList<>();
@@ -317,11 +319,9 @@ public class ShadeListBuilder implements Dumpable, PipelineDumpable {
@Override
public void onBuildList(Collection<NotificationEntry> entries, String reason) {
Assert.isMainThread();
mPipelineState.requireIsBefore(STATE_BUILD_STARTED);
mPendingEntries = new ArrayList<>(entries);
mLogger.logOnBuildList(reason);
mAllEntries = entries;
scheduleRebuild(/* reentrant = */ false);
rebuildListIfBefore(STATE_BUILD_STARTED);
}
};
@@ -398,6 +398,11 @@ public class ShadeListBuilder implements Dumpable, PipelineDumpable {
Trace.beginSection("ShadeListBuilder.buildList");
mPipelineState.requireIsBefore(STATE_BUILD_STARTED);
if (mPendingEntries != null) {
mAllEntries = mPendingEntries;
mPendingEntries = null;
}
if (!mNotifStabilityManager.isPipelineRunAllowed()) {
mLogger.logPipelineRunSuppressed();
Trace.endSection();