private Icon buildIcon(Bookmark item) { return(Icon.createWithResource(getActivity(), R.drawable.ic_bookmark_border_black_24dp)); } }
@Nullable private Icon loadRecipientIcon(Recipient recipient) { Bitmap bitmap = contactPictureLoader.getContactPicture(recipient); if (bitmap == null) { return null; } return Icon.createWithBitmap(bitmap); } }
private static void fixNotificationIcon(Context context, Notification notification, Notification.Builder builder) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { //noinspection deprecation builder.setSmallIcon(notification.icon); //noinspection deprecation builder.setLargeIcon(notification.largeIcon); } else { Icon icon = notification.getSmallIcon(); if (icon != null) { Bitmap bitmap = drawableToBitMap(icon.loadDrawable(context)); if (bitmap != null) { Icon newIcon = Icon.createWithBitmap(bitmap); builder.setSmallIcon(newIcon); } } Icon largeIcon = notification.getLargeIcon(); if (largeIcon != null) { Bitmap bitmap = drawableToBitMap(largeIcon.loadDrawable(context)); if (bitmap != null) { Icon newIcon = Icon.createWithBitmap(bitmap); builder.setLargeIcon(newIcon); } } } }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { if (bitmap != null) { icon = Icon.createWithAdaptiveBitmap(bitmap); } else { DisplayUtils utils = new DisplayUtils(context); int size = (int) Math.min(utils.dpToPx(108), 192); try { icon = Icon.createWithAdaptiveBitmap( ImageHelper.loadBitmap( context, size, size)); } catch (ExecutionException | InterruptedException e) { icon = Icon.createWithResource(context, R.drawable.default_avatar_round); icon = Icon.createWithBitmap(bitmap); } else { icon = Icon.createWithResource(context, R.drawable.default_avatar_round);
@Override public void onCreate() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { iconOff = iconOn = Icon.createWithResource(this, R.drawable.ic_tile); return; } final SlashDrawable icon = new SlashDrawable(getResources().getDrawable(R.drawable.ic_tile, Application.get().getTheme())); icon.setAnimationEnabled(false); /* Unfortunately we can't have animations, since Icons are marshaled. */ icon.setSlashed(false); Bitmap b = Bitmap.createBitmap(icon.getIntrinsicWidth(), icon.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); Canvas c = new Canvas(b); icon.setBounds(0, 0, c.getWidth(), c.getHeight()); icon.draw(c); iconOn = Icon.createWithBitmap(b); icon.setSlashed(true); b = Bitmap.createBitmap(icon.getIntrinsicWidth(), icon.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); c = new Canvas(b); icon.setBounds(0, 0, c.getWidth(), c.getHeight()); icon.draw(c); iconOff = Icon.createWithBitmap(b); }
@RequiresApi(api = Build.VERSION_CODES.N_MR1) private static Icon getShortcutsIcon(Context context, @DrawableRes int id, @DrawableRes int foregroundId) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { try { DisplayUtils utils = new DisplayUtils(context); int size = (int) Math.min(utils.dpToPx(108), 288); Bitmap bitmap = ImageHelper.loadBitmap(context, foregroundId, size, size); return Icon.createWithAdaptiveBitmap(bitmap); } catch (ExecutionException | InterruptedException ignored) { } } return Icon.createWithResource(context, id); } }
@TargetApi(Build.VERSION_CODES.M) void fixIcon(Icon icon, Context appContext, boolean installed) { if (icon == null) { return; } int type = mirror.android.graphics.drawable.Icon.mType.get(icon); if (type == mirror.android.graphics.drawable.Icon.TYPE_RESOURCE) { if (installed) { mirror.android.graphics.drawable.Icon.mObj1.set(icon, appContext.getResources()); mirror.android.graphics.drawable.Icon.mString1.set(icon, appContext.getPackageName()); } else { Drawable drawable = icon.loadDrawable(appContext); Bitmap bitmap = drawableToBitMap(drawable); mirror.android.graphics.drawable.Icon.mObj1.set(icon, bitmap); mirror.android.graphics.drawable.Icon.mString1.set(icon, null); mirror.android.graphics.drawable.Icon.mType.set(icon, mirror.android.graphics.drawable.Icon.TYPE_BITMAP); } } }
@HiddenApi @Implementation public int getResId() { return directlyOn(realIcon, Icon.class).getResId(); }
private void addShortcut() { Intent intent = new Intent(this, MainActivity.class); intent.setData(Uri.parse(mWebView.getUrl())); intent.setAction(Intent.ACTION_MAIN); Icon launcherIcon; if (mUrlIcon != null) { launcherIcon = Icon.createWithBitmap( UiUtils.getShortcutIcon(mUrlIcon, getThemeColorWithFallback())); } else { launcherIcon = Icon.createWithResource(this, R.mipmap.ic_launcher); } String title = mWebView.getTitle(); ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(this, title) .setShortLabel(title) .setIcon(launcherIcon) .setIntent(intent) .build(); getSystemService(ShortcutManager.class).requestPinShortcut(shortcutInfo, null); }
.into(size, size) .get(); icon = Icon.createWithAdaptiveBitmap(foreground); } catch (InterruptedException | ExecutionException e) { icon = Icon.createWithResource( c, WeatherHelper.getShortcutIcon( icon = Icon.createWithResource( c, WeatherHelper.getShortcutIcon( icon = Icon.createWithResource(c, R.drawable.ic_shortcut_sun_day);
@Nullable public Drawable getLargeIcon(Context context) { Drawable drawable = null; if (largeIcon != null) drawable = new BitmapDrawable(context.getResources(), largeIcon); if (drawable == null && unloadedLargeIcon != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) drawable = unloadedLargeIcon.loadDrawable(context); return drawable; }
@Test @Config(minSdk = M) public void build_setsIconOnNotification() throws Exception { Notification notification = builder.setSmallIcon(R.drawable.an_image).build(); assertThat(notification.getSmallIcon().getResId()).isEqualTo(R.drawable.an_image); }
private ChooserTarget buildTarget(int targetId) { String title=String.format(titleTemplate, targetId); int iconId=getResources().getIdentifier("ic_share" + targetId, "drawable", getPackageName()); Icon icon=Icon.createWithResource(this, iconId); float score=1.0f-((float)targetId/40); ComponentName cn=new ComponentName(this, FauxSender.class); Bundle extras=new Bundle(); extras.putInt(FauxSender.EXTRA_TARGET_ID, targetId); return(new ChooserTarget(title, icon, score, cn, extras)); } }
try { Drawable applicationIcon = pm.getApplicationIcon(hostPackage); Icon icon = Icon.createWithBitmap(((BitmapDrawable) applicationIcon).getBitmap()); mirror.android.content.pm.ShortcutInfo.mIcon.set(shortcutInfo, icon); } catch (Throwable ignored) {
private static void fixNotificationIcon(Context context, Notification notification, Notification.Builder builder) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { //noinspection deprecation builder.setSmallIcon(notification.icon); //noinspection deprecation builder.setLargeIcon(notification.largeIcon); } else { Icon icon = notification.getSmallIcon(); if (icon != null) { Bitmap bitmap = drawableToBitMap(icon.loadDrawable(context)); if (bitmap != null) { Icon newIcon = Icon.createWithBitmap(bitmap); builder.setSmallIcon(newIcon); } } Icon largeIcon = notification.getLargeIcon(); if (largeIcon != null) { Bitmap bitmap = drawableToBitMap(largeIcon.loadDrawable(context)); if (bitmap != null) { Icon newIcon = Icon.createWithBitmap(bitmap); builder.setLargeIcon(newIcon); } } } }
@Nullable private static Drawable createIconDrawableMarshmallow(PhoneAccount phoneAccount, Context context) { Icon accountIcon = getIcon(phoneAccount); if (accountIcon == null) { return null; } return accountIcon.loadDrawable(context); }
@HiddenApi @Implementation public int getResId() { return directlyOn(realIcon, Icon.class).getResId(); }
private RemoteAction buildRemoteAction(int requestCode, int iconId, int titleId, int descId) { Intent i=new Intent(this, RemoteActionReceiver.class) .putExtra(EXTRA_REQUEST, requestCode); PendingIntent pi=PendingIntent.getBroadcast(this, requestCode, i, 0); Icon icon=Icon.createWithResource(this, iconId); String title=getString(titleId); String desc=getString(descId); return(new RemoteAction(icon, title, desc, pi)); } }
Icon withBitmap = Icon.createWithBitmap(icon); ShortcutInfo likeShortcut = new ShortcutInfo.Builder(context, id) .setShortLabel(name)
private static void fixNotificationIcon(Context context, Notification notification, Notification.Builder builder) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { //noinspection deprecation builder.setSmallIcon(notification.icon); //noinspection deprecation builder.setLargeIcon(notification.largeIcon); } else { Icon icon = notification.getSmallIcon(); if (icon != null) { Bitmap bitmap = drawableToBitMap(icon.loadDrawable(context)); if (bitmap != null) { Icon newIcon = Icon.createWithBitmap(bitmap); builder.setSmallIcon(newIcon); } } Icon largeIcon = notification.getLargeIcon(); if (largeIcon != null) { Bitmap bitmap = drawableToBitMap(largeIcon.loadDrawable(context)); if (bitmap != null) { Icon newIcon = Icon.createWithBitmap(bitmap); builder.setLargeIcon(newIcon); } } } }