Use build flag to safeguard virtual_camera service access
... in CameraProviderManager.
Bug: 318088136
Bug: 301023410
Test: locally enabling / disabling RELEASE_PACKAGE_VIRTUAL_CAMERA and
rebuilding
Test: atest CameraProviderManagerTest
Change-Id: I275fa268ea67365b968821112a9200e6cdb9fd5d
diff --git a/services/camera/libcameraservice/Android.bp b/services/camera/libcameraservice/Android.bp
index 575e0fb..5b76bb0 100644
--- a/services/camera/libcameraservice/Android.bp
+++ b/services/camera/libcameraservice/Android.bp
@@ -112,6 +112,7 @@
"libcameraservice_device_independent",
"libdynamic_depth",
"libprocessinfoservice_aidl",
+ "libvirtualdevicebuildflags",
"media_permission-aidl-cpp",
],
}
diff --git a/services/camera/libcameraservice/common/CameraProviderManager.cpp b/services/camera/libcameraservice/common/CameraProviderManager.cpp
index be5ed4e..2e471be 100644
--- a/services/camera/libcameraservice/common/CameraProviderManager.cpp
+++ b/services/camera/libcameraservice/common/CameraProviderManager.cpp
@@ -33,6 +33,7 @@
#include <future>
#include <inttypes.h>
#include <android_companion_virtualdevice_flags.h>
+#include <android_companion_virtualdevice_build_flags.h>
#include <android/binder_manager.h>
#include <android/hidl/manager/1.2/IServiceManager.h>
#include <hidl/ServiceManagement.h>
@@ -3266,7 +3267,8 @@
}
bool CameraProviderManager::isVirtualCameraHalEnabled() {
- return vd_flags::virtual_camera_service_discovery();
+ return vd_flags::virtual_camera_service_discovery() &&
+ vd_flags::virtual_camera_service_build_flag();
}
} // namespace android