summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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(),