Merge "add permission check for isUltrasoundSupported"
This commit is contained in:
@@ -6075,7 +6075,7 @@ package android.media {
|
||||
method public boolean isAudioServerRunning();
|
||||
method public boolean isHdmiSystemAudioSupported();
|
||||
method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable();
|
||||
method public static boolean isUltrasoundSupported();
|
||||
method @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public boolean isUltrasoundSupported();
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void muteAwaitConnection(@NonNull int[], @NonNull android.media.AudioDeviceAttributes, long, @NonNull java.util.concurrent.TimeUnit) throws java.lang.IllegalStateException;
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
|
||||
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void registerMuteAwaitConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
|
||||
|
||||
@@ -7294,8 +7294,13 @@ public class AudioManager {
|
||||
* Ultrasound playback and capture, false otherwise.
|
||||
*/
|
||||
@SystemApi
|
||||
public static boolean isUltrasoundSupported() {
|
||||
return AudioSystem.isUltrasoundSupported();
|
||||
@RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND)
|
||||
public boolean isUltrasoundSupported() {
|
||||
try {
|
||||
return getService().isUltrasoundSupported();
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -138,6 +138,8 @@ interface IAudioService {
|
||||
|
||||
boolean isMicrophoneMuted();
|
||||
|
||||
boolean isUltrasoundSupported();
|
||||
|
||||
void setMicrophoneMute(boolean on, String callingPackage, int userId, in String attributionTag);
|
||||
|
||||
oneway void setMicrophoneMuteFromSwitch(boolean on);
|
||||
|
||||
@@ -3330,6 +3330,13 @@ public class AudioService extends IAudioService.Stub
|
||||
}
|
||||
}
|
||||
|
||||
private void enforceAccessUltrasoundPermission() {
|
||||
if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.ACCESS_ULTRASOUND)
|
||||
!= PackageManager.PERMISSION_GRANTED) {
|
||||
throw new SecurityException("Missing ACCESS_ULTRASOUND permission");
|
||||
}
|
||||
}
|
||||
|
||||
private void enforceQueryStatePermission() {
|
||||
if (mContext.checkCallingOrSelfPermission(Manifest.permission.QUERY_AUDIO_STATE)
|
||||
!= PackageManager.PERMISSION_GRANTED) {
|
||||
@@ -3462,6 +3469,12 @@ public class AudioService extends IAudioService.Stub
|
||||
attributionTag, Binder.getCallingUid(), callingOrSelfHasAudioSettingsPermission());
|
||||
}
|
||||
|
||||
/** @see AudioManager#isUltrasoundSupported() */
|
||||
public boolean isUltrasoundSupported() {
|
||||
enforceAccessUltrasoundPermission();
|
||||
return AudioSystem.isUltrasoundSupported();
|
||||
}
|
||||
|
||||
private boolean canChangeAccessibilityVolume() {
|
||||
synchronized (mAccessibilityServiceUidsLock) {
|
||||
if (PackageManager.PERMISSION_GRANTED == mContext.checkCallingOrSelfPermission(
|
||||
|
||||
Reference in New Issue
Block a user