summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2010-07-14 11:07:38 -0700
committerDianne Hackborn <hackbod@google.com>2010-07-14 12:14:24 -0700
commit9e14e9f33a66b864b98c6ff9517988bafbca3301 (patch)
tree3c634d37e7658101b11b43058064188bca732646 /core
parent26dd7b3bb381ba06ce3a7eb17205e54fdd7becfc (diff)
downloadframeworks_base-9e14e9f33a66b864b98c6ff9517988bafbca3301.zip
frameworks_base-9e14e9f33a66b864b98c6ff9517988bafbca3301.tar.gz
frameworks_base-9e14e9f33a66b864b98c6ff9517988bafbca3301.tar.bz2
Fix fragment index expunging.
Change-Id: If37e58dfa998575530305584d3aa756bb5a61d7b
Diffstat (limited to 'core')
-rw-r--r--core/java/android/app/Activity.java6
-rw-r--r--core/java/android/app/FragmentManager.java2
2 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 20272df..a1cf233 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -1567,6 +1567,12 @@ public class Activity extends ContextThemeWrapper
return new BackStackEntry(mFragments);
}
+ void invalidateFragmentIndex(int index) {
+ if (mAllLoaderManagers != null) {
+ mAllLoaderManagers.remove(index);
+ }
+ }
+
/**
* Called when a Fragment is being attached to this activity, immediately
* after the call to its {@link Fragment#onAttach Fragment.onAttach()}
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index 50307d4..4f3043c 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -316,7 +316,6 @@ public class FragmentManager {
throw new SuperNotCalledException("Fragment " + f
+ " did not call through to super.onDetach()");
}
- f.mActivity.mAllLoaderManagers.remove(f.mIndex);
f.mActivity = null;
}
}
@@ -377,6 +376,7 @@ public class FragmentManager {
mAvailIndices = new ArrayList<Integer>();
}
mAvailIndices.add(f.mIndex);
+ mActivity.invalidateFragmentIndex(f.mIndex);
f.clearIndex();
}