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

Commit 7103fd44 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixed a memory leak with notification children

Children where not removed from the stackscrollstate as
their removal was blocked when removing a group.

Change-Id: I0a3bbb91d0df2693e1ec7e89276c8714636a34ad
Fixes: 28670320
parent 81f26d33
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1533,6 +1533,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
            }
            for (int i = 0; i < toRemove.size(); i++) {
                removeNotification(toRemove.get(i).getStatusBarNotification().getKey(), ranking);
                // we need to ensure that the view is actually properly removed from the viewstate
                // as this won't happen anymore when kept in the parent.
                mStackScroller.removeViewStateForView(toRemove.get(i));
            }
        }
    }
+9 −0
Original line number Diff line number Diff line
@@ -3571,6 +3571,15 @@ public class NotificationStackScrollLayout extends ViewGroup
        setFadedOut(alpha != 1.0f);
    }

    /**
     * Remove the a given view from the viewstate. This is currently used when the children are
     * kept in the parent artificially to have a nicer animation.
     * @param view the view to remove
     */
    public void removeViewStateForView(View view) {
        mCurrentStackScrollState.removeViewStateForView(view);
    }

    /**
     * A listener that is notified when some child locations might have changed.
     */