Merge "Add permission check while creating CompanionDeviceService" into sc-dev

This commit is contained in:
Guojing Yuan
2021-07-27 23:07:23 +00:00
committed by Android (Google) Code Review

View File

@@ -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(),