AudioRecordingCofiguration#getClientUid - Throw SecurityException if client is missing permision

Bug: 147834506
Test: atest android.media.cts.AudioRecordingConfigurationTest
Change-Id: Ie6af7c1bb76eb4374c20dbe4723e90720a0dec95
This commit is contained in:
Nadav Bar
2020-01-31 16:07:20 +02:00
parent ad820a0ebd
commit a2b16cd65a
2 changed files with 10 additions and 3 deletions

View File

@@ -4317,7 +4317,7 @@ package android.media {
}
public final class AudioRecordingConfiguration implements android.os.Parcelable {
method public int getClientUid();
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
}
public class HwAudioSource {

View File

@@ -18,6 +18,7 @@ package android.media;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.compat.annotation.UnsupportedAppUsage;
@@ -229,13 +230,19 @@ public final class AudioRecordingConfiguration implements Parcelable {
* <p>This information is only available if the caller has the
* {@link android.Manifest.permission.MODIFY_AUDIO_ROUTING}
* permission.
* <br>The result is -1 without the permission.
* @return the user id
* @throws SecurityException Thrown if the caller is missing the MODIFY_AUDIO_ROUTING permission
*
* @hide
*/
@SystemApi
public int getClientUid() { return mClientUid; }
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
public int getClientUid() {
if (mClientUid == -1) {
throw new SecurityException("MODIFY_AUDIO_ROUTING permission is missing");
}
return mClientUid;
}
/**
* Returns information about the audio input device used for this recording.