Make virtual fingerprint Hal as a lazy Hal

so that the Hal service can start dynamically as needed
by vts test and others

Bug: 262630839
Test: atest VtsHalBiometricsFingerprintTargetTest:IFingerprint/Fingerprint
Change-Id: I58dfa3b49bade3bbd89c3a8f6cd884c632e9eae4
diff --git a/biometrics/fingerprint/aidl/default/fingerprint-example.rc b/biometrics/fingerprint/aidl/default/fingerprint-example.rc
index 10db00d..80985e8 100644
--- a/biometrics/fingerprint/aidl/default/fingerprint-example.rc
+++ b/biometrics/fingerprint/aidl/default/fingerprint-example.rc
@@ -2,8 +2,7 @@
     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 0e672b1..11bce15 100644
--- a/biometrics/fingerprint/aidl/default/main.cpp
+++ b/biometrics/fingerprint/aidl/default/main.cpp
@@ -28,7 +28,8 @@
     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);
 
     ABinderProcess_joinThreadPool();