From 2a8c60a917de3d48b1e912cd40a03b64ebed18f6 Mon Sep 17 00:00:00 2001 From: Iván Budnik Date: Wed, 13 Sep 2023 16:35:08 +0000 Subject: Fix inconsistent system routing permission check MR2ServiceImpl was not checking for BT permissions when granting access to system routing to routing clients on some cases. Bug: 298338671 Test: MediaRouter2Test MediaRouter2HostSideTest Change-Id: Iac9986bc37c78c49b6feb3b31e47cff2702a9c2c --- .../core/java/com/android/server/media/MediaRouter2ServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java index 4892c22449cb..a3f63545448b 100644 --- a/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java +++ b/services/core/java/com/android/server/media/MediaRouter2ServiceImpl.java @@ -22,6 +22,7 @@ import static android.content.Intent.ACTION_SCREEN_ON; import static android.media.MediaRoute2ProviderService.REASON_UNKNOWN_ERROR; import static android.media.MediaRouter2Utils.getOriginalId; import static android.media.MediaRouter2Utils.getProviderId; + import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import static com.android.server.media.MediaFeatureFlagManager.FEATURE_SCANNING_MINIMUM_PACKAGE_IMPORTANCE; @@ -705,7 +706,8 @@ class MediaRouter2ServiceImpl { } private boolean checkCallerHasSystemRoutingPermissions(int pid, int uid) { - return checkCallerHasModifyAudioRoutingPermission(pid, uid); + return checkCallerHasModifyAudioRoutingPermission(pid, uid) + || checkCallerHasBluetoothPermissions(pid, uid); } private boolean checkCallerHasModifyAudioRoutingPermission(int pid, int uid) { -- cgit v1.2.3-59-g8ed1b