diff --git a/core/java/android/view/ActionProvider.java b/core/java/android/view/ActionProvider.java index c3aafde833a5a..752240f4578df 100644 --- a/core/java/android/view/ActionProvider.java +++ b/core/java/android/view/ActionProvider.java @@ -236,6 +236,14 @@ public abstract class ActionProvider { mVisibilityListener = listener; } + /** + * @hide + */ + public void reset() { + mVisibilityListener = null; + mSubUiVisibilityListener = null; + } + /** * @hide Internal use only */ diff --git a/core/java/com/android/internal/view/menu/MenuItemImpl.java b/core/java/com/android/internal/view/menu/MenuItemImpl.java index 3b1f20d86503a..08d4e8616795a 100644 --- a/core/java/com/android/internal/view/menu/MenuItemImpl.java +++ b/core/java/com/android/internal/view/menu/MenuItemImpl.java @@ -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;