Enforce CREATE_VIRTUAL_DEVICE permission for virtual camera service
Bug: 301023410
Test: atest
Change-Id: Ia3850ef0ace096dcda6c1d2fe8d3c5fd39e0a271
diff --git a/services/camera/virtualcamera/VirtualCameraService.h b/services/camera/virtualcamera/VirtualCameraService.h
index b68d43a..d573986 100644
--- a/services/camera/virtualcamera/VirtualCameraService.h
+++ b/services/camera/virtualcamera/VirtualCameraService.h
@@ -24,6 +24,7 @@
#include "VirtualCameraDevice.h"
#include "VirtualCameraProvider.h"
#include "aidl/android/companion/virtualcamera/BnVirtualCameraService.h"
+#include "util/Permissions.h"
namespace android {
namespace companion {
@@ -34,7 +35,8 @@
: public aidl::android::companion::virtualcamera::BnVirtualCameraService {
public:
VirtualCameraService(
- std::shared_ptr<VirtualCameraProvider> virtualCameraProvider);
+ std::shared_ptr<VirtualCameraProvider> virtualCameraProvider,
+ const PermissionsProxy& permissionProxy = PermissionsProxy::get());
// Register camera corresponding to the binder token.
ndk::ScopedAStatus registerCamera(
@@ -68,6 +70,8 @@
std::shared_ptr<VirtualCameraProvider> mVirtualCameraProvider;
+ const PermissionsProxy& mPermissionProxy;
+
std::mutex mLock;
struct BinderTokenHash {
std::size_t operator()(const ::ndk::SpAIBinder& key) const {