Commit 2a07a0b4 by bachinger Committed by Ian Baker

Use the artist as the subtitle of the legacy media description

The Bluetooth AVRCP service expects the metadata of the item currently
being played to be in sync with the corresponding media description in
the active item of the queue. The comparison expects the metadata values
of `METADATA_KEY_TITLE` and `METADATA_KEY_ARTIST` [1] to be equal to the
`title` and `subtitle` field of the `MediaDescription` [2] of the
corresponding queue item.

Hence we need to populate the media description accordingly to avoid the
BT service to delay the update for two seconds and log an exception.

[1] https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/android/app/src/com/android/bluetooth/audio_util/helpers/Metadata.java;l=120
[2] https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/android/app/src/com/android/bluetooth/audio_util/MediaPlayerWrapper.java;l=258

Issue: androidx/media#148
PiperOrigin-RevId: 491877806
parent c5a763e1
......@@ -351,7 +351,9 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
}
return builder
.setTitle(metadata.title)
.setSubtitle(metadata.subtitle)
// The BT AVRPC service expects the subtitle of the media description to be the artist
// (see https://github.com/androidx/media/issues/148).
.setSubtitle(metadata.artist != null ? metadata.artist : metadata.subtitle)
.setDescription(metadata.description)
.setIconUri(metadata.artworkUri)
.setMediaUri(item.requestMetadata.mediaUri)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment