Add update context method to face and fingerprint HAL.
This is needed for changes that occur mid-operation and was lost
from the previous changes when switching from the single context
method to the overloaded approach.
Bug: 204584403
Test: atest VtsHalBiometricsFingerprintTargetTest VtsHalBiometricsFaceTargetTest
Change-Id: Ie917bce9de910a421e19130b6e518bd6fc85298e
diff --git a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/current/android/hardware/biometrics/fingerprint/ISession.aidl b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/current/android/hardware/biometrics/fingerprint/ISession.aidl
index 4e7b3b4..30f299d 100644
--- a/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/current/android/hardware/biometrics/fingerprint/ISession.aidl
+++ b/biometrics/fingerprint/aidl/aidl_api/android.hardware.biometrics.fingerprint/current/android/hardware/biometrics/fingerprint/ISession.aidl
@@ -53,4 +53,5 @@
android.hardware.biometrics.common.ICancellationSignal detectInteractionWithContext(in android.hardware.biometrics.common.OperationContext context);
void onPointerDownWithContext(in android.hardware.biometrics.fingerprint.PointerContext context);
void onPointerUpWithContext(in android.hardware.biometrics.fingerprint.PointerContext context);
+ void onContextChanged(in android.hardware.biometrics.common.OperationContext context);
}
diff --git a/biometrics/fingerprint/aidl/android/hardware/biometrics/fingerprint/ISession.aidl b/biometrics/fingerprint/aidl/android/hardware/biometrics/fingerprint/ISession.aidl
index ea8c6aa..db01145 100644
--- a/biometrics/fingerprint/aidl/android/hardware/biometrics/fingerprint/ISession.aidl
+++ b/biometrics/fingerprint/aidl/android/hardware/biometrics/fingerprint/ISession.aidl
@@ -473,4 +473,10 @@
/** See ISession#onPointerUp(int) */
void onPointerUpWithContext(in PointerContext context);
+
+ /**
+ * This may be called while an authenticate, detect interaction, or enrollment operation is
+ * running when the context changes.
+ */
+ void onContextChanged(in OperationContext context);
}
diff --git a/biometrics/fingerprint/aidl/default/Session.cpp b/biometrics/fingerprint/aidl/default/Session.cpp
index 8cbcfc7..452ed12 100644
--- a/biometrics/fingerprint/aidl/default/Session.cpp
+++ b/biometrics/fingerprint/aidl/default/Session.cpp
@@ -270,4 +270,8 @@
return onPointerUp(context.pointerId);
}
+ndk::ScopedAStatus Session::onContextChanged(const common::OperationContext& /*context*/) {
+ return ndk::ScopedAStatus::ok();
+}
+
} // namespace aidl::android::hardware::biometrics::fingerprint
diff --git a/biometrics/fingerprint/aidl/default/include/Session.h b/biometrics/fingerprint/aidl/default/include/Session.h
index 584cb27..acd5def 100644
--- a/biometrics/fingerprint/aidl/default/include/Session.h
+++ b/biometrics/fingerprint/aidl/default/include/Session.h
@@ -95,6 +95,8 @@
ndk::ScopedAStatus onPointerUpWithContext(const PointerContext& context) override;
+ ndk::ScopedAStatus onContextChanged(const common::OperationContext& context) override;
+
bool isClosed();
private: