Remove previously deprecated MediaItem.PlaybackProperties
in favour of LocalConfiguration
.
Deprecated field `MediaItem.playbackProperties` remains for backwards compatibility, but its type is changed from `MediaItem.PlaybackProperties` to `MediaItem.LocalConfiguration`. The private `MediaItem` constructor will now also take in a `LocalConfiguration` argument instead. PiperOrigin-RevId: 535648420
This commit is contained in:
parent
16d36da88a
commit
25bf0c6738
@ -138,6 +138,10 @@
|
|||||||
* Remove deprecated
|
* Remove deprecated
|
||||||
`DefaultLoadControl.Builder.createDefaultLoadControl()`, use `build()`
|
`DefaultLoadControl.Builder.createDefaultLoadControl()`, use `build()`
|
||||||
instead.
|
instead.
|
||||||
|
* Remove deprecated `MediaItem.PlaybackProperties`, use
|
||||||
|
`MediaItem.LocalConfiguration` instead. Deprecated field
|
||||||
|
`MediaItem.playbackProperties` is now of type
|
||||||
|
`MediaItem.LocalConfiguration`.
|
||||||
|
|
||||||
## 1.1
|
## 1.1
|
||||||
|
|
||||||
|
2
api.txt
2
api.txt
@ -335,7 +335,7 @@ package androidx.media3.common {
|
|||||||
method public androidx.media3.common.MediaItem.LiveConfiguration.Builder setTargetOffsetMs(long);
|
method public androidx.media3.common.MediaItem.LiveConfiguration.Builder setTargetOffsetMs(long);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class MediaItem.LocalConfiguration {
|
public static final class MediaItem.LocalConfiguration {
|
||||||
field @Nullable public final androidx.media3.common.MediaItem.AdsConfiguration adsConfiguration;
|
field @Nullable public final androidx.media3.common.MediaItem.AdsConfiguration adsConfiguration;
|
||||||
field @Nullable public final androidx.media3.common.MediaItem.DrmConfiguration drmConfiguration;
|
field @Nullable public final androidx.media3.common.MediaItem.DrmConfiguration drmConfiguration;
|
||||||
field @Nullable public final String mimeType;
|
field @Nullable public final String mimeType;
|
||||||
|
@ -94,7 +94,7 @@ public class IntentUtil {
|
|||||||
if (mediaItem.mediaMetadata.title != null) {
|
if (mediaItem.mediaMetadata.title != null) {
|
||||||
intent.putExtra(TITLE_EXTRA, mediaItem.mediaMetadata.title);
|
intent.putExtra(TITLE_EXTRA, mediaItem.mediaMetadata.title);
|
||||||
}
|
}
|
||||||
addPlaybackPropertiesToIntent(localConfiguration, intent, /* extrasKeySuffix= */ "");
|
addLocalConfigurationToIntent(localConfiguration, intent, /* extrasKeySuffix= */ "");
|
||||||
addClippingConfigurationToIntent(
|
addClippingConfigurationToIntent(
|
||||||
mediaItem.clippingConfiguration, intent, /* extrasKeySuffix= */ "");
|
mediaItem.clippingConfiguration, intent, /* extrasKeySuffix= */ "");
|
||||||
} else {
|
} else {
|
||||||
@ -104,7 +104,7 @@ public class IntentUtil {
|
|||||||
MediaItem.LocalConfiguration localConfiguration =
|
MediaItem.LocalConfiguration localConfiguration =
|
||||||
checkNotNull(mediaItem.localConfiguration);
|
checkNotNull(mediaItem.localConfiguration);
|
||||||
intent.putExtra(URI_EXTRA + ("_" + i), localConfiguration.uri.toString());
|
intent.putExtra(URI_EXTRA + ("_" + i), localConfiguration.uri.toString());
|
||||||
addPlaybackPropertiesToIntent(localConfiguration, intent, /* extrasKeySuffix= */ "_" + i);
|
addLocalConfigurationToIntent(localConfiguration, intent, /* extrasKeySuffix= */ "_" + i);
|
||||||
addClippingConfigurationToIntent(
|
addClippingConfigurationToIntent(
|
||||||
mediaItem.clippingConfiguration, intent, /* extrasKeySuffix= */ "_" + i);
|
mediaItem.clippingConfiguration, intent, /* extrasKeySuffix= */ "_" + i);
|
||||||
if (mediaItem.mediaMetadata.title != null) {
|
if (mediaItem.mediaMetadata.title != null) {
|
||||||
@ -195,7 +195,7 @@ public class IntentUtil {
|
|||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void addPlaybackPropertiesToIntent(
|
private static void addLocalConfigurationToIntent(
|
||||||
MediaItem.LocalConfiguration localConfiguration, Intent intent, String extrasKeySuffix) {
|
MediaItem.LocalConfiguration localConfiguration, Intent intent, String extrasKeySuffix) {
|
||||||
intent
|
intent
|
||||||
.putExtra(MIME_TYPE_EXTRA + extrasKeySuffix, localConfiguration.mimeType)
|
.putExtra(MIME_TYPE_EXTRA + extrasKeySuffix, localConfiguration.mimeType)
|
||||||
|
@ -570,15 +570,14 @@ public final class MediaItem implements Bundleable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Returns a new {@link MediaItem} instance with the current builder values. */
|
/** Returns a new {@link MediaItem} instance with the current builder values. */
|
||||||
@SuppressWarnings("deprecation") // Using PlaybackProperties while it exists.
|
|
||||||
public MediaItem build() {
|
public MediaItem build() {
|
||||||
// TODO: remove this check once all the deprecated individual DRM setters are removed.
|
// TODO: remove this check once all the deprecated individual DRM setters are removed.
|
||||||
checkState(drmConfiguration.licenseUri == null || drmConfiguration.scheme != null);
|
checkState(drmConfiguration.licenseUri == null || drmConfiguration.scheme != null);
|
||||||
@Nullable PlaybackProperties localConfiguration = null;
|
@Nullable LocalConfiguration localConfiguration = null;
|
||||||
@Nullable Uri uri = this.uri;
|
@Nullable Uri uri = this.uri;
|
||||||
if (uri != null) {
|
if (uri != null) {
|
||||||
localConfiguration =
|
localConfiguration =
|
||||||
new PlaybackProperties(
|
new LocalConfiguration(
|
||||||
uri,
|
uri,
|
||||||
mimeType,
|
mimeType,
|
||||||
drmConfiguration.scheme != null ? drmConfiguration.build() : null,
|
drmConfiguration.scheme != null ? drmConfiguration.build() : null,
|
||||||
@ -1088,8 +1087,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Properties for local playback. */
|
/** Properties for local playback. */
|
||||||
// TODO: Mark this final when PlaybackProperties is deleted.
|
public static final class LocalConfiguration {
|
||||||
public static class LocalConfiguration {
|
|
||||||
|
|
||||||
/** The {@link Uri}. */
|
/** The {@link Uri}. */
|
||||||
public final Uri uri;
|
public final Uri uri;
|
||||||
@ -1187,34 +1185,6 @@ public final class MediaItem implements Bundleable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link LocalConfiguration}.
|
|
||||||
*/
|
|
||||||
@UnstableApi
|
|
||||||
@Deprecated
|
|
||||||
public static final class PlaybackProperties extends LocalConfiguration {
|
|
||||||
|
|
||||||
private PlaybackProperties(
|
|
||||||
Uri uri,
|
|
||||||
@Nullable String mimeType,
|
|
||||||
@Nullable DrmConfiguration drmConfiguration,
|
|
||||||
@Nullable AdsConfiguration adsConfiguration,
|
|
||||||
List<StreamKey> streamKeys,
|
|
||||||
@Nullable String customCacheKey,
|
|
||||||
ImmutableList<SubtitleConfiguration> subtitleConfigurations,
|
|
||||||
@Nullable Object tag) {
|
|
||||||
super(
|
|
||||||
uri,
|
|
||||||
mimeType,
|
|
||||||
drmConfiguration,
|
|
||||||
adsConfiguration,
|
|
||||||
streamKeys,
|
|
||||||
customCacheKey,
|
|
||||||
subtitleConfigurations,
|
|
||||||
tag);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Live playback configuration. */
|
/** Live playback configuration. */
|
||||||
public static final class LiveConfiguration implements Bundleable {
|
public static final class LiveConfiguration implements Bundleable {
|
||||||
|
|
||||||
@ -2119,7 +2089,7 @@ public final class MediaItem implements Bundleable {
|
|||||||
/**
|
/**
|
||||||
* @deprecated Use {@link #localConfiguration} instead.
|
* @deprecated Use {@link #localConfiguration} instead.
|
||||||
*/
|
*/
|
||||||
@UnstableApi @Deprecated @Nullable public final PlaybackProperties playbackProperties;
|
@UnstableApi @Deprecated @Nullable public final LocalConfiguration playbackProperties;
|
||||||
|
|
||||||
/** The live playback configuration. */
|
/** The live playback configuration. */
|
||||||
public final LiveConfiguration liveConfiguration;
|
public final LiveConfiguration liveConfiguration;
|
||||||
@ -2137,12 +2107,12 @@ public final class MediaItem implements Bundleable {
|
|||||||
/** The media {@link RequestMetadata}. */
|
/** The media {@link RequestMetadata}. */
|
||||||
public final RequestMetadata requestMetadata;
|
public final RequestMetadata requestMetadata;
|
||||||
|
|
||||||
// Using PlaybackProperties and ClippingProperties until they're deleted.
|
// Using ClippingProperties until they're deleted.
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
private MediaItem(
|
private MediaItem(
|
||||||
String mediaId,
|
String mediaId,
|
||||||
ClippingProperties clippingConfiguration,
|
ClippingProperties clippingConfiguration,
|
||||||
@Nullable PlaybackProperties localConfiguration,
|
@Nullable LocalConfiguration localConfiguration,
|
||||||
LiveConfiguration liveConfiguration,
|
LiveConfiguration liveConfiguration,
|
||||||
MediaMetadata mediaMetadata,
|
MediaMetadata mediaMetadata,
|
||||||
RequestMetadata requestMetadata) {
|
RequestMetadata requestMetadata) {
|
||||||
|
@ -797,7 +797,7 @@ public class MediaItemTest {
|
|||||||
MediaItem copy = mediaItem.buildUpon().build();
|
MediaItem copy = mediaItem.buildUpon().build();
|
||||||
|
|
||||||
assertThat(copy).isEqualTo(mediaItem);
|
assertThat(copy).isEqualTo(mediaItem);
|
||||||
assertThat(copy.localConfiguration).isEqualTo(mediaItem.playbackProperties);
|
assertThat(copy.localConfiguration).isEqualTo(mediaItem.localConfiguration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@ -862,7 +862,7 @@ public class MediaItemTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void roundTripViaBundle_withoutPlaybackProperties_yieldsEqualInstance() {
|
public void roundTripViaBundle_withoutLocalConfiguration_yieldsEqualInstance() {
|
||||||
MediaItem mediaItem =
|
MediaItem mediaItem =
|
||||||
new MediaItem.Builder()
|
new MediaItem.Builder()
|
||||||
.setMediaId("mediaId")
|
.setMediaId("mediaId")
|
||||||
@ -892,7 +892,7 @@ public class MediaItemTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void roundTripViaBundle_withPlaybackProperties_dropsPlaybackProperties() {
|
public void roundTripViaBundle_withLocalConfiguration_dropsLocalConfiguration() {
|
||||||
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).build();
|
MediaItem mediaItem = new MediaItem.Builder().setUri(URI_STRING).build();
|
||||||
|
|
||||||
assertThat(mediaItem.localConfiguration).isNotNull();
|
assertThat(mediaItem.localConfiguration).isNotNull();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user