Make virtual fingerprint HAL as lazy HAL
Bug: 262630839
Test: atest VtsHalBiometricsFingerprintTargetTest
Change-Id: I8f17f00d3e91554fcfb99c8b478ed8b6131b4530
diff --git a/biometrics/fingerprint/aidl/default/main.cpp b/biometrics/fingerprint/aidl/default/main.cpp
index 0e672b1..7df015b 100644
--- a/biometrics/fingerprint/aidl/default/main.cpp
+++ b/biometrics/fingerprint/aidl/default/main.cpp
@@ -28,8 +28,10 @@
std::shared_ptr<Fingerprint> hal = ndk::SharedRefBase::make<Fingerprint>();
const std::string instance = std::string(Fingerprint::descriptor) + "/virtual";
- binder_status_t status = AServiceManager_addService(hal->asBinder().get(), instance.c_str());
+ binder_status_t status =
+ AServiceManager_registerLazyService(hal->asBinder().get(), instance.c_str());
CHECK_EQ(status, STATUS_OK);
+ AServiceManager_forceLazyServicesPersist(true);
ABinderProcess_joinThreadPool();
return EXIT_FAILURE; // should not reach