List of usage examples for android.content.pm ResolveInfo loadIcon
public Drawable loadIcon(PackageManager pm)
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); } } } }