Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffa6eb87 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed a crash with HUN notifications

Bug: 20925733
Change-Id: Id96c9e476d9faa770b5bcd3c35213dd0debdeaea
parent 769832d1
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -1656,7 +1656,7 @@ public class NotificationStackScrollLayout extends ViewGroup
     */
    private boolean generateRemoveAnimation(View child) {
        if (mIsExpanded && mAnimationsEnabled && !isChildInInvisibleGroup(child)) {
            if (!mChildrenToAddAnimated.contains(child)) {
            if (!mChildrenToAddAnimated.contains(child) && !mAddedHeadsUpChildren.contains(child)) {
                // Generate Animations
                mChildrenToRemoveAnimated.add(child);
                mNeedsAnimation = true;
@@ -1664,12 +1664,27 @@ public class NotificationStackScrollLayout extends ViewGroup
            } else {
                mChildrenToAddAnimated.remove(child);
                mFromMoreCardAdditions.remove(child);
                boolean remove = mAddedHeadsUpChildren.remove(child);
                if (remove) {
                    removeChildFromHeadsUpChangeAnimations(child);
                }
                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
     * @return whether a view is not a top level child but a child notification and that group is