Example usage for android.support.v4.media MediaBrowserCompat.MediaItem toString

List of usage examples for android.support.v4.media MediaBrowserCompat.MediaItem toString

Introduction

In this page you can find the example usage for android.support.v4.media MediaBrowserCompat.MediaItem toString.

Prototype

public String toString() 

Source Link

Document

Returns a string representation of the object.

Usage

From source file:com.example.android.uamp.ui.tv.CardPresenter.java

@Override
public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) {
    MediaDescriptionCompat description;//from   w  ww. jav a  2s.  c om
    final CardViewHolder cardViewHolder = (CardViewHolder) viewHolder;

    // Determine description and playing state of item based on instance type
    cardViewHolder.setState(MediaItemViewHolder.STATE_NONE);
    if (item instanceof MediaBrowserCompat.MediaItem) {
        MediaBrowserCompat.MediaItem mediaItem = (MediaBrowserCompat.MediaItem) item;
        LogHelper.d(TAG, "onBindViewHolder MediaItem: ", mediaItem.toString());
        description = mediaItem.getDescription();
        cardViewHolder.setState(MediaItemViewHolder.getMediaItemState(mContext, mediaItem));
    } else if (item instanceof MediaSessionCompat.QueueItem) {
        MediaSessionCompat.QueueItem queueItem = (MediaSessionCompat.QueueItem) item;
        LogHelper.d(TAG, "onBindViewHolder QueueItem: ", queueItem.toString());
        description = queueItem.getDescription();
        if (QueueHelper.isQueueItemPlaying(mContext, queueItem)) {
            cardViewHolder.setState(MediaItemViewHolder.getStateFromController(mContext));
        }
    } else {
        throw new IllegalArgumentException(
                "Object must be MediaItem or QueueItem, not " + item.getClass().getSimpleName());
    }

    cardViewHolder.setupCardView(mContext, description);
}

From source file:com.bayapps.android.robophish.ui.tv.CardPresenter.java

@Override
public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) {
    MediaDescriptionCompat description;/*  ww w. j  a  va  2 s  . co  m*/
    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 {
        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);
                }
            });
        }
    }
}