From ebb2b746cedcdbd4242d2e6f85dc129b80ba4f34 Mon Sep 17 00:00:00 2001 From: Jeff Pu Date: Mon, 13 Feb 2023 17:58:33 +0000 Subject: [PATCH] Make virtual fingerprint HAL as lazy HAL Bug: 262630839 Test: atest VtsHalBiometricsFingerprintTargetTest Change-Id: I8f17f00d3e91554fcfb99c8b478ed8b6131b4530 --- biometrics/fingerprint/aidl/default/fingerprint-example.rc | 6 ++---- biometrics/fingerprint/aidl/default/main.cpp | 4 +++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/biometrics/fingerprint/aidl/default/fingerprint-example.rc b/biometrics/fingerprint/aidl/default/fingerprint-example.rc index 10db00d0f5..ee4713c158 100644 --- a/biometrics/fingerprint/aidl/default/fingerprint-example.rc +++ b/biometrics/fingerprint/aidl/default/fingerprint-example.rc @@ -2,8 +2,6 @@ service vendor.fingerprint-example /vendor/bin/hw/android.hardware.biometrics.fi class hal user nobody group nobody + interface aidl android.hardware.biometrics.fingerprint.IFingerprint/virtual + oneshot disabled -on property:ro.vendor.fingerprint_virtual_hal_start=true - enable vendor.fingerprint-example -on property:persist.vendor.fingerprint.virtual.type=* - enable vendor.fingerprint-example diff --git a/biometrics/fingerprint/aidl/default/main.cpp b/biometrics/fingerprint/aidl/default/main.cpp index 0e672b10ab..7df015b381 100644 --- a/biometrics/fingerprint/aidl/default/main.cpp +++ b/biometrics/fingerprint/aidl/default/main.cpp @@ -28,8 +28,10 @@ int main() { std::shared_ptr hal = ndk::SharedRefBase::make(); 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