From 92a6cc10a438b0e24e6f0c8dc2566caa597e0e1e Mon Sep 17 00:00:00 2001 From: ibaker Date: Thu, 3 Feb 2022 12:09:38 +0000 Subject: [PATCH] Mark some unreleased IntDefs as TYPE_USE only The longer list of targets is only necessary for backwards compatibility with existing Kotlin code that will stop compiling if the position of the annotation becomes 'wrong' by marking it only TYPE_USE. Since none of these IntDefs have been released (except in media3 alpha1) we don't need to maintain this compatibility. Also add a comment to all the places that *do* need the longer list of targets, in order to explain why it's there and discourage copy-pasting when defining new IntDefs in future. Also fix some single-element arrays to remove the array notation. #minor-release PiperOrigin-RevId: 426108537 --- .../androidx/media3/common/AdOverlayInfo.java | 2 ++ .../main/java/androidx/media3/common/C.java | 16 +++++++++++++++- .../androidx/media3/common/DeviceInfo.java | 5 +++-- .../androidx/media3/common/MediaMetadata.java | 4 ++++ .../media3/common/PlaybackException.java | 2 ++ .../java/androidx/media3/common/Player.java | 18 ++++++++++++++++++ .../androidx/media3/common/TrackSelection.java | 5 +++-- .../java/androidx/media3/common/text/Cue.java | 8 ++++++++ .../exoplayer/analytics/PlaybackStats.java | 4 ++-- .../exoplayer/audio/SpatializerDelegate.java | 6 +----- .../media3/exoplayer/hls/HlsMediaSource.java | 4 ++-- .../media3/extractor/wav/WavExtractor.java | 4 ++-- .../media3/session/SessionCommand.java | 4 ++-- .../androidx/media3/session/SessionToken.java | 9 ++------- .../transformer/TransformationException.java | 6 +----- 15 files changed, 67 insertions(+), 30 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/AdOverlayInfo.java b/libraries/common/src/main/java/androidx/media3/common/AdOverlayInfo.java index 120fcfe782..44259fcbc3 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AdOverlayInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/AdOverlayInfo.java @@ -37,6 +37,8 @@ public final class AdOverlayInfo { * The purpose of the overlay. One of {@link #PURPOSE_CONTROLS}, {@link #PURPOSE_CLOSE_AD}, {@link * #PURPOSE_OTHER} or {@link #PURPOSE_NOT_VISIBLE}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) diff --git a/libraries/common/src/main/java/androidx/media3/common/C.java b/libraries/common/src/main/java/androidx/media3/common/C.java index bf465116ed..95e8fc1059 100644 --- a/libraries/common/src/main/java/androidx/media3/common/C.java +++ b/libraries/common/src/main/java/androidx/media3/common/C.java @@ -279,7 +279,7 @@ public final class C { /** Represents the behavior affecting whether spatialization will be used. */ @Documented @Retention(RetentionPolicy.SOURCE) - @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) + @Target(TYPE_USE) @IntDef({SPATIALIZATION_BEHAVIOR_AUTO, SPATIALIZATION_BEHAVIOR_NEVER}) public @interface SpatializationBehavior {} @@ -333,6 +333,8 @@ public final class C { * #CONTENT_TYPE_MUSIC}, {@link #CONTENT_TYPE_SONIFICATION}, {@link #CONTENT_TYPE_SPEECH} or * {@link #CONTENT_TYPE_UNKNOWN}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -362,6 +364,8 @@ public final class C { *

Note that {@code FLAG_HW_AV_SYNC} is not available because the player takes care of setting * the flag when tunneling is enabled via a track selector. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -383,6 +387,8 @@ public final class C { * #USAGE_NOTIFICATION_RINGTONE}, {@link #USAGE_UNKNOWN}, {@link #USAGE_VOICE_COMMUNICATION} or * {@link #USAGE_VOICE_COMMUNICATION_SIGNALLING}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -452,6 +458,8 @@ public final class C { * Capture policies for audio attributes. One of {@link #ALLOW_CAPTURE_BY_ALL}, {@link * #ALLOW_CAPTURE_BY_NONE} or {@link #ALLOW_CAPTURE_BY_SYSTEM}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -618,6 +626,8 @@ public final class C { * Track selection flags. Possible flag values are {@link #SELECTION_FLAG_DEFAULT}, {@link * #SELECTION_FLAG_FORCED} and {@link #SELECTION_FLAG_AUTOSELECT}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1044,6 +1054,8 @@ public final class C { * Mode specifying whether the player should hold a WakeLock and a WifiLock. One of {@link * #WAKE_MODE_NONE}, {@link #WAKE_MODE_LOCAL} or {@link #WAKE_MODE_NETWORK}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1081,6 +1093,8 @@ public final class C { * {@link #ROLE_FLAG_TRANSCRIBES_DIALOG}, {@link #ROLE_FLAG_EASY_TO_READ} and {@link * #ROLE_FLAG_TRICK_PLAY}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) 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 0aa619812d..0251443f1e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/DeviceInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/DeviceInfo.java @@ -15,12 +15,13 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import android.os.Bundle; import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -31,7 +32,7 @@ public final class DeviceInfo implements Bundleable { /** Types of playback. One of {@link #PLAYBACK_TYPE_LOCAL} or {@link #PLAYBACK_TYPE_REMOTE}. */ @Documented @Retention(RetentionPolicy.SOURCE) - @Target({ElementType.TYPE_USE}) + @Target(TYPE_USE) @IntDef({ PLAYBACK_TYPE_LOCAL, PLAYBACK_TYPE_REMOTE, 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 16c4c89ed4..eec5d3868a 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java +++ b/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java @@ -521,6 +521,8 @@ public final class MediaMetadata implements Bundleable { * href="https://www.bluetooth.com/specifications/specs/a-v-remote-control-profile-1-6-2/">Bluetooth * AVRCP 1.6.2). */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -559,6 +561,8 @@ public final class MediaMetadata implements Bundleable { *

Values sourced from the ID3 v2.4 specification (See section 4.14 of * https://id3.org/id3v2.4.0-frames). */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) diff --git a/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java b/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java index 2caa881539..7193467a74 100644 --- a/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java +++ b/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java @@ -46,6 +46,8 @@ public class PlaybackException extends Exception implements Bundleable { *

This list of errors may be extended in future versions, and {@link Player} implementations * may define custom error codes. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) 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 87582bc1fe..c23647633c 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Player.java +++ b/libraries/common/src/main/java/androidx/media3/common/Player.java @@ -1086,6 +1086,8 @@ public interface Player { * Playback state. One of {@link #STATE_IDLE}, {@link #STATE_BUFFERING}, {@link #STATE_READY} or * {@link #STATE_ENDED}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1118,6 +1120,8 @@ public interface Player { * #PLAY_WHEN_READY_CHANGE_REASON_REMOTE} or {@link * #PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1145,6 +1149,8 @@ public interface Player { * of {@link #PLAYBACK_SUPPRESSION_REASON_NONE} or {@link * #PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1162,6 +1168,8 @@ public interface Player { * Repeat modes for playback. One of {@link #REPEAT_MODE_OFF}, {@link #REPEAT_MODE_ONE} or {@link * #REPEAT_MODE_ALL}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1194,6 +1202,8 @@ public interface Player { * #DISCONTINUITY_REASON_SKIP}, {@link #DISCONTINUITY_REASON_REMOVE} or {@link * #DISCONTINUITY_REASON_INTERNAL}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1233,6 +1243,8 @@ public interface Player { * Reasons for timeline changes. One of {@link #TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED} or {@link * #TIMELINE_CHANGE_REASON_SOURCE_UPDATE}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1254,6 +1266,8 @@ public interface Player { * #MEDIA_ITEM_TRANSITION_REASON_AUTO}, {@link #MEDIA_ITEM_TRANSITION_REASON_SEEK} or {@link * #MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1287,6 +1301,8 @@ public interface Player { * *

One of the {@link Player}{@code .EVENT_*} values. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -1373,6 +1389,8 @@ public interface Player { * #COMMAND_SET_VIDEO_SURFACE}, {@link #COMMAND_GET_TEXT}, {@link * #COMMAND_SET_TRACK_SELECTION_PARAMETERS} or {@link #COMMAND_GET_TRACK_INFOS}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackSelection.java b/libraries/common/src/main/java/androidx/media3/common/TrackSelection.java index 9eedf818b4..a3d73a567e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackSelection.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackSelection.java @@ -15,10 +15,11 @@ */ package androidx.media3.common; +import static java.lang.annotation.ElementType.TYPE_USE; + import androidx.annotation.IntDef; import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -38,7 +39,7 @@ public interface TrackSelection { */ @Documented @Retention(RetentionPolicy.SOURCE) - @Target({ElementType.TYPE_USE}) + @Target(TYPE_USE) @IntDef( open = true, value = {TYPE_UNSET}) 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 11574e88ed..6515a64125 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 @@ -59,6 +59,8 @@ public final class Cue implements Bundleable { * The type of anchor, which may be unset. One of {@link #TYPE_UNSET}, {@link #ANCHOR_TYPE_START}, * {@link #ANCHOR_TYPE_MIDDLE} or {@link #ANCHOR_TYPE_END}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -87,6 +89,8 @@ public final class Cue implements Bundleable { * The type of line, which may be unset. One of {@link #TYPE_UNSET}, {@link #LINE_TYPE_FRACTION} * or {@link #LINE_TYPE_NUMBER}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -104,6 +108,8 @@ public final class Cue implements Bundleable { * {@link #TEXT_SIZE_TYPE_FRACTIONAL}, {@link #TEXT_SIZE_TYPE_FRACTIONAL_IGNORE_PADDING} or {@link * #TEXT_SIZE_TYPE_ABSOLUTE}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @@ -128,6 +134,8 @@ public final class Cue implements Bundleable { * The type of vertical layout for this cue, which may be unset (i.e. horizontal). One of {@link * #TYPE_UNSET}, {@link #VERTICAL_TYPE_RL} or {@link #VERTICAL_TYPE_LR}. */ + // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility + // with Kotlin usages from before TYPE_USE was added. @Documented @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/PlaybackStats.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/PlaybackStats.java index c9dc844191..583d2dfea2 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/PlaybackStats.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/PlaybackStats.java @@ -17,6 +17,7 @@ package androidx.media3.exoplayer.analytics; import static java.lang.Math.max; import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; import android.os.SystemClock; import androidx.annotation.IntDef; @@ -26,7 +27,6 @@ import androidx.media3.common.Format; import androidx.media3.common.util.UnstableApi; import androidx.media3.exoplayer.analytics.AnalyticsListener.EventTime; import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -174,7 +174,7 @@ public final class PlaybackStats { */ @Documented @Retention(RetentionPolicy.SOURCE) - @Target({ElementType.TYPE_USE}) + @Target(TYPE_USE) @IntDef({ PLAYBACK_STATE_NOT_STARTED, PLAYBACK_STATE_JOINING_BACKGROUND, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SpatializerDelegate.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SpatializerDelegate.java index 8aae1d7817..d2778905b5 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SpatializerDelegate.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SpatializerDelegate.java @@ -16,10 +16,6 @@ package androidx.media3.exoplayer.audio; import static androidx.media3.common.util.Assertions.checkStateNotNull; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.LOCAL_VARIABLE; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.ElementType.TYPE_USE; import android.content.Context; @@ -52,7 +48,7 @@ import java.util.concurrent.Executor; /** Level of support for audio spatialization. */ @Documented @Retention(RetentionPolicy.SOURCE) - @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) + @Target(TYPE_USE) @IntDef({ SPATIALIZER_IMMERSIVE_LEVEL_MULTICHANNEL, SPATIALIZER_IMMERSIVE_LEVEL_NONE, diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaSource.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaSource.java index 7610aa8286..7dbfcddeae 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaSource.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaSource.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer.hls; import static androidx.media3.common.util.Assertions.checkNotNull; +import static java.lang.annotation.ElementType.TYPE_USE; import static java.lang.annotation.RetentionPolicy.SOURCE; import android.os.Looper; @@ -57,7 +58,6 @@ import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy; import androidx.media3.extractor.Extractor; import java.io.IOException; import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.Target; import java.util.List; @@ -85,7 +85,7 @@ public final class HlsMediaSource extends BaseMediaSource */ @Documented @Retention(SOURCE) - @Target({ElementType.TYPE_USE}) + @Target(TYPE_USE) @IntDef({METADATA_TYPE_ID3, METADATA_TYPE_EMSG}) public @interface MetadataType {} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/wav/WavExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/wav/WavExtractor.java index aee49edfe4..76461fa7cf 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/wav/WavExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/wav/WavExtractor.java @@ -17,6 +17,7 @@ package androidx.media3.extractor.wav; 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; @@ -38,7 +39,6 @@ import androidx.media3.extractor.TrackOutput; import androidx.media3.extractor.WavUtil; import java.io.IOException; import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -65,7 +65,7 @@ public final class WavExtractor implements Extractor { /** Parser state. */ @Documented @Retention(RetentionPolicy.SOURCE) - @Target({ElementType.TYPE_USE}) + @Target(TYPE_USE) @IntDef({ STATE_READING_FILE_TYPE, STATE_READING_RF64_SAMPLE_DATA_SIZE, 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 c14e0e1d13..660b93e7ed 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionCommand.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionCommand.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 android.text.TextUtils; @@ -29,7 +30,6 @@ import androidx.media3.session.MediaLibraryService.LibraryParams; import com.google.common.base.Objects; import com.google.common.collect.ImmutableList; import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @@ -46,7 +46,7 @@ public final class SessionCommand implements Bundleable { /** Command codes of session commands. */ @Documented @Retention(RetentionPolicy.SOURCE) - @Target({ElementType.TYPE_USE}) + @Target(TYPE_USE) @IntDef({ COMMAND_CODE_CUSTOM, COMMAND_CODE_SESSION_SET_MEDIA_URI, 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 aded73fff6..0ed15c4c3f 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java @@ -17,12 +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.CONSTRUCTOR; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.LOCAL_VARIABLE; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.ElementType.TYPE_PARAMETER; +import static java.lang.annotation.ElementType.TYPE_USE; import android.content.ComponentName; import android.content.Context; @@ -78,7 +73,7 @@ public final class SessionToken implements Bundleable { /** Types of {@link SessionToken}. */ @Documented @Retention(RetentionPolicy.SOURCE) - @Target({FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE, TYPE_PARAMETER}) + @Target(TYPE_USE) @IntDef(value = {TYPE_SESSION, TYPE_SESSION_SERVICE, TYPE_LIBRARY_SERVICE}) public @interface TokenType {} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java index 270205258a..2e1721d53d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java @@ -15,10 +15,6 @@ */ package androidx.media3.transformer; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.LOCAL_VARIABLE; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; import static java.lang.annotation.ElementType.TYPE_USE; import android.media.MediaCodec; @@ -51,7 +47,7 @@ public final class TransformationException extends Exception { // TODO(b/209469847): Update the javadoc once the underlying values are fixed. @Documented @Retention(RetentionPolicy.SOURCE) - @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) + @Target(TYPE_USE) @IntDef( open = true, value = {