Bug 947261 - Ensure that mActionItemBarPresenter is removed from the menu when cleared. r=sriram

This commit is contained in:
Richard Newman 2013-12-17 20:44:14 -08:00
parent f7ed4956e1
commit 84562a5a66

View File

@ -217,6 +217,13 @@ public class GeckoMenu extends ListView
return subMenu;
}
private void removeActionBarView() {
// Reset the adapter before removing the header view from a list.
setAdapter(null);
removeHeaderView((DefaultActionItemBar) mActionItemBarPresenter);
setAdapter(mAdapter);
}
@Override
public void clear() {
for (GeckoMenuItem menuItem : mItems) {
@ -247,6 +254,12 @@ public class GeckoMenu extends ListView
}
}
mActionItems.clear();
// Remove the view, too -- the first addActionItem will re-add it,
// and this is simpler than changing that logic.
if (mActionItemBarPresenter instanceof DefaultActionItemBar) {
removeActionBarView();
}
}
@Override
@ -341,10 +354,7 @@ public class GeckoMenu extends ListView
if (mActionItems.size() == 0 &&
mActionItemBarPresenter instanceof DefaultActionItemBar) {
// Reset the adapter before removing the header view from a list.
setAdapter(null);
removeHeaderView((DefaultActionItemBar) mActionItemBarPresenter);
setAdapter(mAdapter);
removeActionBarView();
}
return;