List of usage examples for android.support.v4.media MediaDescriptionCompat getIconBitmap
@Nullable
public Bitmap getIconBitmap()
From source file:com.bayapps.android.robophish.ui.tv.CardPresenter.java
@Override public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) { MediaDescriptionCompat description; if (item instanceof MediaBrowserCompat.MediaItem) { MediaBrowserCompat.MediaItem mediaItem = (MediaBrowserCompat.MediaItem) item; LogHelper.d(TAG, "onBindViewHolder MediaItem: ", mediaItem.toString()); description = mediaItem.getDescription(); } else if (item instanceof MediaSessionCompat.QueueItem) { MediaSessionCompat.QueueItem queueItem = (MediaSessionCompat.QueueItem) item; description = queueItem.getDescription(); } else {// ww w . j av a2 s .c o m throw new IllegalArgumentException( "Object must be MediaItem or QueueItem, not " + item.getClass().getSimpleName()); } final CardViewHolder cardViewHolder = (CardViewHolder) viewHolder; cardViewHolder.mCardView.setTitleText(description.getTitle()); cardViewHolder.mCardView.setContentText(description.getSubtitle()); cardViewHolder.mCardView.setMainImageDimensions(CARD_WIDTH, CARD_HEIGHT); Uri artUri = description.getIconUri(); if (artUri == null) { setCardImage(cardViewHolder, description.getIconBitmap()); } else { // IconUri potentially has a better resolution than iconBitmap. String artUrl = artUri.toString(); AlbumArtCache cache = AlbumArtCache.getInstance(); if (cache.getBigImage(artUrl) != null) { // So, we use it immediately if it's cached: setCardImage(cardViewHolder, cache.getBigImage(artUrl)); } else { // Otherwise, we use iconBitmap if available while we wait for iconURI setCardImage(cardViewHolder, description.getIconBitmap()); cache.fetch(artUrl, new AlbumArtCache.FetchListener() { @Override public void onFetched(String artUrl, Bitmap bitmap, Bitmap icon) { setCardImage(cardViewHolder, bitmap); } }); } } }
From source file:com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector.java
private void updateMediaSessionMetadata() { if (doMaintainMetadata) { MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder(); if (player != null && player.isPlayingAd()) { builder.putLong(MediaMetadataCompat.METADATA_KEY_ADVERTISEMENT, 1); }/* w ww .j a va 2s. c om*/ builder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, player == null ? 0 : player.getDuration() == C.TIME_UNSET ? -1 : player.getDuration()); if (queueNavigator != null) { long activeQueueItemId = queueNavigator.getActiveQueueItemId(player); List<MediaSessionCompat.QueueItem> queue = mediaController.getQueue(); for (int i = 0; queue != null && i < queue.size(); i++) { MediaSessionCompat.QueueItem queueItem = queue.get(i); if (queueItem.getQueueId() == activeQueueItemId) { MediaDescriptionCompat description = queueItem.getDescription(); if (description.getTitle() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, String.valueOf(description.getTitle())); } if (description.getSubtitle() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, String.valueOf(description.getSubtitle())); } if (description.getDescription() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_DESCRIPTION, String.valueOf(description.getDescription())); } if (description.getIconBitmap() != null) { builder.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, description.getIconBitmap()); } if (description.getIconUri() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON_URI, String.valueOf(description.getIconUri())); } if (description.getMediaId() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, String.valueOf(description.getMediaId())); } if (description.getMediaUri() != null) { builder.putString(MediaMetadataCompat.METADATA_KEY_MEDIA_URI, String.valueOf(description.getMediaUri())); } break; } } } mediaSession.setMetadata(builder.build()); } }