Merge "New Pipeline: Numerous bug and crash fixes:"
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
index 52c5c3e..6be8a49 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
@@ -55,15 +55,26 @@
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()));
}
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
index a0379f4..bbb97d1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
@@ -368,7 +368,7 @@
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);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerImpl.java
index b9aa26f..86d263a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerImpl.java
@@ -25,6 +25,7 @@
import java.io.FileDescriptor;
import java.io.PrintWriter;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
@@ -91,7 +92,7 @@
@Override
public void collapseGroups() {
- for (NotificationEntry entry : mExpandedGroups) {
+ for (NotificationEntry entry : new ArrayList<>(mExpandedGroups)) {
setGroupExpanded(entry, false);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowController.java
index 10e8b14..3d35d0e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowController.java
@@ -245,7 +245,7 @@
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);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
index 33ce32a5..b9f0241 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
@@ -4628,7 +4628,7 @@
}
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