From 10fd2d7fab858e37a0949350535f69e939340ff3 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Mon, 13 Feb 2023 18:06:36 +0000 Subject: [PATCH] Rename MODIFY_AUDIO_SYSTEM_SETTINGS Rename MODIFY_AUDIO_SYSTEM_SETTINGS to MODIFY_AUDIO_SETTINGS_PRIVILEGED per API council feedback Bug: 268300921 Test: atest android.media.audio.cts.AudioDeviceVolumeManagerTest Change-Id: I540412a9ee528cb31130a4856b0bbde7fcba2a01 --- core/api/system-current.txt | 26 ++++++------ core/api/test-current.txt | 20 +++++----- core/res/AndroidManifest.xml | 2 +- data/etc/privapp-permissions-platform.xml | 2 +- .../media/AudioDeviceVolumeManager.java | 4 +- media/java/android/media/AudioManager.java | 40 +++++++++---------- media/java/android/media/IAudioService.aidl | 40 +++++++++---------- packages/Shell/AndroidManifest.xml | 2 +- .../android/server/audio/AudioService.java | 40 +++++++++---------- 9 files changed, 88 insertions(+), 88 deletions(-) diff --git a/core/api/system-current.txt b/core/api/system-current.txt index fc6c1fe463649..f981a1df679ce 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -215,7 +215,7 @@ package android { field public static final String MIGRATE_HEALTH_CONNECT_DATA = "android.permission.MIGRATE_HEALTH_CONNECT_DATA"; field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS"; field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING"; - field public static final String MODIFY_AUDIO_SYSTEM_SETTINGS = "android.permission.MODIFY_AUDIO_SYSTEM_SETTINGS"; + field public static final String MODIFY_AUDIO_SETTINGS_PRIVILEGED = "android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED"; field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS"; field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE"; field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING"; @@ -6826,8 +6826,8 @@ package android.media { } public class AudioDeviceVolumeManager { - method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS}) public android.media.VolumeInfo getDeviceVolume(@NonNull android.media.VolumeInfo, @NonNull android.media.AudioDeviceAttributes); - method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS}) public void setDeviceVolume(@NonNull android.media.VolumeInfo, @NonNull android.media.AudioDeviceAttributes); + method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public android.media.VolumeInfo getDeviceVolume(@NonNull android.media.VolumeInfo, @NonNull android.media.AudioDeviceAttributes); + method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public void setDeviceVolume(@NonNull android.media.VolumeInfo, @NonNull android.media.AudioDeviceAttributes); } public final class AudioFocusInfo implements android.os.Parcelable { @@ -6859,7 +6859,7 @@ package android.media { method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDeviceForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener) throws java.lang.SecurityException; method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForCapturePresetChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener) throws java.lang.SecurityException; method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener) throws java.lang.SecurityException; - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public void addOnStreamAliasingChangedListener(@NonNull java.util.concurrent.Executor, @NonNull Runnable); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void addOnStreamAliasingChangedListener(@NonNull java.util.concurrent.Executor, @NonNull Runnable); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void cancelMuteAwaitConnection(@NonNull android.media.AudioDeviceAttributes) throws java.lang.IllegalStateException; method public void clearAudioServerStateCallback(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int); @@ -6871,9 +6871,9 @@ package android.media { method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List getAudioVolumeGroups(); method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat); 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", android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS}) public int getDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes); + method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE", android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) 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 getDevicesForAttributes(@NonNull android.media.AudioAttributes); - method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public java.util.List getIndependentStreamTypes(); + method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public java.util.List getIndependentStreamTypes(); method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleStreamVolume(int); method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleVolumeGroupVolume(int); method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo); @@ -6884,11 +6884,11 @@ package android.media { method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy); method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List getPreferredDevicesForCapturePreset(int); method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public int getStreamTypeAlias(int); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int getStreamTypeAlias(int); method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages(); - method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMaxVolumeIndex(int); - method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMinVolumeIndex(int); - method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupVolumeIndex(int); + method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMaxVolumeIndex(int); + method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMinVolumeIndex(int); + method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupVolumeIndex(int); method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes); method public boolean isAudioServerRunning(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isBluetoothVariableLatencyEnabled(); @@ -6907,7 +6907,7 @@ package android.media { method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public void removeOnStreamAliasingChangedListener(@NonNull Runnable); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void removeOnStreamAliasingChangedListener(@NonNull Runnable); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int) throws java.lang.IllegalArgumentException; method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int, android.media.audiopolicy.AudioPolicy) throws java.lang.IllegalArgumentException; @@ -6917,13 +6917,13 @@ package android.media { method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setBluetoothVariableLatencyEnabled(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes); - method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS}) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int); + method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]); - method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public void setVolumeGroupVolumeIndex(int, int, int); + method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public void setVolumeGroupVolumeIndex(int, int, int); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean supportsBluetoothVariableLatency(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy); diff --git a/core/api/test-current.txt b/core/api/test-current.txt index d5ced049e9cde..dde964ccaa262 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -1737,29 +1737,29 @@ package android.media { public class AudioManager { method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int abandonAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public void forceComputeCsdOnAllDevices(boolean); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public void forceUseFrameworkMel(boolean); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceComputeCsdOnAllDevices(boolean); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceUseFrameworkMel(boolean); method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat); method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioTrack getCallUplinkInjectionAudioTrack(@NonNull android.media.AudioFormat); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public float getCsd(); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public float getCsd(); method @Nullable public static android.media.AudioDeviceInfo getDeviceInfoFromType(int); method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFadeOutDurationOnFocusLossMillis(@NonNull android.media.AudioAttributes); method @Nullable public static android.media.AudioHalVersionInfo getHalVersion(); method public static final int[] getPublicStreamTypes(); method @NonNull public java.util.List getReportedSurroundFormats(); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public float getRs2Value(); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public float getRs2Value(); method public int getStreamMinVolumeInt(int); method @NonNull public java.util.Map getSurroundFormats(); method public boolean hasRegisteredDynamicPolicy(); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public boolean isCsdEnabled(); - method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.QUERY_AUDIO_STATE, android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS}) public boolean isFullVolumeDevice(); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isCsdEnabled(); + method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.QUERY_AUDIO_STATE, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public boolean isFullVolumeDevice(); method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable(); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public boolean isVolumeControlUsingVolumeGroups(); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isVolumeControlUsingVolumeGroups(); method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int requestAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String, int, int); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public void setCsd(float); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public void setNotifAliasRingForTest(boolean); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setCsd(float); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setNotifAliasRingForTest(boolean); method public void setRampingRingerEnabled(boolean); - method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) public void setRs2Value(float); + method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setRs2Value(float); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setTestDeviceConnectionState(@NonNull android.media.AudioDeviceAttributes, boolean); } diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 2376baa7f234a..688297425dca0 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -5830,7 +5830,7 @@ devices, regardless of their connection status.

Not for use by third-party applications. @hide --> - - + diff --git a/media/java/android/media/AudioDeviceVolumeManager.java b/media/java/android/media/AudioDeviceVolumeManager.java index bf3612d2baa61..13876ad6c3c79 100644 --- a/media/java/android/media/AudioDeviceVolumeManager.java +++ b/media/java/android/media/AudioDeviceVolumeManager.java @@ -396,7 +396,7 @@ public class AudioDeviceVolumeManager { @SystemApi @RequiresPermission(anyOf = { Manifest.permission.MODIFY_AUDIO_ROUTING, - Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS + Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED }) public void setDeviceVolume(@NonNull VolumeInfo vi, @NonNull AudioDeviceAttributes ada) { try { @@ -420,7 +420,7 @@ public class AudioDeviceVolumeManager { @SystemApi @RequiresPermission(anyOf = { Manifest.permission.MODIFY_AUDIO_ROUTING, - Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS + Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED }) public @NonNull VolumeInfo getDeviceVolume(@NonNull VolumeInfo vi, @NonNull AudioDeviceAttributes ada) { diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 076e0cbf5ec58..59591c92d2462 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -1442,7 +1442,7 @@ public class AudioManager { */ @SystemApi @RequiresPermission(anyOf = { - android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, + android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING }) public void setVolumeGroupVolumeIndex(int groupId, int index, int flags) { @@ -1467,7 +1467,7 @@ public class AudioManager { @SystemApi @IntRange(from = 0) @RequiresPermission(anyOf = { - android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, + android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING }) public int getVolumeGroupVolumeIndex(int groupId) { @@ -1491,7 +1491,7 @@ public class AudioManager { @SystemApi @IntRange(from = 0) @RequiresPermission(anyOf = { - android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, + android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING }) public int getVolumeGroupMaxVolumeIndex(int groupId) { @@ -1515,7 +1515,7 @@ public class AudioManager { @SystemApi @IntRange(from = 0) @RequiresPermission(anyOf = { - android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, + android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING }) public int getVolumeGroupMinVolumeIndex(int groupId) { @@ -6331,7 +6331,7 @@ public class AudioManager { @SystemApi @RequiresPermission(anyOf = { Manifest.permission.MODIFY_AUDIO_ROUTING, - Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS + Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED }) public void setDeviceVolumeBehavior(@NonNull AudioDeviceAttributes device, @DeviceVolumeBehavior int deviceVolumeBehavior) { @@ -6369,7 +6369,7 @@ public class AudioManager { @RequiresPermission(anyOf = { Manifest.permission.MODIFY_AUDIO_ROUTING, Manifest.permission.QUERY_AUDIO_STATE, - Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS + Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED }) public @DeviceVolumeBehavior int getDeviceVolumeBehavior(@NonNull AudioDeviceAttributes device) { @@ -6397,7 +6397,7 @@ public class AudioManager { @RequiresPermission(anyOf = { Manifest.permission.MODIFY_AUDIO_ROUTING, Manifest.permission.QUERY_AUDIO_STATE, - Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS + Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED }) public boolean isFullVolumeDevice() { final AudioAttributes attributes = new AudioAttributes.Builder() @@ -6753,7 +6753,7 @@ public class AudioManager { * @return the RS2 value used for momentary exposure warnings */ @TestApi - @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public float getRs2Value() { try { return getService().getRs2Value(); @@ -6767,7 +6767,7 @@ public class AudioManager { * Sets the RS2 value used for momentary exposure warnings */ @TestApi - @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setRs2Value(float rs2Value) { try { getService().setRs2Value(rs2Value); @@ -6781,7 +6781,7 @@ public class AudioManager { * @return the current computed sound dose value */ @TestApi - @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public float getCsd() { try { return getService().getCsd(); @@ -6795,7 +6795,7 @@ public class AudioManager { * Sets the computed sound dose value to {@code csd} */ @TestApi - @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setCsd(float csd) { try { getService().setCsd(csd); @@ -6811,7 +6811,7 @@ public class AudioManager { * since this can affect the certification of a device with EN50332-3 regulation. */ @TestApi - @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceUseFrameworkMel(boolean useFrameworkMel) { try { getService().forceUseFrameworkMel(useFrameworkMel); @@ -6825,7 +6825,7 @@ public class AudioManager { * Forces the computation of CSD on all output devices. */ @TestApi - @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceComputeCsdOnAllDevices(boolean computeCsdOnAllDevices) { try { getService().forceComputeCsdOnAllDevices(computeCsdOnAllDevices); @@ -6839,7 +6839,7 @@ public class AudioManager { * Returns whether CSD is enabled on this device. */ @TestApi - @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isCsdEnabled() { try { return getService().isCsdEnabled(); @@ -9503,7 +9503,7 @@ public class AudioManager { * @param onStreamAliasingChangedListener the listener to add for the aliasing changes */ @SystemApi - @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void addOnStreamAliasingChangedListener( @NonNull @CallbackExecutor Executor executor, @NonNull Runnable onStreamAliasingChangedListener) { @@ -9520,7 +9520,7 @@ public class AudioManager { * @param onStreamAliasingChangedListener the previously added listener of aliasing changes */ @SystemApi - @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void removeOnStreamAliasingChangedListener( @NonNull Runnable onStreamAliasingChangedListener) { mStreamAliasingListenerMgr.removeListener(onStreamAliasingChangedListener, @@ -9534,7 +9534,7 @@ public class AudioManager { * @param isAliased if true, STREAM_NOTIFICATION is aliased to STREAM_RING */ @TestApi - @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setNotifAliasRingForTest(boolean isAliased) { final IAudioService service = getService(); try { @@ -9553,7 +9553,7 @@ public class AudioManager { * @return list of independent stream types. */ @SystemApi - @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public @NonNull List getIndependentStreamTypes() { final IAudioService service = getService(); try { @@ -9574,7 +9574,7 @@ public class AudioManager { * @return the stream type the source type is aliased to. */ @SystemApi - @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public @PublicStreamTypes int getStreamTypeAlias(@PublicStreamTypes int sourceStreamType) { final IAudioService service = getService(); try { @@ -9591,7 +9591,7 @@ public class AudioManager { * stream types. */ @TestApi - @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isVolumeControlUsingVolumeGroups() { final IAudioService service = getService(); try { diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl index 324e81a50ac95..37efa06a19283 100644 --- a/media/java/android/media/IAudioService.aidl +++ b/media/java/android/media/IAudioService.aidl @@ -107,11 +107,11 @@ interface IAudioService { void setStreamVolumeWithAttribution(int streamType, int index, int flags, in String callingPackage, in String attributionTag); - @EnforcePermission(anyOf = {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SYSTEM_SETTINGS"}) + @EnforcePermission(anyOf = {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"}) void setDeviceVolume(in VolumeInfo vi, in AudioDeviceAttributes ada, in String callingPackage); - @EnforcePermission(anyOf = {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SYSTEM_SETTINGS"}) + @EnforcePermission(anyOf = {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"}) VolumeInfo getDeviceVolume(in VolumeInfo vi, in AudioDeviceAttributes ada, in String callingPackage); @@ -139,17 +139,17 @@ interface IAudioService { @EnforcePermission("MODIFY_AUDIO_ROUTING") List getAudioVolumeGroups(); - @EnforcePermission(anyOf={"MODIFY_AUDIO_SYSTEM_SETTINGS", "MODIFY_AUDIO_ROUTING"}) + @EnforcePermission(anyOf={"MODIFY_AUDIO_SETTINGS_PRIVILEGED", "MODIFY_AUDIO_ROUTING"}) void setVolumeGroupVolumeIndex(int groupId, int index, int flags, String callingPackage, in String attributionTag); - @EnforcePermission(anyOf={"MODIFY_AUDIO_SYSTEM_SETTINGS", "MODIFY_AUDIO_ROUTING"}) + @EnforcePermission(anyOf={"MODIFY_AUDIO_SETTINGS_PRIVILEGED", "MODIFY_AUDIO_ROUTING"}) int getVolumeGroupVolumeIndex(int groupId); - @EnforcePermission(anyOf={"MODIFY_AUDIO_SYSTEM_SETTINGS", "MODIFY_AUDIO_ROUTING"}) + @EnforcePermission(anyOf={"MODIFY_AUDIO_SETTINGS_PRIVILEGED", "MODIFY_AUDIO_ROUTING"}) int getVolumeGroupMaxVolumeIndex(int groupId); - @EnforcePermission(anyOf={"MODIFY_AUDIO_SYSTEM_SETTINGS", "MODIFY_AUDIO_ROUTING"}) + @EnforcePermission(anyOf={"MODIFY_AUDIO_SETTINGS_PRIVILEGED", "MODIFY_AUDIO_ROUTING"}) int getVolumeGroupMinVolumeIndex(int groupId); @EnforcePermission("QUERY_AUDIO_STATE") @@ -258,19 +258,19 @@ interface IAudioService { IRingtonePlayer getRingtonePlayer(); int getUiSoundsStreamType(); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") List getIndependentStreamTypes(); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") int getStreamTypeAlias(int streamType); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") boolean isVolumeControlUsingVolumeGroups(); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") oneway void registerStreamAliasingDispatcher(IStreamAliasingDispatcher isad, boolean register); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") void setNotifAliasRingForTest(boolean alias); @EnforcePermission("MODIFY_AUDIO_ROUTING") @@ -295,25 +295,25 @@ interface IAudioService { void lowerVolumeToRs1(String callingPackage); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") float getRs2Value(); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") oneway void setRs2Value(float rs2Value); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") float getCsd(); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") oneway void setCsd(float csd); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") oneway void forceUseFrameworkMel(boolean useFrameworkMel); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") oneway void forceComputeCsdOnAllDevices(boolean computeCsdOnAllDevices); - @EnforcePermission("MODIFY_AUDIO_SYSTEM_SETTINGS") + @EnforcePermission("MODIFY_AUDIO_SETTINGS_PRIVILEGED") boolean isCsdEnabled(); int setHdmiSystemAudioSupported(boolean on); @@ -428,11 +428,11 @@ interface IAudioService { oneway void setRttEnabled(in boolean rttEnabled); - @EnforcePermission(anyOf = {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SYSTEM_SETTINGS"}) + @EnforcePermission(anyOf = {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"}) void setDeviceVolumeBehavior(in AudioDeviceAttributes device, in int deviceVolumeBehavior, in String pkgName); - @EnforcePermission(anyOf = {"MODIFY_AUDIO_ROUTING", "QUERY_AUDIO_STATE", "MODIFY_AUDIO_SYSTEM_SETTINGS"}) + @EnforcePermission(anyOf = {"MODIFY_AUDIO_ROUTING", "QUERY_AUDIO_STATE", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"}) int getDeviceVolumeBehavior(in AudioDeviceAttributes device); // WARNING: read warning at top of file, new methods that need to be used by native diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml index 5039624016c9e..29b13e86f6faf 100644 --- a/packages/Shell/AndroidManifest.xml +++ b/packages/Shell/AndroidManifest.xml @@ -656,7 +656,7 @@ - + diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index dd497306f136c..272c856b28236 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -311,7 +311,7 @@ public class AudioService extends IAudioService.Stub * volumes will be updated in case of a change. * @param alias if true, STREAM_NOTIFICATION is aliased to STREAM_RING */ - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setNotifAliasRingForTest(boolean alias) { super.setNotifAliasRingForTest_enforcePermission(); boolean update = (mNotifAliasRing != alias); @@ -3831,7 +3831,7 @@ public class AudioService extends IAudioService.Stub @Override @android.annotation.EnforcePermission(anyOf = { - android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, + android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING }) /** @see AudioManager#setVolumeGroupVolumeIndex(int, int, int) */ @@ -3878,7 +3878,7 @@ public class AudioService extends IAudioService.Stub @Override @android.annotation.EnforcePermission(anyOf = { - android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, + android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING }) /** @see AudioManager#getVolumeGroupVolumeIndex(int) */ @@ -3897,7 +3897,7 @@ public class AudioService extends IAudioService.Stub /** @see AudioManager#getVolumeGroupMaxVolumeIndex(int) */ @android.annotation.EnforcePermission(anyOf = { - android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, + android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING }) public int getVolumeGroupMaxVolumeIndex(int groupId) { @@ -3913,7 +3913,7 @@ public class AudioService extends IAudioService.Stub /** @see AudioManager#getVolumeGroupMinVolumeIndex(int) */ @android.annotation.EnforcePermission(anyOf = { - android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS, + android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING }) public int getVolumeGroupMinVolumeIndex(int groupId) { @@ -3929,7 +3929,7 @@ public class AudioService extends IAudioService.Stub @Override @android.annotation.EnforcePermission(anyOf = - {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SYSTEM_SETTINGS"}) + {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"}) /** @see AudioDeviceVolumeManager#setDeviceVolume(VolumeInfo, AudioDeviceAttributes) * Part of service interface, check permissions and parameters here * Note calling package is for logging purposes only, not to be trusted @@ -4946,7 +4946,7 @@ public class AudioService extends IAudioService.Stub @Override @android.annotation.EnforcePermission(anyOf = - {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SYSTEM_SETTINGS"}) + {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"}) /** * @see AudioDeviceVolumeManager#getDeviceVolume(VolumeInfo, AudioDeviceAttributes) */ @@ -5035,7 +5035,7 @@ public class AudioService extends IAudioService.Stub * @see AudioManager#addOnStreamAliasingChangedListener(Executor, Runnable) * @see AudioManager#removeOnStreamAliasingChangedListener(Runnable) */ - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void registerStreamAliasingDispatcher(IStreamAliasingDispatcher isad, boolean register) { super.registerStreamAliasingDispatcher_enforcePermission(); Objects.requireNonNull(isad); @@ -5063,7 +5063,7 @@ public class AudioService extends IAudioService.Stub * @see AudioManager#getIndependentStreamTypes() * @return the list of non-aliased stream types */ - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public ArrayList getIndependentStreamTypes() { super.getIndependentStreamTypes_enforcePermission(); @@ -5085,7 +5085,7 @@ public class AudioService extends IAudioService.Stub * @param sourceStreamType the stream type for which the alias is queried * @return the stream alias */ - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public @AudioManager.PublicStreamTypes int getStreamTypeAlias(@AudioManager.PublicStreamTypes int sourceStreamType) { super.getStreamTypeAlias_enforcePermission(); @@ -5100,7 +5100,7 @@ public class AudioService extends IAudioService.Stub * @return true when volume control is performed through volume groups, false if it uses * stream types. */ - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isVolumeControlUsingVolumeGroups() { super.isVolumeControlUsingVolumeGroups_enforcePermission(); @@ -7207,7 +7207,7 @@ public class AudioService extends IAudioService.Stub * @param deviceVolumeBehavior one of the device behaviors */ @android.annotation.EnforcePermission(anyOf = - {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SYSTEM_SETTINGS"}) + {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"}) public void setDeviceVolumeBehavior(@NonNull AudioDeviceAttributes device, @AudioManager.DeviceVolumeBehavior int deviceVolumeBehavior, @Nullable String pkgName) { // verify permissions @@ -7288,7 +7288,7 @@ public class AudioService extends IAudioService.Stub * @return the volume behavior for the device */ @android.annotation.EnforcePermission(anyOf = - {"MODIFY_AUDIO_ROUTING", "QUERY_AUDIO_STATE", "MODIFY_AUDIO_SYSTEM_SETTINGS"}) + {"MODIFY_AUDIO_ROUTING", "QUERY_AUDIO_STATE", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"}) public @AudioManager.DeviceVolumeBehavior int getDeviceVolumeBehavior(@NonNull AudioDeviceAttributes device) { // verify permissions @@ -10432,49 +10432,49 @@ public class AudioService extends IAudioService.Stub } @Override - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public float getRs2Value() { super.getRs2Value_enforcePermission(); return mSoundDoseHelper.getRs2Value(); } @Override - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setRs2Value(float rs2Value) { super.setRs2Value_enforcePermission(); mSoundDoseHelper.setRs2Value(rs2Value); } @Override - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public float getCsd() { super.getCsd_enforcePermission(); return mSoundDoseHelper.getCsd(); } @Override - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void setCsd(float csd) { super.setCsd_enforcePermission(); mSoundDoseHelper.setCsd(csd); } @Override - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceUseFrameworkMel(boolean useFrameworkMel) { super.forceUseFrameworkMel_enforcePermission(); mSoundDoseHelper.forceUseFrameworkMel(useFrameworkMel); } @Override - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceComputeCsdOnAllDevices(boolean computeCsdOnAllDevices) { super.forceComputeCsdOnAllDevices_enforcePermission(); mSoundDoseHelper.forceComputeCsdOnAllDevices(computeCsdOnAllDevices); } @Override - @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SYSTEM_SETTINGS) + @android.annotation.EnforcePermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isCsdEnabled() { super.isCsdEnabled_enforcePermission(); return mSoundDoseHelper.isCsdEnabled();