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 cbcc0298d7..4ec2f5f9b4 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java +++ b/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java @@ -44,9 +44,9 @@ import java.lang.reflect.Method; public final class AudioAttributes implements Bundleable { /** - * The default audio attributes, where the content type is {@link C#CONTENT_TYPE_UNKNOWN}, usage - * is {@link C#USAGE_MEDIA}, capture policy is {@link C#ALLOW_CAPTURE_BY_ALL} and no flags are - * set. + * The default audio attributes, where the content type is {@link C#AUDIO_CONTENT_TYPE_UNKNOWN}, + * usage is {@link C#USAGE_MEDIA}, capture policy is {@link C#ALLOW_CAPTURE_BY_ALL} and no flags + * are set. */ public static final AudioAttributes DEFAULT = new Builder().build(); @@ -62,11 +62,11 @@ public final class AudioAttributes implements Bundleable { /** * Creates a new builder for {@link AudioAttributes}. * - *

By default the content type is {@link C#CONTENT_TYPE_UNKNOWN}, usage is {@link + *

By default the content type is {@link C#AUDIO_CONTENT_TYPE_UNKNOWN}, usage is {@link * C#USAGE_MEDIA}, capture policy is {@link C#ALLOW_CAPTURE_BY_ALL} and no flags are set. */ public Builder() { - contentType = C.CONTENT_TYPE_UNKNOWN; + contentType = C.AUDIO_CONTENT_TYPE_UNKNOWN; flags = 0; usage = C.USAGE_MEDIA; allowedCapturePolicy = C.ALLOW_CAPTURE_BY_ALL; 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 14a0daa124..9bd445d94e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/C.java +++ b/libraries/common/src/main/java/androidx/media3/common/C.java @@ -396,9 +396,15 @@ public final class C { @UnstableApi public static final int STREAM_TYPE_DEFAULT = STREAM_TYPE_MUSIC; /** - * Content types for audio attributes. One of {@link #CONTENT_TYPE_MOVIE}, {@link - * #CONTENT_TYPE_MUSIC}, {@link #CONTENT_TYPE_SONIFICATION}, {@link #CONTENT_TYPE_SPEECH} or - * {@link #CONTENT_TYPE_UNKNOWN}. + * Content types for audio attributes. One of: + * + *

*/ // @Target list includes both 'default' targets and TYPE_USE, to ensure backwards compatibility // with Kotlin usages from before TYPE_USE was added. @@ -406,34 +412,46 @@ public final class C { @Retention(RetentionPolicy.SOURCE) @Target({FIELD, METHOD, PARAMETER, LOCAL_VARIABLE, TYPE_USE}) @IntDef({ - CONTENT_TYPE_MOVIE, - CONTENT_TYPE_MUSIC, - CONTENT_TYPE_SONIFICATION, - CONTENT_TYPE_SPEECH, - CONTENT_TYPE_UNKNOWN + AUDIO_CONTENT_TYPE_MOVIE, + AUDIO_CONTENT_TYPE_MUSIC, + AUDIO_CONTENT_TYPE_SONIFICATION, + AUDIO_CONTENT_TYPE_SPEECH, + AUDIO_CONTENT_TYPE_UNKNOWN }) public @interface AudioContentType {} + /** See {@link AudioAttributes#CONTENT_TYPE_MOVIE}. */ + public static final int AUDIO_CONTENT_TYPE_MOVIE = AudioAttributes.CONTENT_TYPE_MOVIE; /** - * @see android.media.AudioAttributes#CONTENT_TYPE_MOVIE + * @deprecated Use {@link #AUDIO_CONTENT_TYPE_MOVIE} instead. */ - public static final int CONTENT_TYPE_MOVIE = android.media.AudioAttributes.CONTENT_TYPE_MOVIE; + @UnstableApi @Deprecated public static final int CONTENT_TYPE_MOVIE = AUDIO_CONTENT_TYPE_MOVIE; + /** See {@link AudioAttributes#CONTENT_TYPE_MUSIC}. */ + public static final int AUDIO_CONTENT_TYPE_MUSIC = AudioAttributes.CONTENT_TYPE_MUSIC; /** - * @see android.media.AudioAttributes#CONTENT_TYPE_MUSIC + * @deprecated Use {@link #AUDIO_CONTENT_TYPE_MUSIC} instead. */ - public static final int CONTENT_TYPE_MUSIC = android.media.AudioAttributes.CONTENT_TYPE_MUSIC; + @UnstableApi @Deprecated public static final int CONTENT_TYPE_MUSIC = AUDIO_CONTENT_TYPE_MUSIC; + /** See {@link AudioAttributes#CONTENT_TYPE_SONIFICATION}. */ + public static final int AUDIO_CONTENT_TYPE_SONIFICATION = + AudioAttributes.CONTENT_TYPE_SONIFICATION; /** - * @see android.media.AudioAttributes#CONTENT_TYPE_SONIFICATION + * @deprecated Use {@link #AUDIO_CONTENT_TYPE_SONIFICATION} instead. */ - public static final int CONTENT_TYPE_SONIFICATION = - android.media.AudioAttributes.CONTENT_TYPE_SONIFICATION; + @UnstableApi @Deprecated + public static final int CONTENT_TYPE_SONIFICATION = AUDIO_CONTENT_TYPE_SONIFICATION; + /** See {@link AudioAttributes#CONTENT_TYPE_SPEECH}. */ + public static final int AUDIO_CONTENT_TYPE_SPEECH = AudioAttributes.CONTENT_TYPE_SPEECH; /** - * @see android.media.AudioAttributes#CONTENT_TYPE_SPEECH + * @deprecated Use {@link #AUDIO_CONTENT_TYPE_SPEECH} instead. */ - public static final int CONTENT_TYPE_SPEECH = android.media.AudioAttributes.CONTENT_TYPE_SPEECH; + @UnstableApi @Deprecated public static final int CONTENT_TYPE_SPEECH = AUDIO_CONTENT_TYPE_SPEECH; + /** See {@link AudioAttributes#CONTENT_TYPE_UNKNOWN}. */ + public static final int AUDIO_CONTENT_TYPE_UNKNOWN = AudioAttributes.CONTENT_TYPE_UNKNOWN; /** - * @see android.media.AudioAttributes#CONTENT_TYPE_UNKNOWN + * @deprecated Use {@link #AUDIO_CONTENT_TYPE_UNKNOWN} instead. */ - public static final int CONTENT_TYPE_UNKNOWN = android.media.AudioAttributes.CONTENT_TYPE_UNKNOWN; + @UnstableApi @Deprecated + public static final int CONTENT_TYPE_UNKNOWN = AUDIO_CONTENT_TYPE_UNKNOWN; /** * Flags for audio attributes. Possible flag value is {@link #FLAG_AUDIBILITY_ENFORCED}. diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index 52229b7050..23ebbfcf23 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -1707,12 +1707,12 @@ public final class Util { case C.STREAM_TYPE_NOTIFICATION: case C.STREAM_TYPE_RING: case C.STREAM_TYPE_SYSTEM: - return C.CONTENT_TYPE_SONIFICATION; + return C.AUDIO_CONTENT_TYPE_SONIFICATION; case C.STREAM_TYPE_VOICE_CALL: - return C.CONTENT_TYPE_SPEECH; + return C.AUDIO_CONTENT_TYPE_SPEECH; case C.STREAM_TYPE_MUSIC: default: - return C.CONTENT_TYPE_MUSIC; + return C.AUDIO_CONTENT_TYPE_MUSIC; } } diff --git a/libraries/common/src/test/java/androidx/media3/common/AudioAttributesTest.java b/libraries/common/src/test/java/androidx/media3/common/AudioAttributesTest.java index 85378ed7a4..430f0e83bd 100644 --- a/libraries/common/src/test/java/androidx/media3/common/AudioAttributesTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/AudioAttributesTest.java @@ -29,7 +29,7 @@ public class AudioAttributesTest { public void roundTripViaBundle_yieldsEqualInstance() { AudioAttributes audioAttributes = new AudioAttributes.Builder() - .setContentType(C.CONTENT_TYPE_SONIFICATION) + .setContentType(C.AUDIO_CONTENT_TYPE_SONIFICATION) .setFlags(C.FLAG_AUDIBILITY_ENFORCED) .setUsage(C.USAGE_ALARM) .setAllowedCapturePolicy(C.ALLOW_CAPTURE_BY_SYSTEM) 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 0fcd77ca57..37544c196c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java @@ -298,7 +298,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } private boolean willPauseWhenDucked() { - return audioAttributes != null && audioAttributes.contentType == C.CONTENT_TYPE_SPEECH; + return audioAttributes != null && audioAttributes.contentType == C.AUDIO_CONTENT_TYPE_SPEECH; } /** @@ -369,7 +369,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; // Special usages: case C.USAGE_ASSISTANCE_ACCESSIBILITY: - if (audioAttributes.contentType == C.CONTENT_TYPE_SPEECH) { + if (audioAttributes.contentType == C.AUDIO_CONTENT_TYPE_SPEECH) { // Voice shouldn't be interrupted by other playback. return AUDIOFOCUS_GAIN_TRANSIENT; } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/AudioFocusManagerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/AudioFocusManagerTest.java index a90f5953ba..712663290d 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/AudioFocusManagerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/AudioFocusManagerTest.java @@ -397,7 +397,7 @@ public class AudioFocusManagerTest { AudioAttributes speechAudioAttributes = new AudioAttributes.Builder() .setUsage(C.USAGE_MEDIA) - .setContentType(C.CONTENT_TYPE_SPEECH) + .setContentType(C.AUDIO_CONTENT_TYPE_SPEECH) .build(); audioFocusManager.setAudioAttributes(speechAudioAttributes); diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index cdc6011b3d..e67a984cbe 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -1811,7 +1811,7 @@ public class MediaControllerListenerTest { AudioAttributes testAttributes = new AudioAttributes.Builder() .setUsage(C.USAGE_MEDIA) - .setContentType(C.CONTENT_TYPE_MOVIE) + .setContentType(C.AUDIO_CONTENT_TYPE_MOVIE) .build(); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java index 2aa990b79b..f24070f94f 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java @@ -520,7 +520,7 @@ public class MediaControllerTest { @Test public void getAudioAttributes_returnsAudioAttributesOfPlayerInSession() throws Exception { AudioAttributes testAttributes = - new AudioAttributes.Builder().setContentType(C.CONTENT_TYPE_MUSIC).build(); + new AudioAttributes.Builder().setContentType(C.AUDIO_CONTENT_TYPE_MUSIC).build(); Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder().setAudioAttributes(testAttributes).build();