Downgrade binder stablility for Virtual Camera
Downgrade the binder stability for the virtual camera provider service
so it can be used without the VINTF manifest.
Test: cameraservice_test CameraProviderManagerTest
Bug: 270352264
Change-Id: I08c4190550614b819e69626a7cc749e61db82678
diff --git a/devices/VirtualCamera/main.cc b/devices/VirtualCamera/main.cc
index a3ff128..7bf6c26 100644
--- a/devices/VirtualCamera/main.cc
+++ b/devices/VirtualCamera/main.cc
@@ -16,6 +16,8 @@
#define LOG_TAG "VirtualCamera"
+#include <android/binder_stability.h>
+
#include <cstddef>
#include "VirtualCameraProvider.h"
@@ -45,8 +47,10 @@
const std::string serviceName =
std::string(VirtualCameraProvider::descriptor) + "/virtual/0";
- binder_exception_t ret = AServiceManager_addService(
- defaultProvider->asBinder().get(), serviceName.c_str());
+ auto aidlBinder = defaultProvider->asBinder();
+ AIBinder_forceDowngradeToLocalStability(aidlBinder.get());
+ binder_exception_t ret =
+ AServiceManager_addService(aidlBinder.get(), serviceName.c_str());
LOG_ALWAYS_FATAL_IF(
ret != EX_NONE,
"Error while registering virtual camera provider service: %d", ret);