Loading core/java/android/app/BackStackRecord.java +16 −0 Original line number Diff line number Diff line Loading @@ -957,6 +957,7 @@ final class BackStackRecord extends FragmentTransaction implements */ private TransitionState beginTransition(SparseArray<Fragment> firstOutFragments, SparseArray<Fragment> lastInFragments, boolean isBack) { ensureFragmentsAreInitialized(lastInFragments); TransitionState state = new TransitionState(); // Adding a non-existent target view makes sure that the transitions don't target Loading @@ -982,6 +983,21 @@ final class BackStackRecord extends FragmentTransaction implements return state; } /** * Ensure that fragments that are entering are at least at the CREATED state * so that they may load Transitions using TransitionInflater. */ private void ensureFragmentsAreInitialized(SparseArray<Fragment> lastInFragments) { final int count = lastInFragments.size(); for (int i = 0; i < count; i++) { final Fragment fragment = lastInFragments.valueAt(i); if (fragment.mState < Fragment.CREATED) { mManager.makeActive(fragment); mManager.moveToState(fragment, Fragment.CREATED, 0, 0, false); } } } private static Transition cloneTransition(Transition transition) { if (transition != null) { transition = transition.clone(); Loading Loading
core/java/android/app/BackStackRecord.java +16 −0 Original line number Diff line number Diff line Loading @@ -957,6 +957,7 @@ final class BackStackRecord extends FragmentTransaction implements */ private TransitionState beginTransition(SparseArray<Fragment> firstOutFragments, SparseArray<Fragment> lastInFragments, boolean isBack) { ensureFragmentsAreInitialized(lastInFragments); TransitionState state = new TransitionState(); // Adding a non-existent target view makes sure that the transitions don't target Loading @@ -982,6 +983,21 @@ final class BackStackRecord extends FragmentTransaction implements return state; } /** * Ensure that fragments that are entering are at least at the CREATED state * so that they may load Transitions using TransitionInflater. */ private void ensureFragmentsAreInitialized(SparseArray<Fragment> lastInFragments) { final int count = lastInFragments.size(); for (int i = 0; i < count; i++) { final Fragment fragment = lastInFragments.valueAt(i); if (fragment.mState < Fragment.CREATED) { mManager.makeActive(fragment); mManager.moveToState(fragment, Fragment.CREATED, 0, 0, false); } } } private static Transition cloneTransition(Transition transition) { if (transition != null) { transition = transition.clone(); Loading