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

Commit c07b591e authored by mattgilbride's avatar mattgilbride Committed by Matt Gilbride
Browse files

Update AudioService to use manifest constants for @EnforcePermission

There are some usages of "short strings" for manifest permissions that
cause the latest version of the EnforcePermissionDetector lint to fail,
because it expects values that resolve to the fully qualified permision
name e.g. "android.permission.MODIFY_AUDIO_ROUTING".

"Short strings" like "MODIFY_AUDIO_ROUTING" are allowed in .aidl files,
and the AIDL compiler resolves them to the fully qualified values in
generated java.

The attached bug has been opened to decide if we should update the
lint to allow this syntax in the java annotation since it is supported
in .aidl.

Bug: 270686198
Test: TH
Change-Id: Ifd2e39b53f614c3aaf9d03413ac46fd0c6909162
Merged-In: Ifd2e39b53f614c3aaf9d03413ac46fd0c6909162
(cherry picked from commit 27e9f915)
parent cd847010
Loading
Loading
Loading
Loading
+17 −8
Original line number Diff line number Diff line
@@ -3928,8 +3928,10 @@ public class AudioService extends IAudioService.Stub
    }
    @Override
    @android.annotation.EnforcePermission(anyOf =
            {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"})
    @android.annotation.EnforcePermission(anyOf = {
            android.Manifest.permission.MODIFY_AUDIO_ROUTING,
            android.Manifest.permission.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
@@ -4945,8 +4947,10 @@ public class AudioService extends IAudioService.Stub
    }
    @Override
    @android.annotation.EnforcePermission(anyOf =
            {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"})
    @android.annotation.EnforcePermission(anyOf = {
            android.Manifest.permission.MODIFY_AUDIO_ROUTING,
            android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED
    })
    /**
     * @see AudioDeviceVolumeManager#getDeviceVolume(VolumeInfo, AudioDeviceAttributes)
     */
@@ -7214,8 +7218,10 @@ public class AudioService extends IAudioService.Stub
     * @param device the audio device to be affected
     * @param deviceVolumeBehavior one of the device behaviors
     */
    @android.annotation.EnforcePermission(anyOf =
            {"MODIFY_AUDIO_ROUTING", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"})
    @android.annotation.EnforcePermission(anyOf = {
            android.Manifest.permission.MODIFY_AUDIO_ROUTING,
            android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED
    })
    public void setDeviceVolumeBehavior(@NonNull AudioDeviceAttributes device,
            @AudioManager.DeviceVolumeBehavior int deviceVolumeBehavior, @Nullable String pkgName) {
        // verify permissions
@@ -7295,8 +7301,11 @@ public class AudioService extends IAudioService.Stub
     * @param device the audio output device type
     * @return the volume behavior for the device
     */
    @android.annotation.EnforcePermission(anyOf =
            {"MODIFY_AUDIO_ROUTING", "QUERY_AUDIO_STATE", "MODIFY_AUDIO_SETTINGS_PRIVILEGED"})
    @android.annotation.EnforcePermission(anyOf = {
            android.Manifest.permission.MODIFY_AUDIO_ROUTING,
            android.Manifest.permission.QUERY_AUDIO_STATE,
            android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED
    })
    public @AudioManager.DeviceVolumeBehavior
    int getDeviceVolumeBehavior(@NonNull AudioDeviceAttributes device) {
        // verify permissions