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

Commit 89f423d3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix leak in NotificationStackScroller by nulling out translatingParent"

parents a5e8f6cb 4c97b0a9
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -1684,6 +1684,7 @@ public class StatusBar extends SystemUI implements DemoMode,

        if (entry != null && entry.row != null) {
            entry.row.setRemoved();
            mStackScroller.cleanUpViewState(entry.row);
        }
        // Let's remove the children if this was a summary
        handleGroupSummaryRemoved(key, ranking);
@@ -1740,12 +1741,6 @@ public class StatusBar extends SystemUI implements DemoMode,
                // animations
                toRemove.get(i).setRemoved();
            }
            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));
            }
        }
    }

+11 −9
Original line number Diff line number Diff line
@@ -2473,6 +2473,17 @@ public class NotificationStackScrollLayout extends ViewGroup
        }
    }

    /**
     * Called when a notification is removed from the shade. This cleans up the state for a given
     * view.
     */
    public void cleanUpViewState(View child) {
        if (child == mTranslatingParentView) {
            mTranslatingParentView = null;
        }
        mCurrentStackScrollState.removeViewStateForView(child);
    }

    @Override
    public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {
        super.requestDisallowInterceptTouchEvent(disallowIntercept);
@@ -4070,15 +4081,6 @@ public class NotificationStackScrollLayout extends ViewGroup
        setFadingOut(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);
    }

    public void setQsExpanded(boolean qsExpanded) {
        mQsExpanded = qsExpanded;
        updateAlgorithmLayoutMinHeight();