mirror of
https://github.com/androidx/media.git
synced 2025-04-29 22:36:54 +08:00
Make sure subtitle is used without display title being set
PiperOrigin-RevId: 745616511 (cherry picked from commit cb0ea7fc95ffb1160cfd7904ee5c548d8f0a68cb)
This commit is contained in:
parent
b16f9fc4ec
commit
ce0c98c4d4
@ -898,6 +898,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;
|
||||
}
|
||||
|
@ -317,7 +317,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
|
||||
};
|
||||
|
||||
private static final @BitmapKey String[] PREFERRED_BITMAP_ORDER = {
|
||||
|
@ -267,74 +267,35 @@ public final class LegacyConversionsTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void convertToMediaMetadataCompat_displayTitleAndTitleHandledCorrectly() {
|
||||
MediaMetadata mediaMetadataWithTitleOnly =
|
||||
new MediaMetadata.Builder()
|
||||
.setTitle("title")
|
||||
.setSubtitle("subtitle")
|
||||
.setDescription("description")
|
||||
.setArtist("artist")
|
||||
.setAlbumArtist("albumArtist")
|
||||
.build();
|
||||
MediaMetadata mediaMetadataWithDisplayTitleOnly =
|
||||
new MediaMetadata.Builder()
|
||||
.setDisplayTitle("displayTitle")
|
||||
.setSubtitle("subtitle")
|
||||
.setDescription("description")
|
||||
.setArtist("artist")
|
||||
.setAlbumArtist("albumArtist")
|
||||
.build();
|
||||
MediaMetadata mediaMetadataWithDisplayTitleAndTitle =
|
||||
new MediaMetadata.Builder()
|
||||
.setTitle("title")
|
||||
.setDisplayTitle("displayTitle")
|
||||
.setSubtitle("subtitle")
|
||||
.setDescription("description")
|
||||
.setArtist("artist")
|
||||
.setAlbumArtist("albumArtist")
|
||||
.build();
|
||||
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 mediaDescriptionCompatFromDisplayTitleAndTitle =
|
||||
LegacyConversions.convertToMediaMetadataCompat(
|
||||
mediaMetadataWithDisplayTitleAndTitle,
|
||||
"mediaId",
|
||||
/* mediaUri= */ null,
|
||||
/* durationMs= */ 10_000L,
|
||||
/* artworkBitmap= */ null)
|
||||
.getDescription();
|
||||
MediaDescriptionCompat mediaDescriptionCompatFromDisplayTitleOnly =
|
||||
LegacyConversions.convertToMediaMetadataCompat(
|
||||
mediaMetadataWithDisplayTitleOnly,
|
||||
"mediaId",
|
||||
/* mediaUri= */ null,
|
||||
/* durationMs= */ 10_000L,
|
||||
/* artworkBitmap= */ null)
|
||||
.getDescription();
|
||||
MediaDescriptionCompat mediaDescriptionCompatFromTitleOnly =
|
||||
LegacyConversions.convertToMediaMetadataCompat(
|
||||
mediaMetadataWithTitleOnly,
|
||||
"mediaId",
|
||||
/* mediaUri= */ null,
|
||||
/* durationMs= */ 10_000L,
|
||||
/* artworkBitmap= */ null)
|
||||
.getDescription();
|
||||
MediaDescriptionCompat descriptionCompat =
|
||||
LegacyConversions.convertToMediaDescriptionCompat(mediaItem, /* artworkBitmap= */ null);
|
||||
|
||||
assertThat(mediaDescriptionCompatFromDisplayTitleAndTitle.getTitle().toString())
|
||||
.isEqualTo("displayTitle");
|
||||
assertThat(mediaDescriptionCompatFromDisplayTitleAndTitle.getSubtitle().toString())
|
||||
.isEqualTo("subtitle");
|
||||
assertThat(mediaDescriptionCompatFromDisplayTitleAndTitle.getDescription().toString())
|
||||
.isEqualTo("description");
|
||||
assertThat(mediaDescriptionCompatFromDisplayTitleOnly.getTitle().toString())
|
||||
.isEqualTo("displayTitle");
|
||||
assertThat(mediaDescriptionCompatFromDisplayTitleOnly.getSubtitle().toString())
|
||||
.isEqualTo("subtitle");
|
||||
assertThat(mediaDescriptionCompatFromDisplayTitleOnly.getDescription().toString())
|
||||
.isEqualTo("description");
|
||||
assertThat(mediaDescriptionCompatFromTitleOnly.getTitle().toString()).isEqualTo("title");
|
||||
assertThat(mediaDescriptionCompatFromTitleOnly.getSubtitle().toString()).isEqualTo("artist");
|
||||
assertThat(mediaDescriptionCompatFromTitleOnly.getDescription().toString())
|
||||
.isEqualTo("albumArtist");
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user