diff options
| author | Dianne Hackborn <hackbod@google.com> | 2012-05-30 18:14:19 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2012-05-30 18:14:19 -0700 |
| commit | 11855f31a3f7074d9fbccd1ee460b99fc47162c6 (patch) | |
| tree | 77ae4340846399727edddc97029ce4537270cf18 /core | |
| parent | c6dd2dd4b38b96be3deee94540973c83498a496c (diff) | |
| parent | 388d4801d5f314c804c5ab2dff76f764ed28a991 (diff) | |
| download | frameworks_base-11855f31a3f7074d9fbccd1ee460b99fc47162c6.zip frameworks_base-11855f31a3f7074d9fbccd1ee460b99fc47162c6.tar.gz frameworks_base-11855f31a3f7074d9fbccd1ee460b99fc47162c6.tar.bz2 | |
am 388d4801: Merge "Working on issue #6561352: java.lang.RuntimeException: Unable to start..." into jb-dev
* commit '388d4801d5f314c804c5ab2dff76f764ed28a991':
Working on issue #6561352: java.lang.RuntimeException: Unable to start...
Diffstat (limited to 'core')
| -rw-r--r-- | core/java/android/app/FragmentManager.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java index 6058bdc..03ee419 100644 --- a/core/java/android/app/FragmentManager.java +++ b/core/java/android/app/FragmentManager.java @@ -1568,8 +1568,17 @@ final class FragmentManagerImpl extends FragmentManager { for (int i=0; i<N; i++) { Fragment f = mActive.get(i); if (f != null) { + if (f.mIndex < 0) { + String msg = "Failure saving state: active " + f + + " has cleared index: " + f.mIndex; + Slog.e(TAG, msg); + dump(" ", null, new PrintWriter(new LogWriter( + Log.ERROR, TAG, Log.LOG_ID_SYSTEM)), new String[] { }); + throw new IllegalStateException(msg); + } + haveFragments = true; - + FragmentState fs = new FragmentState(f); active[i] = fs; @@ -1621,6 +1630,14 @@ final class FragmentManagerImpl extends FragmentManager { added = new int[N]; for (int i=0; i<N; i++) { added[i] = mAdded.get(i).mIndex; + if (added[i] < 0) { + String msg = "Failure saving state: active " + mAdded.get(i) + + " has cleared index: " + added[i]; + Slog.e(TAG, msg); + dump(" ", null, new PrintWriter(new LogWriter( + Log.ERROR, TAG, Log.LOG_ID_SYSTEM)), new String[] { }); + throw new IllegalStateException(msg); + } if (DEBUG) Log.v(TAG, "saveAllState: adding fragment #" + i + ": " + mAdded.get(i)); } |
