Make sure subtitle is used without display title being set

PiperOrigin-RevId: 745616511
This commit is contained in:
bachinger 2025-04-09 09:17:56 -07:00 committed by Copybara-Service
parent 6cae8ab8a0
commit cb0ea7fc95
3 changed files with 36 additions and 1 deletions

View File

@ -894,6 +894,8 @@ import java.util.concurrent.TimeoutException;
return metadata.writer;
case MediaMetadataCompat.METADATA_KEY_COMPOSER:
return metadata.composer;
case MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE:
return metadata.subtitle;
default:
return null;
}

View File

@ -315,7 +315,8 @@ public final class MediaMetadataCompat implements Parcelable {
METADATA_KEY_ALBUM_ARTIST,
METADATA_KEY_WRITER,
METADATA_KEY_AUTHOR,
METADATA_KEY_COMPOSER
METADATA_KEY_COMPOSER,
METADATA_KEY_DISPLAY_SUBTITLE
};
final Bundle mBundle;

View File

@ -266,6 +266,38 @@ public final class LegacyConversionsTest {
assertThat(convertedMediaItemWithDisplayTitleAndTitle.mediaMetadata.albumTitle).isNull();
}
@Test
public void
convertToMediaDescriptionCompat_withoutDisplayTitleWithSubtitle_subtitleUsedAsSubtitle() {
MediaMetadata metadata =
new MediaMetadata.Builder().setTitle("a_title").setSubtitle("a_subtitle").build();
MediaItem mediaItem =
new MediaItem.Builder().setMediaId("testId").setMediaMetadata(metadata).build();
MediaDescriptionCompat descriptionCompat =
LegacyConversions.convertToMediaDescriptionCompat(mediaItem, /* artworkBitmap= */ null);
assertThat(descriptionCompat.getTitle().toString()).isEqualTo("a_title");
assertThat(descriptionCompat.getSubtitle().toString()).isEqualTo("a_subtitle");
}
@Test
public void convertToMediaDescriptionCompat_withDisplayTitleAndSubtitle_subtitleUsedAsSubtitle() {
MediaMetadata metadata =
new MediaMetadata.Builder()
.setDisplayTitle("a_display_title")
.setSubtitle("a_subtitle")
.build();
MediaItem mediaItem =
new MediaItem.Builder().setMediaId("testId").setMediaMetadata(metadata).build();
MediaDescriptionCompat descriptionCompat =
LegacyConversions.convertToMediaDescriptionCompat(mediaItem, /* artworkBitmap= */ null);
assertThat(descriptionCompat.getTitle().toString()).isEqualTo("a_display_title");
assertThat(descriptionCompat.getSubtitle().toString()).isEqualTo("a_subtitle");
}
@Test
public void convertToQueueItemId() {
assertThat(LegacyConversions.convertToQueueItemId(C.INDEX_UNSET))