Fingerprint: HIDL: add default HAL 2.1 implementation

Test: Manual fingerprint functionality verification.

Bug: 31973669
Change-Id: Ib8bcf602ba0c8884b13d31eb23baa88a912ace20
Signed-off-by: Sasha Levitskiy <sanek@google.com>
diff --git a/biometrics/fingerprint/2.1/IBiometricsFingerprint.hal b/biometrics/fingerprint/2.1/IBiometricsFingerprint.hal
index 7494c58..b7f8d88 100644
--- a/biometrics/fingerprint/2.1/IBiometricsFingerprint.hal
+++ b/biometrics/fingerprint/2.1/IBiometricsFingerprint.hal
@@ -16,8 +16,24 @@
 
 package android.hardware.biometrics.fingerprint@2.1;
 
+import IBiometricsFingerprintClientCallback;
+
 interface IBiometricsFingerprint {
   /*
+   * Set notification callback:
+   * Registers a user function that must receive notifications from the HAL
+   * This call must block if the HAL state machine is in busy state until HAL
+   * leaves the busy state.
+   *
+   * @return isOk indicates if the request is accepted.
+   * @return debugErrno is a value the framework logs in case isOk == false.
+   */
+  @callflow(next={"setActiveGroup"})
+  @entry
+  setNotify(IBiometricsFingerprintClientCallback clientCallback)
+      generates (bool isOk, int32_t debugErrno);
+
+  /*
    * Fingerprint pre-enroll enroll request:
    * Generates a unique token to upper layers to indicate the start of
    * an enrollment transaction. pre-enroll and post-enroll specify
@@ -138,7 +154,6 @@
    * @return debugErrno is a value the framework logs in case isOk == false.
    */
   @callflow(next={"authenticate", "preEnroll", "enumerate", "remove"})
-  @entry
   setActiveGroup(uint32_t gid, string storePath)
       generates (bool isOk, int32_t debugErrno);