# MetadataExtras

Artifact: [androidx.car.app:app](https://developer.android.com/jetpack/androidx/releases/car-app) [View Source](https://cs.android.com/search?q=file:androidx/car/app/mediaextensions/MetadataExtras.java+class:androidx.car.app.mediaextensions.MetadataExtras) Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.4.0)

*** ** * ** ***


```
public final class MetadataExtras
```

<br />

*** ** * ** ***

Defines constants for extra keys in `https://developer.android.com/reference/android/support/v4/media/MediaMetadataCompat` or `https://developer.android.com/reference/androidx/media3/common/MediaMetadata`.

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/car/app/mediaextensions/MetadataExtras#KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI() = "androidx.car.app.mediaextensions.KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI"` `https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate a tintable vector drawable representing its content format. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/car/app/mediaextensions/MetadataExtras#KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI() = "androidx.car.app.mediaextensions.KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI"` `https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate a tintable vector drawable representing its content format. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/car/app/mediaextensions/MetadataExtras#KEY_DESCRIPTION_LINK_MEDIA_ID() = "androidx.car.app.mediaextensions.KEY_DESCRIPTION_LINK_MEDIA_ID"` `https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate that the description of the corresponding media item can be linked to another media item ID. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/car/app/mediaextensions/MetadataExtras#KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST() = "androidx.car.app.mediaextensions.KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST"` `https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate that the metadata of this media item should not be shown next to content from other applications |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/car/app/mediaextensions/MetadataExtras#KEY_IMMERSIVE_AUDIO() = "androidx.car.app.mediaextensions.KEY_IMMERSIVE_AUDIO"` `https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate an immersive audio experience. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/car/app/mediaextensions/MetadataExtras#KEY_SUBTITLE_LINK_MEDIA_ID() = "androidx.car.app.mediaextensions.KEY_SUBTITLE_LINK_MEDIA_ID"` `https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate that the subtitle of the corresponding media item can be linked to another media item ID. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/car/app/mediaextensions/MetadataExtras#KEY_TINTABLE_INDICATOR_ICON_URI_LIST() = "androidx.car.app.mediaextensions.KEY_TINTABLE_INDICATOR_ICON_URI_LIST"` `https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate a list of tintable vector drawables where each drawable represents a property or a state of the media item. |

## Constants

### KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.4.0)

```
public static final String KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI = "androidx.car.app.mediaextensions.KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI"
```

`https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate a tintable vector drawable representing its content format. This drawable must be rendered in large views showing information about the currently playing media item, in an area roughly equivalent to 15 characters of subtitle.

TYPE: String - a uri pointing to local content (ie not on the web) that can be parsed into a android.graphics.drawable.Drawable

### KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.4.0)

```
public static final String KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI = "androidx.car.app.mediaextensions.KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI"
```

`https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate a tintable vector drawable representing its content format. This drawable may be rendered in smaller views showing information about a media item, in an area roughly equivalent to 2 characters of subtitle.

TYPE: String - a uri pointing to local content (ie not on the web) that can be parsed into a android.graphics.drawable.Drawable

### KEY_DESCRIPTION_LINK_MEDIA_ID

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.4.0)

```
public static final String KEY_DESCRIPTION_LINK_MEDIA_ID = "androidx.car.app.mediaextensions.KEY_DESCRIPTION_LINK_MEDIA_ID"
```

`https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate that the description of the corresponding media item can be linked to another media item ID.

The value of the extra is set to the media ID of this other item.

NOTE: media1 and media3 apps setting this extra **must implement** `https://developer.android.com/reference/androidx/media/MediaBrowserServiceCompat#onLoadItem(java.lang.String,androidx.media.MediaBrowserServiceCompat.Result<android.support.v4.media.MediaBrowserCompat.MediaItem>)` or `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession.Callback#onGetItem(androidx.media3.session.MediaLibraryService.MediaLibrarySession,androidx.media3.session.MediaSession.ControllerInfo,java.lang.String)` respectively.

NOTE: media apps setting this extra **must explicitly set the description property**.

See `https://developer.android.com/reference/android/support/v4/media/MediaMetadataCompat#METADATA_KEY_DISPLAY_DESCRIPTION()`

See `https://developer.android.com/reference/androidx/media3/common/MediaMetadata#description()`

TYPE: String.

Example:

```
  "Source" MediaItem
     + mediaId:                  “Beethoven-9th-symphony”    // ID
     + title:                    “9th symphony”              // Track
     + subtitle:                 “The best of Beethoven”     // Album
     + subtitleLinkMediaId:      “Beethoven-best-of”         // Album ID
     + description:              “Beethoven”                 // Artist
╔════+ descriptionLinkMediaId:   “artist:Beethoven”          // Artist ID
║
║ "Destination" MediaItem
╚════+ mediaId:                  “artist:Beethoven”          // ID
     + title:                    “Beethoven”                 // Artist
```

### KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.7.0)

```
public static final String KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST = "androidx.car.app.mediaextensions.KEY_EXCLUDE_MEDIA_ITEM_FROM_MIXED_APP_LIST"
```

`https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate that the metadata of this media item should not be shown next to content from other applications

TYPE: long - to enable, use value `https://developer.android.com/reference/androidx/media/utils/MediaConstants#METADATA_VALUE_ATTRIBUTE_PRESENT()`

### KEY_IMMERSIVE_AUDIO

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.4.0)

```
public static final String KEY_IMMERSIVE_AUDIO = "androidx.car.app.mediaextensions.KEY_IMMERSIVE_AUDIO"
```

`https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate an immersive audio experience. Car OEMs should carefully consider which audio effects should be enabled for such content.

TYPE: long - to enable, use value `https://developer.android.com/reference/androidx/media/utils/MediaConstants#METADATA_VALUE_ATTRIBUTE_PRESENT()`

### KEY_SUBTITLE_LINK_MEDIA_ID

Added in [1.4.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.4.0)

```
public static final String KEY_SUBTITLE_LINK_MEDIA_ID = "androidx.car.app.mediaextensions.KEY_SUBTITLE_LINK_MEDIA_ID"
```

`https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate that the subtitle of the corresponding media item can be linked to another media item ID.

The value of the extra is set to the media ID of this other item.

NOTE: media1 and media3 apps setting this extra **must implement** `https://developer.android.com/reference/androidx/media/MediaBrowserServiceCompat#onLoadItem(java.lang.String,androidx.media.MediaBrowserServiceCompat.Result<android.support.v4.media.MediaBrowserCompat.MediaItem>)` or `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession.Callback#onGetItem(androidx.media3.session.MediaLibraryService.MediaLibrarySession,androidx.media3.session.MediaSession.ControllerInfo,java.lang.String)` respectively.

NOTE: media apps setting this extra **must explicitly set the subtitle property**.

See `https://developer.android.com/reference/android/support/v4/media/MediaMetadataCompat#METADATA_KEY_DISPLAY_SUBTITLE()`

See `https://developer.android.com/reference/androidx/media3/common/MediaMetadata#subtitle()`

TYPE: String.

Example:

```
  "Source" MediaItem
     + mediaId:                  “Beethoven-9th-symphony”    // ID
     + title:                    “9th symphony”              // Track
     + subtitle:                 “The best of Beethoven”     // Album
╔════+ subtitleLinkMediaId:      “Beethoven-best-of”         // Album ID
║    + description:              “Beethoven”                 // Artist
║    + descriptionLinkMediaId:   “artist:Beethoven”          // Artist ID
║
║ "Destination" MediaItem
╚════+ mediaId:                  “Beethoven-best-of”         // ID
     + title:                    “The best of Beethoven”     // Album
     + subtitle:                 “Beethoven”                 // Artist
     + subtitleLinkMediaId:      “artist:Beethoven”          // Artist ID
```

### KEY_TINTABLE_INDICATOR_ICON_URI_LIST

Added in [1.7.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.7.0)

```
public static final String KEY_TINTABLE_INDICATOR_ICON_URI_LIST = "androidx.car.app.mediaextensions.KEY_TINTABLE_INDICATOR_ICON_URI_LIST"
```

`https://developer.android.com/reference/android/os/Bundle.html` key used in the extras of a media item to indicate a list of tintable vector drawables where each drawable represents a property or a state of the media item. These drawables may be rendered in small views showing information about a media item, in an area roughly equivalent to 2 characters of the media item's subtitle.**Note:** when specifying this extra, the "android.media.extra.DOWNLOAD_STATUS" and "android.media.IS_EXPLICIT" extras will be ignored, so 3p apps should add their own downloaded and explicit icon uris to this extra's list. This way all these icons can use the same drawing style.

TYPE: `ArrayList<Uri>`, list of Uris - with each uri pointing to local content using either ContentResolver.SCHEME_CONTENT or ContentResolver.SCHEME_ANDROID_RESOURCE (ie not on the web) that can be parsed into a android.graphics.drawable.Drawable