From f13ffb4390d9ca4851c37e00e4e61e091de5154a Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 18 Nov 2020 16:43:24 +0000 Subject: [PATCH] Rollback of https://github.com/google/ExoPlayer/commit/5d9c2d7b6aa8a7d37128eedd2a90d8deeb9dd9fa *** Original commit *** Suppress warnings in preparation for Checker Framework 3.7.1 upgrade. *** PiperOrigin-RevId: 343086403 --- .../ext/ffmpeg/FfmpegAudioDecoder.java | 12 +--------- .../exoplayer2/ext/flac/FlacDecoderJni.java | 8 +------ .../mediasession/MediaSessionConnector.java | 4 ---- .../exoplayer2/ext/opus/OpusDecoder.java | 2 -- .../exoplayer2/ext/vp9/VpxDecoder.java | 2 -- .../exoplayer2/audio/AudioAttributes.java | 5 +--- .../exoplayer2/decoder/CryptoInfo.java | 20 ++++------------ .../android/exoplayer2/drm/DrmInitData.java | 11 +-------- .../android/exoplayer2/metadata/Metadata.java | 2 -- .../metadata/emsg/EventMessage.java | 2 -- .../android/exoplayer2/upstream/DataSpec.java | 24 ++++--------------- .../android/exoplayer2/video/ColorInfo.java | 7 +----- .../mediaparser/OutputConsumerAdapterV30.java | 24 +++---------------- .../google/android/exoplayer2/text/Cue.java | 2 -- .../exoplayer2/text/dvb/DvbParser.java | 23 +++--------------- .../exoplayer2/text/ssa/SsaDecoder.java | 7 +----- .../exoplayer2/text/ttml/TtmlStyle.java | 10 +------- .../upstream/crypto/AesCipherDataSink.java | 7 +----- .../google/android/exoplayer2/util/Clock.java | 2 -- .../video/VideoDecoderOutputBuffer.java | 6 +---- .../video/spherical/CameraMotionRenderer.java | 7 +----- .../source/dash/PlayerEmsgHandler.java | 2 -- .../exoplayer2/extractor/mp3/XingSeeker.java | 7 +----- .../exoplayer2/extractor/ts/PesReader.java | 2 -- .../source/hls/offline/HlsDownloader.java | 5 +--- 25 files changed, 27 insertions(+), 176 deletions(-) diff --git a/extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioDecoder.java b/extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioDecoder.java index d756c86bcc..d6980f2801 100644 --- a/extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioDecoder.java +++ b/extensions/ffmpeg/src/main/java/com/google/android/exoplayer2/ext/ffmpeg/FfmpegAudioDecoder.java @@ -42,11 +42,7 @@ import java.util.List; // LINT.ThenChange(../../../../../../../jni/ffmpeg_jni.cc) private final String codecName; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private final byte[] extraData; - + @Nullable private final byte[] extraData; private final @C.Encoding int encoding; private final int outputBufferSize; @@ -167,8 +163,6 @@ import java.util.List; * Returns FFmpeg-compatible codec-specific initialization data ("extra data"), or {@code null} if * not required. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private static @Nullable byte[] getExtraData(String mimeType, List initializationData) { switch (mimeType) { case MimeTypes.AUDIO_AAC: @@ -215,8 +209,6 @@ import java.util.List; return extraData; } - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private native long ffmpegInitialize( String codecName, @Nullable byte[] extraData, @@ -231,8 +223,6 @@ import java.util.List; private native int ffmpegGetSampleRate(long context); - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private native long ffmpegReset(long context, @Nullable byte[] extraData); private native void ffmpegRelease(long context); diff --git a/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacDecoderJni.java b/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacDecoderJni.java index 8a77251870..af4e571024 100644 --- a/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacDecoderJni.java +++ b/extensions/flac/src/main/java/com/google/android/exoplayer2/ext/flac/FlacDecoderJni.java @@ -50,11 +50,7 @@ import java.nio.ByteBuffer; @Nullable private ByteBuffer byteBufferData; @Nullable private ExtractorInput extractorInput; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private byte[] tempBuffer; - + @Nullable private byte[] tempBuffer; private boolean endOfExtractorInput; public FlacDecoderJni() throws FlacDecoderException { @@ -230,8 +226,6 @@ import java.nio.ByteBuffer; * @return The corresponding {@link SeekMap.SeekPoints} obtained from the seek table, or {@code * null} if the stream doesn't have a seek table. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable public SeekMap.SeekPoints getSeekPoints(long timeUs) { long[] seekPoints = new long[4]; diff --git a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java index 49f9037340..e78c55b2af 100644 --- a/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java +++ b/extensions/mediasession/src/main/java/com/google/android/exoplayer2/ext/mediasession/MediaSessionConnector.java @@ -384,8 +384,6 @@ public final class MediaSessionConnector { * @param player The player connected to the media session. * @return The custom action to be included in the session playback state or {@code null}. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable PlaybackStateCompat.CustomAction getCustomAction(Player player); } @@ -739,8 +737,6 @@ public final class MediaSessionConnector { Map currentActions = new HashMap<>(); for (CustomActionProvider customActionProvider : customActionProviders) { - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable PlaybackStateCompat.CustomAction customAction = customActionProvider.getCustomAction(player); if (customAction != null) { diff --git a/extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/OpusDecoder.java b/extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/OpusDecoder.java index 694581cda9..6b96cc5e49 100644 --- a/extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/OpusDecoder.java +++ b/extensions/opus/src/main/java/com/google/android/exoplayer2/ext/opus/OpusDecoder.java @@ -237,8 +237,6 @@ import java.util.List; int inputSize, SimpleOutputBuffer outputBuffer); - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private native int opusSecureDecode( long decoder, long timeUs, diff --git a/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java b/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java index 214ea66317..ce0873ad40 100644 --- a/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java +++ b/extensions/vp9/src/main/java/com/google/android/exoplayer2/ext/vp9/VpxDecoder.java @@ -207,8 +207,6 @@ import java.nio.ByteBuffer; private native long vpxClose(long context); private native long vpxDecode(long context, ByteBuffer encoded, int length); - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private native long vpxSecureDecode( long context, ByteBuffer encoded, diff --git a/library/common/src/main/java/com/google/android/exoplayer2/audio/AudioAttributes.java b/library/common/src/main/java/com/google/android/exoplayer2/audio/AudioAttributes.java index 06cc6fb528..71ffb00982 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/audio/AudioAttributes.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/audio/AudioAttributes.java @@ -100,10 +100,7 @@ public final class AudioAttributes { public final @C.AudioUsage int usage; public final @C.AudioAllowedCapturePolicy int allowedCapturePolicy; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - private android.media.AudioAttributes audioAttributesV21; + @Nullable private android.media.AudioAttributes audioAttributesV21; private AudioAttributes( @C.AudioContentType int contentType, diff --git a/library/common/src/main/java/com/google/android/exoplayer2/decoder/CryptoInfo.java b/library/common/src/main/java/com/google/android/exoplayer2/decoder/CryptoInfo.java index 3f2f4d2bae..7eaab6ae1d 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/decoder/CryptoInfo.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/decoder/CryptoInfo.java @@ -32,19 +32,13 @@ public final class CryptoInfo { * * @see android.media.MediaCodec.CryptoInfo#iv */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public byte[] iv; + @Nullable public byte[] iv; /** * The 16 byte key id. * * @see android.media.MediaCodec.CryptoInfo#key */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public byte[] key; + @Nullable public byte[] key; /** * The type of encryption that has been applied. Must be one of the {@link C.CryptoMode} values. * @@ -57,20 +51,14 @@ public final class CryptoInfo { * * @see android.media.MediaCodec.CryptoInfo#numBytesOfClearData */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public int[] numBytesOfClearData; + @Nullable public int[] numBytesOfClearData; /** * The number of trailing encrypted bytes in each sub-sample. If null, all bytes are treated as * clear and {@link #numBytesOfClearData} must be specified. * * @see android.media.MediaCodec.CryptoInfo#numBytesOfEncryptedData */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public int[] numBytesOfEncryptedData; + @Nullable public int[] numBytesOfEncryptedData; /** * The number of subSamples that make up the buffer's contents. * diff --git a/library/common/src/main/java/com/google/android/exoplayer2/drm/DrmInitData.java b/library/common/src/main/java/com/google/android/exoplayer2/drm/DrmInitData.java index a68fca3809..ee09838b0a 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/drm/DrmInitData.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/drm/DrmInitData.java @@ -291,10 +291,7 @@ public final class DrmInitData implements Comparator, Parcelable { /** The mimeType of {@link #data}. */ public final String mimeType; /** The initialization data. May be null for scheme support checks only. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public final byte[] data; + @Nullable public final byte[] data; /** * @param uuid The {@link UUID} of the DRM scheme, or {@link C#UUID_NIL} if the data is @@ -302,8 +299,6 @@ public final class DrmInitData implements Comparator, Parcelable { * @param mimeType See {@link #mimeType}. * @param data See {@link #data}. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") public SchemeData(UUID uuid, String mimeType, @Nullable byte[] data) { this(uuid, /* licenseServerUrl= */ null, mimeType, data); } @@ -315,8 +310,6 @@ public final class DrmInitData implements Comparator, Parcelable { * @param mimeType See {@link #mimeType}. * @param data See {@link #data}. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") public SchemeData( UUID uuid, @Nullable String licenseServerUrl, String mimeType, @Nullable byte[] data) { this.uuid = Assertions.checkNotNull(uuid); @@ -365,8 +358,6 @@ public final class DrmInitData implements Comparator, Parcelable { * @param data The data to include in the copy. * @return The new instance. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") public SchemeData copyWithData(@Nullable byte[] data) { return new SchemeData(uuid, licenseServerUrl, mimeType, data); } diff --git a/library/common/src/main/java/com/google/android/exoplayer2/metadata/Metadata.java b/library/common/src/main/java/com/google/android/exoplayer2/metadata/Metadata.java index 0ed1e9960c..21dacd4f9b 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/metadata/Metadata.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/metadata/Metadata.java @@ -44,8 +44,6 @@ public final class Metadata implements Parcelable { * Returns the bytes of the wrapped metadata in this Entry, or null if it doesn't contain * wrapped metadata. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") @Nullable default byte[] getWrappedMetadataBytes() { return null; diff --git a/library/common/src/main/java/com/google/android/exoplayer2/metadata/emsg/EventMessage.java b/library/common/src/main/java/com/google/android/exoplayer2/metadata/emsg/EventMessage.java index e4ffdec0be..0dd46bae22 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/metadata/emsg/EventMessage.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/metadata/emsg/EventMessage.java @@ -118,8 +118,6 @@ public final class EventMessage implements Metadata.Entry { } } - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") @Override @Nullable public byte[] getWrappedMetadataBytes() { diff --git a/library/common/src/main/java/com/google/android/exoplayer2/upstream/DataSpec.java b/library/common/src/main/java/com/google/android/exoplayer2/upstream/DataSpec.java index 540809b30f..75e23ae6f2 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/upstream/DataSpec.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/upstream/DataSpec.java @@ -40,11 +40,7 @@ public final class DataSpec { @Nullable private Uri uri; private long uriPositionOffset; @HttpMethod private int httpMethod; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private byte[] httpBody; - + @Nullable private byte[] httpBody; private Map httpRequestHeaders; private long position; private long length; @@ -127,8 +123,6 @@ public final class DataSpec { * @param httpBody The {@link DataSpec#httpBody}. * @return The builder. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") public Builder setHttpBody(@Nullable byte[] httpBody) { this.httpBody = httpBody; return this; @@ -330,10 +324,7 @@ public final class DataSpec { * The HTTP request body, null otherwise. If the body is non-null, then {@code httpBody.length} * will be non-zero. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public final byte[] httpBody; + @Nullable public final byte[] httpBody; /** * Additional HTTP headers to use when requesting the data. @@ -538,8 +529,7 @@ public final class DataSpec { * @param key {@link #key}. * @param flags {@link #flags}. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings({"deprecation", "nullness:nullness.on.primitive"}) + @SuppressWarnings("deprecation") @Deprecated public DataSpec( Uri uri, @@ -573,8 +563,7 @@ public final class DataSpec { * @param key {@link #key}. * @param flags {@link #flags}. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings({"deprecation", "nullness:nullness.on.primitive"}) + @SuppressWarnings("deprecation") @Deprecated public DataSpec( Uri uri, @@ -611,8 +600,6 @@ public final class DataSpec { * @param flags {@link #flags}. * @param httpRequestHeaders {@link #httpRequestHeaders}. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") @Deprecated public DataSpec( Uri uri, @@ -637,8 +624,7 @@ public final class DataSpec { /* customData= */ null); } - // nullness annotations are not applicable to primitive types - @SuppressWarnings({"deprecation", "nullness:nullness.on.primitive"}) + @SuppressWarnings("deprecation") private DataSpec( Uri uri, long uriPositionOffset, diff --git a/library/common/src/main/java/com/google/android/exoplayer2/video/ColorInfo.java b/library/common/src/main/java/com/google/android/exoplayer2/video/ColorInfo.java index 1742f5b107..d45d6c55b2 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/video/ColorInfo.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/video/ColorInfo.java @@ -50,10 +50,7 @@ public final class ColorInfo implements Parcelable { @C.ColorTransfer public final int colorTransfer; /** HdrStaticInfo as defined in CTA-861.3, or null if none specified. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public final byte[] hdrStaticInfo; + @Nullable public final byte[] hdrStaticInfo; // Lazily initialized hashcode. private int hashCode; @@ -66,8 +63,6 @@ public final class ColorInfo implements Parcelable { * @param colorTransfer The color transfer characteristics of the video. * @param hdrStaticInfo HdrStaticInfo as defined in CTA-861.3, or null if none specified. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") public ColorInfo( @C.ColorSpace int colorSpace, @C.ColorRange int colorRange, diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.java b/library/core/src/main/java/com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.java index 5811835371..f3bed012ec 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/mediaparser/OutputConsumerAdapterV30.java @@ -101,15 +101,8 @@ public final class OutputConsumerAdapterV30 implements MediaParser.OutputConsume @Nullable private final Format primaryTrackManifestFormat; private ExtractorOutput extractorOutput; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - private MediaParser.SeekMap dummySeekMap; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - private MediaParser.SeekMap lastSeekMap; - + @Nullable private MediaParser.SeekMap dummySeekMap; + @Nullable private MediaParser.SeekMap lastSeekMap; @Nullable private String containerMimeType; @Nullable private ChunkIndex lastChunkIndex; @Nullable private TimestampAdjuster timestampAdjuster; @@ -201,8 +194,6 @@ public final class OutputConsumerAdapterV30 implements MediaParser.OutputConsume * {@link MediaParser.SeekPoint#timeMicros} matches the requested timestamp, and {@link * MediaParser.SeekPoint#position} is 0. */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable public MediaParser.SeekMap getDummySeekMap() { return dummySeekMap; @@ -325,8 +316,6 @@ public final class OutputConsumerAdapterV30 implements MediaParser.OutputConsume scratchDataReaderAdapter, (int) sampleData.getLength(), /* allowEndOfInput= */ true); } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Override public void onSampleCompleted( int trackIndex, @@ -534,8 +523,6 @@ public final class OutputConsumerAdapterV30 implements MediaParser.OutputConsume return formatBuilder.build(); } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable private static DrmInitData toExoPlayerDrmInitData( @Nullable String schemeType, @Nullable android.media.DrmInitData drmInitData) { @@ -593,8 +580,6 @@ public final class OutputConsumerAdapterV30 implements MediaParser.OutputConsume private static ColorInfo getColorInfo(MediaFormat mediaFormat) { @Nullable ByteBuffer hdrStaticInfoByteBuffer = mediaFormat.getByteBuffer(MediaFormat.KEY_HDR_STATIC_INFO); - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") @Nullable byte[] hdrStaticInfo = hdrStaticInfoByteBuffer != null ? getArray(hdrStaticInfoByteBuffer) : null; @@ -696,10 +681,7 @@ public final class OutputConsumerAdapterV30 implements MediaParser.OutputConsume private static final class DataReaderAdapter implements DataReader { - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - public MediaParser.InputReader input; + @Nullable public MediaParser.InputReader input; @Override public int read(byte[] target, int offset, int length) throws IOException { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/text/Cue.java b/library/core/src/main/java/com/google/android/exoplayer2/text/Cue.java index d9a1e14f75..268133ad40 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/text/Cue.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/text/Cue.java @@ -565,8 +565,6 @@ public final class Cue { * * @see Cue#textAlignment */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") public Builder setTextAlignment(@Nullable Layout.Alignment textAlignment) { this.textAlignment = textAlignment; return this; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/text/dvb/DvbParser.java b/library/core/src/main/java/com/google/android/exoplayer2/text/dvb/DvbParser.java index 607f544515..5cdbfdf72e 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/text/dvb/DvbParser.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/text/dvb/DvbParser.java @@ -625,8 +625,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } /** Draws a pixel data sub-block, as defined by ETSI EN 300 743 7.2.5.1, into a canvas. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private static void paintPixelDataSubBlock( byte[] pixelData, int[] clutEntries, @@ -638,18 +636,9 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; ParsableBitArray data = new ParsableBitArray(pixelData); int column = horizontalAddress; int line = verticalAddress; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - byte[] clutMapTable2To4 = null; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - byte[] clutMapTable2To8 = null; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - byte[] clutMapTable4To8 = null; + @Nullable byte[] clutMapTable2To4 = null; + @Nullable byte[] clutMapTable2To8 = null; + @Nullable byte[] clutMapTable4To8 = null; while (data.bitsLeft() != 0) { int dataType = data.readBits(8); @@ -704,8 +693,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } /** Paint a 2-bit/pixel code string, as defined by ETSI EN 300 743 7.2.5.2, to a canvas. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private static int paint2BitPixelCodeString( ParsableBitArray data, int[] clutEntries, @@ -758,8 +745,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } /** Paint a 4-bit/pixel code string, as defined by ETSI EN 300 743 7.2.5.2, to a canvas. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private static int paint4BitPixelCodeString( ParsableBitArray data, int[] clutEntries, @@ -818,8 +803,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } /** Paint an 8-bit/pixel code string, as defined by ETSI EN 300 743 7.2.5.2, to a canvas. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private static int paint8BitPixelCodeString( ParsableBitArray data, int[] clutEntries, diff --git a/library/core/src/main/java/com/google/android/exoplayer2/text/ssa/SsaDecoder.java b/library/core/src/main/java/com/google/android/exoplayer2/text/ssa/SsaDecoder.java index 882a247842..f44db4924f 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/text/ssa/SsaDecoder.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/text/ssa/SsaDecoder.java @@ -180,10 +180,7 @@ public final class SsaDecoder extends SimpleSubtitleDecoder { */ private static Map parseStyles(ParsableByteArray data) { Map styles = new LinkedHashMap<>(); - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - SsaStyle.Format formatInfo = null; + @Nullable SsaStyle.Format formatInfo = null; @Nullable String currentLine; while ((currentLine = data.readLine()) != null && (data.bytesLeft() == 0 || data.peekUnsignedByte() != '[')) { @@ -332,8 +329,6 @@ public final class SsaDecoder extends SimpleSubtitleDecoder { return cue.build(); } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable private static Layout.Alignment toTextAlignment(@SsaStyle.SsaAlignment int alignment) { switch (alignment) { diff --git a/library/core/src/main/java/com/google/android/exoplayer2/text/ttml/TtmlStyle.java b/library/core/src/main/java/com/google/android/exoplayer2/text/ttml/TtmlStyle.java index dab0182517..3ca519660d 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/text/ttml/TtmlStyle.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/text/ttml/TtmlStyle.java @@ -84,11 +84,7 @@ import java.lang.annotation.RetentionPolicy; @Nullable private String id; @RubyType private int rubyType; @RubySpan.Position private int rubyPosition; - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - private Layout.Alignment textAlign; - + @Nullable private Layout.Alignment textAlign; @OptionalBoolean private int textCombine; public TtmlStyle() { @@ -283,15 +279,11 @@ import java.lang.annotation.RetentionPolicy; return rubyPosition; } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") @Nullable public Layout.Alignment getTextAlign() { return textAlign; } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") public TtmlStyle setTextAlign(@Nullable Layout.Alignment textAlign) { this.textAlign = textAlign; return this; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.java b/library/core/src/main/java/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.java index 29445dd28f..c1118c01a9 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/upstream/crypto/AesCipherDataSink.java @@ -31,10 +31,7 @@ public final class AesCipherDataSink implements DataSink { private final DataSink wrappedDataSink; private final byte[] secretKey; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private final byte[] scratch; + @Nullable private final byte[] scratch; @Nullable private AesFlushingCipher cipher; @@ -62,8 +59,6 @@ public final class AesCipherDataSink implements DataSink { * cipher calls will be required to complete the operation. If {@code null} then encryption * will overwrite the input {@code data}. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") public AesCipherDataSink(byte[] secretKey, DataSink wrappedDataSink, @Nullable byte[] scratch) { this.wrappedDataSink = wrappedDataSink; this.secretKey = secretKey; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/util/Clock.java b/library/core/src/main/java/com/google/android/exoplayer2/util/Clock.java index 990b1ad33c..ffb8236bd1 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/util/Clock.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/util/Clock.java @@ -52,7 +52,5 @@ public interface Clock { * * @see Handler#Handler(Looper, Handler.Callback) */ - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") HandlerWrapper createHandler(Looper looper, @Nullable Handler.Callback callback); } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.java b/library/core/src/main/java/com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.java index 94344b8895..899f1a8d47 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/VideoDecoderOutputBuffer.java @@ -50,11 +50,7 @@ public class VideoDecoderOutputBuffer extends OutputBuffer { /** YUV planes for YUV mode. */ @Nullable public ByteBuffer[] yuvPlanes; - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - public int[] yuvStrides; - + @Nullable public int[] yuvStrides; public int colorspace; /** diff --git a/library/core/src/main/java/com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.java b/library/core/src/main/java/com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.java index fe5634a495..75902c0f14 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/video/spherical/CameraMotionRenderer.java @@ -106,10 +106,7 @@ public final class CameraMotionRenderer extends BaseRenderer { } buffer.flip(); - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - float[] rotation = parseMetadata(Util.castNonNull(buffer.data)); + @Nullable float[] rotation = parseMetadata(Util.castNonNull(buffer.data)); if (rotation == null) { continue; } @@ -128,8 +125,6 @@ public final class CameraMotionRenderer extends BaseRenderer { return true; } - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") @Nullable private float[] parseMetadata(ByteBuffer data) { if (data.remaining() != 16) { diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.java index e68792f843..2185b52f93 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.java @@ -236,8 +236,6 @@ public final class PlayerEmsgHandler implements Handler.Callback { } } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") private @Nullable Map.Entry ceilingExpiryEntryForPublishTime(long publishTimeMs) { return manifestPublishTimeToExpiryTimeUs.ceilingEntry(publishTimeMs); } diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp3/XingSeeker.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp3/XingSeeker.java index 649b3bcbee..d95721be5d 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp3/XingSeeker.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp3/XingSeeker.java @@ -92,10 +92,7 @@ import com.google.android.exoplayer2.util.Util; * Entries are in the range [0, 255], but are stored as long integers for convenience. Null if the * table of contents was missing from the header, in which case seeking is not be supported. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") - @Nullable - private final long[] tableOfContents; + @Nullable private final long[] tableOfContents; private XingSeeker(long dataStartPosition, int xingFrameSize, long durationUs) { this( @@ -106,8 +103,6 @@ import com.google.android.exoplayer2.util.Util; /* tableOfContents= */ null); } - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private XingSeeker( long dataStartPosition, int xingFrameSize, diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/PesReader.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/PesReader.java index 96e09b783d..97fe7a7336 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/PesReader.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/ts/PesReader.java @@ -170,8 +170,6 @@ public final class PesReader implements TsPayloadReader { * @param targetLength The target length of the read. * @return Whether the target length has been reached. */ - // nullness annotations are not applicable to primitive types - @SuppressWarnings("nullness:nullness.on.primitive") private boolean continueRead( ParsableByteArray source, @Nullable byte[] target, int targetLength) { int bytesToRead = min(source.bytesLeft(), targetLength - bytesRead); diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.java index 024ee0c56b..39462f3d06 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/offline/HlsDownloader.java @@ -159,10 +159,7 @@ public final class HlsDownloader extends SegmentDownloader { // Generating an incomplete segment list is allowed. Advance to the next media playlist. continue; } - // nullness annotations are not applicable to outer types - @SuppressWarnings("nullness:nullness.on.outer") - @Nullable - HlsMediaPlaylist.Segment lastInitSegment = null; + @Nullable HlsMediaPlaylist.Segment lastInitSegment = null; List hlsSegments = mediaPlaylist.segments; for (int i = 0; i < hlsSegments.size(); i++) { HlsMediaPlaylist.Segment segment = hlsSegments.get(i);