summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@google.com> 2011-06-03 17:34:45 -0700
committer Dianne Hackborn <hackbod@google.com> 2011-06-03 17:34:45 -0700
commit1333276c7af53bca06ad166f129d39fc756930df (patch)
tree73d42d9676f211f26c416d3939cff93ca56477f6
parent185e3e243ee1da136bcace854026b8abaf0c4c86 (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.java14
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;