Merge "New Pipeline: Numerous bug and crash fixes:"

This commit is contained in:
Jeff DeCew
2021-11-25 02:45:11 +00:00
committed by Android (Google) Code Review
5 changed files with 18 additions and 6 deletions

View File

@@ -55,15 +55,26 @@ public class ListDumper {
interactionTracker.hasUserInteractedWith(entry.getKey()));
if (entry instanceof GroupEntry) {
GroupEntry ge = (GroupEntry) entry;
NotificationEntry summary = ge.getSummary();
if (summary != null) {
dumpEntry(summary,
topEntryIndex + ":*",
childEntryIndent,
sb,
true,
includeRecordKeeping,
interactionTracker.hasUserInteractedWith(summary.getKey()));
}
List<NotificationEntry> children = ge.getChildren();
for (int childIndex = 0; childIndex < children.size(); childIndex++) {
dumpEntry(children.get(childIndex),
NotificationEntry child = children.get(childIndex);
dumpEntry(child,
topEntryIndex + "." + childIndex,
childEntryIndent,
sb,
true,
includeRecordKeeping,
interactionTracker.hasUserInteractedWith(entry.getKey()));
interactionTracker.hasUserInteractedWith(child.getKey()));
}
}
}

View File

@@ -368,7 +368,7 @@ public class PreparationCoordinator implements Coordinator {
private void freeNotifViews(NotificationEntry entry) {
mViewBarn.removeViewForEntry(entry);
entry.setRow(null);
// TODO: clear the entry's row here, or even better, stop setting the row on the entry!
mInflationStates.put(entry, STATE_UNINFLATED);
}

View File

@@ -25,6 +25,7 @@ import com.android.systemui.statusbar.notification.collection.listbuilder.OnBefo
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
@@ -91,7 +92,7 @@ public class GroupExpansionManagerImpl implements GroupExpansionManager, Coordin
@Override
public void collapseGroups() {
for (NotificationEntry entry : mExpandedGroups) {
for (NotificationEntry entry : new ArrayList<>(mExpandedGroups)) {
setGroupExpanded(entry, false);
}
}

View File

@@ -245,7 +245,7 @@ public class ExpandableNotificationRowController implements NotifViewController
public void addChildAt(NodeController child, int index) {
ExpandableNotificationRow childView = (ExpandableNotificationRow) child.getView();
mView.addChildNotification((ExpandableNotificationRow) child.getView());
mView.addChildNotification((ExpandableNotificationRow) child.getView(), index);
mListContainer.notifyGroupChildAdded(childView);
}

View File

@@ -4628,7 +4628,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
}
private void ensureRemovedFromTransientContainer(View v) {
if (v.getParent() == this && v instanceof SectionHeaderView) {
if (v.getParent() == this && v instanceof ExpandableView) {
ExpandableView expandableView = (ExpandableView) v;
ViewGroup transientContainer = expandableView.getTransientContainer();
// If the child is animating away, it will still have a parent, so