diff options
| author | 2011-11-02 15:44:31 -0700 | |
|---|---|---|
| committer | 2011-11-02 15:44:31 -0700 | |
| commit | b41d9f8a84a325241440b6e950dea6d240134823 (patch) | |
| tree | fde7ce72c0ba3a0ee1835347c026a0c4d3d27036 | |
| parent | b419abcadad79cd908acfe51dc6e8902c16ff728 (diff) | |
| parent | 2db4e4bd1b5a2b11b07b870660b7f4b3e1f07061 (diff) | |
Merge "Fix bug 5557267 - [ViewPager] non-primary fragments unnecessary stopped if "defer start" is enabled" into ics-mr1
| -rw-r--r-- | core/java/android/app/FragmentManager.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index 85aec4ccb2e6..c4ba778cfb73 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -725,8 +725,9 @@ final class FragmentManagerImpl extends FragmentManager { // While removing a fragment, we can't change it to a higher state. newState = f.mState; } - // Defer start if requested; don't allow it to move to STARTED or higher. - if (f.mDeferStart && newState > Fragment.STOPPED) { + // Defer start if requested; don't allow it to move to STARTED or higher + // if it's not already started. + if (f.mDeferStart && f.mState < Fragment.STARTED && newState > Fragment.STOPPED) { newState = Fragment.STOPPED; } if (f.mState < newState) { |