summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuojing Yuan <guojing@google.com>2021-07-27 23:07:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-07-27 23:07:23 +0000
commitdfa9b3058f2fb491f86e40f6510f55ea31858f5f (patch)
tree6323a5b70a955964712a93bfef9fa70828b7f6bb
parentb68c209b8aca4cc02b34cfe0f6875f9bc5f6838d (diff)
parent9f7cbe51e13fe21588a8682eae6ccd261890a713 (diff)
Merge "Add permission check while creating CompanionDeviceService" into sc-dev
-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 b7feb6306c99..30de4b416410 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(),