Merge "Add SystemApi tag on getLastAudibleStreamVolume" am: f3a2e55ff7 am: ee0ad09554 am: b8be957ad7 am: c070d597e2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1863058 Change-Id: Ia171d31f836848b8643e0d82895bda446082aab1
This commit is contained in:
@@ -5672,6 +5672,7 @@ package android.media {
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioTrack getCallUplinkInjectionAudioTrack(@NonNull android.media.AudioFormat);
|
||||
method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public int getDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes);
|
||||
method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public java.util.List<android.media.AudioDeviceAttributes> getDevicesForAttributes(@NonNull android.media.AudioAttributes);
|
||||
method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleStreamVolume(int);
|
||||
method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
|
||||
method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
|
||||
method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
|
||||
|
||||
@@ -1204,7 +1204,8 @@ public class AudioManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
@SystemApi
|
||||
@RequiresPermission("android.permission.QUERY_AUDIO_STATE")
|
||||
public int getLastAudibleStreamVolume(int streamType) {
|
||||
final IAudioService service = getService();
|
||||
try {
|
||||
|
||||
@@ -3239,6 +3239,13 @@ public class AudioService extends IAudioService.Stub
|
||||
}
|
||||
}
|
||||
|
||||
private void enforceQueryStatePermission() {
|
||||
if (mContext.checkCallingOrSelfPermission(Manifest.permission.QUERY_AUDIO_STATE)
|
||||
!= PackageManager.PERMISSION_GRANTED) {
|
||||
throw new SecurityException("Missing QUERY_AUDIO_STATE permissions");
|
||||
}
|
||||
}
|
||||
|
||||
private void enforceQueryStateOrModifyRoutingPermission() {
|
||||
if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
|
||||
!= PackageManager.PERMISSION_GRANTED
|
||||
@@ -4143,6 +4150,7 @@ public class AudioService extends IAudioService.Stub
|
||||
|
||||
/** Get last audible volume before stream was muted. */
|
||||
public int getLastAudibleStreamVolume(int streamType) {
|
||||
enforceQueryStatePermission();
|
||||
ensureValidStreamType(streamType);
|
||||
int device = getDeviceForStream(streamType);
|
||||
return (mStreamStates[streamType].getIndex(device) + 5) / 10;
|
||||
|
||||
Reference in New Issue
Block a user