summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuojing Yuan <guojing@google.com>2021-07-27 00:20:42 +0000
committerGuojing Yuan <guojing@google.com>2021-07-27 00:27:01 +0000
commit9f7cbe51e13fe21588a8682eae6ccd261890a713 (patch)
tree944d1b0dc18067d39658bcd661d69e1da53b7362
parent5b5417285e9d07cf2883255250a61c7948aff58e (diff)
Add permission check while creating CompanionDeviceService
Fix: 194435859 Test: N/A Change-Id: Ia701706f54b131fa6a72cc188fb62919565b0c70
-rw-r--r--services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
index 9ff1b10c09ed..b1c67fdf70e1 100644
--- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
+++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java
@@ -17,6 +17,7 @@
package com.android.server.companion;
+import static android.Manifest.permission.BIND_COMPANION_DEVICE_SERVICE;
import static android.bluetooth.le.ScanSettings.CALLBACK_TYPE_ALL_MATCHES;
import static android.bluetooth.le.ScanSettings.SCAN_MODE_BALANCED;
import static android.content.Context.BIND_IMPORTANT;
@@ -1197,6 +1198,12 @@ public class CompanionDeviceManagerService extends SystemService implements Bind
+ " has " + packageResolveInfos.size());
return new ServiceConnector.NoOp<>();
}
+ String servicePermission = packageResolveInfos.get(0).serviceInfo.permission;
+ if (!BIND_COMPANION_DEVICE_SERVICE.equals(servicePermission)) {
+ Slog.w(LOG_TAG, "Binding CompanionDeviceService must have "
+ + BIND_COMPANION_DEVICE_SERVICE + " permission.");
+ return new ServiceConnector.NoOp<>();
+ }
ComponentName componentName = packageResolveInfos.get(0).serviceInfo.getComponentName();
Slog.i(LOG_TAG, "Initializing CompanionDeviceService binding for " + componentName);
return new ServiceConnector.Impl<ICompanionDeviceService>(getContext(),