Skip to content

Commit 2db4e4b

Browse files
committed
Fix bug 5557267 - [ViewPager] non-primary fragments unnecessary
stopped if "defer start" is enabled Only revise the target state in moveToState if it would cross the stopped/started boundary. Change-Id: I8f6e400331157eac9343261117cf633611fc1e4d
1 parent 7a5a50c commit 2db4e4b

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

core/java/android/app/FragmentManager.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -725,8 +725,9 @@ void moveToState(Fragment f, int newState, int transit, int transitionStyle) {
725725
// While removing a fragment, we can't change it to a higher state.
726726
newState = f.mState;
727727
}
728-
// Defer start if requested; don't allow it to move to STARTED or higher.
729-
if (f.mDeferStart && newState > Fragment.STOPPED) {
728+
// Defer start if requested; don't allow it to move to STARTED or higher
729+
// if it's not already started.
730+
if (f.mDeferStart && f.mState < Fragment.STARTED && newState > Fragment.STOPPED) {
730731
newState = Fragment.STOPPED;
731732
}
732733
if (f.mState < newState) {

0 commit comments

Comments
 (0)