Merge "AudioManager: permission annotations" into oc-mr1-dev
am: 72cf1a4fa2
Change-Id: I27394a0801a9d5d31d4ac18b3b773268b6d2fa10
This commit is contained in:
@@ -16,12 +16,12 @@
|
|||||||
|
|
||||||
package android.media;
|
package android.media;
|
||||||
|
|
||||||
import android.Manifest;
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.annotation.RequiresPermission;
|
import android.annotation.RequiresPermission;
|
||||||
import android.annotation.SdkConstant;
|
import android.annotation.SdkConstant;
|
||||||
import android.annotation.SdkConstant.SdkConstantType;
|
import android.annotation.SdkConstant.SdkConstantType;
|
||||||
|
import android.annotation.SuppressLint;
|
||||||
import android.annotation.SystemApi;
|
import android.annotation.SystemApi;
|
||||||
import android.annotation.SystemService;
|
import android.annotation.SystemService;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
@@ -2364,8 +2364,8 @@ public class AudioManager {
|
|||||||
* usecases such as voice memo recording, or speech recognition.
|
* usecases such as voice memo recording, or speech recognition.
|
||||||
* Use {@link #AUDIOFOCUS_GAIN} for a focus request of unknown duration such
|
* Use {@link #AUDIOFOCUS_GAIN} for a focus request of unknown duration such
|
||||||
* as the playback of a song or a video.
|
* as the playback of a song or a video.
|
||||||
* @param flags 0 or a combination of {link #AUDIOFOCUS_FLAG_DELAY_OK}
|
* @param flags 0 or a combination of {link #AUDIOFOCUS_FLAG_DELAY_OK},
|
||||||
* and {@link #AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS}.
|
* {@link #AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS} and {@link #AUDIOFOCUS_FLAG_LOCK}.
|
||||||
* <br>Use 0 when not using any flags for the request, which behaves like
|
* <br>Use 0 when not using any flags for the request, which behaves like
|
||||||
* {@link #requestAudioFocus(OnAudioFocusChangeListener, int, int)}, where either audio
|
* {@link #requestAudioFocus(OnAudioFocusChangeListener, int, int)}, where either audio
|
||||||
* focus is granted immediately, or the grant request fails because the system is in a
|
* focus is granted immediately, or the grant request fails because the system is in a
|
||||||
@@ -2377,6 +2377,7 @@ public class AudioManager {
|
|||||||
* @throws IllegalArgumentException
|
* @throws IllegalArgumentException
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
|
||||||
public int requestAudioFocus(OnAudioFocusChangeListener l,
|
public int requestAudioFocus(OnAudioFocusChangeListener l,
|
||||||
@NonNull AudioAttributes requestAttributes,
|
@NonNull AudioAttributes requestAttributes,
|
||||||
int durationHint,
|
int durationHint,
|
||||||
@@ -2416,6 +2417,10 @@ public class AudioManager {
|
|||||||
* @deprecated use {@link #requestAudioFocus(AudioFocusRequest, AudioPolicy)}
|
* @deprecated use {@link #requestAudioFocus(AudioFocusRequest, AudioPolicy)}
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(anyOf= {
|
||||||
|
android.Manifest.permission.MODIFY_PHONE_STATE,
|
||||||
|
android.Manifest.permission.MODIFY_AUDIO_ROUTING
|
||||||
|
})
|
||||||
public int requestAudioFocus(OnAudioFocusChangeListener l,
|
public int requestAudioFocus(OnAudioFocusChangeListener l,
|
||||||
@NonNull AudioAttributes requestAttributes,
|
@NonNull AudioAttributes requestAttributes,
|
||||||
int durationHint,
|
int durationHint,
|
||||||
@@ -2474,6 +2479,7 @@ public class AudioManager {
|
|||||||
* @throws IllegalArgumentException when trying to lock focus without an AudioPolicy
|
* @throws IllegalArgumentException when trying to lock focus without an AudioPolicy
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
|
||||||
public int requestAudioFocus(@NonNull AudioFocusRequest afr, @Nullable AudioPolicy ap) {
|
public int requestAudioFocus(@NonNull AudioFocusRequest afr, @Nullable AudioPolicy ap) {
|
||||||
if (afr == null) {
|
if (afr == null) {
|
||||||
throw new NullPointerException("Illegal null AudioFocusRequest");
|
throw new NullPointerException("Illegal null AudioFocusRequest");
|
||||||
@@ -2571,6 +2577,7 @@ public class AudioManager {
|
|||||||
* @throws NullPointerException if the {@link AudioFocusInfo} or {@link AudioPolicy} are null.
|
* @throws NullPointerException if the {@link AudioFocusInfo} or {@link AudioPolicy} are null.
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
|
||||||
public int dispatchAudioFocusChange(@NonNull AudioFocusInfo afi, int focusChange,
|
public int dispatchAudioFocusChange(@NonNull AudioFocusInfo afi, int focusChange,
|
||||||
@NonNull AudioPolicy ap) {
|
@NonNull AudioPolicy ap) {
|
||||||
if (afi == null) {
|
if (afi == null) {
|
||||||
@@ -2622,6 +2629,8 @@ public class AudioManager {
|
|||||||
* @deprecated use {@link #abandonAudioFocusRequest(AudioFocusRequest)}
|
* @deprecated use {@link #abandonAudioFocusRequest(AudioFocusRequest)}
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@SuppressLint("Doclava125") // no permission enforcement, but only "undoes" what would have been
|
||||||
|
// done by a matching requestAudioFocus
|
||||||
public int abandonAudioFocus(OnAudioFocusChangeListener l, AudioAttributes aa) {
|
public int abandonAudioFocus(OnAudioFocusChangeListener l, AudioAttributes aa) {
|
||||||
int status = AUDIOFOCUS_REQUEST_FAILED;
|
int status = AUDIOFOCUS_REQUEST_FAILED;
|
||||||
unregisterAudioFocusRequest(l);
|
unregisterAudioFocusRequest(l);
|
||||||
@@ -3833,6 +3842,7 @@ public class AudioManager {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@SuppressLint("Doclava125") // FIXME is this still used?
|
||||||
public boolean isHdmiSystemAudioSupported() {
|
public boolean isHdmiSystemAudioSupported() {
|
||||||
try {
|
try {
|
||||||
return getService().isHdmiSystemAudioSupported();
|
return getService().isHdmiSystemAudioSupported();
|
||||||
|
|||||||
Reference in New Issue
Block a user