Merge "Fix always-null children on NotificationEntry" into qt-dev

am: ab6d2d3152

Change-Id: Ic5232a43230dc1e464fe85b68dbb902e5b1b504a
This commit is contained in:
Evan Laird
2019-05-31 10:09:00 -07:00
committed by android-build-merger
2 changed files with 16 additions and 5 deletions

View File

@@ -355,10 +355,10 @@ public class NotificationEntryManager implements
// a child we're keeping around for reply!
continue;
}
entry.setKeepInParent(true);
childEntry.setKeepInParent(true);
// we need to set this state earlier as otherwise we might generate some weird
// animations
entry.removeRow();
childEntry.removeRow();
}
}
}

View File

@@ -122,7 +122,6 @@ public final class NotificationEntry {
public boolean suspended;
private NotificationEntry parent; // our parent (if we're in a group)
private ArrayList<NotificationEntry> children = new ArrayList<NotificationEntry>();
private ExpandableNotificationRow row; // the outer expanded view
private int mCachedContrastColor = COLOR_INVALID;
@@ -277,10 +276,20 @@ public final class NotificationEntry {
@Nullable
public List<NotificationEntry> getChildren() {
if (children.size() <= 0) {
if (row == null) {
return null;
}
List<ExpandableNotificationRow> rowChildren = row.getNotificationChildren();
if (rowChildren == null) {
return null;
}
ArrayList<NotificationEntry> children = new ArrayList<>();
for (ExpandableNotificationRow child : rowChildren) {
children.add(child.getEntry());
}
return children;
}
@@ -740,7 +749,9 @@ public final class NotificationEntry {
if (notification == null || !notification.isClearable()) {
return false;
}
if (children.size() > 0) {
List<NotificationEntry> children = getChildren();
if (children != null && children.size() > 0) {
for (int i = 0; i < children.size(); i++) {
NotificationEntry child = children.get(i);
if (!child.isClearable()) {