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

Commit 7a8ab7aa authored by Sungsoo Lim's avatar Sungsoo Lim
Browse files

Fix LeAudioService permission check

Add and remove permission check logic based on the annotation of
@RequirersPermission in BluetoothLeAudio and BluetoothLeBroadcast
classes.

Bug: 238062347
Test: atest BluetoothLeAudioTest BluetoothLeBroadcastTest
Tag: #refactor
Change-Id: I13bb1fb330c290082a264476fbc35bc25f71cad7
(cherry picked from commit bf0458d0)
parent 50f0b8d8
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -2268,6 +2268,7 @@ public class LeAudioService extends ProfileService {
                LeAudioService service = getService(source);
                int result = BluetoothLeAudio.AUDIO_LOCATION_INVALID;
                if (service != null) {
                    enforceBluetoothPrivilegedPermission(service);
                    result = service.getAudioLocation(device);
                }
                receiver.send(result);
@@ -2287,6 +2288,7 @@ public class LeAudioService extends ProfileService {
                LeAudioService service = getService(source);
                boolean result = false;
                if (service != null) {
                    enforceBluetoothPrivilegedPermission(service);
                    result = service.setConnectionPolicy(device, connectionPolicy);
                }
                receiver.send(result);
@@ -2350,7 +2352,6 @@ public class LeAudioService extends ProfileService {
                if (service == null) {
                    throw new IllegalStateException("service is null");
                }
                enforceBluetoothPrivilegedPermission(service);
                result = service.getGroupId(device);
                receiver.send(result);
            } catch (RuntimeException e) {
@@ -2510,6 +2511,7 @@ public class LeAudioService extends ProfileService {
                byte[] broadcastCode, AttributionSource source) {
            LeAudioService service = getService(source);
            if (service != null) {
                enforceBluetoothPrivilegedPermission(service);
                service.createBroadcast(contentMetadata, broadcastCode);
            }
        }
@@ -2518,6 +2520,7 @@ public class LeAudioService extends ProfileService {
        public void stopBroadcast(int broadcastId, AttributionSource source) {
            LeAudioService service = getService(source);
            if (service != null) {
                enforceBluetoothPrivilegedPermission(service);
                service.stopBroadcast(broadcastId);
            }
        }
@@ -2527,6 +2530,7 @@ public class LeAudioService extends ProfileService {
                BluetoothLeAudioContentMetadata contentMetadata, AttributionSource source) {
            LeAudioService service = getService(source);
            if (service != null) {
                enforceBluetoothPrivilegedPermission(service);
                service.updateBroadcast(broadcastId, contentMetadata);
            }
        }
@@ -2538,6 +2542,7 @@ public class LeAudioService extends ProfileService {
                boolean result = false;
                LeAudioService service = getService(source);
                if (service != null) {
                    enforceBluetoothPrivilegedPermission(service);
                    result = service.isPlaying(broadcastId);
                }
                receiver.send(result);
@@ -2553,6 +2558,7 @@ public class LeAudioService extends ProfileService {
                List<BluetoothLeBroadcastMetadata> result = new ArrayList<>();
                LeAudioService service = getService(source);
                if (service != null) {
                    enforceBluetoothPrivilegedPermission(service);
                    result = service.getAllBroadcastMetadata();
                }
                receiver.send(result);
@@ -2568,6 +2574,7 @@ public class LeAudioService extends ProfileService {
                int result = 0;
                LeAudioService service = getService(source);
                if (service != null) {
                    enforceBluetoothPrivilegedPermission(service);
                    result = service.getMaximumNumberOfBroadcasts();
                }
                receiver.send(result);