diff options
| author | 2011-06-03 17:54:28 -0700 | |
|---|---|---|
| committer | 2011-06-03 17:54:28 -0700 | |
| commit | b4815f47e6d612da6e2d0650a2d8f103626e3ec7 (patch) | |
| tree | 2f616f98bfcb4d9acacebb476e3b766c458f9f82 | |
| parent | 076138357027189f1bb90caf8c2e1a09497d78ac (diff) | |
| parent | bd754205d0b59315582855329649dad925a04b82 (diff) | |
am bd754205: Merge "Fix to not lose state when saving a deactivated fragment." into honeycomb-mr2
* commit 'bd754205d0b59315582855329649dad925a04b82':
Fix to not lose state when saving a deactivated fragment.
| -rw-r--r-- | core/java/android/app/FragmentManager.java | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index 2164ada862b9..3b2e108af9d0 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -1109,7 +1109,6 @@ final class FragmentManagerImpl extends FragmentManager { mNeedMenuInvalidate = true; } fragment.mAdded = false; - fragment.mRemoving = true; moveToState(fragment, Fragment.CREATED, transition, transitionStyle); } } @@ -1122,7 +1121,6 @@ final class FragmentManagerImpl extends FragmentManager { if (!fragment.mAdded) { mAdded.add(fragment); fragment.mAdded = true; - fragment.mRemoving = false; if (fragment.mHasMenu) { mNeedMenuInvalidate = true; } @@ -1435,13 +1433,13 @@ final class FragmentManagerImpl extends FragmentManager { if (f.mView != null) { saveFragmentViewState(f); - if (f.mSavedViewState != null) { - if (result == null) { - result = new Bundle(); - } - result.putSparseParcelableArray( - FragmentManagerImpl.VIEW_STATE_TAG, f.mSavedViewState); + } + if (f.mSavedViewState != null) { + if (result == null) { + result = new Bundle(); } + result.putSparseParcelableArray( + FragmentManagerImpl.VIEW_STATE_TAG, f.mSavedViewState); } return result; |