diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-09-09 13:19:43 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2013-09-09 13:19:43 +0200 |
commit | aae87b894f72a719a850ec32ad6944bd5c743331 (patch) | |
tree | b5a221fcb529c07b309f5bde0563155df28a472c /libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java | |
parent | 5b6880d2e34f4c8a4bfba87b5ce53d3c6727b744 (diff) | |
download | open-keychain-aae87b894f72a719a850ec32ad6944bd5c743331.tar.gz open-keychain-aae87b894f72a719a850ec32ad6944bd5c743331.tar.bz2 open-keychain-aae87b894f72a719a850ec32ad6944bd5c743331.zip |
Update actionbarsherlock from 4.2 to 4.4
Diffstat (limited to 'libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java')
-rw-r--r-- | libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java b/libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java index 3d4dd42fd..4eb8d09f4 100644 --- a/libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java +++ b/libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java @@ -94,11 +94,18 @@ public class MenuWrapper implements Menu { @Override public void removeItem(int id) { + mNativeMap.remove(mNativeMenu.findItem(id)); mNativeMenu.removeItem(id); } @Override public void removeGroup(int groupId) { + for (int i = 0; i < mNativeMenu.size(); i++) { + final android.view.MenuItem item = mNativeMenu.getItem(i); + if (item.getGroupId() == groupId) { + mNativeMap.remove(item); + } + } mNativeMenu.removeGroup(groupId); } @@ -108,6 +115,20 @@ public class MenuWrapper implements Menu { mNativeMenu.clear(); } + public void invalidate() { + if (mNativeMap.isEmpty()) return; + + final WeakHashMap<android.view.MenuItem, MenuItem> menuMapCopy = new WeakHashMap<android.view.MenuItem, MenuItem>(mNativeMap.size()); + + for (int i = 0; i < mNativeMenu.size(); i++) { + final android.view.MenuItem item = mNativeMenu.getItem(i); + menuMapCopy.put(item, mNativeMap.get(item)); + } + + mNativeMap.clear(); + mNativeMap.putAll(menuMapCopy); + } + @Override public void setGroupCheckable(int group, boolean checkable, boolean exclusive) { mNativeMenu.setGroupCheckable(group, checkable, exclusive); |