Search in sources :

Example 1 with ActivityChooserModel

use of android.support.v7.internal.widget.ActivityChooserModel in project HoloEverywhere by Prototik.

the class ShareActionProvider method onCreateActionView.

/**
     * {@inheritDoc}
     */
@Override
public View onCreateActionView() {
    // Create the view and set its data model.
    ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName);
    ActivityChooserView activityChooserView = new ActivityChooserView(mContext);
    activityChooserView.setActivityChooserModel(dataModel);
    // Lookup and set the expand action icon.
    TypedValue outTypedValue = new TypedValue();
    mContext.getTheme().resolveAttribute(R.attr.actionModeShareDrawable, outTypedValue, true);
    Drawable drawable = mContext.getResources().getDrawable(outTypedValue.resourceId);
    activityChooserView.setExpandActivityOverflowButtonDrawable(drawable);
    activityChooserView.setProvider(this);
    // Set content description.
    activityChooserView.setDefaultActionButtonContentDescription(R.string.abc_shareactionprovider_share_with_application);
    activityChooserView.setExpandActivityOverflowButtonContentDescription(R.string.abc_shareactionprovider_share_with);
    return activityChooserView;
}
Also used : ActivityChooserModel(android.support.v7.internal.widget.ActivityChooserModel) Drawable(android.graphics.drawable.Drawable) ActivityChooserView(android.support.v7.internal.widget.ActivityChooserView) TypedValue(android.util.TypedValue)

Example 2 with ActivityChooserModel

use of android.support.v7.internal.widget.ActivityChooserModel in project HoloEverywhere by Prototik.

the class ShareActionProvider method setShareIntent.

/**
     * Sets an intent with information about the share action. Here is a
     * sample for constructing a share intent:
     * <p>
     * <pre>
     * <code>
     *  Intent shareIntent = new Intent(Intent.ACTION_SEND);
     *  shareIntent.setType("image/*");
     *  Uri uri = Uri.fromFile(new File(getFilesDir(), "foo.jpg"));
     *  shareIntent.putExtra(Intent.EXTRA_STREAM, uri.toString());
     * </pre>
     * </code>
     * </p>
     *
     * @param shareIntent The share intent.
     *
     * @see Intent#ACTION_SEND
     * @see Intent#ACTION_SEND_MULTIPLE
     */
public void setShareIntent(Intent shareIntent) {
    ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName);
    dataModel.setIntent(shareIntent);
}
Also used : ActivityChooserModel(android.support.v7.internal.widget.ActivityChooserModel)

Example 3 with ActivityChooserModel

use of android.support.v7.internal.widget.ActivityChooserModel in project HoloEverywhere by Prototik.

the class ShareActionProvider method onPrepareSubMenu.

/**
     * {@inheritDoc}
     */
@Override
public void onPrepareSubMenu(SubMenu subMenu) {
    // Clear since the order of items may change.
    subMenu.clear();
    ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName);
    PackageManager packageManager = mContext.getPackageManager();
    final int expandedActivityCount = dataModel.getActivityCount();
    final int collapsedActivityCount = Math.min(expandedActivityCount, mMaxShownActivityCount);
    // Populate the sub-menu with a sub set of the activities.
    for (int i = 0; i < collapsedActivityCount; i++) {
        ResolveInfo activity = dataModel.getActivity(i);
        subMenu.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.abc_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);
        }
    }
}
Also used : ResolveInfo(android.content.pm.ResolveInfo) PackageManager(android.content.pm.PackageManager) ActivityChooserModel(android.support.v7.internal.widget.ActivityChooserModel) SubMenu(android.view.SubMenu)

Example 4 with ActivityChooserModel

use of android.support.v7.internal.widget.ActivityChooserModel in project HoloEverywhere by Prototik.

the class ShareActionProvider method setActivityChooserPolicyIfNeeded.

/**
     * Set the activity chooser policy of the model backed by the current
     * share history file if needed which is if there is a registered callback.
     */
private void setActivityChooserPolicyIfNeeded() {
    if (mOnShareTargetSelectedListener == null) {
        return;
    }
    if (mOnChooseActivityListener == null) {
        mOnChooseActivityListener = new ShareActivityChooserModelPolicy();
    }
    ActivityChooserModel dataModel = ActivityChooserModel.get(mContext, mShareHistoryFileName);
    dataModel.setOnChooseActivityListener(mOnChooseActivityListener);
}
Also used : ActivityChooserModel(android.support.v7.internal.widget.ActivityChooserModel)

Aggregations

ActivityChooserModel (android.support.v7.internal.widget.ActivityChooserModel)4 PackageManager (android.content.pm.PackageManager)1 ResolveInfo (android.content.pm.ResolveInfo)1 Drawable (android.graphics.drawable.Drawable)1 ActivityChooserView (android.support.v7.internal.widget.ActivityChooserView)1 TypedValue (android.util.TypedValue)1 SubMenu (android.view.SubMenu)1