Updated face session to use SurfaceView
Test: Verified that it builds.
Test: Verified framework supports older NativeHandle.
Bug: 308784038
Change-Id: I6f5fa573bdfcfd903b53d8d85c43f491413bdcae
diff --git a/biometrics/face/aidl/default/Android.bp b/biometrics/face/aidl/default/Android.bp
index b005746..ecd0934 100644
--- a/biometrics/face/aidl/default/Android.bp
+++ b/biometrics/face/aidl/default/Android.bp
@@ -27,6 +27,7 @@
shared_libs: [
"libbinder_ndk",
"liblog",
+ "libnativewindow",
],
srcs: [
"main.cpp",
@@ -34,12 +35,15 @@
"FakeFaceEngine.cpp",
"Session.cpp",
],
+ include_dirs: [
+ "frameworks/native/aidl/gui",
+ ],
stl: "c++_static",
static_libs: [
"android.hardware.biometrics.common-V3-ndk",
"android.hardware.biometrics.common.thread",
"android.hardware.biometrics.common.util",
- "android.hardware.biometrics.face-V3-ndk",
+ "android.hardware.biometrics.face-V4-ndk",
"android.hardware.common-V2-ndk",
"android.hardware.keymaster-V4-ndk",
"libandroid.hardware.biometrics.face.VirtualProps",
@@ -63,10 +67,14 @@
shared_libs: [
"libbase",
"libbinder_ndk",
+ "libnativewindow",
+ ],
+ include_dirs: [
+ "frameworks/native/aidl/gui",
],
static_libs: [
"libandroid.hardware.biometrics.face.VirtualProps",
- "android.hardware.biometrics.face-V3-ndk",
+ "android.hardware.biometrics.face-V4-ndk",
"android.hardware.biometrics.common-V3-ndk",
"android.hardware.keymaster-V4-ndk",
"android.hardware.biometrics.common.util",
diff --git a/biometrics/face/aidl/default/Session.cpp b/biometrics/face/aidl/default/Session.cpp
index 6235b83..6f3f2fc 100644
--- a/biometrics/face/aidl/default/Session.cpp
+++ b/biometrics/face/aidl/default/Session.cpp
@@ -175,4 +175,10 @@
return ndk::ScopedAStatus::ok();
}
+ndk::ScopedAStatus Session::enrollWithOptions(const FaceEnrollOptions& options,
+ std::shared_ptr<common::ICancellationSignal>* out) {
+ return enroll(options.hardwareAuthToken, options.enrollmentType, options.features,
+ options.nativeHandlePreview, out);
+}
+
} // namespace aidl::android::hardware::biometrics::face
diff --git a/biometrics/face/aidl/default/Session.h b/biometrics/face/aidl/default/Session.h
index 7ca6a1f..ce6e7f1 100644
--- a/biometrics/face/aidl/default/Session.h
+++ b/biometrics/face/aidl/default/Session.h
@@ -19,6 +19,7 @@
#include <random>
#include <aidl/android/hardware/biometrics/face/BnSession.h>
+#include <aidl/android/hardware/biometrics/face/FaceEnrollOptions.h>
#include <aidl/android/hardware/biometrics/face/ISessionCallback.h>
#include "FakeFaceEngine.h"
@@ -88,6 +89,10 @@
ndk::ScopedAStatus onContextChanged(const common::OperationContext& context) override;
+ ndk::ScopedAStatus enrollWithOptions(
+ const FaceEnrollOptions& options,
+ std::shared_ptr<common::ICancellationSignal>* out) override;
+
private:
std::unique_ptr<FakeFaceEngine> mEngine;
std::shared_ptr<ISessionCallback> mCb;
diff --git a/biometrics/face/aidl/default/apex/manifest.json b/biometrics/face/aidl/default/apex/manifest.json
index ecdc299..e7d177b 100644
--- a/biometrics/face/aidl/default/apex/manifest.json
+++ b/biometrics/face/aidl/default/apex/manifest.json
@@ -1,4 +1,4 @@
{
"name": "com.android.hardware.biometrics.face.virtual",
- "version": 1
+ "version": 2
}
diff --git a/biometrics/face/aidl/default/face-example.xml b/biometrics/face/aidl/default/face-example.xml
index 1c5071a..2b39b3d 100644
--- a/biometrics/face/aidl/default/face-example.xml
+++ b/biometrics/face/aidl/default/face-example.xml
@@ -1,7 +1,7 @@
<manifest version="1.0" type="device">
<hal format="aidl">
<name>android.hardware.biometrics.face</name>
- <version>3</version>
+ <version>4</version>
<fqname>IFace/virtual</fqname>
</hal>
</manifest>