Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91bd818a authored by Carter Hsu's avatar Carter Hsu Committed by Android (Google) Code Review
Browse files

Merge "add permission check for isUltrasoundSupported"

parents fe197a7d 3ea30de4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+7 −2
Original line number Diff line number Diff line
@@ -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();
        }
    }

    /**
+2 −0
Original line number Diff line number Diff line
@@ -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);
+13 −0
Original line number Diff line number Diff line
@@ -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(