Commit 8fd1381a by ibaker Committed by Oliver Woodman

Update two MediaItem.DrmConfiguration setters to reject null

Builder setters should only accept null when the underlying property can
be null. In this case null is directly converted to an empty map/list.

PiperOrigin-RevId: 403406626
parent 707968f7
...@@ -247,12 +247,15 @@ public final class MediaItem implements Bundleable { ...@@ -247,12 +247,15 @@ public final class MediaItem implements Bundleable {
/** /**
* @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link
* DrmConfiguration.Builder#setLicenseRequestHeaders(Map)} instead. * DrmConfiguration.Builder#setLicenseRequestHeaders(Map)} instead. Note that {@link
* DrmConfiguration.Builder#setLicenseRequestHeaders(Map)} doesn't accept null, use an empty
* map to clear the headers.
*/ */
@Deprecated @Deprecated
public Builder setDrmLicenseRequestHeaders( public Builder setDrmLicenseRequestHeaders(
@Nullable Map<String, String> licenseRequestHeaders) { @Nullable Map<String, String> licenseRequestHeaders) {
drmConfiguration.setLicenseRequestHeaders(licenseRequestHeaders); drmConfiguration.setLicenseRequestHeaders(
licenseRequestHeaders != null ? licenseRequestHeaders : ImmutableMap.of());
return this; return this;
} }
...@@ -308,12 +311,15 @@ public final class MediaItem implements Bundleable { ...@@ -308,12 +311,15 @@ public final class MediaItem implements Bundleable {
/** /**
* @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link
* DrmConfiguration.Builder#setForcedSessionTrackTypes(List)} instead. * DrmConfiguration.Builder#setForcedSessionTrackTypes(List)} instead. Note that {@link
* DrmConfiguration.Builder#setForcedSessionTrackTypes(List)} doesn't accept null, use an
* empty list to clear the contents.
*/ */
@Deprecated @Deprecated
public Builder setDrmSessionForClearTypes( public Builder setDrmSessionForClearTypes(
@Nullable List<@C.TrackType Integer> sessionForClearTypes) { @Nullable List<@C.TrackType Integer> sessionForClearTypes) {
drmConfiguration.setForcedSessionTrackTypes(sessionForClearTypes); drmConfiguration.setForcedSessionTrackTypes(
sessionForClearTypes != null ? sessionForClearTypes : ImmutableList.of());
return this; return this;
} }
...@@ -596,11 +602,8 @@ public final class MediaItem implements Bundleable { ...@@ -596,11 +602,8 @@ public final class MediaItem implements Bundleable {
} }
/** Sets the optional request headers attached to DRM license requests. */ /** Sets the optional request headers attached to DRM license requests. */
public Builder setLicenseRequestHeaders(@Nullable Map<String, String> licenseRequestHeaders) { public Builder setLicenseRequestHeaders(Map<String, String> licenseRequestHeaders) {
this.licenseRequestHeaders = this.licenseRequestHeaders = ImmutableMap.copyOf(licenseRequestHeaders);
licenseRequestHeaders != null
? ImmutableMap.copyOf(licenseRequestHeaders)
: ImmutableMap.of();
return this; return this;
} }
...@@ -653,15 +656,10 @@ public final class MediaItem implements Bundleable { ...@@ -653,15 +656,10 @@ public final class MediaItem implements Bundleable {
* *
* <p>This method overrides what has been set by previously calling {@link * <p>This method overrides what has been set by previously calling {@link
* #forceSessionsForAudioAndVideoTracks(boolean)}. * #forceSessionsForAudioAndVideoTracks(boolean)}.
*
* <p>{@code null} or an empty {@link List} can be used for a reset.
*/ */
public Builder setForcedSessionTrackTypes( public Builder setForcedSessionTrackTypes(
@Nullable List<@C.TrackType Integer> forcedSessionTrackTypes) { List<@C.TrackType Integer> forcedSessionTrackTypes) {
this.forcedSessionTrackTypes = this.forcedSessionTrackTypes = ImmutableList.copyOf(forcedSessionTrackTypes);
forcedSessionTrackTypes != null
? ImmutableList.copyOf(forcedSessionTrackTypes)
: ImmutableList.of();
return this; return this;
} }
......
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