From 8149ac8922eb93c2dec2b3b108997d58a89b7ca2 Mon Sep 17 00:00:00 2001 From: ibaker Date: Fri, 4 Feb 2022 12:41:28 +0000 Subject: [PATCH] Mark all non-public IntDefs as only TYPE_USE This only changes IntDefs that cannot be used by apps because they're either private or package-private. A follow-up change will fix the positions of existing usages to match this new config. #minor-release PiperOrigin-RevId: 426372273 --- .../java/androidx/media3/common/AdPlaybackState.java | 4 ++++ .../java/androidx/media3/common/AudioAttributes.java | 4 ++++ .../src/main/java/androidx/media3/common/ColorInfo.java | 4 ++++ .../src/main/java/androidx/media3/common/DeviceInfo.java | 1 + .../src/main/java/androidx/media3/common/Format.java | 4 ++++ .../main/java/androidx/media3/common/HeartRating.java | 3 +++ .../src/main/java/androidx/media3/common/MediaItem.java | 5 +++++ .../main/java/androidx/media3/common/MediaMetadata.java | 1 + .../java/androidx/media3/common/PercentageRating.java | 3 +++ .../java/androidx/media3/common/PlaybackParameters.java | 4 ++++ .../src/main/java/androidx/media3/common/Player.java | 2 ++ .../src/main/java/androidx/media3/common/Rating.java | 5 +++++ .../src/main/java/androidx/media3/common/StarRating.java | 3 +++ .../main/java/androidx/media3/common/ThumbRating.java | 3 +++ .../src/main/java/androidx/media3/common/Timeline.java | 5 +++++ .../src/main/java/androidx/media3/common/TrackGroup.java | 3 +++ .../java/androidx/media3/common/TrackGroupArray.java | 4 ++++ .../androidx/media3/common/TrackSelectionOverrides.java | 4 ++++ .../androidx/media3/common/TrackSelectionParameters.java | 3 +++ .../src/main/java/androidx/media3/common/TracksInfo.java | 4 ++++ .../src/main/java/androidx/media3/common/VideoSize.java | 4 ++++ .../src/main/java/androidx/media3/common/text/Cue.java | 1 + .../main/java/androidx/media3/database/VersionTable.java | 4 ++++ .../androidx/media3/exoplayer/AudioFocusManager.java | 3 +++ .../media3/exoplayer/audio/AudioTimestampPoller.java | 4 ++++ .../exoplayer/audio/AudioTrackPositionTracker.java | 3 +++ .../media3/exoplayer/audio/DecoderAudioRenderer.java | 2 ++ .../exoplayer/audio/SilenceSkippingAudioProcessor.java | 3 +++ .../mediacodec/AsynchronousMediaCodecAdapter.java | 4 ++++ .../mediacodec/DefaultMediaCodecAdapterFactory.java | 6 ++++++ .../media3/exoplayer/mediacodec/MediaCodecRenderer.java | 6 ++++++ .../media3/exoplayer/text/ExoplayerCuesDecoder.java | 5 +++++ .../androidx/media3/exoplayer/text/TextRenderer.java | 3 +++ .../exoplayer/trackselection/DefaultTrackSelector.java | 4 ++++ .../java/androidx/media3/exoplayer/upstream/Loader.java | 3 +++ .../media3/exoplayer/video/DecoderVideoRenderer.java | 9 ++++++--- .../media3/exoplayer/video/spherical/Projection.java | 4 ++++ .../androidx/media3/exoplayer/dash/DashMediaPeriod.java | 3 +++ .../androidx/media3/exoplayer/hls/HlsChunkSource.java | 5 +++++ .../java/androidx/media3/exoplayer/ima/AdTagLoader.java | 3 +++ .../media3/exoplayer/rtsp/RtspAuthenticationInfo.java | 6 ++++++ .../java/androidx/media3/exoplayer/rtsp/RtspClient.java | 3 +++ .../media3/exoplayer/rtsp/RtspMessageChannel.java | 3 +++ .../java/androidx/media3/exoplayer/rtsp/RtspRequest.java | 4 ++++ .../androidx/media3/extractor/flac/FlacExtractor.java | 3 +++ .../java/androidx/media3/extractor/flv/FlvExtractor.java | 3 +++ .../androidx/media3/extractor/jpeg/JpegExtractor.java | 3 +++ .../androidx/media3/extractor/mkv/DefaultEbmlReader.java | 4 ++++ .../java/androidx/media3/extractor/mp4/Mp4Extractor.java | 4 ++++ .../java/androidx/media3/extractor/mp4/SefReader.java | 4 ++++ .../media3/extractor/text/SubtitleExtractor.java | 5 +++++ .../androidx/media3/extractor/text/ssa/SsaStyle.java | 3 +++ .../media3/extractor/text/ttml/TextEmphasis.java | 4 ++++ .../androidx/media3/extractor/text/ttml/TtmlStyle.java | 7 +++++++ .../media3/extractor/text/webvtt/WebvttCssStyle.java | 4 ++++ .../media3/extractor/text/webvtt/WebvttCueParser.java | 3 +++ .../java/androidx/media3/extractor/ts/Ac3Reader.java | 3 +++ .../java/androidx/media3/extractor/ts/Ac4Reader.java | 3 +++ .../java/androidx/media3/extractor/ts/H263Reader.java | 5 +++++ .../main/java/androidx/media3/session/CommandButton.java | 3 +++ .../java/androidx/media3/session/ConnectionRequest.java | 3 +++ .../java/androidx/media3/session/ConnectionState.java | 3 +++ .../main/java/androidx/media3/session/LibraryResult.java | 1 + .../androidx/media3/session/MediaLibraryService.java | 3 +++ .../main/java/androidx/media3/session/PlayerInfo.java | 3 +++ .../java/androidx/media3/session/SessionCommand.java | 1 + .../java/androidx/media3/session/SessionCommands.java | 3 +++ .../androidx/media3/session/SessionPositionInfo.java | 4 ++++ .../main/java/androidx/media3/session/SessionResult.java | 1 + .../main/java/androidx/media3/session/SessionToken.java | 2 ++ .../androidx/media3/session/SessionTokenImplBase.java | 3 +++ .../androidx/media3/session/SessionTokenImplLegacy.java | 3 +++ .../java/androidx/media3/test/utils/DumpFileAsserts.java | 3 +++ .../androidx/media3/test/utils/WebServerDispatcher.java | 3 +++ 74 files changed, 258 insertions(+), 3 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java b/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java index cc6557646b..22ca06106b 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java +++ b/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java @@ -18,6 +18,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; import static java.lang.Math.max; +import static java.lang.annotation.ElementType.TYPE_USE; import android.net.Uri; import android.os.Bundle; @@ -30,6 +31,7 @@ import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.ArrayList; import java.util.Arrays; import org.checkerframework.checker.nullness.compatqual.NullableType; @@ -343,6 +345,7 @@ public final class AdPlaybackState implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_TIME_US, FIELD_COUNT, @@ -913,6 +916,7 @@ public final class AdPlaybackState implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_AD_GROUPS, FIELD_AD_RESUME_POSITION_US, diff --git a/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java b/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java index ac8049f1f4..82ba84f652 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java +++ b/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java @@ -15,6 +15,8 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.DoNotInline; import androidx.annotation.IntDef; @@ -25,6 +27,7 @@ import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.lang.reflect.Method; /** @@ -180,6 +183,7 @@ public final class AudioAttributes implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_CONTENT_TYPE, FIELD_FLAGS, diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index 4a5770756b..fb27d2d18c 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -15,6 +15,8 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -22,6 +24,7 @@ import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Arrays; import org.checkerframework.dataflow.qual.Pure; @@ -163,6 +166,7 @@ public final class ColorInfo implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_COLOR_SPACE, FIELD_COLOR_RANGE, diff --git a/libraries/common/src/main/java/androidx/media3/common/DeviceInfo.java b/libraries/common/src/main/java/androidx/media3/common/DeviceInfo.java index 0251443f1e..2daeb92ef2 100644 --- a/libraries/common/src/main/java/androidx/media3/common/DeviceInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/DeviceInfo.java @@ -89,6 +89,7 @@ public final class DeviceInfo implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_PLAYBACK_TYPE, FIELD_MIN_VOLUME, FIELD_MAX_VOLUME}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/Format.java b/libraries/common/src/main/java/androidx/media3/common/Format.java index bb6cfc86f7..dd6460c9cf 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Format.java +++ b/libraries/common/src/main/java/androidx/media3/common/Format.java @@ -15,6 +15,8 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -25,6 +27,7 @@ import com.google.common.base.Joiner; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -1417,6 +1420,7 @@ public final class Format implements Bundleable { // Bundleable implementation. @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_ID, FIELD_LABEL, diff --git a/libraries/common/src/main/java/androidx/media3/common/HeartRating.java b/libraries/common/src/main/java/androidx/media3/common/HeartRating.java index 6f8b45e44a..4a7117764c 100644 --- a/libraries/common/src/main/java/androidx/media3/common/HeartRating.java +++ b/libraries/common/src/main/java/androidx/media3/common/HeartRating.java @@ -16,6 +16,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkArgument; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.IntDef; @@ -25,6 +26,7 @@ import com.google.common.base.Objects; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * A rating expressed as "heart" or "no heart". It can be used to indicate whether the content is a @@ -81,6 +83,7 @@ public final class HeartRating extends Rating { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_RATING_TYPE, FIELD_RATED, FIELD_IS_HEART}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/MediaItem.java b/libraries/common/src/main/java/androidx/media3/common/MediaItem.java index 106bbeb959..29e85b22b1 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MediaItem.java +++ b/libraries/common/src/main/java/androidx/media3/common/MediaItem.java @@ -17,6 +17,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; +import static java.lang.annotation.ElementType.TYPE_USE; import android.net.Uri; import android.os.Bundle; @@ -31,6 +32,7 @@ import com.google.common.collect.ImmutableMap; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -1210,6 +1212,7 @@ public final class MediaItem implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_TARGET_OFFSET_MS, FIELD_MIN_OFFSET_MS, @@ -1625,6 +1628,7 @@ public final class MediaItem implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_START_POSITION_MS, FIELD_END_POSITION_MS, @@ -1773,6 +1777,7 @@ public final class MediaItem implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_MEDIA_ID, FIELD_LIVE_CONFIGURATION, diff --git a/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java b/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java index eec5d3868a..7a847c24e2 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java +++ b/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java @@ -833,6 +833,7 @@ public final class MediaMetadata implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_TITLE, FIELD_ARTIST, diff --git a/libraries/common/src/main/java/androidx/media3/common/PercentageRating.java b/libraries/common/src/main/java/androidx/media3/common/PercentageRating.java index e14012f877..f110efba16 100644 --- a/libraries/common/src/main/java/androidx/media3/common/PercentageRating.java +++ b/libraries/common/src/main/java/androidx/media3/common/PercentageRating.java @@ -16,6 +16,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkArgument; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.FloatRange; @@ -26,6 +27,7 @@ import com.google.common.base.Objects; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** A rating expressed as a percentage. */ public final class PercentageRating extends Rating { @@ -79,6 +81,7 @@ public final class PercentageRating extends Rating { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_RATING_TYPE, FIELD_PERCENT}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/PlaybackParameters.java b/libraries/common/src/main/java/androidx/media3/common/PlaybackParameters.java index 4ad574aa54..84881a55ce 100644 --- a/libraries/common/src/main/java/androidx/media3/common/PlaybackParameters.java +++ b/libraries/common/src/main/java/androidx/media3/common/PlaybackParameters.java @@ -15,6 +15,8 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.CheckResult; import androidx.annotation.FloatRange; @@ -26,6 +28,7 @@ import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** Parameters that apply to playback, including speed setting. */ public final class PlaybackParameters implements Bundleable { @@ -121,6 +124,7 @@ public final class PlaybackParameters implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_SPEED, FIELD_PITCH}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/Player.java b/libraries/common/src/main/java/androidx/media3/common/Player.java index c23647633c..aed681f729 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Player.java +++ b/libraries/common/src/main/java/androidx/media3/common/Player.java @@ -598,6 +598,7 @@ public interface Player { // Bundleable implementation. @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_MEDIA_ITEM_INDEX, FIELD_MEDIA_ITEM, @@ -895,6 +896,7 @@ public interface Player { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_COMMANDS}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/Rating.java b/libraries/common/src/main/java/androidx/media3/common/Rating.java index 1ff404aa35..e0c8aa735e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Rating.java +++ b/libraries/common/src/main/java/androidx/media3/common/Rating.java @@ -15,12 +15,15 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.IntDef; import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * A rating for media content. The style of a rating can be one of {@link HeartRating}, {@link @@ -41,6 +44,7 @@ public abstract class Rating implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ RATING_TYPE_UNSET, RATING_TYPE_HEART, @@ -58,6 +62,7 @@ public abstract class Rating implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_RATING_TYPE}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/StarRating.java b/libraries/common/src/main/java/androidx/media3/common/StarRating.java index 8ee113fc1f..c6547dde33 100644 --- a/libraries/common/src/main/java/androidx/media3/common/StarRating.java +++ b/libraries/common/src/main/java/androidx/media3/common/StarRating.java @@ -16,6 +16,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkArgument; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.FloatRange; @@ -27,6 +28,7 @@ import com.google.common.base.Objects; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** A rating expressed as a fractional number of stars. */ public final class StarRating extends Rating { @@ -106,6 +108,7 @@ public final class StarRating extends Rating { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_RATING_TYPE, FIELD_MAX_STARS, FIELD_STAR_RATING}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/ThumbRating.java b/libraries/common/src/main/java/androidx/media3/common/ThumbRating.java index b73d3c4f83..3c68986b98 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ThumbRating.java +++ b/libraries/common/src/main/java/androidx/media3/common/ThumbRating.java @@ -16,6 +16,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkArgument; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.IntDef; @@ -25,6 +26,7 @@ import com.google.common.base.Objects; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** A rating expressed as "thumbs up" or "thumbs down". */ public final class ThumbRating extends Rating { @@ -78,6 +80,7 @@ public final class ThumbRating extends Rating { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_RATING_TYPE, FIELD_RATED, FIELD_IS_THUMBS_UP}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/Timeline.java b/libraries/common/src/main/java/androidx/media3/common/Timeline.java index 09e2dd0a9d..498eed4870 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Timeline.java +++ b/libraries/common/src/main/java/androidx/media3/common/Timeline.java @@ -20,6 +20,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; import static java.lang.Math.max; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import android.net.Uri; import android.os.Bundle; @@ -37,6 +38,7 @@ import com.google.errorprone.annotations.InlineMe; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.ArrayList; import java.util.List; @@ -414,6 +416,7 @@ public abstract class Timeline implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_MEDIA_ITEM, FIELD_PRESENTATION_START_TIME_MS, @@ -903,6 +906,7 @@ public abstract class Timeline implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_WINDOW_INDEX, FIELD_DURATION_US, @@ -1362,6 +1366,7 @@ public abstract class Timeline implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_WINDOWS, FIELD_PERIODS, diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java b/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java index b393e43d3d..f0c85adfb8 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java @@ -16,6 +16,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkArgument; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.CheckResult; @@ -29,6 +30,7 @@ import com.google.common.collect.Lists; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Arrays; import java.util.List; @@ -139,6 +141,7 @@ public final class TrackGroup implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_FORMATS, FIELD_ID}) private @interface FieldNumber {} diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackGroupArray.java b/libraries/common/src/main/java/androidx/media3/common/TrackGroupArray.java index a9dc8242ad..671d9848fa 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackGroupArray.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackGroupArray.java @@ -15,6 +15,8 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -25,6 +27,7 @@ import com.google.common.collect.ImmutableList; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.List; /** An immutable array of {@link TrackGroup}s. */ @@ -105,6 +108,7 @@ public final class TrackGroupArray implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_TRACK_GROUPS, }) diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackSelectionOverrides.java b/libraries/common/src/main/java/androidx/media3/common/TrackSelectionOverrides.java index 5c6b54a7b0..16fffadb49 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackSelectionOverrides.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackSelectionOverrides.java @@ -18,6 +18,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.BundleableUtil.fromBundleNullableList; import static androidx.media3.common.util.BundleableUtil.toBundleArrayList; +import static java.lang.annotation.ElementType.TYPE_USE; import static java.util.Collections.max; import static java.util.Collections.min; @@ -31,6 +32,7 @@ import com.google.common.primitives.Ints; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -181,6 +183,7 @@ public final class TrackSelectionOverrides implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_TRACK_GROUP, FIELD_TRACKS, @@ -269,6 +272,7 @@ public final class TrackSelectionOverrides implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_OVERRIDES, }) diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java b/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java index 4f7f6b8e8d..91ac8c3a9d 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java @@ -18,6 +18,7 @@ package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.BundleableUtil.fromNullableBundle; import static com.google.common.base.MoreObjects.firstNonNull; +import static java.lang.annotation.ElementType.TYPE_USE; import android.content.Context; import android.graphics.Point; @@ -35,6 +36,7 @@ import com.google.common.primitives.Ints; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Locale; import java.util.Set; import org.checkerframework.checker.initialization.qual.UnknownInitialization; @@ -984,6 +986,7 @@ public class TrackSelectionParameters implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_PREFERRED_AUDIO_LANGUAGES, FIELD_PREFERRED_AUDIO_ROLE_FLAGS, diff --git a/libraries/common/src/main/java/androidx/media3/common/TracksInfo.java b/libraries/common/src/main/java/androidx/media3/common/TracksInfo.java index 577ceb116d..066a92152e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TracksInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/TracksInfo.java @@ -20,6 +20,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.BundleableUtil.fromBundleNullableList; import static androidx.media3.common.util.BundleableUtil.fromNullableBundle; import static androidx.media3.common.util.BundleableUtil.toBundleArrayList; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.IntDef; @@ -31,6 +32,7 @@ import com.google.common.primitives.Booleans; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Arrays; import java.util.List; @@ -195,6 +197,7 @@ public final class TracksInfo implements Bundleable { // Bundleable implementation. @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_TRACK_GROUP, FIELD_TRACK_SUPPORT, @@ -330,6 +333,7 @@ public final class TracksInfo implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_TRACK_GROUP_INFOS, }) diff --git a/libraries/common/src/main/java/androidx/media3/common/VideoSize.java b/libraries/common/src/main/java/androidx/media3/common/VideoSize.java index 15bb48ba0b..9c25c257ae 100644 --- a/libraries/common/src/main/java/androidx/media3/common/VideoSize.java +++ b/libraries/common/src/main/java/androidx/media3/common/VideoSize.java @@ -15,6 +15,8 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.FloatRange; import androidx.annotation.IntDef; @@ -24,6 +26,7 @@ import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** Represents the video size. */ public final class VideoSize implements Bundleable { @@ -131,6 +134,7 @@ public final class VideoSize implements Bundleable { // Bundleable implementation. @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_WIDTH, FIELD_HEIGHT, diff --git a/libraries/common/src/main/java/androidx/media3/common/text/Cue.java b/libraries/common/src/main/java/androidx/media3/common/text/Cue.java index 6515a64125..d5f04a3540 100644 --- a/libraries/common/src/main/java/androidx/media3/common/text/Cue.java +++ b/libraries/common/src/main/java/androidx/media3/common/text/Cue.java @@ -968,6 +968,7 @@ public final class Cue implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_TEXT, FIELD_TEXT_ALIGNMENT, diff --git a/libraries/database/src/main/java/androidx/media3/database/VersionTable.java b/libraries/database/src/main/java/androidx/media3/database/VersionTable.java index 9802b9d5b9..74be07e9b7 100644 --- a/libraries/database/src/main/java/androidx/media3/database/VersionTable.java +++ b/libraries/database/src/main/java/androidx/media3/database/VersionTable.java @@ -15,6 +15,8 @@ */ package androidx.media3.database; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.content.ContentValues; import android.database.Cursor; import android.database.SQLException; @@ -26,6 +28,7 @@ import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * Utility methods for accessing versions of media library database components. This allows them to @@ -75,6 +78,7 @@ public final class VersionTable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FEATURE_OFFLINE, FEATURE_CACHE_CONTENT_METADATA, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java index 9e67e01811..580f18fc89 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer; import static androidx.media3.common.util.Assertions.checkNotNull; +import static java.lang.annotation.ElementType.TYPE_USE; import android.content.Context; import android.media.AudioFocusRequest; @@ -34,6 +35,7 @@ import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Manages requesting and responding to changes in audio focus. */ @@ -78,6 +80,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Audio focus state. */ @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ AUDIO_FOCUS_STATE_NO_FOCUS, AUDIO_FOCUS_STATE_HAVE_FOCUS, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTimestampPoller.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTimestampPoller.java index 2aedbe1909..3bc69a4588 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTimestampPoller.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTimestampPoller.java @@ -15,6 +15,8 @@ */ package androidx.media3.exoplayer.audio; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.annotation.TargetApi; import android.media.AudioTimestamp; import android.media.AudioTrack; @@ -26,6 +28,7 @@ import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * Polls the {@link AudioTrack} timestamp, if the platform supports it, taking care of polling at @@ -49,6 +52,7 @@ import java.lang.annotation.RetentionPolicy; /** Timestamp polling states. */ @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ STATE_INITIALIZING, STATE_TIMESTAMP, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTrackPositionTracker.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTrackPositionTracker.java index 6d0c680309..1101ac09bf 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTrackPositionTracker.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTrackPositionTracker.java @@ -18,6 +18,7 @@ package androidx.media3.exoplayer.audio; import static androidx.media3.common.util.Util.castNonNull; import static java.lang.Math.max; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import android.media.AudioTimestamp; import android.media.AudioTrack; @@ -30,6 +31,7 @@ import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.lang.reflect.Method; /** @@ -111,6 +113,7 @@ import java.lang.reflect.Method; /** {@link AudioTrack} playback states. */ @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({PLAYSTATE_STOPPED, PLAYSTATE_PAUSED, PLAYSTATE_PLAYING}) private @interface PlayState {} /** @see AudioTrack#PLAYSTATE_STOPPED */ diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java index 83a37c55db..2f9ac4accf 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java @@ -21,6 +21,7 @@ import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_NO; import static androidx.media3.exoplayer.source.SampleStream.FLAG_REQUIRE_FORMAT; import static com.google.common.base.MoreObjects.firstNonNull; import static java.lang.Math.max; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Handler; import android.os.SystemClock; @@ -97,6 +98,7 @@ public abstract class DecoderAudioRenderer< @Documented @Retention(RetentionPolicy.SOURCE) + @java.lang.annotation.Target(TYPE_USE) @IntDef({ REINITIALIZATION_STATE_NONE, REINITIALIZATION_STATE_SIGNAL_END_OF_STREAM, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java index f91b56a7a1..1390cc0aff 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer.audio; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import androidx.annotation.IntDef; import androidx.media3.common.C; @@ -25,6 +26,7 @@ import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.nio.ByteBuffer; /** @@ -53,6 +55,7 @@ public final class SilenceSkippingAudioProcessor extends BaseAudioProcessor { /** Trimming states. */ @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ STATE_NOISY, STATE_MAYBE_SILENT, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/AsynchronousMediaCodecAdapter.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/AsynchronousMediaCodecAdapter.java index dd9b97d8dd..e4f465c46e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/AsynchronousMediaCodecAdapter.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/AsynchronousMediaCodecAdapter.java @@ -16,6 +16,8 @@ package androidx.media3.exoplayer.mediacodec; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.media.MediaCodec; import android.media.MediaCrypto; import android.media.MediaFormat; @@ -36,6 +38,7 @@ import java.io.IOException; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.nio.ByteBuffer; /** @@ -124,6 +127,7 @@ import java.nio.ByteBuffer; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({STATE_CREATED, STATE_INITIALIZED, STATE_SHUT_DOWN}) private @interface State {} diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java index 3fc07a0fd4..d77786a0e7 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java @@ -15,6 +15,8 @@ */ package androidx.media3.exoplayer.mediacodec; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.media.MediaCodec; import androidx.annotation.IntDef; import androidx.media3.common.MimeTypes; @@ -22,8 +24,10 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import java.io.IOException; +import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * The default {@link MediaCodecAdapter.Factory}. @@ -37,7 +41,9 @@ import java.lang.annotation.RetentionPolicy; @UnstableApi public final class DefaultMediaCodecAdapterFactory implements MediaCodecAdapter.Factory { + @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({MODE_DEFAULT, MODE_ENABLED, MODE_DISABLED}) private @interface Mode {} diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java index 6068e56264..be578bf02b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java @@ -29,6 +29,7 @@ import static androidx.media3.exoplayer.source.SampleStream.FLAG_OMIT_SAMPLE_DAT import static androidx.media3.exoplayer.source.SampleStream.FLAG_PEEK; import static androidx.media3.exoplayer.source.SampleStream.FLAG_REQUIRE_FORMAT; import static java.lang.Math.max; +import static java.lang.annotation.ElementType.TYPE_USE; import android.annotation.TargetApi; import android.media.MediaCodec; @@ -78,6 +79,7 @@ import androidx.media3.extractor.NalUnitUtil; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.ArrayDeque; @@ -212,6 +214,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ RECONFIGURATION_STATE_NONE, RECONFIGURATION_STATE_WRITE_PENDING, @@ -230,6 +233,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({DRAIN_STATE_NONE, DRAIN_STATE_SIGNAL_END_OF_STREAM, DRAIN_STATE_WAIT_END_OF_STREAM}) private @interface DrainState {} /** The codec is not being drained. */ @@ -241,6 +245,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ DRAIN_ACTION_NONE, DRAIN_ACTION_FLUSH, @@ -259,6 +264,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ ADAPTATION_WORKAROUND_MODE_NEVER, ADAPTATION_WORKAROUND_MODE_SAME_RESOLUTION, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/ExoplayerCuesDecoder.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/ExoplayerCuesDecoder.java index a47bc4e8e8..4c668d3dc9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/ExoplayerCuesDecoder.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/ExoplayerCuesDecoder.java @@ -18,6 +18,7 @@ package androidx.media3.exoplayer.text; 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 java.lang.annotation.ElementType.TYPE_USE; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -32,8 +33,10 @@ import androidx.media3.extractor.text.SubtitleDecoderException; import androidx.media3.extractor.text.SubtitleInputBuffer; import androidx.media3.extractor.text.SubtitleOutputBuffer; import com.google.common.collect.ImmutableList; +import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.ArrayDeque; import java.util.Deque; import java.util.List; @@ -44,6 +47,8 @@ import java.util.List; */ @UnstableApi public final class ExoplayerCuesDecoder implements SubtitleDecoder { + @Documented + @Target(TYPE_USE) @IntDef(value = {INPUT_BUFFER_AVAILABLE, INPUT_BUFFER_DEQUEUED, INPUT_BUFFER_QUEUED}) @Retention(RetentionPolicy.SOURCE) private @interface InputBufferState {} diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java index cfaa9311b8..e6dac32716 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java @@ -17,6 +17,7 @@ package androidx.media3.exoplayer.text; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Handler; import android.os.Handler.Callback; @@ -43,6 +44,7 @@ import androidx.media3.extractor.text.SubtitleOutputBuffer; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Collections; import java.util.List; @@ -60,6 +62,7 @@ public final class TextRenderer extends BaseRenderer implements Callback { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ REPLACEMENT_STATE_NONE, REPLACEMENT_STATE_SIGNAL_END_OF_STREAM, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java index d407421078..5b83a7f22c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java @@ -15,6 +15,7 @@ */ package androidx.media3.exoplayer.trackselection; +import static java.lang.annotation.ElementType.TYPE_USE; import static java.util.Collections.max; import android.annotation.SuppressLint; @@ -58,6 +59,7 @@ import com.google.common.primitives.Ints; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -1118,6 +1120,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_EXCEED_VIDEO_CONSTRAINTS_IF_NECESSARY, FIELD_ALLOW_VIDEO_MIXED_MIME_TYPE_ADAPTIVENESS, @@ -1379,6 +1382,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_GROUP_INDEX, FIELD_TRACKS, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/Loader.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/Loader.java index 006fb117cb..a033f1b4bb 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/Loader.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/Loader.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer.upstream; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import android.annotation.SuppressLint; import android.os.Handler; @@ -34,6 +35,7 @@ import java.io.IOException; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.concurrent.ExecutorService; import java.util.concurrent.atomic.AtomicBoolean; @@ -145,6 +147,7 @@ public final class Loader implements LoaderErrorThrower { /** Types of action that can be taken in response to a load error. */ @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ ACTION_TYPE_RETRY, ACTION_TYPE_RETRY_AND_RESET_ERROR_COUNT, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java index a7b2c9ce86..8d2144084f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java @@ -20,6 +20,7 @@ import static androidx.media3.exoplayer.DecoderReuseEvaluation.DISCARD_REASON_RE import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_NO; import static androidx.media3.exoplayer.source.SampleStream.FLAG_REQUIRE_FORMAT; import static java.lang.Math.max; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Handler; import android.os.SystemClock; @@ -49,7 +50,7 @@ import androidx.media3.exoplayer.DecoderReuseEvaluation; import androidx.media3.exoplayer.ExoPlaybackException; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.FormatHolder; -import androidx.media3.exoplayer.PlayerMessage.Target; +import androidx.media3.exoplayer.PlayerMessage; import androidx.media3.exoplayer.drm.DrmSession; import androidx.media3.exoplayer.drm.DrmSession.DrmSessionException; import androidx.media3.exoplayer.source.SampleStream.ReadDataResult; @@ -57,12 +58,13 @@ import androidx.media3.exoplayer.video.VideoRendererEventListener.EventDispatche import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * Decodes and renders video using a {@link Decoder}. * - *

This renderer accepts the following messages sent via {@link ExoPlayer#createMessage(Target)} - * on the playback thread: + *

This renderer accepts the following messages sent via {@link + * ExoPlayer#createMessage(PlayerMessage.Target)} on the playback thread: * *

*/ + @Target(TYPE_USE) @IntDef({ SSA_ALIGNMENT_UNKNOWN, SSA_ALIGNMENT_BOTTOM_LEFT, diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TextEmphasis.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TextEmphasis.java index b252556925..a9e11e3642 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TextEmphasis.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TextEmphasis.java @@ -15,6 +15,7 @@ */ package androidx.media3.extractor.text.ttml; +import static java.lang.annotation.ElementType.TYPE_USE; import static java.lang.annotation.RetentionPolicy.SOURCE; import android.text.TextUtils; @@ -29,6 +30,7 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import java.lang.annotation.Documented; import java.lang.annotation.Retention; +import java.lang.annotation.Target; import java.util.Set; import java.util.regex.Pattern; @@ -41,6 +43,7 @@ import java.util.regex.Pattern; @Documented @Retention(SOURCE) + @Target(TYPE_USE) @IntDef({ TextEmphasisSpan.MARK_SHAPE_NONE, TextEmphasisSpan.MARK_SHAPE_CIRCLE, @@ -58,6 +61,7 @@ import java.util.regex.Pattern; @Documented @Retention(SOURCE) + @Target(TYPE_USE) @IntDef({ TextAnnotation.POSITION_UNKNOWN, TextAnnotation.POSITION_BEFORE, diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java index e795c2b601..a2b71b0463 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java @@ -15,6 +15,8 @@ */ package androidx.media3.extractor.text.ttml; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.graphics.Typeface; import android.text.Layout; import androidx.annotation.IntDef; @@ -23,6 +25,7 @@ import androidx.media3.common.text.TextAnnotation; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** Style object of a TtmlNode */ /* package */ final class TtmlStyle { @@ -32,6 +35,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef( flag = true, value = {UNSPECIFIED, STYLE_NORMAL, STYLE_BOLD, STYLE_ITALIC, STYLE_BOLD_ITALIC}) @@ -44,6 +48,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({UNSPECIFIED, FONT_SIZE_UNIT_PIXEL, FONT_SIZE_UNIT_EM, FONT_SIZE_UNIT_PERCENT}) public @interface FontSizeUnit {} @@ -53,6 +58,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({UNSPECIFIED, OFF, ON}) private @interface OptionalBoolean {} @@ -61,6 +67,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({UNSPECIFIED, RUBY_TYPE_CONTAINER, RUBY_TYPE_BASE, RUBY_TYPE_TEXT, RUBY_TYPE_DELIMITER}) public @interface RubyType {} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java index 8ac266e6cb..168b5a76d7 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java @@ -15,6 +15,8 @@ */ package androidx.media3.extractor.text.webvtt; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.graphics.Typeface; import android.text.TextUtils; import androidx.annotation.ColorInt; @@ -26,6 +28,7 @@ import com.google.common.base.Ascii; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; @@ -73,6 +76,7 @@ public final class WebvttCssStyle { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({UNSPECIFIED, OFF, ON}) private @interface OptionalBoolean {} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCueParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCueParser.java index 85a9b8007b..a80d381502 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCueParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCueParser.java @@ -16,6 +16,7 @@ package androidx.media3.extractor.text.webvtt; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import static java.lang.annotation.RetentionPolicy.SOURCE; import android.graphics.Color; @@ -47,6 +48,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import java.lang.annotation.Documented; import java.lang.annotation.Retention; +import java.lang.annotation.Target; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; @@ -76,6 +78,7 @@ public final class WebvttCueParser { */ @Documented @Retention(SOURCE) + @Target(TYPE_USE) @IntDef({ TEXT_ALIGNMENT_START, TEXT_ALIGNMENT_CENTER, diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac3Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac3Reader.java index 4fdb39300b..527f32d965 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac3Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac3Reader.java @@ -16,6 +16,7 @@ package androidx.media3.extractor.ts; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -34,6 +35,7 @@ import androidx.media3.extractor.ts.TsPayloadReader.TrackIdGenerator; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull; @@ -43,6 +45,7 @@ public final class Ac3Reader implements ElementaryStreamReader { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({STATE_FINDING_SYNC, STATE_READING_HEADER, STATE_READING_SAMPLE}) private @interface State {} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac4Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac4Reader.java index 708c535916..238b861ad7 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac4Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac4Reader.java @@ -16,6 +16,7 @@ package androidx.media3.extractor.ts; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -34,6 +35,7 @@ import androidx.media3.extractor.ts.TsPayloadReader.TrackIdGenerator; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull; @@ -43,6 +45,7 @@ public final class Ac4Reader implements ElementaryStreamReader { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({STATE_FINDING_SYNC, STATE_READING_HEADER, STATE_READING_SAMPLE}) private @interface State {} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H263Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H263Reader.java index 11ec5a3532..efa84e123f 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H263Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H263Reader.java @@ -18,6 +18,7 @@ package androidx.media3.extractor.ts; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static androidx.media3.common.util.Util.castNonNull; +import static java.lang.annotation.ElementType.TYPE_USE; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -32,8 +33,10 @@ import androidx.media3.extractor.ExtractorOutput; import androidx.media3.extractor.NalUnitUtil; import androidx.media3.extractor.TrackOutput; import androidx.media3.extractor.ts.TsPayloadReader.TrackIdGenerator; +import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Arrays; import java.util.Collections; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @@ -313,7 +316,9 @@ public final class H263Reader implements ElementaryStreamReader { private static final byte[] START_CODE = new byte[] {0, 0, 1}; + @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ STATE_SKIP_TO_VISUAL_OBJECT_SEQUENCE_START, STATE_EXPECT_VISUAL_OBJECT_START, diff --git a/libraries/session/src/main/java/androidx/media3/session/CommandButton.java b/libraries/session/src/main/java/androidx/media3/session/CommandButton.java index 215b55c9dd..070dc7e7c2 100644 --- a/libraries/session/src/main/java/androidx/media3/session/CommandButton.java +++ b/libraries/session/src/main/java/androidx/media3/session/CommandButton.java @@ -17,6 +17,7 @@ package androidx.media3.session; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotNull; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.DrawableRes; @@ -29,6 +30,7 @@ import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.List; /** @@ -195,6 +197,7 @@ public final class CommandButton implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_SESSION_COMMAND, FIELD_PLAYER_COMMAND, diff --git a/libraries/session/src/main/java/androidx/media3/session/ConnectionRequest.java b/libraries/session/src/main/java/androidx/media3/session/ConnectionRequest.java index dd48a35bfd..fbcf9c95f5 100644 --- a/libraries/session/src/main/java/androidx/media3/session/ConnectionRequest.java +++ b/libraries/session/src/main/java/androidx/media3/session/ConnectionRequest.java @@ -17,6 +17,7 @@ package androidx.media3.session; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotNull; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.IntDef; @@ -26,6 +27,7 @@ import androidx.media3.common.MediaLibraryInfo; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * Created by {@link MediaController} to send its state to the {@link MediaSession} to request to @@ -56,6 +58,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_VERSION, FIELD_PACKAGE_NAME, FIELD_PID, FIELD_CONNECTION_HINTS}) private @interface FieldNumber {} diff --git a/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java b/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java index 8ca1859d1e..d073ee3e95 100644 --- a/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java +++ b/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java @@ -16,6 +16,7 @@ package androidx.media3.session; import static androidx.media3.common.util.Assertions.checkNotNull; +import static java.lang.annotation.ElementType.TYPE_USE; import android.app.PendingIntent; import android.os.Bundle; @@ -29,6 +30,7 @@ import androidx.media3.common.util.BundleableUtil; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * Created by {@link MediaSession} to send its state to the {@link MediaController} when the @@ -75,6 +77,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_VERSION, FIELD_SESSION_BINDER, diff --git a/libraries/session/src/main/java/androidx/media3/session/LibraryResult.java b/libraries/session/src/main/java/androidx/media3/session/LibraryResult.java index 68ee14c7fe..17c921eff4 100644 --- a/libraries/session/src/main/java/androidx/media3/session/LibraryResult.java +++ b/libraries/session/src/main/java/androidx/media3/session/LibraryResult.java @@ -250,6 +250,7 @@ public final class LibraryResult implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_RESULT_CODE, FIELD_COMPLETION_TIME_MS, diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java index ab632ef646..d4892b0e5b 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java @@ -19,6 +19,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotEmpty; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.session.LibraryResult.RESULT_ERROR_NOT_SUPPORTED; +import static java.lang.annotation.ElementType.TYPE_USE; import android.app.PendingIntent; import android.content.Context; @@ -41,6 +42,7 @@ import com.google.common.util.concurrent.ListenableFuture; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * Superclass to be extended by services hosting {@link MediaLibrarySession media library sessions}. @@ -650,6 +652,7 @@ public abstract class MediaLibraryService extends MediaSessionService { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_EXTRAS, FIELD_RECENT, diff --git a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java index db43c26273..342796e7cc 100644 --- a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java @@ -20,6 +20,7 @@ import static androidx.media3.common.Player.MEDIA_ITEM_TRANSITION_REASON_REPEAT; import static androidx.media3.common.Player.PLAYBACK_SUPPRESSION_REASON_NONE; import static androidx.media3.common.Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST; import static androidx.media3.common.Player.STATE_IDLE; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import android.os.SystemClock; @@ -48,6 +49,7 @@ import com.google.common.collect.ImmutableList; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.List; /** @@ -649,6 +651,7 @@ import java.util.List; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_PLAYBACK_PARAMETERS, FIELD_REPEAT_MODE, diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionCommand.java b/libraries/session/src/main/java/androidx/media3/session/SessionCommand.java index 660b93e7ed..256a92c3ff 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionCommand.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionCommand.java @@ -172,6 +172,7 @@ public final class SessionCommand implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_COMMAND_CODE, FIELD_CUSTOM_ACTION, FIELD_CUSTOM_EXTRAS}) private @interface FieldNumber {} diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionCommands.java b/libraries/session/src/main/java/androidx/media3/session/SessionCommands.java index 54122b31c2..fa9b6dabea 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionCommands.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionCommands.java @@ -18,6 +18,7 @@ package androidx.media3.session; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.session.SessionCommand.COMMAND_CODE_CUSTOM; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; import androidx.annotation.IntDef; @@ -31,6 +32,7 @@ import com.google.common.collect.ImmutableSet; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; @@ -227,6 +229,7 @@ public final class SessionCommands implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_SESSION_COMMANDS}) private @interface FieldNumber {} diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java b/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java index 89790c6516..ed75a7603d 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java @@ -15,6 +15,8 @@ */ package androidx.media3.session; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.IntDef; import androidx.annotation.Nullable; @@ -26,6 +28,7 @@ import com.google.common.base.Objects; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * Position information to be shared between session and controller. @@ -160,6 +163,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_POSITION_INFO, FIELD_IS_PLAYING_AD, diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionResult.java b/libraries/session/src/main/java/androidx/media3/session/SessionResult.java index 44fd177511..f4ca56cf39 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionResult.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionResult.java @@ -177,6 +177,7 @@ public final class SessionResult implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_RESULT_CODE, FIELD_EXTRAS, FIELD_COMPLETION_TIME_MS}) private @interface FieldNumber {} diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java index 0ed15c4c3f..fd9d1f0280 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java @@ -424,6 +424,7 @@ public final class SessionToken implements Bundleable { @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({FIELD_IMPL_TYPE, FIELD_IMPL}) private @interface FieldNumber {} @@ -433,6 +434,7 @@ public final class SessionToken implements Bundleable { /** Types of {@link SessionTokenImpl} */ @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({IMPL_TYPE_BASE, IMPL_TYPE_LEGACY}) private @interface SessionTokenImplType {} diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java index ad5bdc94c5..d7725fd51e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java @@ -18,6 +18,7 @@ package androidx.media3.session; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotEmpty; import static androidx.media3.common.util.Assertions.checkNotNull; +import static java.lang.annotation.ElementType.TYPE_USE; import android.content.ComponentName; import android.os.Bundle; @@ -31,6 +32,7 @@ import com.google.common.base.Objects; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /* package */ final class SessionTokenImplBase implements SessionToken.SessionTokenImpl { @@ -184,6 +186,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_UID, FIELD_TYPE, diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java index 2429afc3f6..b44b95a058 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java @@ -22,6 +22,7 @@ import static androidx.media3.session.SessionToken.TYPE_BROWSER_SERVICE_LEGACY; import static androidx.media3.session.SessionToken.TYPE_LIBRARY_SERVICE; import static androidx.media3.session.SessionToken.TYPE_SESSION; import static androidx.media3.session.SessionToken.TYPE_SESSION_LEGACY; +import static java.lang.annotation.ElementType.TYPE_USE; import android.content.ComponentName; import android.os.Bundle; @@ -34,6 +35,7 @@ import com.google.common.base.Objects; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /* package */ final class SessionTokenImplLegacy implements SessionTokenImpl { @@ -169,6 +171,7 @@ import java.lang.annotation.RetentionPolicy; @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({ FIELD_LEGACY_TOKEN, FIELD_UID, diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpFileAsserts.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpFileAsserts.java index 9ed8538349..7cab3c2d8a 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpFileAsserts.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpFileAsserts.java @@ -16,6 +16,7 @@ package androidx.media3.test.utils; import static com.google.common.truth.Truth.assertWithMessage; +import static java.lang.annotation.ElementType.TYPE_USE; import android.content.Context; import androidx.annotation.IntDef; @@ -29,6 +30,7 @@ import java.io.PrintWriter; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; /** * Helper class to enable assertions based on golden-data dump files. @@ -53,6 +55,7 @@ public class DumpFileAsserts { /** Possible actions to take with the dumps passed to {@link #assertOutput}. */ @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef( flag = true, value = {COMPARE_WITH_EXISTING, WRITE_TO_LOCAL, WRITE_TO_DEVICE}) diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java index 99b75bd9a7..d252878fee 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java @@ -21,6 +21,7 @@ import static androidx.media3.test.utils.WebServerDispatcher.Resource.GZIP_SUPPO import static androidx.media3.test.utils.WebServerDispatcher.Resource.GZIP_SUPPORT_FORCED; import static java.lang.Math.max; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import android.util.Pair; import androidx.annotation.IntDef; @@ -34,6 +35,7 @@ import com.google.common.collect.Maps; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; import java.util.Arrays; import java.util.List; import java.util.regex.Matcher; @@ -68,6 +70,7 @@ public class WebServerDispatcher extends Dispatcher { */ @Documented @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) @IntDef({GZIP_SUPPORT_DISABLED, GZIP_SUPPORT_ENABLED, GZIP_SUPPORT_FORCED}) private @interface GzipSupport {}