Suppress warnings in preparation for Checker Framework 3.7.1 upgrade.

PiperOrigin-RevId: 342999390
This commit is contained in:
olly 2020-11-18 04:02:13 +00:00 committed by Ian Baker
parent 48d3d63144
commit 483a350e84
23 changed files with 183 additions and 23 deletions

View File

@ -52,8 +52,14 @@ import javax.microedition.khronos.opengles.GL10;
private final Canvas overlayCanvas; private final Canvas overlayCanvas;
private int program; private int program;
@Nullable private GlUtil.Attribute[] attributes; // nullness annotations are not applicable to outer types
@Nullable private GlUtil.Uniform[] uniforms; @SuppressWarnings("nullness:nullness.on.outer")
@Nullable
private GlUtil.Attribute[] attributes;
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
private GlUtil.Uniform[] uniforms;
private float bitmapScaleX; private float bitmapScaleX;
private float bitmapScaleY; private float bitmapScaleY;

View File

@ -72,7 +72,10 @@ public final class VideoProcessingGLSurfaceView extends GLSurfaceView {
@Nullable private SurfaceTexture surfaceTexture; @Nullable private SurfaceTexture surfaceTexture;
@Nullable private Surface surface; @Nullable private Surface surface;
@Nullable private Player.VideoComponent videoComponent; // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
private Player.VideoComponent videoComponent;
/** /**
* Creates a new instance. Pass {@code true} for {@code requireSecureContext} if the {@link * Creates a new instance. Pass {@code true} for {@code requireSecureContext} if the {@link
@ -151,6 +154,8 @@ public final class VideoProcessingGLSurfaceView extends GLSurfaceView {
* *
* @param newVideoComponent The new video component, or {@code null} to detach this view. * @param newVideoComponent The new video component, or {@code null} to detach this view.
*/ */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
public void setVideoComponent(@Nullable Player.VideoComponent newVideoComponent) { public void setVideoComponent(@Nullable Player.VideoComponent newVideoComponent) {
if (newVideoComponent == videoComponent) { if (newVideoComponent == videoComponent) {
return; return;

View File

@ -649,7 +649,10 @@ import java.util.Map;
return lastVolumePercent; return lastVolumePercent;
} }
@Nullable Player.AudioComponent audioComponent = player.getAudioComponent(); // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
Player.AudioComponent audioComponent = player.getAudioComponent();
if (audioComponent != null) { if (audioComponent != null) {
return (int) (audioComponent.getVolume() * 100); return (int) (audioComponent.getVolume() * 100);
} }

View File

@ -107,7 +107,11 @@ public final class ImaAdsLoader implements Player.EventListener, AdsLoader {
@Nullable private ImaSdkSettings imaSdkSettings; @Nullable private ImaSdkSettings imaSdkSettings;
@Nullable private AdErrorListener adErrorListener; @Nullable private AdErrorListener adErrorListener;
@Nullable private AdEventListener adEventListener; @Nullable private AdEventListener adEventListener;
@Nullable private VideoAdPlayer.VideoAdPlayerCallback videoAdPlayerCallback; // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
private VideoAdPlayer.VideoAdPlayerCallback videoAdPlayerCallback;
@Nullable private List<String> adMediaMimeTypes; @Nullable private List<String> adMediaMimeTypes;
@Nullable private Set<UiElement> adUiElements; @Nullable private Set<UiElement> adUiElements;
@Nullable private Collection<CompanionAdSlot> companionAdSlots; @Nullable private Collection<CompanionAdSlot> companionAdSlots;
@ -385,6 +389,8 @@ public final class ImaAdsLoader implements Player.EventListener, AdsLoader {
* Returns the underlying {@link com.google.ads.interactivemedia.v3.api.AdsLoader} wrapped by this * Returns the underlying {@link com.google.ads.interactivemedia.v3.api.AdsLoader} wrapped by this
* instance, or {@code null} if ads have not been requested yet. * instance, or {@code null} if ads have not been requested yet.
*/ */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
public com.google.ads.interactivemedia.v3.api.AdsLoader getAdsLoader() { public com.google.ads.interactivemedia.v3.api.AdsLoader getAdsLoader() {
return adTagLoader != null ? adTagLoader.getAdsLoader() : null; return adTagLoader != null ? adTagLoader.getAdsLoader() : null;

View File

@ -92,12 +92,24 @@ import java.util.Set;
@Nullable public final List<String> adMediaMimeTypes; @Nullable public final List<String> adMediaMimeTypes;
@Nullable public final Set<UiElement> adUiElements; @Nullable public final Set<UiElement> adUiElements;
@Nullable public final Collection<CompanionAdSlot> companionAdSlots; @Nullable public final Collection<CompanionAdSlot> companionAdSlots;
@Nullable public final AdErrorEvent.AdErrorListener applicationAdErrorListener; // nullness annotations are not applicable to outer types
@Nullable public final AdEvent.AdEventListener applicationAdEventListener; @SuppressWarnings("nullness:nullness.on.outer")
@Nullable public final VideoAdPlayer.VideoAdPlayerCallback applicationVideoAdPlayerCallback; @Nullable
public final AdErrorEvent.AdErrorListener applicationAdErrorListener;
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
public final AdEvent.AdEventListener applicationAdEventListener;
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
public final VideoAdPlayer.VideoAdPlayerCallback applicationVideoAdPlayerCallback;
@Nullable public final ImaSdkSettings imaSdkSettings; @Nullable public final ImaSdkSettings imaSdkSettings;
public final boolean debugModeEnabled; public final boolean debugModeEnabled;
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
public Configuration( public Configuration(
long adPreloadTimeoutMs, long adPreloadTimeoutMs,
int vastLoadTimeoutMs, int vastLoadTimeoutMs,

View File

@ -53,7 +53,10 @@ public class DefaultMediaItemConverter implements MediaItemConverter {
UriMediaItem uriMediaItem = (UriMediaItem) media2MediaItem; UriMediaItem uriMediaItem = (UriMediaItem) media2MediaItem;
uri = uriMediaItem.getUri(); uri = uriMediaItem.getUri();
} }
@Nullable androidx.media2.common.MediaMetadata metadata = media2MediaItem.getMetadata(); // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
androidx.media2.common.MediaMetadata metadata = media2MediaItem.getMetadata();
if (metadata != null) { if (metadata != null) {
@Nullable String uriString = metadata.getString(METADATA_KEY_MEDIA_URI); @Nullable String uriString = metadata.getString(METADATA_KEY_MEDIA_URI);
mediaId = metadata.getString(METADATA_KEY_MEDIA_ID); mediaId = metadata.getString(METADATA_KEY_MEDIA_ID);

View File

@ -83,6 +83,8 @@ import java.util.List;
void onPlaybackEnded(); void onPlaybackEnded();
/** Called when the player encounters an error. */ /** Called when the player encounters an error. */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
void onError(@Nullable androidx.media2.common.MediaItem media2MediaItem); void onError(@Nullable androidx.media2.common.MediaItem media2MediaItem);
/** Called when the playlist is changed. */ /** Called when the playlist is changed. */
@ -138,7 +140,10 @@ import java.util.List;
controlDispatcher = new DefaultControlDispatcher(); controlDispatcher = new DefaultControlDispatcher();
componentListener = new ComponentListener(); componentListener = new ComponentListener();
player.addListener(componentListener); player.addListener(componentListener);
@Nullable Player.AudioComponent audioComponent = player.getAudioComponent(); // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
Player.AudioComponent audioComponent = player.getAudioComponent();
if (audioComponent != null) { if (audioComponent != null) {
audioComponent.addAudioListener(componentListener); audioComponent.addAudioListener(componentListener);
} }
@ -295,6 +300,8 @@ import java.util.List;
return player.getNextWindowIndex(); return player.getNextWindowIndex();
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
public androidx.media2.common.MediaItem getCurrentMediaItem() { public androidx.media2.common.MediaItem getCurrentMediaItem() {
int index = getCurrentMediaItemIndex(); int index = getCurrentMediaItemIndex();
@ -381,7 +388,10 @@ import java.util.List;
} }
public AudioAttributesCompat getAudioAttributes() { public AudioAttributesCompat getAudioAttributes() {
@Nullable Player.AudioComponent audioComponent = player.getAudioComponent(); // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
Player.AudioComponent audioComponent = player.getAudioComponent();
return Utils.getAudioAttributesCompat( return Utils.getAudioAttributesCompat(
audioComponent != null ? audioComponent.getAudioAttributes() : AudioAttributes.DEFAULT); audioComponent != null ? audioComponent.getAudioAttributes() : AudioAttributes.DEFAULT);
} }
@ -404,7 +414,10 @@ import java.util.List;
handler.removeCallbacks(pollBufferRunnable); handler.removeCallbacks(pollBufferRunnable);
player.removeListener(componentListener); player.removeListener(componentListener);
@Nullable Player.AudioComponent audioComponent = player.getAudioComponent(); // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
Player.AudioComponent audioComponent = player.getAudioComponent();
if (audioComponent != null) { if (audioComponent != null) {
audioComponent.removeAudioListener(componentListener); audioComponent.removeAudioListener(componentListener);
} }

View File

@ -105,6 +105,8 @@ import java.util.concurrent.TimeoutException;
return allowedCommandProvider.getAllowedCommands(session, controllerInfo, baseAllowedCommands); return allowedCommandProvider.getAllowedCommands(session, controllerInfo, baseAllowedCommands);
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onPostConnect( public void onPostConnect(
@NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) { @NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) {
@ -174,6 +176,8 @@ import java.util.concurrent.TimeoutException;
return SessionResult.RESULT_ERROR_NOT_SUPPORTED; return SessionResult.RESULT_ERROR_NOT_SUPPORTED;
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public int onSkipBackward( public int onSkipBackward(
@NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) { @NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) {
@ -183,6 +187,8 @@ import java.util.concurrent.TimeoutException;
return SessionResult.RESULT_ERROR_NOT_SUPPORTED; return SessionResult.RESULT_ERROR_NOT_SUPPORTED;
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public int onSkipForward( public int onSkipForward(
@NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) { @NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) {

View File

@ -149,7 +149,11 @@ public final class Format implements Parcelable {
private float frameRate; private float frameRate;
private int rotationDegrees; private int rotationDegrees;
private float pixelWidthHeightRatio; private float pixelWidthHeightRatio;
@Nullable private byte[] projectionData; // nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Nullable
private byte[] projectionData;
@C.StereoMode private int stereoMode; @C.StereoMode private int stereoMode;
@Nullable private ColorInfo colorInfo; @Nullable private ColorInfo colorInfo;
@ -478,6 +482,8 @@ public final class Format implements Parcelable {
* @param projectionData The {@link Format#projectionData}. * @param projectionData The {@link Format#projectionData}.
* @return The builder. * @return The builder.
*/ */
// nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
public Builder setProjectionData(@Nullable byte[] projectionData) { public Builder setProjectionData(@Nullable byte[] projectionData) {
this.projectionData = projectionData; this.projectionData = projectionData;
return this; return this;
@ -717,7 +723,10 @@ public final class Format implements Parcelable {
/** The width to height ratio of pixels in the video, or 1.0 if unknown or not applicable. */ /** The width to height ratio of pixels in the video, or 1.0 if unknown or not applicable. */
public final float pixelWidthHeightRatio; public final float pixelWidthHeightRatio;
/** The projection data for 360/VR video, or null if not applicable. */ /** The projection data for 360/VR video, or null if not applicable. */
@Nullable public final byte[] projectionData; // nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Nullable
public final byte[] projectionData;
/** /**
* The stereo layout for 360/3D/VR video, or {@link #NO_VALUE} if not applicable. Valid stereo * The stereo layout for 360/3D/VR video, or {@link #NO_VALUE} if not applicable. Valid stereo
* modes are {@link C#STEREO_MODE_MONO}, {@link C#STEREO_MODE_TOP_BOTTOM}, {@link * modes are {@link C#STEREO_MODE_MONO}, {@link C#STEREO_MODE_TOP_BOTTOM}, {@link
@ -863,6 +872,8 @@ public final class Format implements Parcelable {
} }
/** @deprecated Use {@link Format.Builder}. */ /** @deprecated Use {@link Format.Builder}. */
// nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Deprecated @Deprecated
public static Format createVideoSampleFormat( public static Format createVideoSampleFormat(
@Nullable String id, @Nullable String id,

View File

@ -72,7 +72,11 @@ public final class MediaItem {
private boolean drmPlayClearContentWithoutKey; private boolean drmPlayClearContentWithoutKey;
private boolean drmForceDefaultLicenseUri; private boolean drmForceDefaultLicenseUri;
private List<Integer> drmSessionForClearTypes; private List<Integer> drmSessionForClearTypes;
@Nullable private byte[] drmKeySetId; // nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Nullable
private byte[] drmKeySetId;
private List<StreamKey> streamKeys; private List<StreamKey> streamKeys;
@Nullable private String customCacheKey; @Nullable private String customCacheKey;
private List<Subtitle> subtitles; private List<Subtitle> subtitles;
@ -366,6 +370,8 @@ public final class MediaItem {
* *
* <p>If no valid DRM configuration is specified, the key set ID is ignored. * <p>If no valid DRM configuration is specified, the key set ID is ignored.
*/ */
// nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
public Builder setDrmKeySetId(@Nullable byte[] keySetId) { public Builder setDrmKeySetId(@Nullable byte[] keySetId) {
this.drmKeySetId = keySetId != null ? Arrays.copyOf(keySetId, keySetId.length) : null; this.drmKeySetId = keySetId != null ? Arrays.copyOf(keySetId, keySetId.length) : null;
return this; return this;
@ -635,8 +641,13 @@ public final class MediaItem {
/** The types of clear tracks for which to use a DRM session. */ /** The types of clear tracks for which to use a DRM session. */
public final List<Integer> sessionForClearTypes; public final List<Integer> sessionForClearTypes;
@Nullable private final byte[] keySetId; // nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Nullable
private final byte[] keySetId;
// nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
private DrmConfiguration( private DrmConfiguration(
UUID uuid, UUID uuid,
@Nullable Uri licenseUri, @Nullable Uri licenseUri,
@ -658,6 +669,8 @@ public final class MediaItem {
} }
/** Returns the key set ID of the offline license. */ /** Returns the key set ID of the offline license. */
// nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Nullable @Nullable
public byte[] getKeySetId() { public byte[] getKeySetId() {
return keySetId != null ? Arrays.copyOf(keySetId, keySetId.length) : null; return keySetId != null ? Arrays.copyOf(keySetId, keySetId.length) : null;

View File

@ -109,6 +109,8 @@ public final class CodecSpecificDataUtil {
* @return The individual NAL units, or null if the input did not consist of NAL start code * @return The individual NAL units, or null if the input did not consist of NAL start code
* delimited units. * delimited units.
*/ */
// nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Nullable @Nullable
public static byte[][] splitNalUnits(byte[] data) { public static byte[][] splitNalUnits(byte[] data) {
if (!isNalStartCode(data, 0)) { if (!isNalStartCode(data, 0)) {

View File

@ -446,6 +446,8 @@ public final class Util {
* @return A {@link Handler} with the specified callback on the current {@link Looper} thread. * @return A {@link Handler} with the specified callback on the current {@link Looper} thread.
* @throws IllegalStateException If the current thread doesn't have a {@link Looper}. * @throws IllegalStateException If the current thread doesn't have a {@link Looper}.
*/ */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
public static Handler createHandlerForCurrentLooper( public static Handler createHandlerForCurrentLooper(
@Nullable Handler.@UnknownInitialization Callback callback) { @Nullable Handler.@UnknownInitialization Callback callback) {
return createHandler(Assertions.checkStateNotNull(Looper.myLooper()), callback); return createHandler(Assertions.checkStateNotNull(Looper.myLooper()), callback);
@ -475,6 +477,8 @@ public final class Util {
* callback is required. * callback is required.
* @return A {@link Handler} with the specified callback on the current {@link Looper} thread. * @return A {@link Handler} with the specified callback on the current {@link Looper} thread.
*/ */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
public static Handler createHandlerForCurrentOrMainLooper( public static Handler createHandlerForCurrentOrMainLooper(
@Nullable Handler.@UnknownInitialization Callback callback) { @Nullable Handler.@UnknownInitialization Callback callback) {
return createHandler(getCurrentOrMainLooper(), callback); return createHandler(getCurrentOrMainLooper(), callback);
@ -492,7 +496,12 @@ public final class Util {
* callback is required. * callback is required.
* @return A {@link Handler} with the specified callback on the current {@link Looper} thread. * @return A {@link Handler} with the specified callback on the current {@link Looper} thread.
*/ */
@SuppressWarnings({"nullness:argument.type.incompatible", "nullness:return.type.incompatible"}) // nullness annotations are not applicable to outer types
@SuppressWarnings({
"nullness:argument.type.incompatible",
"nullness:return.type.incompatible",
"nullness:nullness.on.outer"
})
public static Handler createHandler( public static Handler createHandler(
Looper looper, @Nullable Handler.@UnknownInitialization Callback callback) { Looper looper, @Nullable Handler.@UnknownInitialization Callback callback) {
return new Handler(looper, callback); return new Handler(looper, callback);

View File

@ -164,6 +164,8 @@ public abstract class BasePlayer implements Player {
if (timeline.isEmpty()) { if (timeline.isEmpty()) {
return null; return null;
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
MediaItem.PlaybackProperties playbackProperties = MediaItem.PlaybackProperties playbackProperties =
timeline.getWindow(getCurrentWindowIndex(), window).mediaItem.playbackProperties; timeline.getWindow(getCurrentWindowIndex(), window).mediaItem.playbackProperties;

View File

@ -137,7 +137,10 @@ public final class ExoPlaybackException extends Exception {
* The {@link MediaSource.MediaPeriodId} of the media associated with this error, or null if * The {@link MediaSource.MediaPeriodId} of the media associated with this error, or null if
* undetermined. * undetermined.
*/ */
@Nullable public final MediaSource.MediaPeriodId mediaPeriodId; // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
public final MediaSource.MediaPeriodId mediaPeriodId;
/** /**
* Whether the error may be recoverable. * Whether the error may be recoverable.
@ -326,6 +329,8 @@ public final class ExoPlaybackException extends Exception {
isRecoverable); isRecoverable);
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
private ExoPlaybackException( private ExoPlaybackException(
@Nullable String message, @Nullable String message,
@Nullable Throwable cause, @Nullable Throwable cause,
@ -407,6 +412,8 @@ public final class ExoPlaybackException extends Exception {
* @param mediaPeriodId The {@link MediaSource.MediaPeriodId}. * @param mediaPeriodId The {@link MediaSource.MediaPeriodId}.
* @return The copied exception. * @return The copied exception.
*/ */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@CheckResult @CheckResult
/* package */ ExoPlaybackException copyWithMediaPeriodId( /* package */ ExoPlaybackException copyWithMediaPeriodId(
@Nullable MediaSource.MediaPeriodId mediaPeriodId) { @Nullable MediaSource.MediaPeriodId mediaPeriodId) {

View File

@ -410,6 +410,8 @@ import java.util.Set;
// Internal methods to manage child sources. // Internal methods to manage child sources.
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
private static MediaSource.MediaPeriodId getMediaPeriodIdForChildMediaPeriodId( private static MediaSource.MediaPeriodId getMediaPeriodIdForChildMediaPeriodId(
MediaSourceHolder mediaSourceHolder, MediaSource.MediaPeriodId mediaPeriodId) { MediaSourceHolder mediaSourceHolder, MediaSource.MediaPeriodId mediaPeriodId) {
@ -530,6 +532,8 @@ import java.util.Set;
// MediaSourceEventListener implementation // MediaSourceEventListener implementation
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onLoadStarted( public void onLoadStarted(
int windowIndex, int windowIndex,
@ -541,6 +545,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onLoadCompleted( public void onLoadCompleted(
int windowIndex, int windowIndex,
@ -552,6 +558,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onLoadCanceled( public void onLoadCanceled(
int windowIndex, int windowIndex,
@ -563,6 +571,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onLoadError( public void onLoadError(
int windowIndex, int windowIndex,
@ -576,6 +586,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onUpstreamDiscarded( public void onUpstreamDiscarded(
int windowIndex, int windowIndex,
@ -586,6 +598,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onDownstreamFormatChanged( public void onDownstreamFormatChanged(
int windowIndex, int windowIndex,
@ -598,6 +612,8 @@ import java.util.Set;
// DrmSessionEventListener implementation // DrmSessionEventListener implementation
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onDrmSessionAcquired( public void onDrmSessionAcquired(
int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) {
@ -606,6 +622,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onDrmKeysLoaded( public void onDrmKeysLoaded(
int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) {
@ -614,6 +632,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onDrmSessionManagerError( public void onDrmSessionManagerError(
int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId, Exception error) { int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId, Exception error) {
@ -622,6 +642,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onDrmKeysRestored( public void onDrmKeysRestored(
int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) {
@ -630,6 +652,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onDrmKeysRemoved( public void onDrmKeysRemoved(
int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) {
@ -638,6 +662,8 @@ import java.util.Set;
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Override @Override
public void onDrmSessionReleased( public void onDrmSessionReleased(
int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) {
@ -647,9 +673,14 @@ import java.util.Set;
} }
/** Updates the event dispatcher and returns whether the event should be dispatched. */ /** Updates the event dispatcher and returns whether the event should be dispatched. */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
private boolean maybeUpdateEventDispatcher( private boolean maybeUpdateEventDispatcher(
int childWindowIndex, @Nullable MediaSource.MediaPeriodId childMediaPeriodId) { int childWindowIndex, @Nullable MediaSource.MediaPeriodId childMediaPeriodId) {
@Nullable MediaSource.MediaPeriodId mediaPeriodId = null; // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
MediaSource.MediaPeriodId mediaPeriodId = null;
if (childMediaPeriodId != null) { if (childMediaPeriodId != null) {
mediaPeriodId = getMediaPeriodIdForChildMediaPeriodId(id, childMediaPeriodId); mediaPeriodId = getMediaPeriodIdForChildMediaPeriodId(id, childMediaPeriodId);
if (mediaPeriodId == null) { if (mediaPeriodId == null) {

View File

@ -73,7 +73,10 @@ public final class Mp4WebvttDecoder extends SimpleSubtitleDecoder {
private static Cue parseVttCueBox(ParsableByteArray sampleData, int remainingCueBoxBytes) private static Cue parseVttCueBox(ParsableByteArray sampleData, int remainingCueBoxBytes)
throws SubtitleDecoderException { throws SubtitleDecoderException {
@Nullable Cue.Builder cueBuilder = null; // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
Cue.Builder cueBuilder = null;
@Nullable CharSequence cueText = null; @Nullable CharSequence cueText = null;
while (remainingCueBoxBytes > 0) { while (remainingCueBoxBytes > 0) {
if (remainingCueBoxBytes < BOX_HEADER_SIZE) { if (remainingCueBoxBytes < BOX_HEADER_SIZE) {

View File

@ -872,6 +872,8 @@ public final class WebvttCueParser {
} }
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
private static Layout.Alignment convertTextAlignment(@TextAlignment int textAlignment) { private static Layout.Alignment convertTextAlignment(@TextAlignment int textAlignment) {
switch (textAlignment) { switch (textAlignment) {

View File

@ -538,7 +538,10 @@ public class AdaptiveTrackSelection extends BaseTrackSelection {
private final float bandwidthFraction; private final float bandwidthFraction;
private final long reservedBandwidth; private final long reservedBandwidth;
@Nullable private long[][] allocationCheckpoints; // nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Nullable
private long[][] allocationCheckpoints;
/* package */ DefaultBandwidthProvider( /* package */ DefaultBandwidthProvider(
BandwidthMeter bandwidthMeter, float bandwidthFraction, long reservedBandwidth) { BandwidthMeter bandwidthMeter, float bandwidthFraction, long reservedBandwidth) {

View File

@ -1805,6 +1805,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
* made. * made.
* @throws ExoPlaybackException If an error occurs while selecting the tracks. * @throws ExoPlaybackException If an error occurs while selecting the tracks.
*/ */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
protected TrackSelection.Definition selectVideoTrack( protected TrackSelection.Definition selectVideoTrack(
TrackGroupArray groups, TrackGroupArray groups,
@ -1826,6 +1828,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
return definition; return definition;
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
private static TrackSelection.Definition selectAdaptiveVideoTrack( private static TrackSelection.Definition selectAdaptiveVideoTrack(
TrackGroupArray groups, TrackGroupArray groups,
@ -2042,6 +2046,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
|| (minVideoBitrate <= format.bitrate && format.bitrate <= maxVideoBitrate)); || (minVideoBitrate <= format.bitrate && format.bitrate <= maxVideoBitrate));
} }
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
private static TrackSelection.Definition selectFixedVideoTrack( private static TrackSelection.Definition selectFixedVideoTrack(
TrackGroupArray groups, @Capabilities int[][] formatSupport, Parameters params) { TrackGroupArray groups, @Capabilities int[][] formatSupport, Parameters params) {
@ -2286,6 +2292,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
* @return The {@link TrackSelection} for the renderer, or null if no selection was made. * @return The {@link TrackSelection} for the renderer, or null if no selection was made.
* @throws ExoPlaybackException If an error occurs while selecting the tracks. * @throws ExoPlaybackException If an error occurs while selecting the tracks.
*/ */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
protected TrackSelection.Definition selectOtherTrack( protected TrackSelection.Definition selectOtherTrack(
int trackType, TrackGroupArray groups, @Capabilities int[][] formatSupport, Parameters params) int trackType, TrackGroupArray groups, @Capabilities int[][] formatSupport, Parameters params)

View File

@ -63,6 +63,8 @@ public final class FlacMetadataReader {
@Nullable @Nullable
public static Metadata peekId3Metadata(ExtractorInput input, boolean parseData) public static Metadata peekId3Metadata(ExtractorInput input, boolean parseData)
throws IOException { throws IOException {
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
Id3Decoder.FramePredicate id3FramePredicate = parseData ? null : Id3Decoder.NO_FRAMES_PREDICATE; Id3Decoder.FramePredicate id3FramePredicate = parseData ? null : Id3Decoder.NO_FRAMES_PREDICATE;
@Nullable Metadata id3Metadata = new Id3Peeker().peekId3Data(input, id3FramePredicate); @Nullable Metadata id3Metadata = new Id3Peeker().peekId3Data(input, id3FramePredicate);

View File

@ -44,6 +44,8 @@ public final class Id3Peeker {
* present in the input. * present in the input.
* @throws IOException If an error occurred peeking from the input. * @throws IOException If an error occurred peeking from the input.
*/ */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable @Nullable
public Metadata peekId3Data( public Metadata peekId3Data(
ExtractorInput input, @Nullable Id3Decoder.FramePredicate id3FramePredicate) ExtractorInput input, @Nullable Id3Decoder.FramePredicate id3FramePredicate)

View File

@ -56,7 +56,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
// Used by other threads only // Used by other threads only
@C.StereoMode private volatile int defaultStereoMode; @C.StereoMode private volatile int defaultStereoMode;
@C.StereoMode private int lastStereoMode; @C.StereoMode private int lastStereoMode;
@Nullable private byte[] lastProjectionData; // nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
@Nullable
private byte[] lastProjectionData;
// Methods called on any thread. // Methods called on any thread.
@ -173,6 +176,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
* @param stereoMode A {@link C.StereoMode} value. * @param stereoMode A {@link C.StereoMode} value.
* @param timeNs When then new projection should be used. * @param timeNs When then new projection should be used.
*/ */
// nullness annotations are not applicable to primitive types
@SuppressWarnings("nullness:nullness.on.primitive")
private void setProjection( private void setProjection(
@Nullable byte[] projectionData, @C.StereoMode int stereoMode, long timeNs) { @Nullable byte[] projectionData, @C.StereoMode int stereoMode, long timeNs) {
byte[] oldProjectionData = lastProjectionData; byte[] oldProjectionData = lastProjectionData;

View File

@ -71,7 +71,11 @@ public final class SphericalGLSurfaceView extends GLSurfaceView {
private final SceneRenderer scene; private final SceneRenderer scene;
@Nullable private SurfaceTexture surfaceTexture; @Nullable private SurfaceTexture surfaceTexture;
@Nullable private Surface surface; @Nullable private Surface surface;
@Nullable private Player.VideoComponent videoComponent; // nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
@Nullable
private Player.VideoComponent videoComponent;
private boolean useSensorRotation; private boolean useSensorRotation;
private boolean isStarted; private boolean isStarted;
private boolean isOrientationListenerRegistered; private boolean isOrientationListenerRegistered;
@ -125,6 +129,8 @@ public final class SphericalGLSurfaceView extends GLSurfaceView {
} }
/** Sets the {@link Player.VideoComponent} to use. */ /** Sets the {@link Player.VideoComponent} to use. */
// nullness annotations are not applicable to outer types
@SuppressWarnings("nullness:nullness.on.outer")
public void setVideoComponent(@Nullable Player.VideoComponent newVideoComponent) { public void setVideoComponent(@Nullable Player.VideoComponent newVideoComponent) {
if (newVideoComponent == videoComponent) { if (newVideoComponent == videoComponent) {
return; return;