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

Commit c8f6ecc2 authored by Chris Banes's avatar Chris Banes
Browse files

Fix memory leak in setActionProvider() - framework edition

Caused by ActionMenuItem's SubUiVisibilityListener
not being nulled when it is replaced via setActionProvider().

BUG: 22189734
Change-Id: Id4deaa05cd5554ca7bdf969a592e4812e39dcb75
parent f62f4c94
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -236,6 +236,14 @@ public abstract class ActionProvider {
        mVisibilityListener = listener;
    }

    /**
     * @hide
     */
    public void reset() {
        mVisibilityListener = null;
        mSubUiVisibilityListener = null;
    }

    /**
     * @hide Internal use only
     */
+1 −1
Original line number Diff line number Diff line
@@ -593,7 +593,7 @@ public final class MenuItemImpl implements MenuItem {

    public MenuItem setActionProvider(ActionProvider actionProvider) {
        if (mActionProvider != null) {
            mActionProvider.setVisibilityListener(null);
            mActionProvider.reset();
        }
        mActionView = null;
        mActionProvider = actionProvider;