Commit 16a6946f by tonihei Committed by Oliver Woodman

Replace @MonotonicNonNull with @Nullable for final variables.

@MonotonicNonNull is not useful if the variable is final, because it's only
assigned once and guaranteed to keep it's current nullability in the same
way as @MonotonicNonNull ensures it's kept non-null after checking.

This way, the workarounds can also be removed.

PiperOrigin-RevId: 275428656
parent 39d5f143
...@@ -196,11 +196,9 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; ...@@ -196,11 +196,9 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
/** The url of the playlist from which this chunk was obtained. */ /** The url of the playlist from which this chunk was obtained. */
public final Uri playlistUrl; public final Uri playlistUrl;
// These should be final, but can't be due to @Nullable private final DataSource initDataSource;
// https://github.com/typetools/checker-framework/issues/2215 @Nullable private final DataSpec initDataSpec;
@MonotonicNonNull private DataSource initDataSource; @Nullable private final Extractor previousExtractor;
@MonotonicNonNull private DataSpec initDataSpec;
@MonotonicNonNull private Extractor previousExtractor;
private final boolean isMasterTimestampSource; private final boolean isMasterTimestampSource;
private final boolean hasGapTag; private final boolean hasGapTag;
...@@ -260,12 +258,9 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; ...@@ -260,12 +258,9 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
chunkMediaSequence); chunkMediaSequence);
this.mediaSegmentEncrypted = mediaSegmentEncrypted; this.mediaSegmentEncrypted = mediaSegmentEncrypted;
this.discontinuitySequenceNumber = discontinuitySequenceNumber; this.discontinuitySequenceNumber = discontinuitySequenceNumber;
// Workaround for https://github.com/typetools/checker-framework/issues/2215 this.initDataSpec = initDataSpec;
if (initDataSpec != null) { this.initDataSource = initDataSource;
this.initDataSpec = initDataSpec; this.initDataLoadRequired = initDataSpec != null;
this.initDataSource = Assertions.checkNotNull(initDataSource);
initDataLoadRequired = true;
}
this.initSegmentEncrypted = initSegmentEncrypted; this.initSegmentEncrypted = initSegmentEncrypted;
this.playlistUrl = playlistUrl; this.playlistUrl = playlistUrl;
this.isMasterTimestampSource = isMasterTimestampSource; this.isMasterTimestampSource = isMasterTimestampSource;
...@@ -274,10 +269,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; ...@@ -274,10 +269,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
this.extractorFactory = extractorFactory; this.extractorFactory = extractorFactory;
this.muxedCaptionFormats = muxedCaptionFormats; this.muxedCaptionFormats = muxedCaptionFormats;
this.drmInitData = drmInitData; this.drmInitData = drmInitData;
// Workaround for https://github.com/typetools/checker-framework/issues/2215 this.previousExtractor = previousExtractor;
if (previousExtractor != null) {
this.previousExtractor = previousExtractor;
}
this.id3Decoder = id3Decoder; this.id3Decoder = id3Decoder;
this.scratchId3Data = scratchId3Data; this.scratchId3Data = scratchId3Data;
this.shouldSpliceIn = shouldSpliceIn; this.shouldSpliceIn = shouldSpliceIn;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment