diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index 08dd27056e..09f8fca8c7 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -523,7 +523,7 @@ public final class Util { *

This implements {@code SparseArray#contains} for lower API versions. */ @UnstableApi - public static boolean containsKey(SparseArray sparseArray, int key) { + public static boolean contains(SparseArray sparseArray, int key) { return sparseArray.indexOfKey(key) >= 0; } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/InputSwitcher.java b/libraries/effect/src/main/java/androidx/media3/effect/InputSwitcher.java index 742dc952b4..0f1bf28a1e 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/InputSwitcher.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/InputSwitcher.java @@ -23,7 +23,7 @@ import static androidx.media3.common.VideoFrameProcessor.INPUT_TYPE_TEXTURE_ID; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; -import static androidx.media3.common.util.Util.containsKey; +import static androidx.media3.common.util.Util.contains; import android.content.Context; import android.util.SparseArray; @@ -169,7 +169,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; public void switchToInput( @VideoFrameProcessor.InputType int newInputType, FrameInfo inputFrameInfo) { checkStateNotNull(downstreamShaderProgram); - checkState(containsKey(inputs, newInputType), "Input type not registered: " + newInputType); + checkState(contains(inputs, newInputType), "Input type not registered: " + newInputType); for (int i = 0; i < inputs.size(); i++) { @VideoFrameProcessor.InputType int inputType = inputs.keyAt(i); @@ -223,7 +223,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * {@linkplain #registerInput registered}. */ public Surface getInputSurface() { - checkState(containsKey(inputs, INPUT_TYPE_SURFACE)); + checkState(contains(inputs, INPUT_TYPE_SURFACE)); return inputs.get(INPUT_TYPE_SURFACE).textureManager.getInputSurface(); } @@ -234,7 +234,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * {@linkplain #registerInput registered}. */ public void setInputDefaultBufferSize(int width, int height) { - checkState(containsKey(inputs, INPUT_TYPE_SURFACE)); + checkState(contains(inputs, INPUT_TYPE_SURFACE)); inputs.get(INPUT_TYPE_SURFACE).textureManager.setDefaultBufferSize(width, height); } @@ -245,7 +245,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * {@linkplain #registerInput registered}. */ public void setOnInputFrameProcessedListener(OnInputFrameProcessedListener listener) { - checkState(containsKey(inputs, INPUT_TYPE_TEXTURE_ID)); + checkState(contains(inputs, INPUT_TYPE_TEXTURE_ID)); inputs.get(INPUT_TYPE_TEXTURE_ID).textureManager.setOnInputFrameProcessedListener(listener); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultAudioMixer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultAudioMixer.java index 6c19fe96ad..6b977aa844 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultAudioMixer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultAudioMixer.java @@ -18,7 +18,7 @@ package androidx.media3.transformer; import static androidx.media3.common.audio.AudioProcessor.EMPTY_BUFFER; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; -import static androidx.media3.common.util.Util.containsKey; +import static androidx.media3.common.util.Util.contains; import static java.lang.Math.max; import static java.lang.Math.min; @@ -174,7 +174,7 @@ public final class DefaultAudioMixer implements AudioMixer { @Override public boolean hasSource(int sourceId) { checkStateIsConfigured(); - return containsKey(sources, sourceId); + return contains(sources, sourceId); } @Override @@ -319,7 +319,7 @@ public final class DefaultAudioMixer implements AudioMixer { } private SourceInfo getSourceById(int sourceId) { - checkState(containsKey(sources, sourceId), "Source not found."); + checkState(contains(sources, sourceId), "Source not found."); return sources.get(sourceId); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java index d8623d19e9..66bbf7dfd4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java @@ -19,7 +19,7 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; -import static androidx.media3.common.util.Util.containsKey; +import static androidx.media3.common.util.Util.contains; import static java.lang.Math.max; import static java.util.concurrent.TimeUnit.MILLISECONDS; @@ -185,7 +185,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; "Unsupported track format: " + sampleMimeType); checkState( - !containsKey(trackTypeToInfo, trackType), "There is already a track of type " + trackType); + !contains(trackTypeToInfo, trackType), "There is already a track of type " + trackType); ensureMuxerInitialized(); @@ -227,7 +227,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; public boolean writeSample( @C.TrackType int trackType, ByteBuffer data, boolean isKeyFrame, long presentationTimeUs) throws Muxer.MuxerException { - checkArgument(containsKey(trackTypeToInfo, trackType)); + checkArgument(contains(trackTypeToInfo, trackType)); TrackInfo trackInfo = trackTypeToInfo.get(trackType); boolean canWriteSample = canWriteSample(trackType, presentationTimeUs); if (trackType == C.TRACK_TYPE_VIDEO) { @@ -269,7 +269,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; * @param trackType The {@link C.TrackType}. */ public void endTrack(@C.TrackType int trackType) { - if (!containsKey(trackTypeToInfo, trackType)) { + if (!contains(trackTypeToInfo, trackType)) { return; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java index a1cfb28e56..91b3b4255a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java @@ -18,7 +18,7 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; -import static androidx.media3.common.util.Util.containsKey; +import static androidx.media3.common.util.Util.contains; import static androidx.media3.transformer.AssetLoader.SUPPORTED_OUTPUT_TYPE_DECODED; import static androidx.media3.transformer.AssetLoader.SUPPORTED_OUTPUT_TYPE_ENCODED; import static androidx.media3.transformer.Composition.HDR_MODE_KEEP_HDR; @@ -801,7 +801,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; public Format getAssetLoaderInputFormat(int sequenceIndex, @C.TrackType int trackType) { SparseArray trackTypeToFirstAssetLoaderInputFormat = sequencesMetadata.get(sequenceIndex).trackTypeToFirstAssetLoaderInputFormat; - checkState(containsKey(trackTypeToFirstAssetLoaderInputFormat, trackType)); + checkState(contains(trackTypeToFirstAssetLoaderInputFormat, trackType)); return trackTypeToFirstAssetLoaderInputFormat.get(trackType); } @@ -842,7 +842,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @C.TrackType int trackType = getProcessedTrackType(assetLoaderInputFormat.sampleMimeType); SparseArray trackTypeToFirstAssetLoaderInputFormat = sequencesMetadata.get(sequenceIndex).trackTypeToFirstAssetLoaderInputFormat; - checkState(!containsKey(trackTypeToFirstAssetLoaderInputFormat, trackType)); + checkState(!contains(trackTypeToFirstAssetLoaderInputFormat, trackType)); trackTypeToFirstAssetLoaderInputFormat.put(trackType, assetLoaderInputFormat); } @@ -850,7 +850,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * Returns the index of the primary sequence for a given {@link C.TrackType trackType}. * *

A primary sequence for a {@link C.TrackType trackType} is defined as the lowest indexed - * sequence that containsKey a track of the given {@code trackType}. + * sequence that contains a track of the given {@code trackType}. */ public int getIndexForPrimarySequence(@C.TrackType int trackType) { checkState( @@ -859,7 +859,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; for (int i = 0; i < sequencesMetadata.size(); i++) { SparseArray trackTypeToFirstAssetLoaderInputFormat = sequencesMetadata.get(i).trackTypeToFirstAssetLoaderInputFormat; - if (containsKey(trackTypeToFirstAssetLoaderInputFormat, trackType)) { + if (contains(trackTypeToFirstAssetLoaderInputFormat, trackType)) { return i; } } @@ -890,7 +890,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; */ public void registerGraphInput(@C.TrackType int trackType) { int numberOfGraphInputForTrackType = 1; - if (containsKey(trackTypeToNumberOfRegisteredGraphInput, trackType)) { + if (contains(trackTypeToNumberOfRegisteredGraphInput, trackType)) { numberOfGraphInputForTrackType += trackTypeToNumberOfRegisteredGraphInput.get(trackType); } trackTypeToNumberOfRegisteredGraphInput.put(trackType, numberOfGraphInputForTrackType); @@ -903,8 +903,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; public boolean hasAssociatedAllTracksWithGraphInput(@C.TrackType int trackType) { int numberOfTracksForTrackType = 0; for (int i = 0; i < sequencesMetadata.size(); i++) { - if (containsKey( - sequencesMetadata.get(i).trackTypeToFirstAssetLoaderInputFormat, trackType)) { + if (contains(sequencesMetadata.get(i).trackTypeToFirstAssetLoaderInputFormat, trackType)) { numberOfTracksForTrackType++; } } @@ -918,10 +917,10 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; for (int i = 0; i < sequencesMetadata.size(); i++) { SparseArray trackTypeToFirstAssetLoaderInputFormat = sequencesMetadata.get(i).trackTypeToFirstAssetLoaderInputFormat; - if (containsKey(trackTypeToFirstAssetLoaderInputFormat, C.TRACK_TYPE_AUDIO)) { + if (contains(trackTypeToFirstAssetLoaderInputFormat, C.TRACK_TYPE_AUDIO)) { outputHasAudio = true; } - if (containsKey(trackTypeToFirstAssetLoaderInputFormat, C.TRACK_TYPE_VIDEO)) { + if (contains(trackTypeToFirstAssetLoaderInputFormat, C.TRACK_TYPE_VIDEO)) { outputHasVideo = true; } } @@ -931,14 +930,14 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Registers a {@link SampleExporter} for the given {@link C.TrackType trackType}. */ public void registerSampleExporter(int trackType, SampleExporter sampleExporter) { checkState( - !containsKey(trackTypeToSampleExporter, trackType), + !contains(trackTypeToSampleExporter, trackType), "Exactly one SampleExporter can be added for each track type."); trackTypeToSampleExporter.put(trackType, sampleExporter); } /** Sets whether a track should be transcoded. */ public void setShouldTranscode(@C.TrackType int trackType, boolean shouldTranscode) { - if (containsKey(trackTypeToShouldTranscode, trackType)) { + if (contains(trackTypeToShouldTranscode, trackType)) { checkState(shouldTranscode == trackTypeToShouldTranscode.get(trackType)); return; } @@ -947,7 +946,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Returns whether a track should be transcoded. */ public boolean shouldTranscode(@C.TrackType int trackType) { - checkState(containsKey(trackTypeToShouldTranscode, trackType)); + checkState(contains(trackTypeToShouldTranscode, trackType)); return trackTypeToShouldTranscode.get(trackType); }