Example usage for android.support.v4.media MediaMetadataCompat METADATA_KEY_MEDIA_URI

List of usage examples for android.support.v4.media MediaMetadataCompat METADATA_KEY_MEDIA_URI

Introduction

In this page you can find the example usage for android.support.v4.media MediaMetadataCompat METADATA_KEY_MEDIA_URI.

Prototype

String METADATA_KEY_MEDIA_URI

To view the source code for android.support.v4.media MediaMetadataCompat METADATA_KEY_MEDIA_URI.

Click Source Link

Document

A Uri formatted String representing the content.

Usage

From source file:com.doctoror.fuckoffmusicplayer.data.reporter.MediaSessionPlaybackReporter.java

@Override
public void reportTrackChanged(@NonNull final Media media) {
    final Uri data = media.getData();
    final MediaMetadataCompat.Builder b = new MediaMetadataCompat.Builder()
            .putText(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, Long.toString(media.getId()))
            .putText(MediaMetadataCompat.METADATA_KEY_MEDIA_URI, data != null ? data.toString() : null)
            .putText(MediaMetadataCompat.METADATA_KEY_TITLE, media.getTitle())
            .putLong(MediaMetadataCompat.METADATA_KEY_DURATION, media.getDuration())
            .putText(MediaMetadataCompat.METADATA_KEY_ARTIST, media.getArtist())
            .putText(MediaMetadataCompat.METADATA_KEY_ALBUM, media.getAlbum())
            .putLong(MediaMetadataCompat.METADATA_KEY_TRACK_NUMBER, media.getTrack());

    final String art = media.getAlbumArt();
    Bitmap artBitmapSmall = null;//from   w w  w.ja  va2  s. c om
    if (!TextUtils.isEmpty(art)) {
        Bitmap artBitmapLarge = null;
        // Load bitmap because of https://code.google.com/p/android/issues/detail?id=194874
        try {
            //noinspection SuspiciousNameCombination
            artBitmapLarge = mGlide.asBitmap().apply(requestOptions).load(art)
                    // Optimized for lock screen
                    .submit(mDisplayMetrics.widthPixels, mDisplayMetrics.heightPixels).get();
        } catch (ExecutionException | InterruptedException e) {
            Log.w(TAG, "Failed loading art image", e);
        }
        // Small bitmap for app widget, if any
        final int dp84 = (int) (84f * mDisplayMetrics.density);

        try {
            artBitmapSmall = mGlide.asBitmap().apply(requestOptions).load(art)
                    // Optimized for medium appwidget
                    .submit(dp84, dp84).get();
        } catch (ExecutionException | InterruptedException e) {
            Log.w(TAG, "Failed loading art image", e);
        }
        if (artBitmapLarge != null) {
            b.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, artBitmapLarge);
        }
        b.putText(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI,
                new File(media.getAlbumArt()).toURI().toString());
    }

    mAlbumThumbHolder.setAlbumThumb(artBitmapSmall);
    mMediaSession.setMetadata(b.build());
}

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);
        }/*from  www .j  a  v  a2 s.  co  m*/
        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());
    }
}