diff options
author | John Reck <jreck@google.com> | 2011-01-25 13:24:49 -0800 |
---|---|---|
committer | John Reck <jreck@google.com> | 2011-01-25 13:24:49 -0800 |
commit | 993d1abe2aeef5ce144facd7a0266b138c896b4b (patch) | |
tree | d4c1282b1bd79261f6546ee39115453144aa3ba8 /src | |
parent | f3702e7d41a67e4388a8533647d6a3c6f8ac92be (diff) | |
download | packages_apps_Browser-993d1abe2aeef5ce144facd7a0266b138c896b4b.zip packages_apps_Browser-993d1abe2aeef5ce144facd7a0266b138c896b4b.tar.gz packages_apps_Browser-993d1abe2aeef5ce144facd7a0266b138c896b4b.tar.bz2 |
Fix ISE: Fragment not added in combo view
Bug: 3368524
Added a try/catch. The ISE happens as a result of the fragment
already being removed - which as far as the combo view is concerned
is a success.
Change-Id: Id75aa449de45ee656cb10e6054cb8707d2fac62b
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/browser/CombinedBookmarkHistoryView.java | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/com/android/browser/CombinedBookmarkHistoryView.java b/src/com/android/browser/CombinedBookmarkHistoryView.java index 734addd..173abba 100644 --- a/src/com/android/browser/CombinedBookmarkHistoryView.java +++ b/src/com/android/browser/CombinedBookmarkHistoryView.java @@ -244,14 +244,21 @@ public class CombinedBookmarkHistoryView extends LinearLayout protected void onDetachedFromWindow() { super.onDetachedFromWindow(); if (mCurrentFragment != INVALID_ID) { - FragmentManager fm = mActivity.getFragmentManager(); - FragmentTransaction transaction = fm.beginTransaction(); - if (mCurrentFragment == FRAGMENT_ID_BOOKMARKS) { - transaction.remove(mBookmarks); - } else if (mCurrentFragment == FRAGMENT_ID_HISTORY) { - transaction.remove(mHistory); + try { + FragmentManager fm = mActivity.getFragmentManager(); + FragmentTransaction transaction = fm.beginTransaction(); + if (mCurrentFragment == FRAGMENT_ID_BOOKMARKS) { + transaction.remove(mBookmarks); + } else if (mCurrentFragment == FRAGMENT_ID_HISTORY) { + transaction.remove(mHistory); + } + transaction.commit(); + } catch (IllegalStateException ex) { + // This exception is thrown if the fragment isn't added + // This will happen if the activity is finishing, and the + // fragment was already removed before this view was detached + // Aka, success! } - transaction.commit(); mCurrentFragment = INVALID_ID; } mUiController.unregisterOptionsMenuHandler(this); |