aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/ActionBarSherlock/src/com/actionbarsherlock/widget/ActivityChooserView.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/ActionBarSherlock/src/com/actionbarsherlock/widget/ActivityChooserView.java')
-rw-r--r--libraries/ActionBarSherlock/src/com/actionbarsherlock/widget/ActivityChooserView.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/libraries/ActionBarSherlock/src/com/actionbarsherlock/widget/ActivityChooserView.java b/libraries/ActionBarSherlock/src/com/actionbarsherlock/widget/ActivityChooserView.java
index e19ea9e9e..7eb7330e4 100644
--- a/libraries/ActionBarSherlock/src/com/actionbarsherlock/widget/ActivityChooserView.java
+++ b/libraries/ActionBarSherlock/src/com/actionbarsherlock/widget/ActivityChooserView.java
@@ -395,7 +395,11 @@ class ActivityChooserView extends ViewGroup implements ActivityChooserModelClien
super.onAttachedToWindow();
ActivityChooserModel dataModel = mAdapter.getDataModel();
if (dataModel != null) {
- dataModel.registerObserver(mModelDataSetOberver);
+ try {
+ dataModel.registerObserver(mModelDataSetOberver);
+ } catch (IllegalStateException e) {
+ // Related to #557.
+ }
}
mIsAttachedToWindow = true;
}
@@ -522,6 +526,9 @@ class ActivityChooserView extends ViewGroup implements ActivityChooserModelClien
mDefaultActionButtonContentDescription, label);
mDefaultActivityButton.setContentDescription(contentDescription);
}
+
+ // Work-around for #415.
+ mAdapter.setShowDefaultActivity(false, false);
} else {
mDefaultActivityButton.setVisibility(View.GONE);
}
@@ -644,7 +651,8 @@ class ActivityChooserView extends ViewGroup implements ActivityChooserModelClien
private int mMaxActivityCount = MAX_ACTIVITY_COUNT_DEFAULT;
- private boolean mShowDefaultActivity;
+ // Work-around for #415.
+ private boolean mShowDefaultActivity = true;
private boolean mHighlightDefaultActivity;
@@ -661,7 +669,11 @@ class ActivityChooserView extends ViewGroup implements ActivityChooserModelClien
}
mDataModel = dataModel;
if (dataModel != null && isShown()) {
- dataModel.registerObserver(mModelDataSetOberver);
+ try {
+ dataModel.registerObserver(mModelDataSetOberver);
+ } catch (IllegalStateException e) {
+ // Related to #557.
+ }
}
notifyDataSetChanged();
}