summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2011-01-25 13:24:49 -0800
committerJohn Reck <jreck@google.com>2011-01-25 13:24:49 -0800
commit993d1abe2aeef5ce144facd7a0266b138c896b4b (patch)
treed4c1282b1bd79261f6546ee39115453144aa3ba8 /src
parentf3702e7d41a67e4388a8533647d6a3c6f8ac92be (diff)
downloadpackages_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.java21
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);