mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.
PiperOrigin-RevId: 342999709
This commit is contained in:
parent
483a350e84
commit
755f5b7d76
25 changed files with 193 additions and 25 deletions
|
|
@ -139,7 +139,11 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||||
@Nullable private RequestHandler requestHandler;
|
@Nullable private RequestHandler requestHandler;
|
||||||
@Nullable private ExoMediaCrypto mediaCrypto;
|
@Nullable private ExoMediaCrypto mediaCrypto;
|
||||||
@Nullable private DrmSessionException lastException;
|
@Nullable private DrmSessionException lastException;
|
||||||
@Nullable private byte[] sessionId;
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
|
@Nullable
|
||||||
|
private byte[] sessionId;
|
||||||
|
|
||||||
private byte @MonotonicNonNull [] offlineLicenseKeySetId;
|
private byte @MonotonicNonNull [] offlineLicenseKeySetId;
|
||||||
|
|
||||||
@Nullable private KeyRequest currentKeyRequest;
|
@Nullable private KeyRequest currentKeyRequest;
|
||||||
|
|
@ -164,6 +168,8 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||||
* @param loadErrorHandlingPolicy The {@link LoadErrorHandlingPolicy} for key and provisioning
|
* @param loadErrorHandlingPolicy The {@link LoadErrorHandlingPolicy} for key and provisioning
|
||||||
* requests.
|
* requests.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
public DefaultDrmSession(
|
public DefaultDrmSession(
|
||||||
UUID uuid,
|
UUID uuid,
|
||||||
ExoMediaDrm mediaDrm,
|
ExoMediaDrm mediaDrm,
|
||||||
|
|
@ -272,12 +278,16 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||||
return sessionId == null ? null : mediaDrm.queryKeyStatus(sessionId);
|
return sessionId == null ? null : mediaDrm.queryKeyStatus(sessionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public byte[] getOfflineLicenseKeySetId() {
|
public byte[] getOfflineLicenseKeySetId() {
|
||||||
return offlineLicenseKeySetId;
|
return offlineLicenseKeySetId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Override
|
@Override
|
||||||
public void acquire(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher) {
|
public void acquire(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher) {
|
||||||
checkState(referenceCount >= 0);
|
checkState(referenceCount >= 0);
|
||||||
|
|
@ -301,6 +311,8 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
|
||||||
referenceCountListener.onReferenceCountIncremented(this, referenceCount);
|
referenceCountListener.onReferenceCountIncremented(this, referenceCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Override
|
@Override
|
||||||
public void release(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher) {
|
public void release(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher) {
|
||||||
checkState(referenceCount > 0);
|
checkState(referenceCount > 0);
|
||||||
|
|
|
||||||
|
|
@ -290,7 +290,10 @@ public class DefaultDrmSessionManager implements DrmSessionManager {
|
||||||
@Nullable private Looper playbackLooper;
|
@Nullable private Looper playbackLooper;
|
||||||
private @MonotonicNonNull Handler sessionReleasingHandler;
|
private @MonotonicNonNull Handler sessionReleasingHandler;
|
||||||
private int mode;
|
private int mode;
|
||||||
@Nullable private byte[] offlineLicenseKeySetId;
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
|
@Nullable
|
||||||
|
private byte[] offlineLicenseKeySetId;
|
||||||
|
|
||||||
/* package */ volatile @Nullable MediaDrmHandler mediaDrmHandler;
|
/* package */ volatile @Nullable MediaDrmHandler mediaDrmHandler;
|
||||||
|
|
||||||
|
|
@ -430,6 +433,8 @@ public class DefaultDrmSessionManager implements DrmSessionManager {
|
||||||
* @param mode The mode to be set.
|
* @param mode The mode to be set.
|
||||||
* @param offlineLicenseKeySetId The key set id of the license to be used with the given mode.
|
* @param offlineLicenseKeySetId The key set id of the license to be used with the given mode.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
public void setMode(@Mode int mode, @Nullable byte[] offlineLicenseKeySetId) {
|
public void setMode(@Mode int mode, @Nullable byte[] offlineLicenseKeySetId) {
|
||||||
Assertions.checkState(sessions.isEmpty());
|
Assertions.checkState(sessions.isEmpty());
|
||||||
if (mode == MODE_QUERY || mode == MODE_RELEASE) {
|
if (mode == MODE_QUERY || mode == MODE_RELEASE) {
|
||||||
|
|
@ -467,6 +472,8 @@ public class DefaultDrmSessionManager implements DrmSessionManager {
|
||||||
exoMediaDrm = null;
|
exoMediaDrm = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public DrmSession acquireSession(
|
public DrmSession acquireSession(
|
||||||
|
|
@ -618,6 +625,8 @@ public class DefaultDrmSessionManager implements DrmSessionManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
private DefaultDrmSession createAndAcquireSessionWithRetry(
|
private DefaultDrmSession createAndAcquireSessionWithRetry(
|
||||||
@Nullable List<SchemeData> schemeDatas,
|
@Nullable List<SchemeData> schemeDatas,
|
||||||
boolean isPlaceholderSession,
|
boolean isPlaceholderSession,
|
||||||
|
|
@ -657,6 +666,8 @@ public class DefaultDrmSessionManager implements DrmSessionManager {
|
||||||
* <p>If {@link #sessionKeepaliveMs} != {@link C#TIME_UNSET} then acquires it again to allow the
|
* <p>If {@link #sessionKeepaliveMs} != {@link C#TIME_UNSET} then acquires it again to allow the
|
||||||
* manager to keep it alive (passing in {@code eventDispatcher=null}.
|
* manager to keep it alive (passing in {@code eventDispatcher=null}.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
private DefaultDrmSession createAndAcquireSession(
|
private DefaultDrmSession createAndAcquireSession(
|
||||||
@Nullable List<SchemeData> schemeDatas,
|
@Nullable List<SchemeData> schemeDatas,
|
||||||
boolean isPlaceholderSession,
|
boolean isPlaceholderSession,
|
||||||
|
|
@ -817,6 +828,8 @@ public class DefaultDrmSessionManager implements DrmSessionManager {
|
||||||
|
|
||||||
private class MediaDrmEventListener implements OnEventListener {
|
private class MediaDrmEventListener implements OnEventListener {
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(
|
public void onEvent(
|
||||||
ExoMediaDrm md, @Nullable byte[] sessionId, int event, int extra, @Nullable byte[] data) {
|
ExoMediaDrm md, @Nullable byte[] sessionId, int event, int extra, @Nullable byte[] data) {
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,8 @@ public interface DrmSession {
|
||||||
* Returns the key set id of the offline license loaded into this session, or null if there isn't
|
* Returns the key set id of the offline license loaded into this session, or null if there isn't
|
||||||
* one.
|
* one.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Nullable
|
@Nullable
|
||||||
byte[] getOfflineLicenseKeySetId();
|
byte[] getOfflineLicenseKeySetId();
|
||||||
|
|
||||||
|
|
@ -142,6 +144,8 @@ public interface DrmSession {
|
||||||
* @param eventDispatcher The {@link DrmSessionEventListener.EventDispatcher} used to route
|
* @param eventDispatcher The {@link DrmSessionEventListener.EventDispatcher} used to route
|
||||||
* DRM-related events dispatched from this session, or null if no event handling is needed.
|
* DRM-related events dispatched from this session, or null if no event handling is needed.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
void acquire(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher);
|
void acquire(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -152,5 +156,7 @@ public interface DrmSession {
|
||||||
* the session is released (the same instance (possibly null) that was passed by the caller to
|
* the session is released (the same instance (possibly null) that was passed by the caller to
|
||||||
* {@link #acquire(DrmSessionEventListener.EventDispatcher)}).
|
* {@link #acquire(DrmSessionEventListener.EventDispatcher)}).
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
void release(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher);
|
void release(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ public interface DrmSessionManager {
|
||||||
DrmSessionManager DUMMY =
|
DrmSessionManager DUMMY =
|
||||||
new DrmSessionManager() {
|
new DrmSessionManager() {
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public DrmSession acquireSession(
|
public DrmSession acquireSession(
|
||||||
|
|
@ -89,6 +91,8 @@ public interface DrmSessionManager {
|
||||||
* @param format The {@link Format} for which to acquire a {@link DrmSession}.
|
* @param format The {@link Format} for which to acquire a {@link DrmSession}.
|
||||||
* @return The DRM session. May be null if the given {@link Format#drmInitData} is null.
|
* @return The DRM session. May be null if the given {@link Format#drmInitData} is null.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Nullable
|
@Nullable
|
||||||
DrmSession acquireSession(
|
DrmSession acquireSession(
|
||||||
Looper playbackLooper,
|
Looper playbackLooper,
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,8 @@ public final class DummyExoMediaDrm implements ExoMediaDrm {
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public byte[] provideKeyResponse(byte[] scope, byte[] response) {
|
public byte[] provideKeyResponse(byte[] scope, byte[] response) {
|
||||||
|
|
|
||||||
|
|
@ -63,17 +63,23 @@ public final class ErrorStateDrmSession implements DrmSession {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public byte[] getOfflineLicenseKeySetId() {
|
public byte[] getOfflineLicenseKeySetId() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Override
|
@Override
|
||||||
public void acquire(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher) {
|
public void acquire(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher) {
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Override
|
@Override
|
||||||
public void release(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher) {
|
public void release(@Nullable DrmSessionEventListener.EventDispatcher eventDispatcher) {
|
||||||
// Do nothing.
|
// Do nothing.
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,8 @@ public interface ExoMediaDrm {
|
||||||
* @param extra A secondary error code.
|
* @param extra A secondary error code.
|
||||||
* @param data Optional byte array of data that may be associated with the event.
|
* @param data Optional byte array of data that may be associated with the event.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
void onEvent(
|
void onEvent(
|
||||||
ExoMediaDrm mediaDrm,
|
ExoMediaDrm mediaDrm,
|
||||||
@Nullable byte[] sessionId,
|
@Nullable byte[] sessionId,
|
||||||
|
|
@ -294,6 +296,8 @@ public interface ExoMediaDrm {
|
||||||
throws NotProvisionedException;
|
throws NotProvisionedException;
|
||||||
|
|
||||||
/** @see MediaDrm#provideKeyResponse(byte[], byte[]) */
|
/** @see MediaDrm#provideKeyResponse(byte[], byte[]) */
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Nullable
|
@Nullable
|
||||||
byte[] provideKeyResponse(byte[] scope, byte[] response)
|
byte[] provideKeyResponse(byte[] scope, byte[] response)
|
||||||
throws NotProvisionedException, DeniedByServerException;
|
throws NotProvisionedException, DeniedByServerException;
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,8 @@ public final class FrameworkMediaDrm implements ExoMediaDrm {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Override
|
@Override
|
||||||
public void setOnEventListener(@Nullable ExoMediaDrm.OnEventListener listener) {
|
public void setOnEventListener(@Nullable ExoMediaDrm.OnEventListener listener) {
|
||||||
mediaDrm.setOnEventListener(
|
mediaDrm.setOnEventListener(
|
||||||
|
|
@ -127,6 +129,8 @@ public final class FrameworkMediaDrm implements ExoMediaDrm {
|
||||||
* @param listener The listener to receive events, or {@code null} to stop receiving events.
|
* @param listener The listener to receive events, or {@code null} to stop receiving events.
|
||||||
* @throws UnsupportedOperationException on API levels lower than 23.
|
* @throws UnsupportedOperationException on API levels lower than 23.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Override
|
@Override
|
||||||
@RequiresApi(23)
|
@RequiresApi(23)
|
||||||
public void setOnKeyStatusChangeListener(
|
public void setOnKeyStatusChangeListener(
|
||||||
|
|
@ -213,6 +217,8 @@ public final class FrameworkMediaDrm implements ExoMediaDrm {
|
||||||
return new KeyRequest(requestData, licenseServerUrl);
|
return new KeyRequest(requestData, licenseServerUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public byte[] provideKeyResponse(byte[] scope, byte[] response)
|
public byte[] provideKeyResponse(byte[] scope, byte[] response)
|
||||||
|
|
|
||||||
|
|
@ -153,6 +153,8 @@ public final class HttpMediaDrmCallback implements MediaDrmCallback {
|
||||||
return executePost(dataSourceFactory, url, request.getData(), requestProperties);
|
return executePost(dataSourceFactory, url, request.getData(), requestProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
private static byte[] executePost(
|
private static byte[] executePost(
|
||||||
HttpDataSource.Factory dataSourceFactory,
|
HttpDataSource.Factory dataSourceFactory,
|
||||||
String url,
|
String url,
|
||||||
|
|
|
||||||
|
|
@ -262,6 +262,8 @@ public final class OfflineLicenseHelper {
|
||||||
handlerThread.quit();
|
handlerThread.quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
private byte[] blockingKeyRequest(
|
private byte[] blockingKeyRequest(
|
||||||
@Mode int licenseMode, @Nullable byte[] offlineLicenseKeySetId, Format format)
|
@Mode int licenseMode, @Nullable byte[] offlineLicenseKeySetId, Format format)
|
||||||
throws DrmSessionException {
|
throws DrmSessionException {
|
||||||
|
|
@ -277,6 +279,8 @@ public final class OfflineLicenseHelper {
|
||||||
return Assertions.checkNotNull(keySetId);
|
return Assertions.checkNotNull(keySetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
private DrmSession openBlockingKeyRequest(
|
private DrmSession openBlockingKeyRequest(
|
||||||
@Mode int licenseMode, @Nullable byte[] offlineLicenseKeySetId, Format format) {
|
@Mode int licenseMode, @Nullable byte[] offlineLicenseKeySetId, Format format) {
|
||||||
Assertions.checkNotNull(format.drmInitData);
|
Assertions.checkNotNull(format.drmInitData);
|
||||||
|
|
|
||||||
|
|
@ -222,8 +222,14 @@ public class DefaultTimeBar extends View implements TimeBar {
|
||||||
private long position;
|
private long position;
|
||||||
private long bufferedPosition;
|
private long bufferedPosition;
|
||||||
private int adGroupCount;
|
private int adGroupCount;
|
||||||
@Nullable private long[] adGroupTimesMs;
|
// nullness annotations are not applicable to primitive types
|
||||||
@Nullable private boolean[] playedAdGroups;
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
|
@Nullable
|
||||||
|
private long[] adGroupTimesMs;
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
|
@Nullable
|
||||||
|
private boolean[] playedAdGroups;
|
||||||
|
|
||||||
public DefaultTimeBar(Context context) {
|
public DefaultTimeBar(Context context) {
|
||||||
this(context, null);
|
this(context, null);
|
||||||
|
|
@ -527,9 +533,11 @@ public class DefaultTimeBar extends View implements TimeBar {
|
||||||
: duration / timeBarWidthDp;
|
: duration / timeBarWidthDp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Override
|
@Override
|
||||||
public void setAdGroupTimesMs(@Nullable long[] adGroupTimesMs, @Nullable boolean[] playedAdGroups,
|
public void setAdGroupTimesMs(
|
||||||
int adGroupCount) {
|
@Nullable long[] adGroupTimesMs, @Nullable boolean[] playedAdGroups, int adGroupCount) {
|
||||||
Assertions.checkArgument(adGroupCount == 0
|
Assertions.checkArgument(adGroupCount == 0
|
||||||
|| (adGroupTimesMs != null && playedAdGroups != null));
|
|| (adGroupTimesMs != null && playedAdGroups != null));
|
||||||
this.adGroupCount = adGroupCount;
|
this.adGroupCount = adGroupCount;
|
||||||
|
|
|
||||||
|
|
@ -568,6 +568,8 @@ public class PlayerControlView extends FrameLayout {
|
||||||
* @param extraPlayedAdGroups Whether each ad has been played. Must be the same length as {@code
|
* @param extraPlayedAdGroups Whether each ad has been played. Must be the same length as {@code
|
||||||
* extraAdGroupTimesMs}, or {@code null} if {@code extraAdGroupTimesMs} is {@code null}.
|
* extraAdGroupTimesMs}, or {@code null} if {@code extraAdGroupTimesMs} is {@code null}.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
public void setExtraAdGroupMarkers(
|
public void setExtraAdGroupMarkers(
|
||||||
@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups) {
|
@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups) {
|
||||||
if (extraAdGroupTimesMs == null) {
|
if (extraAdGroupTimesMs == null) {
|
||||||
|
|
|
||||||
|
|
@ -373,7 +373,11 @@ public class PlayerNotificationManager {
|
||||||
private final int instanceId;
|
private final int instanceId;
|
||||||
private final Timeline.Window window;
|
private final Timeline.Window window;
|
||||||
|
|
||||||
@Nullable private NotificationCompat.Builder builder;
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
private NotificationCompat.Builder builder;
|
||||||
|
|
||||||
@Nullable private List<NotificationCompat.Action> builderActions;
|
@Nullable private List<NotificationCompat.Action> builderActions;
|
||||||
@Nullable private Player player;
|
@Nullable private Player player;
|
||||||
@Nullable private PlaybackPreparer playbackPreparer;
|
@Nullable private PlaybackPreparer playbackPreparer;
|
||||||
|
|
@ -381,7 +385,11 @@ public class PlayerNotificationManager {
|
||||||
private boolean isNotificationStarted;
|
private boolean isNotificationStarted;
|
||||||
private int currentNotificationTag;
|
private int currentNotificationTag;
|
||||||
@Nullable private NotificationListener notificationListener;
|
@Nullable private NotificationListener notificationListener;
|
||||||
@Nullable private MediaSessionCompat.Token mediaSessionToken;
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
private MediaSessionCompat.Token mediaSessionToken;
|
||||||
|
|
||||||
private boolean useNavigationActions;
|
private boolean useNavigationActions;
|
||||||
private boolean useNavigationActionsInCompactView;
|
private boolean useNavigationActionsInCompactView;
|
||||||
private boolean usePlayPauseActions;
|
private boolean usePlayPauseActions;
|
||||||
|
|
@ -1039,6 +1047,8 @@ public class PlayerNotificationManager {
|
||||||
* NotificationCompat.Builder#build()} to obtain the notification, or {@code null} if no
|
* NotificationCompat.Builder#build()} to obtain the notification, or {@code null} if no
|
||||||
* notification should be displayed.
|
* notification should be displayed.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Nullable
|
@Nullable
|
||||||
protected NotificationCompat.Builder createNotification(
|
protected NotificationCompat.Builder createNotification(
|
||||||
Player player,
|
Player player,
|
||||||
|
|
@ -1054,6 +1064,8 @@ public class PlayerNotificationManager {
|
||||||
List<NotificationCompat.Action> actions = new ArrayList<>(actionNames.size());
|
List<NotificationCompat.Action> actions = new ArrayList<>(actionNames.size());
|
||||||
for (int i = 0; i < actionNames.size(); i++) {
|
for (int i = 0; i < actionNames.size(); i++) {
|
||||||
String actionName = actionNames.get(i);
|
String actionName = actionNames.get(i);
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
@Nullable
|
@Nullable
|
||||||
NotificationCompat.Action action =
|
NotificationCompat.Action action =
|
||||||
playbackActions.containsKey(actionName)
|
playbackActions.containsKey(actionName)
|
||||||
|
|
|
||||||
|
|
@ -309,7 +309,11 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider
|
||||||
|
|
||||||
@Nullable private Player player;
|
@Nullable private Player player;
|
||||||
private boolean useController;
|
private boolean useController;
|
||||||
@Nullable private PlayerControlView.VisibilityListener controllerVisibilityListener;
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
private PlayerControlView.VisibilityListener controllerVisibilityListener;
|
||||||
|
|
||||||
private boolean useArtwork;
|
private boolean useArtwork;
|
||||||
@Nullable private Drawable defaultArtwork;
|
@Nullable private Drawable defaultArtwork;
|
||||||
private @ShowBuffering int showBuffering;
|
private @ShowBuffering int showBuffering;
|
||||||
|
|
@ -564,7 +568,10 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider
|
||||||
@Nullable Player oldPlayer = this.player;
|
@Nullable Player oldPlayer = this.player;
|
||||||
if (oldPlayer != null) {
|
if (oldPlayer != null) {
|
||||||
oldPlayer.removeListener(componentListener);
|
oldPlayer.removeListener(componentListener);
|
||||||
@Nullable Player.VideoComponent oldVideoComponent = oldPlayer.getVideoComponent();
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
Player.VideoComponent oldVideoComponent = oldPlayer.getVideoComponent();
|
||||||
if (oldVideoComponent != null) {
|
if (oldVideoComponent != null) {
|
||||||
oldVideoComponent.removeVideoListener(componentListener);
|
oldVideoComponent.removeVideoListener(componentListener);
|
||||||
if (surfaceView instanceof TextureView) {
|
if (surfaceView instanceof TextureView) {
|
||||||
|
|
@ -577,7 +584,10 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider
|
||||||
oldVideoComponent.clearVideoSurfaceView((SurfaceView) surfaceView);
|
oldVideoComponent.clearVideoSurfaceView((SurfaceView) surfaceView);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Nullable Player.TextComponent oldTextComponent = oldPlayer.getTextComponent();
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
Player.TextComponent oldTextComponent = oldPlayer.getTextComponent();
|
||||||
if (oldTextComponent != null) {
|
if (oldTextComponent != null) {
|
||||||
oldTextComponent.removeTextOutput(componentListener);
|
oldTextComponent.removeTextOutput(componentListener);
|
||||||
}
|
}
|
||||||
|
|
@ -593,7 +603,10 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider
|
||||||
updateErrorMessage();
|
updateErrorMessage();
|
||||||
updateForCurrentTrackSelections(/* isNewPlayer= */ true);
|
updateForCurrentTrackSelections(/* isNewPlayer= */ true);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
@Nullable Player.VideoComponent newVideoComponent = player.getVideoComponent();
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
Player.VideoComponent newVideoComponent = player.getVideoComponent();
|
||||||
if (newVideoComponent != null) {
|
if (newVideoComponent != null) {
|
||||||
if (surfaceView instanceof TextureView) {
|
if (surfaceView instanceof TextureView) {
|
||||||
newVideoComponent.setVideoTextureView((TextureView) surfaceView);
|
newVideoComponent.setVideoTextureView((TextureView) surfaceView);
|
||||||
|
|
@ -607,7 +620,10 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider
|
||||||
}
|
}
|
||||||
newVideoComponent.addVideoListener(componentListener);
|
newVideoComponent.addVideoListener(componentListener);
|
||||||
}
|
}
|
||||||
@Nullable Player.TextComponent newTextComponent = player.getTextComponent();
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
Player.TextComponent newTextComponent = player.getTextComponent();
|
||||||
if (newTextComponent != null) {
|
if (newTextComponent != null) {
|
||||||
newTextComponent.addTextOutput(componentListener);
|
newTextComponent.addTextOutput(componentListener);
|
||||||
if (subtitleView != null) {
|
if (subtitleView != null) {
|
||||||
|
|
@ -966,6 +982,8 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider
|
||||||
* @param listener The listener to be notified about visibility changes, or null to remove the
|
* @param listener The listener to be notified about visibility changes, or null to remove the
|
||||||
* current listener.
|
* current listener.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
public void setControllerVisibilityListener(
|
public void setControllerVisibilityListener(
|
||||||
@Nullable PlayerControlView.VisibilityListener listener) {
|
@Nullable PlayerControlView.VisibilityListener listener) {
|
||||||
Assertions.checkStateNotNull(controller);
|
Assertions.checkStateNotNull(controller);
|
||||||
|
|
@ -1108,6 +1126,8 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider
|
||||||
* @param extraPlayedAdGroups Whether each ad has been played, or {@code null} to show no extra ad
|
* @param extraPlayedAdGroups Whether each ad has been played, or {@code null} to show no extra ad
|
||||||
* markers.
|
* markers.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
public void setExtraAdGroupMarkers(
|
public void setExtraAdGroupMarkers(
|
||||||
@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups) {
|
@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups) {
|
||||||
Assertions.checkStateNotNull(controller);
|
Assertions.checkStateNotNull(controller);
|
||||||
|
|
@ -1120,6 +1140,8 @@ public class PlayerView extends FrameLayout implements AdsLoader.AdViewProvider
|
||||||
* @param listener The listener to be notified about aspect ratios changes of the video content or
|
* @param listener The listener to be notified about aspect ratios changes of the video content or
|
||||||
* the content frame.
|
* the content frame.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
public void setAspectRatioListener(
|
public void setAspectRatioListener(
|
||||||
@Nullable AspectRatioFrameLayout.AspectRatioListener listener) {
|
@Nullable AspectRatioFrameLayout.AspectRatioListener listener) {
|
||||||
Assertions.checkStateNotNull(contentFrame);
|
Assertions.checkStateNotNull(contentFrame);
|
||||||
|
|
|
||||||
|
|
@ -791,6 +791,8 @@ public class StyledPlayerControlView extends FrameLayout {
|
||||||
* @param extraPlayedAdGroups Whether each ad has been played. Must be the same length as {@code
|
* @param extraPlayedAdGroups Whether each ad has been played. Must be the same length as {@code
|
||||||
* extraAdGroupTimesMs}, or {@code null} if {@code extraAdGroupTimesMs} is {@code null}.
|
* extraAdGroupTimesMs}, or {@code null} if {@code extraAdGroupTimesMs} is {@code null}.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
public void setExtraAdGroupMarkers(
|
public void setExtraAdGroupMarkers(
|
||||||
@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups) {
|
@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups) {
|
||||||
if (extraAdGroupTimesMs == null) {
|
if (extraAdGroupTimesMs == null) {
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,11 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
|
|
||||||
@Nullable private Player player;
|
@Nullable private Player player;
|
||||||
private boolean useController;
|
private boolean useController;
|
||||||
@Nullable private StyledPlayerControlView.VisibilityListener controllerVisibilityListener;
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
private StyledPlayerControlView.VisibilityListener controllerVisibilityListener;
|
||||||
|
|
||||||
private boolean useArtwork;
|
private boolean useArtwork;
|
||||||
@Nullable private Drawable defaultArtwork;
|
@Nullable private Drawable defaultArtwork;
|
||||||
private @ShowBuffering int showBuffering;
|
private @ShowBuffering int showBuffering;
|
||||||
|
|
@ -573,7 +577,10 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
@Nullable Player oldPlayer = this.player;
|
@Nullable Player oldPlayer = this.player;
|
||||||
if (oldPlayer != null) {
|
if (oldPlayer != null) {
|
||||||
oldPlayer.removeListener(componentListener);
|
oldPlayer.removeListener(componentListener);
|
||||||
@Nullable Player.VideoComponent oldVideoComponent = oldPlayer.getVideoComponent();
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
Player.VideoComponent oldVideoComponent = oldPlayer.getVideoComponent();
|
||||||
if (oldVideoComponent != null) {
|
if (oldVideoComponent != null) {
|
||||||
oldVideoComponent.removeVideoListener(componentListener);
|
oldVideoComponent.removeVideoListener(componentListener);
|
||||||
if (surfaceView instanceof TextureView) {
|
if (surfaceView instanceof TextureView) {
|
||||||
|
|
@ -586,7 +593,10 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
oldVideoComponent.clearVideoSurfaceView((SurfaceView) surfaceView);
|
oldVideoComponent.clearVideoSurfaceView((SurfaceView) surfaceView);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Nullable Player.TextComponent oldTextComponent = oldPlayer.getTextComponent();
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
Player.TextComponent oldTextComponent = oldPlayer.getTextComponent();
|
||||||
if (oldTextComponent != null) {
|
if (oldTextComponent != null) {
|
||||||
oldTextComponent.removeTextOutput(componentListener);
|
oldTextComponent.removeTextOutput(componentListener);
|
||||||
}
|
}
|
||||||
|
|
@ -602,7 +612,10 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
updateErrorMessage();
|
updateErrorMessage();
|
||||||
updateForCurrentTrackSelections(/* isNewPlayer= */ true);
|
updateForCurrentTrackSelections(/* isNewPlayer= */ true);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
@Nullable Player.VideoComponent newVideoComponent = player.getVideoComponent();
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
Player.VideoComponent newVideoComponent = player.getVideoComponent();
|
||||||
if (newVideoComponent != null) {
|
if (newVideoComponent != null) {
|
||||||
if (surfaceView instanceof TextureView) {
|
if (surfaceView instanceof TextureView) {
|
||||||
newVideoComponent.setVideoTextureView((TextureView) surfaceView);
|
newVideoComponent.setVideoTextureView((TextureView) surfaceView);
|
||||||
|
|
@ -616,7 +629,10 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
}
|
}
|
||||||
newVideoComponent.addVideoListener(componentListener);
|
newVideoComponent.addVideoListener(componentListener);
|
||||||
}
|
}
|
||||||
@Nullable Player.TextComponent newTextComponent = player.getTextComponent();
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
Player.TextComponent newTextComponent = player.getTextComponent();
|
||||||
if (newTextComponent != null) {
|
if (newTextComponent != null) {
|
||||||
newTextComponent.addTextOutput(componentListener);
|
newTextComponent.addTextOutput(componentListener);
|
||||||
if (subtitleView != null) {
|
if (subtitleView != null) {
|
||||||
|
|
@ -950,6 +966,8 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
* @param listener The listener to be notified about visibility changes, or null to remove the
|
* @param listener The listener to be notified about visibility changes, or null to remove the
|
||||||
* current listener.
|
* current listener.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
public void setControllerVisibilityListener(
|
public void setControllerVisibilityListener(
|
||||||
@Nullable StyledPlayerControlView.VisibilityListener listener) {
|
@Nullable StyledPlayerControlView.VisibilityListener listener) {
|
||||||
Assertions.checkStateNotNull(controller);
|
Assertions.checkStateNotNull(controller);
|
||||||
|
|
@ -971,6 +989,8 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
* @param listener The listener to be notified when the fullscreen button is clicked, or null to
|
* @param listener The listener to be notified when the fullscreen button is clicked, or null to
|
||||||
* remove the current listener and hide the fullscreen button.
|
* remove the current listener and hide the fullscreen button.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
public void setControllerOnFullScreenModeChangedListener(
|
public void setControllerOnFullScreenModeChangedListener(
|
||||||
@Nullable StyledPlayerControlView.OnFullScreenModeChangedListener listener) {
|
@Nullable StyledPlayerControlView.OnFullScreenModeChangedListener listener) {
|
||||||
Assertions.checkStateNotNull(controller);
|
Assertions.checkStateNotNull(controller);
|
||||||
|
|
@ -1102,6 +1122,8 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
* @param extraPlayedAdGroups Whether each ad has been played, or {@code null} to show no extra ad
|
* @param extraPlayedAdGroups Whether each ad has been played, or {@code null} to show no extra ad
|
||||||
* markers.
|
* markers.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
public void setExtraAdGroupMarkers(
|
public void setExtraAdGroupMarkers(
|
||||||
@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups) {
|
@Nullable long[] extraAdGroupTimesMs, @Nullable boolean[] extraPlayedAdGroups) {
|
||||||
Assertions.checkStateNotNull(controller);
|
Assertions.checkStateNotNull(controller);
|
||||||
|
|
@ -1114,6 +1136,8 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro
|
||||||
* @param listener The listener to be notified about aspect ratios changes of the video content or
|
* @param listener The listener to be notified about aspect ratios changes of the video content or
|
||||||
* the content frame.
|
* the content frame.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
public void setAspectRatioListener(
|
public void setAspectRatioListener(
|
||||||
@Nullable AspectRatioFrameLayout.AspectRatioListener listener) {
|
@Nullable AspectRatioFrameLayout.AspectRatioListener listener) {
|
||||||
Assertions.checkStateNotNull(contentFrame);
|
Assertions.checkStateNotNull(contentFrame);
|
||||||
|
|
|
||||||
|
|
@ -102,8 +102,10 @@ public interface TimeBar {
|
||||||
* groups.
|
* groups.
|
||||||
* @param adGroupCount The number of ad groups.
|
* @param adGroupCount The number of ad groups.
|
||||||
*/
|
*/
|
||||||
void setAdGroupTimesMs(@Nullable long[] adGroupTimesMs, @Nullable boolean[] playedAdGroups,
|
// nullness annotations are not applicable to primitive types
|
||||||
int adGroupCount);
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
|
void setAdGroupTimesMs(
|
||||||
|
@Nullable long[] adGroupTimesMs, @Nullable boolean[] playedAdGroups, int adGroupCount);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Listener for scrubbing events.
|
* Listener for scrubbing events.
|
||||||
|
|
|
||||||
|
|
@ -374,6 +374,8 @@ import java.util.Map;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
private static String convertAlignmentToCss(@Nullable Layout.Alignment alignment) {
|
private static String convertAlignmentToCss(@Nullable Layout.Alignment alignment) {
|
||||||
if (alignment == null) {
|
if (alignment == null) {
|
||||||
return "center";
|
return "center";
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,8 @@ public final class CapturingAudioSink extends ForwardingAudioSink implements Dum
|
||||||
interceptedData = new ArrayList<>();
|
interceptedData = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Override
|
@Override
|
||||||
public void configure(Format inputFormat, int specifiedBufferSize, @Nullable int[] outputChannels)
|
public void configure(Format inputFormat, int specifiedBufferSize, @Nullable int[] outputChannels)
|
||||||
throws ConfigurationException {
|
throws ConfigurationException {
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,11 @@ public final class DownloadBuilder {
|
||||||
private Uri uri;
|
private Uri uri;
|
||||||
@Nullable private String mimeType;
|
@Nullable private String mimeType;
|
||||||
private List<StreamKey> streamKeys;
|
private List<StreamKey> streamKeys;
|
||||||
@Nullable private byte[] keySetId;
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
|
@Nullable
|
||||||
|
private byte[] keySetId;
|
||||||
|
|
||||||
@Nullable private String cacheKey;
|
@Nullable private String cacheKey;
|
||||||
private byte[] customMetadata;
|
private byte[] customMetadata;
|
||||||
|
|
||||||
|
|
@ -85,6 +89,8 @@ public final class DownloadBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Creates a download builder. */
|
/** Creates a download builder. */
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
private DownloadBuilder(
|
private DownloadBuilder(
|
||||||
String id,
|
String id,
|
||||||
Uri uri,
|
Uri uri,
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,8 @@ public final class Dumper {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
public Dumper add(String field, @Nullable byte[] value) {
|
public Dumper add(String field, @Nullable byte[] value) {
|
||||||
String string =
|
String string =
|
||||||
String.format(
|
String.format(
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,11 @@ public class FakeDataSet {
|
||||||
public static final class Segment {
|
public static final class Segment {
|
||||||
|
|
||||||
@Nullable public final IOException exception;
|
@Nullable public final IOException exception;
|
||||||
@Nullable public final byte[] data;
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
|
@Nullable
|
||||||
|
public final byte[] data;
|
||||||
|
|
||||||
public final int length;
|
public final int length;
|
||||||
public final long byteOffset;
|
public final long byteOffset;
|
||||||
@Nullable public final Runnable action;
|
@Nullable public final Runnable action;
|
||||||
|
|
@ -105,6 +109,8 @@ public class FakeDataSet {
|
||||||
this(null, 0, null, action, previousSegment);
|
this(null, 0, null, action, previousSegment);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
private Segment(
|
private Segment(
|
||||||
@Nullable byte[] data,
|
@Nullable byte[] data,
|
||||||
int length,
|
int length,
|
||||||
|
|
|
||||||
|
|
@ -170,6 +170,8 @@ public final class FakeExoMediaDrm implements ExoMediaDrm {
|
||||||
return new KeyRequest(requestData.toByteArray(), /* licenseServerUrl= */ "");
|
return new KeyRequest(requestData.toByteArray(), /* licenseServerUrl= */ "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public byte[] provideKeyResponse(byte[] scope, byte[] response)
|
public byte[] provideKeyResponse(byte[] scope, byte[] response)
|
||||||
|
|
@ -243,7 +245,10 @@ public final class FakeExoMediaDrm implements ExoMediaDrm {
|
||||||
@Override
|
@Override
|
||||||
public byte[] getPropertyByteArray(String propertyName) {
|
public byte[] getPropertyByteArray(String propertyName) {
|
||||||
Assertions.checkState(referenceCount > 0);
|
Assertions.checkState(referenceCount > 0);
|
||||||
@Nullable byte[] value = byteProperties.get(propertyName);
|
// nullness annotations are not applicable to primitive types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.primitive")
|
||||||
|
@Nullable
|
||||||
|
byte[] value = byteProperties.get(propertyName);
|
||||||
if (value == null) {
|
if (value == null) {
|
||||||
throw new IllegalArgumentException("Unrecognized propertyName: " + propertyName);
|
throw new IllegalArgumentException("Unrecognized propertyName: " + propertyName);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,11 @@ public class FakeMediaSource extends BaseMediaSource {
|
||||||
private static final int MANIFEST_LOAD_BYTES = 100;
|
private static final int MANIFEST_LOAD_BYTES = 100;
|
||||||
|
|
||||||
private final TrackGroupArray trackGroupArray;
|
private final TrackGroupArray trackGroupArray;
|
||||||
@Nullable private final FakeMediaPeriod.TrackDataFactory trackDataFactory;
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
private final FakeMediaPeriod.TrackDataFactory trackDataFactory;
|
||||||
|
|
||||||
private final ArrayList<FakeMediaPeriod> activeMediaPeriods;
|
private final ArrayList<FakeMediaPeriod> activeMediaPeriods;
|
||||||
private final ArrayList<MediaPeriodId> createdMediaPeriods;
|
private final ArrayList<MediaPeriodId> createdMediaPeriods;
|
||||||
private final DrmSessionManager drmSessionManager;
|
private final DrmSessionManager drmSessionManager;
|
||||||
|
|
@ -121,6 +125,8 @@ public class FakeMediaSource extends BaseMediaSource {
|
||||||
* null to prevent an immediate source info refresh message when preparing the media source. It
|
* null to prevent an immediate source info refresh message when preparing the media source. It
|
||||||
* can be manually set later using {@link #setNewSourceInfo(Timeline)}.
|
* can be manually set later using {@link #setNewSourceInfo(Timeline)}.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
public FakeMediaSource(
|
public FakeMediaSource(
|
||||||
@Nullable Timeline timeline,
|
@Nullable Timeline timeline,
|
||||||
DrmSessionManager drmSessionManager,
|
DrmSessionManager drmSessionManager,
|
||||||
|
|
@ -136,6 +142,8 @@ public class FakeMediaSource extends BaseMediaSource {
|
||||||
* immediate source info refresh message when preparing the media source. It can be manually set
|
* immediate source info refresh message when preparing the media source. It can be manually set
|
||||||
* later using {@link #setNewSourceInfo(Timeline)}.
|
* later using {@link #setNewSourceInfo(Timeline)}.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
public FakeMediaSource(
|
public FakeMediaSource(
|
||||||
@Nullable Timeline timeline,
|
@Nullable Timeline timeline,
|
||||||
DrmSessionManager drmSessionManager,
|
DrmSessionManager drmSessionManager,
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,11 @@ public class FakeSampleStream implements SampleStream {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable private final MediaSourceEventListener.EventDispatcher mediaSourceEventDispatcher;
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
|
@Nullable
|
||||||
|
private final MediaSourceEventListener.EventDispatcher mediaSourceEventDispatcher;
|
||||||
|
|
||||||
private final Format initialFormat;
|
private final Format initialFormat;
|
||||||
private final List<FakeSampleStreamItem> fakeSampleStreamItems;
|
private final List<FakeSampleStreamItem> fakeSampleStreamItems;
|
||||||
private final DrmSessionManager drmSessionManager;
|
private final DrmSessionManager drmSessionManager;
|
||||||
|
|
@ -153,6 +157,8 @@ public class FakeSampleStream implements SampleStream {
|
||||||
* return every time readData is called. This should usually end with {@link
|
* return every time readData is called. This should usually end with {@link
|
||||||
* FakeSampleStreamItem#END_OF_STREAM_ITEM}.
|
* FakeSampleStreamItem#END_OF_STREAM_ITEM}.
|
||||||
*/
|
*/
|
||||||
|
// nullness annotations are not applicable to outer types
|
||||||
|
@SuppressWarnings("nullness:nullness.on.outer")
|
||||||
public FakeSampleStream(
|
public FakeSampleStream(
|
||||||
@Nullable MediaSourceEventListener.EventDispatcher mediaSourceEventDispatcher,
|
@Nullable MediaSourceEventListener.EventDispatcher mediaSourceEventDispatcher,
|
||||||
DrmSessionManager drmSessionManager,
|
DrmSessionManager drmSessionManager,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue