From d4e190460458af3f7501af203881120c7f2fad04 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 23 Nov 2020 19:45:20 +0000 Subject: [PATCH] Rollback of https://github.com/google/ExoPlayer/commit/483a350e84367f0c1bacbea293ba0108ffd3ca9e *** Original commit *** Suppress warnings in preparation for Checker Framework 3.7.1 upgrade. LSC: go/checker-lsc Tested: TAP train for global presubmit queue http://test/OCL:342788973:BASE:342817196:1605636478036:6c558c0c *** PiperOrigin-RevId: 343895651 --- .../gldemo/BitmapOverlayVideoProcessor.java | 10 ++---- .../gldemo/VideoProcessingGLSurfaceView.java | 7 +--- .../exoplayer2/ext/ima/AdTagLoader.java | 5 +-- .../exoplayer2/ext/ima/ImaAdsLoader.java | 8 +---- .../android/exoplayer2/ext/ima/ImaUtil.java | 18 ++-------- .../ext/media2/DefaultMediaItemConverter.java | 5 +-- .../exoplayer2/ext/media2/PlayerWrapper.java | 19 ++--------- .../ext/media2/SessionCallback.java | 6 ---- .../com/google/android/exoplayer2/Format.java | 15 ++------- .../google/android/exoplayer2/MediaItem.java | 17 ++-------- .../util/CodecSpecificDataUtil.java | 2 -- .../google/android/exoplayer2/util/Util.java | 11 +------ .../google/android/exoplayer2/BasePlayer.java | 2 -- .../exoplayer2/ExoPlaybackException.java | 9 +---- .../android/exoplayer2/MediaSourceList.java | 33 +------------------ .../text/webvtt/Mp4WebvttDecoder.java | 5 +-- .../text/webvtt/WebvttCueParser.java | 2 -- .../AdaptiveTrackSelection.java | 5 +-- .../trackselection/DefaultTrackSelector.java | 8 ----- .../extractor/FlacMetadataReader.java | 2 -- .../exoplayer2/extractor/Id3Peeker.java | 2 -- .../ui/spherical/SceneRenderer.java | 7 +--- .../ui/spherical/SphericalGLSurfaceView.java | 8 +---- 23 files changed, 23 insertions(+), 183 deletions(-) diff --git a/demos/gl/src/main/java/com/google/android/exoplayer2/gldemo/BitmapOverlayVideoProcessor.java b/demos/gl/src/main/java/com/google/android/exoplayer2/gldemo/BitmapOverlayVideoProcessor.java index 10059652ae..89bea32581 100644 --- a/demos/gl/src/main/java/com/google/android/exoplayer2/gldemo/BitmapOverlayVideoProcessor.java +++ b/demos/gl/src/main/java/com/google/android/exoplayer2/gldemo/BitmapOverlayVideoProcessor.java @@ -52,14 +52,8 @@ import javax.microedition.khronos.opengles.GL10; private final Canvas overlayCanvas; private int program; - // nullness annotations are not applicable to outer types - @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; + @Nullable private GlUtil.Attribute[] attributes; + @Nullable private GlUtil.Uniform[] uniforms; private float bitmapScaleX; private float bitmapScaleY; diff --git a/demos/gl/src/main/java/com/google/android/exoplayer2/gldemo/VideoProcessingGLSurfaceView.java b/demos/gl/src/main/java/com/google/android/exoplayer2/gldemo/VideoProcessingGLSurfaceView.java index 370ee61879..7aee74801f 100644 --- a/demos/gl/src/main/java/com/google/android/exoplayer2/gldemo/VideoProcessingGLSurfaceView.java +++ b/demos/gl/src/main/java/com/google/android/exoplayer2/gldemo/VideoProcessingGLSurfaceView.java @@ -72,10 +72,7 @@ public final class VideoProcessingGLSurfaceView extends GLSurfaceView { @Nullable private SurfaceTexture surfaceTexture; @Nullable private Surface surface; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - private Player.VideoComponent videoComponent; + @Nullable private Player.VideoComponent videoComponent; /** * Creates a new instance. Pass {@code true} for {@code requireSecureContext} if the {@link @@ -154,8 +151,6 @@ public final class VideoProcessingGLSurfaceView extends GLSurfaceView { * * @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) { if (newVideoComponent == videoComponent) { return; diff --git a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java index 67cecee673..3db9515e95 100644 --- a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java +++ b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/AdTagLoader.java @@ -670,10 +670,7 @@ import java.util.Map; return lastVolumePercent; } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - Player.AudioComponent audioComponent = player.getAudioComponent(); + @Nullable Player.AudioComponent audioComponent = player.getAudioComponent(); if (audioComponent != null) { return (int) (audioComponent.getVolume() * 100); } diff --git a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java index 1f338bfe46..50b8968b33 100644 --- a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java +++ b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.java @@ -110,11 +110,7 @@ public final class ImaAdsLoader implements Player.EventListener, AdsLoader { @Nullable private ImaSdkSettings imaSdkSettings; @Nullable private AdErrorListener adErrorListener; @Nullable private AdEventListener adEventListener; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - private VideoAdPlayer.VideoAdPlayerCallback videoAdPlayerCallback; - + @Nullable private VideoAdPlayer.VideoAdPlayerCallback videoAdPlayerCallback; @Nullable private List adMediaMimeTypes; @Nullable private Set adUiElements; @Nullable private Collection companionAdSlots; @@ -400,8 +396,6 @@ public final class ImaAdsLoader implements Player.EventListener, AdsLoader { * 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. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable public com.google.ads.interactivemedia.v3.api.AdsLoader getAdsLoader() { return currentAdTagLoader != null ? currentAdTagLoader.getAdsLoader() : null; diff --git a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaUtil.java b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaUtil.java index 115a470a38..ed3d3c74e1 100644 --- a/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaUtil.java +++ b/extensions/ima/src/main/java/com/google/android/exoplayer2/ext/ima/ImaUtil.java @@ -92,24 +92,12 @@ import java.util.Set; @Nullable public final List adMediaMimeTypes; @Nullable public final Set adUiElements; @Nullable public final Collection companionAdSlots; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @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 AdErrorEvent.AdErrorListener applicationAdErrorListener; + @Nullable public final AdEvent.AdEventListener applicationAdEventListener; + @Nullable public final VideoAdPlayer.VideoAdPlayerCallback applicationVideoAdPlayerCallback; @Nullable public final ImaSdkSettings imaSdkSettings; public final boolean debugModeEnabled; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") public Configuration( long adPreloadTimeoutMs, int vastLoadTimeoutMs, diff --git a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.java b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.java index 8a454e929c..e6d4550d88 100644 --- a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.java +++ b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/DefaultMediaItemConverter.java @@ -53,10 +53,7 @@ public class DefaultMediaItemConverter implements MediaItemConverter { UriMediaItem uriMediaItem = (UriMediaItem) media2MediaItem; uri = uriMediaItem.getUri(); } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - androidx.media2.common.MediaMetadata metadata = media2MediaItem.getMetadata(); + @Nullable androidx.media2.common.MediaMetadata metadata = media2MediaItem.getMetadata(); if (metadata != null) { @Nullable String uriString = metadata.getString(METADATA_KEY_MEDIA_URI); mediaId = metadata.getString(METADATA_KEY_MEDIA_ID); diff --git a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/PlayerWrapper.java b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/PlayerWrapper.java index 4fe3de0155..21659637ab 100644 --- a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/PlayerWrapper.java +++ b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/PlayerWrapper.java @@ -83,8 +83,6 @@ import java.util.List; void onPlaybackEnded(); /** 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); /** Called when the playlist is changed. */ @@ -141,10 +139,7 @@ import java.util.List; controlDispatcher = new DefaultControlDispatcher(); componentListener = new ComponentListener(); player.addListener(componentListener); - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - Player.AudioComponent audioComponent = player.getAudioComponent(); + @Nullable Player.AudioComponent audioComponent = player.getAudioComponent(); if (audioComponent != null) { audioComponent.addAudioListener(componentListener); } @@ -307,8 +302,6 @@ import java.util.List; return player.getNextWindowIndex(); } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable public androidx.media2.common.MediaItem getCurrentMediaItem() { int index = getCurrentMediaItemIndex(); @@ -456,10 +449,7 @@ import java.util.List; } public AudioAttributesCompat getAudioAttributes() { - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - Player.AudioComponent audioComponent = player.getAudioComponent(); + @Nullable Player.AudioComponent audioComponent = player.getAudioComponent(); return Utils.getAudioAttributesCompat( audioComponent != null ? audioComponent.getAudioAttributes() : AudioAttributes.DEFAULT); } @@ -482,10 +472,7 @@ import java.util.List; handler.removeCallbacks(pollBufferRunnable); player.removeListener(componentListener); - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - Player.AudioComponent audioComponent = player.getAudioComponent(); + @Nullable Player.AudioComponent audioComponent = player.getAudioComponent(); if (audioComponent != null) { audioComponent.removeAudioListener(componentListener); } diff --git a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/SessionCallback.java b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/SessionCallback.java index 30034cb1d4..1f60db947e 100644 --- a/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/SessionCallback.java +++ b/extensions/media2/src/main/java/com/google/android/exoplayer2/ext/media2/SessionCallback.java @@ -105,8 +105,6 @@ import java.util.concurrent.TimeoutException; return allowedCommandProvider.getAllowedCommands(session, controllerInfo, baseAllowedCommands); } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onPostConnect( @NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) { @@ -176,8 +174,6 @@ import java.util.concurrent.TimeoutException; return SessionResult.RESULT_ERROR_NOT_SUPPORTED; } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public int onSkipBackward( @NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) { @@ -187,8 +183,6 @@ import java.util.concurrent.TimeoutException; return SessionResult.RESULT_ERROR_NOT_SUPPORTED; } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public int onSkipForward( @NonNull MediaSession session, @NonNull MediaSession.ControllerInfo controller) { diff --git a/library/common/src/main/java/com/google/android/exoplayer2/Format.java b/library/common/src/main/java/com/google/android/exoplayer2/Format.java index c4042524fb..05062727c3 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/Format.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/Format.java @@ -149,11 +149,7 @@ public final class Format implements Parcelable { private float frameRate; private int rotationDegrees; private float pixelWidthHeightRatio; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private byte[] projectionData; - + @Nullable private byte[] projectionData; @C.StereoMode private int stereoMode; @Nullable private ColorInfo colorInfo; @@ -482,8 +478,6 @@ public final class Format implements Parcelable { * @param projectionData The {@link Format#projectionData}. * @return The builder. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") public Builder setProjectionData(@Nullable byte[] projectionData) { this.projectionData = projectionData; return this; @@ -723,10 +717,7 @@ public final class Format implements Parcelable { /** The width to height ratio of pixels in the video, or 1.0 if unknown or not applicable. */ public final float pixelWidthHeightRatio; /** The projection data for 360/VR video, or null if not applicable. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public final byte[] projectionData; + @Nullable public final byte[] projectionData; /** * 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 @@ -872,8 +863,6 @@ public final class Format implements Parcelable { } /** @deprecated Use {@link Format.Builder}. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") @Deprecated public static Format createVideoSampleFormat( @Nullable String id, diff --git a/library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java b/library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java index 207bef1234..33e62c1bcf 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/MediaItem.java @@ -72,11 +72,7 @@ public final class MediaItem { private boolean drmPlayClearContentWithoutKey; private boolean drmForceDefaultLicenseUri; private List drmSessionForClearTypes; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private byte[] drmKeySetId; - + @Nullable private byte[] drmKeySetId; private List streamKeys; @Nullable private String customCacheKey; private List subtitles; @@ -370,8 +366,6 @@ public final class MediaItem { * *

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) { this.drmKeySetId = keySetId != null ? Arrays.copyOf(keySetId, keySetId.length) : null; return this; @@ -641,13 +635,8 @@ public final class MediaItem { /** The types of clear tracks for which to use a DRM session. */ public final List sessionForClearTypes; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private final byte[] keySetId; + @Nullable private final byte[] keySetId; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private DrmConfiguration( UUID uuid, @Nullable Uri licenseUri, @@ -669,8 +658,6 @@ public final class MediaItem { } /** Returns the key set ID of the offline license. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") @Nullable public byte[] getKeySetId() { return keySetId != null ? Arrays.copyOf(keySetId, keySetId.length) : null; diff --git a/library/common/src/main/java/com/google/android/exoplayer2/util/CodecSpecificDataUtil.java b/library/common/src/main/java/com/google/android/exoplayer2/util/CodecSpecificDataUtil.java index 46e2587828..3360e88d4f 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/util/CodecSpecificDataUtil.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/util/CodecSpecificDataUtil.java @@ -109,8 +109,6 @@ public final class CodecSpecificDataUtil { * @return The individual NAL units, or null if the input did not consist of NAL start code * delimited units. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") @Nullable public static byte[][] splitNalUnits(byte[] data) { if (!isNalStartCode(data, 0)) { diff --git a/library/common/src/main/java/com/google/android/exoplayer2/util/Util.java b/library/common/src/main/java/com/google/android/exoplayer2/util/Util.java index 857f16fd7a..973f900282 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/util/Util.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/util/Util.java @@ -446,8 +446,6 @@ public final class Util { * @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}. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") public static Handler createHandlerForCurrentLooper( @Nullable Handler.@UnknownInitialization Callback callback) { return createHandler(Assertions.checkStateNotNull(Looper.myLooper()), callback); @@ -477,8 +475,6 @@ public final class Util { * callback is required. * @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( @Nullable Handler.@UnknownInitialization Callback callback) { return createHandler(getCurrentOrMainLooper(), callback); @@ -496,12 +492,7 @@ public final class Util { * callback is required. * @return A {@link Handler} with the specified callback on the current {@link Looper} thread. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings({ - "nullness:argument.type.incompatible", - "nullness:return.type.incompatible", - "nullness:nullness.on.outer" - }) + @SuppressWarnings({"nullness:argument.type.incompatible", "nullness:return.type.incompatible"}) public static Handler createHandler( Looper looper, @Nullable Handler.@UnknownInitialization Callback callback) { return new Handler(looper, callback); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/BasePlayer.java b/library/core/src/main/java/com/google/android/exoplayer2/BasePlayer.java index ca876b6c86..150a13e288 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/BasePlayer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/BasePlayer.java @@ -164,8 +164,6 @@ public abstract class BasePlayer implements Player { if (timeline.isEmpty()) { return null; } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable MediaItem.PlaybackProperties playbackProperties = timeline.getWindow(getCurrentWindowIndex(), window).mediaItem.playbackProperties; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlaybackException.java b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlaybackException.java index f96da2e779..369235cbda 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/ExoPlaybackException.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/ExoPlaybackException.java @@ -137,10 +137,7 @@ public final class ExoPlaybackException extends Exception { * The {@link MediaSource.MediaPeriodId} of the media associated with this error, or null if * undetermined. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - public final MediaSource.MediaPeriodId mediaPeriodId; + @Nullable public final MediaSource.MediaPeriodId mediaPeriodId; /** * Whether the error may be recoverable. @@ -329,8 +326,6 @@ public final class ExoPlaybackException extends Exception { isRecoverable); } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") private ExoPlaybackException( @Nullable String message, @Nullable Throwable cause, @@ -412,8 +407,6 @@ public final class ExoPlaybackException extends Exception { * @param mediaPeriodId The {@link MediaSource.MediaPeriodId}. * @return The copied exception. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @CheckResult /* package */ ExoPlaybackException copyWithMediaPeriodId( @Nullable MediaSource.MediaPeriodId mediaPeriodId) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/MediaSourceList.java b/library/core/src/main/java/com/google/android/exoplayer2/MediaSourceList.java index 3a8d896200..1227dbb397 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/MediaSourceList.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/MediaSourceList.java @@ -410,8 +410,6 @@ import java.util.Set; // Internal methods to manage child sources. - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable private static MediaSource.MediaPeriodId getMediaPeriodIdForChildMediaPeriodId( MediaSourceHolder mediaSourceHolder, MediaSource.MediaPeriodId mediaPeriodId) { @@ -532,8 +530,6 @@ import java.util.Set; // MediaSourceEventListener implementation - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onLoadStarted( int windowIndex, @@ -545,8 +541,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onLoadCompleted( int windowIndex, @@ -558,8 +552,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onLoadCanceled( int windowIndex, @@ -571,8 +563,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onLoadError( int windowIndex, @@ -586,8 +576,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onUpstreamDiscarded( int windowIndex, @@ -598,8 +586,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onDownstreamFormatChanged( int windowIndex, @@ -612,8 +598,6 @@ import java.util.Set; // DrmSessionEventListener implementation - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onDrmSessionAcquired( int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { @@ -622,8 +606,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onDrmKeysLoaded( int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { @@ -632,8 +614,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onDrmSessionManagerError( int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId, Exception error) { @@ -642,8 +622,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onDrmKeysRestored( int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { @@ -652,8 +630,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onDrmKeysRemoved( int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { @@ -662,8 +638,6 @@ import java.util.Set; } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onDrmSessionReleased( int windowIndex, @Nullable MediaSource.MediaPeriodId mediaPeriodId) { @@ -673,14 +647,9 @@ import java.util.Set; } /** 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( int childWindowIndex, @Nullable MediaSource.MediaPeriodId childMediaPeriodId) { - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - MediaSource.MediaPeriodId mediaPeriodId = null; + @Nullable MediaSource.MediaPeriodId mediaPeriodId = null; if (childMediaPeriodId != null) { mediaPeriodId = getMediaPeriodIdForChildMediaPeriodId(id, childMediaPeriodId); if (mediaPeriodId == null) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.java b/library/core/src/main/java/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.java index 83488b210f..caaa7869ee 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/text/webvtt/Mp4WebvttDecoder.java @@ -73,10 +73,7 @@ public final class Mp4WebvttDecoder extends SimpleSubtitleDecoder { private static Cue parseVttCueBox(ParsableByteArray sampleData, int remainingCueBoxBytes) throws SubtitleDecoderException { - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - Cue.Builder cueBuilder = null; + @Nullable Cue.Builder cueBuilder = null; @Nullable CharSequence cueText = null; while (remainingCueBoxBytes > 0) { if (remainingCueBoxBytes < BOX_HEADER_SIZE) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/text/webvtt/WebvttCueParser.java b/library/core/src/main/java/com/google/android/exoplayer2/text/webvtt/WebvttCueParser.java index ebc2f31da7..ed95f6b4e0 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/text/webvtt/WebvttCueParser.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/text/webvtt/WebvttCueParser.java @@ -872,8 +872,6 @@ public final class WebvttCueParser { } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable private static Layout.Alignment convertTextAlignment(@TextAlignment int textAlignment) { switch (textAlignment) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.java b/library/core/src/main/java/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.java index 8a13af802a..e6ad3e869d 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/trackselection/AdaptiveTrackSelection.java @@ -538,10 +538,7 @@ public class AdaptiveTrackSelection extends BaseTrackSelection { private final float bandwidthFraction; private final long reservedBandwidth; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private long[][] allocationCheckpoints; + @Nullable private long[][] allocationCheckpoints; /* package */ DefaultBandwidthProvider( BandwidthMeter bandwidthMeter, float bandwidthFraction, long reservedBandwidth) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java b/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java index 1b9ee51719..8aec101e6d 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java @@ -1805,8 +1805,6 @@ public class DefaultTrackSelector extends MappingTrackSelector { * made. * @throws ExoPlaybackException If an error occurs while selecting the tracks. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable protected TrackSelection.Definition selectVideoTrack( TrackGroupArray groups, @@ -1828,8 +1826,6 @@ public class DefaultTrackSelector extends MappingTrackSelector { return definition; } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable private static TrackSelection.Definition selectAdaptiveVideoTrack( TrackGroupArray groups, @@ -2046,8 +2042,6 @@ public class DefaultTrackSelector extends MappingTrackSelector { || (minVideoBitrate <= format.bitrate && format.bitrate <= maxVideoBitrate)); } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable private static TrackSelection.Definition selectFixedVideoTrack( TrackGroupArray groups, @Capabilities int[][] formatSupport, Parameters params) { @@ -2292,8 +2286,6 @@ public class DefaultTrackSelector extends MappingTrackSelector { * @return The {@link TrackSelection} for the renderer, or null if no selection was made. * @throws ExoPlaybackException If an error occurs while selecting the tracks. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable protected TrackSelection.Definition selectOtherTrack( int trackType, TrackGroupArray groups, @Capabilities int[][] formatSupport, Parameters params) diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/FlacMetadataReader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/FlacMetadataReader.java index caacd61036..922ef0f3da 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/FlacMetadataReader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/FlacMetadataReader.java @@ -63,8 +63,6 @@ public final class FlacMetadataReader { @Nullable public static Metadata peekId3Metadata(ExtractorInput input, boolean parseData) throws IOException { - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable Id3Decoder.FramePredicate id3FramePredicate = parseData ? null : Id3Decoder.NO_FRAMES_PREDICATE; @Nullable Metadata id3Metadata = new Id3Peeker().peekId3Data(input, id3FramePredicate); diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/Id3Peeker.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/Id3Peeker.java index fe74e59e12..3c78f7a7dd 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/Id3Peeker.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/Id3Peeker.java @@ -44,8 +44,6 @@ public final class Id3Peeker { * present in 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 public Metadata peekId3Data( ExtractorInput input, @Nullable Id3Decoder.FramePredicate id3FramePredicate) diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/spherical/SceneRenderer.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/spherical/SceneRenderer.java index 1d714a0a05..674826e387 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/spherical/SceneRenderer.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/spherical/SceneRenderer.java @@ -56,10 +56,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; // Used by other threads only @C.StereoMode private volatile int defaultStereoMode; @C.StereoMode private int lastStereoMode; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private byte[] lastProjectionData; + @Nullable private byte[] lastProjectionData; // Methods called on any thread. @@ -176,8 +173,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * @param stereoMode A {@link C.StereoMode} value. * @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( @Nullable byte[] projectionData, @C.StereoMode int stereoMode, long timeNs) { byte[] oldProjectionData = lastProjectionData; diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/spherical/SphericalGLSurfaceView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/spherical/SphericalGLSurfaceView.java index ab8e71299a..1c96f41df5 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/spherical/SphericalGLSurfaceView.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/spherical/SphericalGLSurfaceView.java @@ -71,11 +71,7 @@ public final class SphericalGLSurfaceView extends GLSurfaceView { private final SceneRenderer scene; @Nullable private SurfaceTexture surfaceTexture; @Nullable private Surface surface; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - private Player.VideoComponent videoComponent; - + @Nullable private Player.VideoComponent videoComponent; private boolean useSensorRotation; private boolean isStarted; private boolean isOrientationListenerRegistered; @@ -129,8 +125,6 @@ public final class SphericalGLSurfaceView extends GLSurfaceView { } /** 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) { if (newVideoComponent == videoComponent) { return;