diff --git a/biometrics/Android.bp b/biometrics/Android.bp index 98bf1849..05a7bbee 100644 --- a/biometrics/Android.bp +++ b/biometrics/Android.bp @@ -5,10 +5,10 @@ // cc_binary { - name: "android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660", + name: "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660", defaults: ["hidl_defaults"], - init_rc: ["android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660.rc"], - vintf_fragments: ["android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660.xml"], + init_rc: ["android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660.rc"], + vintf_fragments: ["android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660.xml"], vendor: true, relative_install_path: "hw", srcs: [ @@ -23,6 +23,8 @@ cc_binary { "libhardware", "libutils", "android.hardware.biometrics.fingerprint@2.1", + "android.hardware.biometrics.fingerprint@2.2", + "android.hardware.biometrics.fingerprint@2.3", ], proprietary: true, diff --git a/biometrics/BiometricsFingerprint.cpp b/biometrics/BiometricsFingerprint.cpp index 5ea569b6..cbbcf502 100644 --- a/biometrics/BiometricsFingerprint.cpp +++ b/biometrics/BiometricsFingerprint.cpp @@ -5,7 +5,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660" +#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660" #include @@ -20,7 +20,7 @@ namespace android { namespace hardware { namespace biometrics { namespace fingerprint { -namespace V2_1 { +namespace V2_3 { namespace implementation { // Supported fingerprint HAL version @@ -195,6 +195,19 @@ Return BiometricsFingerprint::authenticate(uint64_t operationId, return ErrorFilter(mDevice->authenticate(mDevice, operationId, gid)); } +Return BiometricsFingerprint::isUdfps(uint32_t /*sensorId*/) { + return false; +} + +Return BiometricsFingerprint::onFingerDown(uint32_t /*x*/, uint32_t /*y*/, float /*minor*/, + float /*major*/) { + return Void(); +} + +Return BiometricsFingerprint::onFingerUp() { + return Void(); +} + IBiometricsFingerprint* BiometricsFingerprint::getInstance() { if (!sInstance) { sInstance = new BiometricsFingerprint(); @@ -379,7 +392,7 @@ void BiometricsFingerprint::notify(const fingerprint_msg_t *msg) { } } // namespace implementation -} // namespace V2_1 +} // namespace V2_3 } // namespace fingerprint } // namespace biometrics } // namespace hardware diff --git a/biometrics/BiometricsFingerprint.h b/biometrics/BiometricsFingerprint.h index c5624bf7..4b29f663 100644 --- a/biometrics/BiometricsFingerprint.h +++ b/biometrics/BiometricsFingerprint.h @@ -12,18 +12,20 @@ #include #include #include -#include +#include namespace android { namespace hardware { namespace biometrics { namespace fingerprint { -namespace V2_1 { +namespace V2_3 { namespace implementation { -using ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint; +using ::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo; +using ::android::hardware::biometrics::fingerprint::V2_1::FingerprintError; using ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback; using ::android::hardware::biometrics::fingerprint::V2_1::RequestStatus; +using ::android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint; using ::android::hardware::Return; using ::android::hardware::Void; using ::android::hardware::hidl_vec; @@ -50,6 +52,12 @@ public: Return setActiveGroup(uint32_t gid, const hidl_string& storePath) override; Return authenticate(uint64_t operationId, uint32_t gid) override; + // Methods from ::android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint + // follow. + Return isUdfps(uint32_t sensorId) override; + Return onFingerDown(uint32_t x, uint32_t y, float minor, float major) override; + Return onFingerUp() override; + private: static fingerprint_device_t* openHal(); static void notify(const fingerprint_msg_t *msg); /* Static callback for legacy HAL implementation */ @@ -64,7 +72,7 @@ private: }; } // namespace implementation -} // namespace V2_1 +} // namespace V2_3 } // namespace fingerprint } // namespace biometrics } // namespace hardware diff --git a/biometrics/android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660.rc b/biometrics/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660.rc similarity index 96% rename from biometrics/android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660.rc rename to biometrics/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660.rc index da54d159..0e3516cd 100644 --- a/biometrics/android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660.rc +++ b/biometrics/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660.rc @@ -53,8 +53,7 @@ on post-fs-data copy /data/vendor/fpc/user.db /data/vendor_de/0/fpdata/user.db chown system system /data/vendor_de/0/fpdata/user.db -service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660 - interface android.hardware.biometrics.fingerprint@2.1::IBiometricsFingerprint default +service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660 class late_start user system group system uhid input diff --git a/biometrics/android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660.xml b/biometrics/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660.xml similarity index 75% rename from biometrics/android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660.xml rename to biometrics/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660.xml index 1261632d..144d15f7 100644 --- a/biometrics/android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660.xml +++ b/biometrics/android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660.xml @@ -2,6 +2,6 @@ android.hardware.biometrics.fingerprint hwbinder - @2.1::IBiometricsFingerprint/default + @2.3::IBiometricsFingerprint/default diff --git a/biometrics/service.cpp b/biometrics/service.cpp index 2be82526..44642389 100644 --- a/biometrics/service.cpp +++ b/biometrics/service.cpp @@ -4,17 +4,17 @@ * SPDX-License-Identifier: Apache-2.0 */ -#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service.xiaomi_sdm660" +#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.xiaomi_sdm660" #include #include #include -#include -#include +#include +#include #include "BiometricsFingerprint.h" -using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint; -using android::hardware::biometrics::fingerprint::V2_1::implementation::BiometricsFingerprint; +using android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint; +using android::hardware::biometrics::fingerprint::V2_3::implementation::BiometricsFingerprint; using android::hardware::configureRpcThreadpool; using android::hardware::joinRpcThreadpool; using android::sp;