diff options
| author | 2011-06-03 17:34:45 -0700 | |
|---|---|---|
| committer | 2011-06-03 17:34:45 -0700 | |
| commit | 1333276c7af53bca06ad166f129d39fc756930df (patch) | |
| tree | 73d42d9676f211f26c416d3939cff93ca56477f6 | |
| parent | 185e3e243ee1da136bcace854026b8abaf0c4c86 (diff) | |
Fix to not lose state when saving a deactivated fragment.
Also deactivating a fragment shouldn't put it in the exiting state.
Change-Id: I514f3589ee7bbbee131cd7b4a48803e99b212bd0
| -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; |