diff --git a/api/current.txt b/api/current.txt index 20ce5d1d6d0c0..058743a926b8d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -20891,7 +20891,8 @@ package android.media { method public int getContentType(); method public int getFlags(); method public int getUsage(); - method public static int getVolumeControlStream(android.media.AudioAttributes); + method public static deprecated int getVolumeControlStream(android.media.AudioAttributes); + method public int getVolumeControlStream(); method public void writeToParcel(android.os.Parcel, int); field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3 field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2 diff --git a/api/system-current.txt b/api/system-current.txt index 012372c690a80..c1e3893e91389 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -22627,7 +22627,8 @@ package android.media { method public int getContentType(); method public int getFlags(); method public int getUsage(); - method public static int getVolumeControlStream(android.media.AudioAttributes); + method public static deprecated int getVolumeControlStream(android.media.AudioAttributes); + method public int getVolumeControlStream(); method public void writeToParcel(android.os.Parcel, int); field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3 field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2 diff --git a/api/test-current.txt b/api/test-current.txt index 03339b43e4384..fae1436b39f5d 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -21004,7 +21004,8 @@ package android.media { method public int getContentType(); method public int getFlags(); method public int getUsage(); - method public static int getVolumeControlStream(android.media.AudioAttributes); + method public static deprecated int getVolumeControlStream(android.media.AudioAttributes); + method public int getVolumeControlStream(); method public void writeToParcel(android.os.Parcel, int); field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3 field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2 diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java index ce58a9c4b91e7..77a82ec8cacdd 100644 --- a/media/java/android/media/AudioAttributes.java +++ b/media/java/android/media/AudioAttributes.java @@ -912,6 +912,8 @@ public final class AudioAttributes implements Parcelable { return USAGE_UNKNOWN; } } + + // TODO remove, replaced by non-static API getVolumeControlStream() /** * Returns the stream type matching the given attributes for volume control. * Use this method to derive the stream type needed to configure the volume @@ -925,6 +927,7 @@ public final class AudioAttributes implements Parcelable { * the attributes, or {@link AudioManager#USE_DEFAULT_STREAM_TYPE} if there isn't a direct * match. Note that USE_DEFAULT_STREAM_TYPE is not a valid value * for {@link AudioManager#setStreamVolume(int, int, int)}. + * @deprecated use {@link #getVolumeControlStream()} */ public static int getVolumeControlStream(@NonNull AudioAttributes aa) { if (aa == null) { @@ -933,6 +936,24 @@ public final class AudioAttributes implements Parcelable { return toVolumeStreamType(true /*fromGetVolumeControlStream*/, aa); } + /** + * Returns the stream type matching this {@code AudioAttributes} instance for volume control. + * Use this method to derive the stream type needed to configure the volume + * control slider in an {@link android.app.Activity} with + * {@link android.app.Activity#setVolumeControlStream(int)} for playback conducted with these + * attributes. + *
Do not use this method to set the stream type on an audio player object + * (e.g. {@link AudioTrack}, {@link MediaPlayer}) as this is deprecated, + * use {@code AudioAttributes} instead. + * @return a valid stream type for {@code Activity} or stream volume control that matches + * the attributes, or {@link AudioManager#USE_DEFAULT_STREAM_TYPE} if there isn't a direct + * match. Note that {@code USE_DEFAULT_STREAM_TYPE} is not a valid value + * for {@link AudioManager#setStreamVolume(int, int, int)}. + */ + public int getVolumeControlStream() { + return toVolumeStreamType(true /*fromGetVolumeControlStream*/, this); + } + /** * @hide * Only use to get which stream type should be used for volume control, NOT for audio playback