setWiredDeviceConnectionState requires MODIFY_AUDIO_ROUTING

AudioService: make setWiredDeviceConnectionState enforce the
privileged MODIFY_AUDIO_ROUTING permission

Bug: 151240738
Test: verify plug/unplug headset is WAI
Change-Id: Icde5c2fdfa970baf596d00f808dca8300be8743f
This commit is contained in:
Jean-Michel Trivi
2020-03-24 09:20:50 -07:00
parent e8640349ed
commit 01a8d9d840
2 changed files with 2 additions and 0 deletions

View File

@@ -4213,6 +4213,7 @@ public class AudioManager {
* {@hide}
*/
@UnsupportedAppUsage
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
public void setWiredDeviceConnectionState(int type, int state, String address, String name) {
final IAudioService service = getService();
try {

View File

@@ -4318,6 +4318,7 @@ public class AudioService extends IAudioService.Stub
public void setWiredDeviceConnectionState(int type,
@ConnectionState int state, String address, String name,
String caller) {
enforceModifyAudioRoutingPermission();
if (state != CONNECTION_STATE_CONNECTED
&& state != CONNECTION_STATE_DISCONNECTED) {
throw new IllegalArgumentException("Invalid state " + state);