diff options
author | Adam Powell <adamp@google.com> | 2011-07-27 11:55:29 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2011-07-27 15:37:58 -0700 |
commit | 89b09da7b3b1e69264d9ec710c66eb2f891b313e (patch) | |
tree | b5a0e4a7453fdb71720cb15148ec84bd007100d2 /core/java/android/app | |
parent | 804b3d76c39eca09cbbd8b7c3fa1718e7ad094cc (diff) | |
download | frameworks_base-89b09da7b3b1e69264d9ec710c66eb2f891b313e.zip frameworks_base-89b09da7b3b1e69264d9ec710c66eb2f891b313e.tar.gz frameworks_base-89b09da7b3b1e69264d9ec710c66eb2f891b313e.tar.bz2 |
Bug 5076788 - Optimize the building and invalidation of menus
Fix cases that weren't batching menu presenter changes correctly.
Have FragmentManager invalidate the options menu less often.
Change-Id: Ia66fcd09ada8b0a084ad6b08d4340a8fa0c8fc5d
Diffstat (limited to 'core/java/android/app')
-rw-r--r-- | core/java/android/app/Fragment.java | 2 | ||||
-rw-r--r-- | core/java/android/app/FragmentManager.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/core/java/android/app/Fragment.java b/core/java/android/app/Fragment.java index cb97c46..7006192 100644 --- a/core/java/android/app/Fragment.java +++ b/core/java/android/app/Fragment.java @@ -880,7 +880,7 @@ public class Fragment implements ComponentCallbacks, OnCreateContextMenuListener public void setHasOptionsMenu(boolean hasMenu) { if (mHasMenu != hasMenu) { mHasMenu = hasMenu; - if (isAdded() && !isHidden()) { + if (isAdded() && !isHidden() && isResumed()) { mActivity.invalidateOptionsMenu(); } } diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index 789d3a6..24550c5 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -978,7 +978,7 @@ final class FragmentManagerImpl extends FragmentManager { } } - if (mNeedMenuInvalidate && mActivity != null) { + if (mNeedMenuInvalidate && mActivity != null && mCurState == Fragment.RESUMED) { mActivity.invalidateOptionsMenu(); mNeedMenuInvalidate = false; } |