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:tv.piratemedia.lightcontroler.controller.java

private void setupApp() {

    mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
    setSupportActionBar(mActionBarToolbar);

    prefs = PreferenceManager.getDefaultSharedPreferences(this);

    if (!prefs.getBoolean("rgbw_enabled", false) && !prefs.getBoolean("white_enabled", false)) {
        askControlType();//from  w ww .  j  a va2 s.  com
    } else {

        final ViewPager pager = (ViewPager) findViewById(R.id.pager);
        pager.setAdapter(new ControllerPager(getSupportFragmentManager(), this));

        tabs = (PagerSlidingTabStrip) findViewById(R.id.pager_title_strip);
        tabs.setViewPager(pager);

        if (!prefs.getBoolean("navigation_tabs", false)) {
            drawer.setProfile(new DrawerProfile().setAvatar(getResources().getDrawable(R.drawable.icon))
                    .setBackground(getResources().getDrawable(R.drawable.drawer_profile_background))
                    .setName("Light Controller"));

            mActionBarToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
            mActionBarToolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp);

            pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

                }

                @Override
                public void onPageSelected(int position) {
                    mActionBarToolbar.setTitle(pager.getAdapter().getPageTitle(position));
                }

                @Override
                public void onPageScrollStateChanged(int state) {

                }
            });
            this.setTitle(pager.getAdapter().getPageTitle(0));
            mActionBarToolbar.setTitle(pager.getAdapter().getPageTitle(0));
            tabs.setVisibility(View.GONE);

            for (int i = 0; i < pager.getAdapter().getCount(); i++) {
                if (i == 5) {
                    drawer.addDivider();
                }
                drawer.addItem(new DrawerItem().setTextMode(DrawerItem.SINGLE_LINE)
                        .setTextPrimary(pager.getAdapter().getPageTitle(i).toString())
                        .setOnItemClickListener(new DrawerItem.OnItemClickListener() {
                            @Override
                            public void onClick(DrawerItem drawerItem, int i, int i2) {
                                int item = i2;
                                if (item > 4) {
                                    item--;
                                }
                                pager.setCurrentItem(item, true);
                                drawer.closeDrawer();
                            }
                        }));
            }
            drawer.addDivider();
            drawer.addItem(new DrawerItem().setTextMode(DrawerItem.SINGLE_LINE)
                    .setTextPrimary(getResources().getString(R.string.action_settings))
                    .setOnItemClickListener(new DrawerItem.OnItemClickListener() {
                        @Override
                        public void onClick(DrawerItem drawerItem, int i, int i2) {
                            Intent intent = new Intent(getApplicationContext(), controlPreferences.class);
                            startActivity(intent);
                            finish();
                            drawer.closeDrawer();
                        }
                    }));

            final PackageManager pm = getPackageManager();
            Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
            mainIntent.addCategory("tv.piratemedia.lightcontroller.plugin");
            List<ResolveInfo> resolveInfos = pm.queryIntentActivities(mainIntent, 0);
            if (resolveInfos.size() > 0) {
                drawer.addDivider();
                for (final ResolveInfo info : resolveInfos) {
                    drawer.addItem(new DrawerItem().setTextMode(DrawerItem.SINGLE_LINE)
                            .setTextPrimary(info.loadLabel(pm).toString()).setImage(info.loadIcon(pm))
                            .setOnItemClickListener(new DrawerItem.OnItemClickListener() {
                                @Override
                                public void onClick(DrawerItem drawerItem, int i, int i2) {
                                    Intent intent = new Intent(Intent.ACTION_MAIN);
                                    Log.d("package", "pkg:" + info.resolvePackageName);
                                    intent.setComponent(new ComponentName(info.activityInfo.packageName,
                                            info.activityInfo.name));
                                    startActivity(intent);
                                    drawer.closeDrawer();
                                }
                            }));
                }
            }
        } else {
            drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
        }
    }
}

From source file:com.actionbarsherlock.internal.view.menu.MenuBuilder.java

public int addIntentOptions(int group, int id, int categoryOrder, ComponentName caller, Intent[] specifics,
        Intent intent, int flags, android.view.MenuItem[] outSpecificItems) {
    PackageManager pm = mContext.getPackageManager();
    final List<ResolveInfo> lri = pm.queryIntentActivityOptions(caller, specifics, intent, 0);
    final int N = lri != null ? lri.size() : 0;

    if ((flags & FLAG_APPEND_TO_GROUP) == 0) {
        removeGroup(group);//from  ww w  .  j  a  va 2  s  . com
    }

    for (int i = 0; i < N; i++) {
        final ResolveInfo ri = lri.get(i);
        Intent rintent = new Intent(ri.specificIndex < 0 ? intent : specifics[ri.specificIndex]);
        rintent.setComponent(
                new ComponentName(ri.activityInfo.applicationInfo.packageName, ri.activityInfo.name));
        final MenuItem item = add(group, id, categoryOrder, ri.loadLabel(pm)).setIcon(ri.loadIcon(pm))
                .setIntent(rintent);
        if (outSpecificItems != null && ri.specificIndex >= 0) {
            outSpecificItems[ri.specificIndex] = item;
        }
    }

    return N;
}

From source file:android.support.v7.internal.view.menu.MenuBuilder.java

@Override
public int addIntentOptions(int group, int id, int categoryOrder, ComponentName caller, Intent[] specifics,
        Intent intent, int flags, MenuItem[] outSpecificItems) {
    PackageManager pm = mContext.getPackageManager();
    final List<ResolveInfo> lri = pm.queryIntentActivityOptions(caller, specifics, intent, 0);
    final int N = lri != null ? lri.size() : 0;

    if ((flags & FLAG_APPEND_TO_GROUP) == 0) {
        removeGroup(group);/*from ww  w  . j av a  2 s .  c o m*/
    }

    for (int i = 0; i < N; i++) {
        final ResolveInfo ri = lri.get(i);
        Intent rintent = new Intent(ri.specificIndex < 0 ? intent : specifics[ri.specificIndex]);
        rintent.setComponent(
                new ComponentName(ri.activityInfo.applicationInfo.packageName, ri.activityInfo.name));
        final MenuItem item = add(group, id, categoryOrder, ri.loadLabel(pm)).setIcon(ri.loadIcon(pm))
                .setIntent(rintent);
        if (outSpecificItems != null && ri.specificIndex >= 0) {
            outSpecificItems[ri.specificIndex] = item;
        }
    }

    return N;
}

From source file:com.todoroo.astrid.activity.TaskListFragment.java

protected void addMenuItems(Menu menu, Activity activity) {
    boolean isTablet = AstridPreferences.useTabletLayout(activity);
    TaskListActivity tla = null;/*from ww  w  .  ja  va  2 s  . co  m*/
    if (activity instanceof TaskListActivity) {
        tla = (TaskListActivity) activity;
        tla.getMainMenuPopover().clear();
    }
    // --- sync
    if (tla == null
            || tla.getTaskEditFragment() == null && Preferences.getBoolean(R.string.p_show_menu_sync, true))
        addSyncRefreshMenuItem(menu, isTablet ? ThemeService.FLAG_INVERT : 0);

    // --- sort
    if (allowResorting() && Preferences.getBoolean(R.string.p_show_menu_sort, true)) {
        addMenuItem(menu, R.string.TLA_menu_sort, ThemeService.getDrawable(R.drawable.icn_menu_sort_by_size,
                isTablet ? ThemeService.FLAG_FORCE_DARK : 0), MENU_SORT_ID, false);
    }

    // --- new filter
    if (Preferences.getBoolean(R.string.p_use_filters, true))
        addMenuItem(menu, R.string.FLA_new_filter, ThemeService.getDrawable(R.drawable.icn_menu_filters,
                isTablet ? ThemeService.FLAG_FORCE_DARK : 0), MENU_NEW_FILTER_ID, false);

    // ask about plug-ins
    Intent queryIntent = new Intent(AstridApiConstants.ACTION_TASK_LIST_MENU);

    PackageManager pm = getActivity().getPackageManager();
    List<ResolveInfo> resolveInfoList = pm.queryIntentActivities(queryIntent, 0);
    int length = resolveInfoList.size();
    for (int i = 0; i < length; i++) {
        ResolveInfo resolveInfo = resolveInfoList.get(i);
        Intent intent = new Intent(AstridApiConstants.ACTION_TASK_LIST_MENU);
        intent.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name);
        addMenuItem(menu, resolveInfo.loadLabel(pm), resolveInfo.loadIcon(pm), intent, MENU_ADDON_INTENT_ID);
    }
}

From source file:de.mrapp.android.bottomsheet.BottomSheet.java

/**
 * Adds the apps, which are able to handle a specific intent, as items to the bottom sheet. This
 * causes all previously added items to be removed. When an item is clicked, the corresponding
 * app is started.//w w  w .  j av a 2s.c  om
 *
 * @param activity
 *         The activity, the bottom sheet belongs to, as an instance of the class {@link
 *         Activity}. The activity may not be null
 * @param intent
 *         The intent as an instance of the class {@link Intent}. The intent may not be null
 */
public final void setIntent(@NonNull final Activity activity, @NonNull final Intent intent) {
    ensureNotNull(activity, "The activity may not be null");
    ensureNotNull(intent, "The intent may not be null");
    removeAllItems();
    PackageManager packageManager = activity.getPackageManager();
    List<ResolveInfo> resolveInfos = packageManager.queryIntentActivities(intent, 0);

    for (int i = 0; i < resolveInfos.size(); i++) {
        ResolveInfo resolveInfo = resolveInfos.get(i);
        addItem(i, resolveInfo.loadLabel(packageManager), resolveInfo.loadIcon(packageManager));
    }

    setOnItemClickListener(createIntentClickListener(activity, (Intent) intent.clone(), resolveInfos));
}

From source file:org.mariotaku.twidere.util.Utils.java

public static void addIntentToSubMenu(final Context context, final SubMenu menu, final Intent query_intent) {
    if (context == null || menu == null || query_intent == null)
        return;/*from ww  w.java2 s  .c  om*/
    final PackageManager pm = context.getPackageManager();
    final List<ResolveInfo> activities = pm.queryIntentActivities(query_intent, 0);
    for (final ResolveInfo info : activities) {
        final Intent intent = new Intent(query_intent);
        intent.setClassName(info.activityInfo.packageName, info.activityInfo.name);
        menu.add(info.loadLabel(pm)).setIcon(info.loadIcon(pm)).setIntent(intent);
    }
}

From source file:de.vanita5.twittnuker.util.Utils.java

public static void addIntentToMenu(final Context context, final Menu menu, final Intent queryIntent,
        final int groupId) {
    if (context == null || menu == null || queryIntent == null)
        return;//from ww w  .  j a v a  2s .c om
    final PackageManager pm = context.getPackageManager();
    final Resources res = context.getResources();
    final float density = res.getDisplayMetrics().density;
    final int padding = Math.round(density * 4);
    final List<ResolveInfo> activities = pm.queryIntentActivities(queryIntent, 0);
    for (final ResolveInfo info : activities) {
        final Intent intent = new Intent(queryIntent);
        final Drawable icon = info.loadIcon(pm);
        intent.setClassName(info.activityInfo.packageName, info.activityInfo.name);
        final MenuItem item = menu.add(groupId, Menu.NONE, Menu.NONE, info.loadLabel(pm));
        item.setIntent(intent);
        final int iw = icon.getIntrinsicWidth(), ih = icon.getIntrinsicHeight();
        if (iw > 0 && ih > 0) {
            final Drawable iconWithPadding = new PaddingDrawable(icon, padding);
            iconWithPadding.setBounds(0, 0, iw, ih);
            item.setIcon(iconWithPadding);
        } else {
            item.setIcon(icon);
        }
    }
}

From source file:org.getlantern.firetweet.util.Utils.java

public static void addIntentToMenuForExtension(final Context context, final Menu menu, final int groupId,
        final String action, final String parelableKey, final String parelableJSONKey,
        final FiretweetParcelable parcelable) {
    if (context == null || menu == null || action == null || parelableKey == null || parcelable == null)
        return;/*www  .ja va  2s.  c om*/
    final PackageManager pm = context.getPackageManager();
    final Resources res = context.getResources();
    final float density = res.getDisplayMetrics().density;
    final int padding = Math.round(density * 4);
    final Intent queryIntent = new Intent(action);
    queryIntent.setExtrasClassLoader(context.getClassLoader());
    final List<ResolveInfo> activities = pm.queryIntentActivities(queryIntent, PackageManager.GET_META_DATA);
    for (final ResolveInfo info : activities) {
        final Intent intent = new Intent(queryIntent);
        if (isExtensionUseJSON(info)) {
            intent.putExtra(parelableJSONKey, JSONSerializer.toJSONObjectString(parcelable));
        } else {
            intent.putExtra(parelableKey, parcelable);
        }
        intent.setClassName(info.activityInfo.packageName, info.activityInfo.name);
        final MenuItem item = menu.add(groupId, Menu.NONE, Menu.NONE, info.loadLabel(pm));
        item.setIntent(intent);
        final Drawable metaDataDrawable = getMetadataDrawable(pm, info.activityInfo,
                METADATA_KEY_EXTENSION_ICON);
        final int actionIconColor = ThemeUtils.getThemeForegroundColor(context);
        if (metaDataDrawable != null) {
            metaDataDrawable.mutate();
            metaDataDrawable.setColorFilter(actionIconColor, Mode.SRC_ATOP);
            item.setIcon(metaDataDrawable);
        } else {
            final Drawable icon = info.loadIcon(pm);
            final int iw = icon.getIntrinsicWidth(), ih = icon.getIntrinsicHeight();
            if (iw > 0 && ih > 0) {
                final Drawable iconWithPadding = new PaddingDrawable(icon, padding);
                iconWithPadding.setBounds(0, 0, iw, ih);
                item.setIcon(iconWithPadding);
            } else {
                item.setIcon(icon);
            }
        }

    }
}