Example usage for android.support.v4.media MediaDescriptionCompat getIconBitmap

List of usage examples for android.support.v4.media MediaDescriptionCompat getIconBitmap

Introduction

In this page you can find the example usage for android.support.v4.media MediaDescriptionCompat getIconBitmap.

Prototype

@Nullable
public Bitmap getIconBitmap() 

Source Link

Document

Returns a bitmap icon suitable for display or null.

Usage

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());
    }
}