aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2013-09-09 13:19:43 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2013-09-09 13:19:43 +0200
commitaae87b894f72a719a850ec32ad6944bd5c743331 (patch)
treeb5a221fcb529c07b309f5bde0563155df28a472c /libraries/ActionBarSherlock/src/com/actionbarsherlock/internal/view/menu/MenuWrapper.java
parent5b6880d2e34f4c8a4bfba87b5ce53d3c6727b744 (diff)
downloadopen-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.java21
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);