diff options
| author | Svetoslav Ganov <svetoslavganov@google.com> | 2011-07-17 23:06:35 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-07-17 23:06:35 -0700 |
| commit | 952d073373130fa3f6f0ec480308fc2bfce84619 (patch) | |
| tree | ea849b1ad6ca1a918fa1e16f9b1b05d058ad0290 /core/java/android | |
| parent | 8f2fe87e25957f584c9df72655f25a02d5f13797 (diff) | |
| parent | 414051b8b1e31b69ca622d68f391245f1989500b (diff) | |
Merge "Update the style of the action bar share UI"
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/widget/ActivityChooserModel.java | 1 | ||||
| -rw-r--r-- | core/java/android/widget/ActivityChooserView.java | 21 | ||||
| -rw-r--r-- | core/java/android/widget/ShareActionProvider.java | 19 |
3 files changed, 27 insertions, 14 deletions
diff --git a/core/java/android/widget/ActivityChooserModel.java b/core/java/android/widget/ActivityChooserModel.java index 32c44d86aec9..d7429b38d2ad 100644 --- a/core/java/android/widget/ActivityChooserModel.java +++ b/core/java/android/widget/ActivityChooserModel.java @@ -431,7 +431,6 @@ public class ActivityChooserModel extends DataSetObservable { */ public Intent chooseActivity(int index) { ActivityResolveInfo chosenActivity = mActivites.get(index); - ActivityResolveInfo defaultActivity = mActivites.get(0); ComponentName chosenName = new ComponentName( chosenActivity.resolveInfo.activityInfo.packageName, diff --git a/core/java/android/widget/ActivityChooserView.java b/core/java/android/widget/ActivityChooserView.java index f500b3921384..5b69aa8fb1e9 100644 --- a/core/java/android/widget/ActivityChooserView.java +++ b/core/java/android/widget/ActivityChooserView.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.content.res.Resources; import android.content.res.TypedArray; import android.database.DataSetObserver; import android.graphics.Canvas; @@ -92,6 +93,11 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod private final ImageButton mDefaultActionButton; /** + * The maximal width of the list popup. + */ + private final int mListPopupMaxWidth; + + /** * Observer for the model data. */ private final DataSetObserver mModelDataSetOberver = new DataSetObserver() { @@ -185,7 +191,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod mExpandActivityOverflowButton = (ImageButton) findViewById(R.id.expand_activities_button); mExpandActivityOverflowButton.setOnClickListener(mCallbacks); - mExpandActivityOverflowButton.setBackgroundDrawable(expandActivityOverflowButtonDrawable); + mExpandActivityOverflowButton.setImageDrawable(expandActivityOverflowButtonDrawable); mAdapter = new ActivityChooserViewAdapter(); mAdapter.registerDataSetObserver(new DataSetObserver() { @@ -195,6 +201,10 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod updateButtons(); } }); + + Resources resources = context.getResources(); + mListPopupMaxWidth = Math.max(resources.getDisplayMetrics().widthPixels / 2, + resources.getDimensionPixelSize(com.android.internal.R.dimen.config_prefDialogWidth)); } /** @@ -220,7 +230,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod * @param drawable The drawable. */ public void setExpandActivityOverflowButtonDrawable(Drawable drawable) { - mExpandActivityOverflowButton.setBackgroundDrawable(drawable); + mExpandActivityOverflowButton.setImageDrawable(drawable); } /** @@ -264,7 +274,8 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod } else { mAdapter.setShowDefaultActivity(false); } - popupWindow.setContentWidth(mAdapter.measureContentWidth()); + final int contentWidth = Math.min(mAdapter.measureContentWidth(), mListPopupMaxWidth); + popupWindow.setContentWidth(contentWidth); popupWindow.show(); } } @@ -390,7 +401,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod } ResolveInfo activity = mAdapter.getDefaultActivity(); PackageManager packageManager = mContext.getPackageManager(); - mDefaultActionButton.setBackgroundDrawable(activity.loadIcon(packageManager)); + mDefaultActionButton.setImageDrawable(activity.loadIcon(packageManager)); } else { mDefaultActionButton.setVisibility(View.INVISIBLE); mExpandActivityOverflowButton.setEnabled(false); @@ -574,7 +585,7 @@ public class ActivityChooserView extends ViewGroup implements ActivityChooserMod // Set the icon ImageView iconView = (ImageView) convertView.findViewById(R.id.icon); ResolveInfo activity = (ResolveInfo) getItem(position); - iconView.setBackgroundDrawable(activity.loadIcon(packageManager)); + iconView.setImageDrawable(activity.loadIcon(packageManager)); // Set the title. TextView titleView = (TextView) convertView.findViewById(R.id.title); titleView.setText(activity.loadLabel(packageManager)); diff --git a/core/java/android/widget/ShareActionProvider.java b/core/java/android/widget/ShareActionProvider.java index 2e0cc62113d9..665109a0b2e0 100644 --- a/core/java/android/widget/ShareActionProvider.java +++ b/core/java/android/widget/ShareActionProvider.java @@ -162,14 +162,17 @@ public class ShareActionProvider extends ActionProvider { .setOnMenuItemClickListener(mOnMenuItemClickListener); } - // Add a sub-menu for showing all activities as a list item. - SubMenu expandedSubMenu = subMenu.addSubMenu(Menu.NONE, collapsedActivityCount, - collapsedActivityCount, mContext.getString(R.string.activity_chooser_view_see_all)); - for (int i = 0; i < expandedActivityCount; i++) { - ResolveInfo activity = dataModel.getActivity(i); - expandedSubMenu.add(0, i, i, activity.loadLabel(packageManager)) - .setIcon(activity.loadIcon(packageManager)) - .setOnMenuItemClickListener(mOnMenuItemClickListener); + if (collapsedActivityCount < expandedActivityCount) { + // Add a sub-menu for showing all activities as a list item. + SubMenu expandedSubMenu = subMenu.addSubMenu(Menu.NONE, collapsedActivityCount, + collapsedActivityCount, + mContext.getString(R.string.activity_chooser_view_see_all)); + for (int i = 0; i < expandedActivityCount; i++) { + ResolveInfo activity = dataModel.getActivity(i); + expandedSubMenu.add(0, i, i, activity.loadLabel(packageManager)) + .setIcon(activity.loadIcon(packageManager)) + .setOnMenuItemClickListener(mOnMenuItemClickListener); + } } } |
