From 61fa2d466a771bab22160b652d8048c5483731e8 Mon Sep 17 00:00:00 2001 From: Aurimas Liutikas Date: Tue, 5 Jan 2016 15:58:29 -0800 Subject: [PATCH] Change fragment removal order for fragment replacement. Before this patch it for loop was accessing mManager.mAdded elements using an integer index and also removing the fragments from mAdded using mManager.removeFragment(). Bug: 24693644 Change-Id: I8e32fffa9f65c2795141f61670956740399960e4 --- core/java/android/app/BackStackRecord.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/java/android/app/BackStackRecord.java b/core/java/android/app/BackStackRecord.java index 984a18615caf..a147cc87d465 100644 --- a/core/java/android/app/BackStackRecord.java +++ b/core/java/android/app/BackStackRecord.java @@ -719,7 +719,7 @@ final class BackStackRecord extends FragmentTransaction implements Fragment f = op.fragment; int containerId = f.mContainerId; if (mManager.mAdded != null) { - for (int i = 0; i < mManager.mAdded.size(); i++) { + for (int i = mManager.mAdded.size() - 1; i >= 0; i--) { Fragment old = mManager.mAdded.get(i); if (FragmentManagerImpl.DEBUG) { Log.v(TAG, -- 2.11.0