sdm660-common: biometrics: fingerprint: Move fingerprint HIDL to 2.3

Change-Id: I2e5ed64ac7ae2f1003503072666204c0788a003a
Signed-off-by: pix106 <sbordenave@gmail.com>
This commit is contained in:
Sebastiano Barezzi 2022-03-25 01:32:20 +01:00 committed by pix106
parent b0664375a1
commit 7e992f6717
6 changed files with 40 additions and 18 deletions

View file

@ -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,

View file

@ -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 <hardware/hw_auth_token.h>
@ -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<RequestStatus> BiometricsFingerprint::authenticate(uint64_t operationId,
return ErrorFilter(mDevice->authenticate(mDevice, operationId, gid));
}
Return<bool> BiometricsFingerprint::isUdfps(uint32_t /*sensorId*/) {
return false;
}
Return<void> BiometricsFingerprint::onFingerDown(uint32_t /*x*/, uint32_t /*y*/, float /*minor*/,
float /*major*/) {
return Void();
}
Return<void> 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

View file

@ -12,18 +12,20 @@
#include <hardware/fingerprint.h>
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
#include <android/hardware/biometrics/fingerprint/2.3/IBiometricsFingerprint.h>
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<RequestStatus> setActiveGroup(uint32_t gid, const hidl_string& storePath) override;
Return<RequestStatus> authenticate(uint64_t operationId, uint32_t gid) override;
// Methods from ::android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint
// follow.
Return<bool> isUdfps(uint32_t sensorId) override;
Return<void> onFingerDown(uint32_t x, uint32_t y, float minor, float major) override;
Return<void> 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

View file

@ -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

View file

@ -2,6 +2,6 @@
<hal format="hidl">
<name>android.hardware.biometrics.fingerprint</name>
<transport>hwbinder</transport>
<fqname>@2.1::IBiometricsFingerprint/default</fqname>
<fqname>@2.3::IBiometricsFingerprint/default</fqname>
</hal>
</manifest>

View file

@ -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 <android/log.h>
#include <hidl/HidlSupport.h>
#include <hidl/HidlTransportSupport.h>
#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
#include <android/hardware/biometrics/fingerprint/2.1/types.h>
#include <android/hardware/biometrics/fingerprint/2.3/IBiometricsFingerprint.h>
#include <android/hardware/biometrics/fingerprint/2.2/types.h>
#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;