Fixed a crash with HUN notifications
Bug: 20925733 Change-Id: Id96c9e476d9faa770b5bcd3c35213dd0debdeaea
This commit is contained in:
@@ -1656,7 +1656,7 @@ public class NotificationStackScrollLayout extends ViewGroup
|
|||||||
*/
|
*/
|
||||||
private boolean generateRemoveAnimation(View child) {
|
private boolean generateRemoveAnimation(View child) {
|
||||||
if (mIsExpanded && mAnimationsEnabled && !isChildInInvisibleGroup(child)) {
|
if (mIsExpanded && mAnimationsEnabled && !isChildInInvisibleGroup(child)) {
|
||||||
if (!mChildrenToAddAnimated.contains(child)) {
|
if (!mChildrenToAddAnimated.contains(child) && !mAddedHeadsUpChildren.contains(child)) {
|
||||||
// Generate Animations
|
// Generate Animations
|
||||||
mChildrenToRemoveAnimated.add(child);
|
mChildrenToRemoveAnimated.add(child);
|
||||||
mNeedsAnimation = true;
|
mNeedsAnimation = true;
|
||||||
@@ -1664,12 +1664,27 @@ public class NotificationStackScrollLayout extends ViewGroup
|
|||||||
} else {
|
} else {
|
||||||
mChildrenToAddAnimated.remove(child);
|
mChildrenToAddAnimated.remove(child);
|
||||||
mFromMoreCardAdditions.remove(child);
|
mFromMoreCardAdditions.remove(child);
|
||||||
|
boolean remove = mAddedHeadsUpChildren.remove(child);
|
||||||
|
if (remove) {
|
||||||
|
removeChildFromHeadsUpChangeAnimations(child);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void removeChildFromHeadsUpChangeAnimations(View child) {
|
||||||
|
ArrayList<Pair<ExpandableNotificationRow, Boolean> > toRemove = new ArrayList<>();
|
||||||
|
for (Pair<ExpandableNotificationRow, Boolean> eventPair : mHeadsUpChangeAnimations) {
|
||||||
|
ExpandableNotificationRow row = eventPair.first;
|
||||||
|
if (child == row) {
|
||||||
|
toRemove.add(eventPair);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mHeadsUpChangeAnimations.removeAll(toRemove);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param child the child to query
|
* @param child the child to query
|
||||||
* @return whether a view is not a top level child but a child notification and that group is
|
* @return whether a view is not a top level child but a child notification and that group is
|
||||||
|
|||||||
Reference in New Issue
Block a user