Example usage for android.content.pm ResolveInfo loadIcon

List of usage examples for android.content.pm ResolveInfo loadIcon

Introduction

In this page you can find the example usage for android.content.pm ResolveInfo loadIcon.

Prototype

public Drawable loadIcon(PackageManager pm) 

Source Link

Document

Retrieve the current graphical icon associated with this resolution.

Usage

From source file:stepic.stepic.BaseMapsActivity.java

/**
 * Build the list of items to show using the intent_listview_row layout.
 *
 * @param context//from  w  w w  .j  a va  2s  .c o  m
 * @param activitiesInfo
 * @return
 */
private static ArrayAdapter<ResolveInfo> buildAdapter(final Context context,
        final List<ResolveInfo> activitiesInfo) {
    return new ArrayAdapter<ResolveInfo>(context, R.layout.intent_listview_row, R.id.title, activitiesInfo) {
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = super.getView(position, convertView, parent);
            ResolveInfo res = activitiesInfo.get(position);
            ImageView image = (ImageView) view.findViewById(R.id.icon);
            image.setImageDrawable(res.loadIcon(context.getPackageManager()));
            TextView textview = (TextView) view.findViewById(R.id.title);
            textview.setText(res.loadLabel(context.getPackageManager()).toString());

            return view;
        }
    };
}

From source file:com.mods.grx.settings.utils.Utils.java

public static Drawable get_icon_from_resolveinfo(Context context, Intent intent) {
    Drawable drawable = null;/*from  w  w  w  .  j  av  a 2s .c o  m*/
    ResolveInfo ri = context.getPackageManager().resolveActivity(intent, 0);
    if (ri != null) {
        try {
            drawable = ri.loadIcon(context.getPackageManager());
        } catch (Exception e) {
        }
    }
    return drawable;
}

From source file:com.mods.grx.settings.utils.Utils.java

public static Drawable get_icon_from_intent(Context context, Intent intent) {

    Drawable drawable = null;// w ww .java  2s. c  o m
    try {
        ComponentName c_n = intent.getComponent();
        if (c_n != null) {
            ActivityInfo a_i = context.getPackageManager().getActivityInfo(c_n, 0);
            if (a_i != null)
                drawable = a_i.loadIcon(context.getPackageManager());
        }
    } catch (Exception e) {
    }
    if (drawable == null) {
        ResolveInfo ri = context.getPackageManager().resolveActivity(intent, 0);
        if (ri != null) {
            try {
                drawable = ri.loadIcon(context.getPackageManager());
            } catch (Exception e) {
            }
        }
    }

    //if(drawable==null) drawable=context.getDrawable(R.drawable.ic_no_encontrada);
    return drawable;
}

From source file:br.com.bioscada.apps.biotracks.fragments.ChooseActivityDialogFragment.java

/**
 * Processes a group of items with the same label.
 * /*from   w w w.java 2  s .  co m*/
 * @param resolveInfos list of resolve infos
 * @param displayInfos list of display infos
 * @param start start index
 * @param end end index
 */
private void processGroup(List<ResolveInfo> resolveInfos, List<DisplayInfo> displayInfos, int start, int end) {
    ResolveInfo startResolveInfo = resolveInfos.get(start);
    CharSequence primaryLabel = startResolveInfo.loadLabel(packageManager);
    Drawable icon = startResolveInfo.loadIcon(packageManager);

    int num = end - start + 1;
    if (num == 1) {
        // Only one, set the secondary label to null
        displayInfos.add(new DisplayInfo(startResolveInfo, primaryLabel, null, icon));
    } else {
        // Decide package name or application name for the secondary label
        boolean usePackageName = false;
        CharSequence appName = startResolveInfo.activityInfo.applicationInfo.loadLabel(packageManager);
        if (appName == null) {
            usePackageName = true;
        } else {
            // Use HashSet to track duplicates
            HashSet<CharSequence> duplicates = new HashSet<CharSequence>();
            duplicates.add(appName);
            for (int i = start + 1; i <= end; i++) {
                ResolveInfo resolveInfo = resolveInfos.get(i);
                CharSequence name = resolveInfo.activityInfo.applicationInfo.loadLabel(packageManager);
                if ((name == null) || (duplicates.contains(name))) {
                    usePackageName = true;
                    break;
                } else {
                    duplicates.add(name);
                }
            }
            // Clear HashSet for later use
            duplicates.clear();
        }
        for (int i = start; i <= end; i++) {
            ResolveInfo resolveInfo = resolveInfos.get(i);
            CharSequence secondaryLabel = usePackageName ? resolveInfo.activityInfo.packageName
                    : resolveInfo.activityInfo.applicationInfo.loadLabel(packageManager);
            displayInfos.add(new DisplayInfo(resolveInfo, primaryLabel, secondaryLabel, icon));
        }
    }
}

From source file:com.marstemp.widgets.DynamicShareActionProvider.java

@Override
public void onPrepareSubMenu(SubMenu subMenu) {
    subMenu.clear();//from   w  w w. j  a  v  a 2s  .  c  o  m
    if (pm != null && list != null && list.size() > 0) {
        for (int i = 0; i < list.size(); i++) {
            ResolveInfo resolveInfo = list.get(i);
            OnMenuItemClickUpdateIntentListener itemListener = new OnMenuItemClickUpdateIntentListener();
            itemListener.setPosition(i);
            MenuItem item = subMenu.add(resolveInfo.loadLabel(pm)).setIcon(resolveInfo.loadIcon(pm))
                    .setOnMenuItemClickListener(itemListener);
        }
    } else {
        String msg;
        if (shareIntent == null || shareIntent.getType() == null || shareIntent.getType().equals("")) {
            msg = context.getString(R.string.no_share_type);
        } else if (list == null || list.size() <= 0) {
            String formatMsg = context.getString(R.string.no_app_to_share);
            msg = String.format(formatMsg, shareIntent.getType());
        } else {
            msg = context.getString(R.string.error_occurred);
        }

        Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
    }
}

From source file:jahirfiquitiva.iconshowcase.tasks.LoadAppsToRequest.java

private Drawable getNormalAppIcon(ResolveInfo info, PackageManager pm) {
    if (info != null) {
        return info.loadIcon(pm);
    } else {//from  w ww.jav  a  2  s.  co  m
        return getAppDefaultActivityIcon();
    }
}

From source file:com.actionbarsherlock.widget.ShareActionProvider.java

/**
 * {@inheritDoc}//from w  w w.j a  v  a 2  s  .c o  m
 */
@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.abs__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);
        }
    }
}

From source file:com.example.FilteredShareActionProvider.java

/**
 * {@inheritDoc}/*from   ww  w  .j av a2 s .  c  om*/
 */
@Override
public void onPrepareSubMenu(SubMenu subMenu) {
    // Clear since the order of items may change.
    subMenu.clear();

    FilteredActivityChooserModel dataModel = FilteredActivityChooserModel.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);
        }
    }
}

From source file:android.support.v7.widget.ShareActionProvider.java

/**
 * {@inheritDoc}/*from  w  w w.  ja v  a 2s .  co  m*/
 */
@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);
        }
    }
}

From source file:fr.rolandl.smartshareactionprovider.SmartShareActionProvider.java

/**
 * {@inheritDoc}/* w  w w.  j  a v a 2  s  . co m*/
 */
@Override
public void onPrepareSubMenu(SubMenu subMenu) {
    // Clear since the order of items may change.
    subMenu.clear();

    SmartActivityChooserModel dataModel = SmartActivityChooserModel.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);
        }
    }
}