From de3a4084b2726815e3a41d973d9e86f2814d7f4c Mon Sep 17 00:00:00 2001 From: Jakub Pawlowski Date: Fri, 14 May 2021 22:06:19 +0200 Subject: [PATCH] AudioService: add missing permission checks in Bluetooth related code Bug: 181962322 Test: compilation Change-Id: Ic6401d0577244c0c1fcab6672c93d4e4e6b4e169 --- .../java/com/android/server/audio/AudioService.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 34e2578f7855f..3c0fe717a722b 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -5295,6 +5295,10 @@ public class AudioService extends IAudioService.Stub // TODO investigate internal users due to deprecation of SDK API /** @see AudioManager#setBluetoothA2dpOn(boolean) */ public void setBluetoothA2dpOn(boolean on) { + if (!checkAudioSettingsPermission("setBluetoothA2dpOn()")) { + return; + } + // for logging only final int uid = Binder.getCallingUid(); final int pid = Binder.getCallingPid(); @@ -5320,6 +5324,10 @@ public class AudioService extends IAudioService.Stub /** @see AudioManager#startBluetoothSco() */ public void startBluetoothSco(IBinder cb, int targetSdkVersion) { + if (!checkAudioSettingsPermission("startBluetoothSco()")) { + return; + } + final int uid = Binder.getCallingUid(); final int pid = Binder.getCallingPid(); final int scoAudioMode = @@ -5342,6 +5350,10 @@ public class AudioService extends IAudioService.Stub /** @see AudioManager#startBluetoothScoVirtualCall() */ public void startBluetoothScoVirtualCall(IBinder cb) { + if (!checkAudioSettingsPermission("startBluetoothScoVirtualCall()")) { + return; + } + final int uid = Binder.getCallingUid(); final int pid = Binder.getCallingPid(); final String eventSource = new StringBuilder("startBluetoothScoVirtualCall()")