summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheScarastic <warabhishek@gmail.com>2021-10-30 08:30:42 +0200
committerSemavi Ulusoy <doc.divxm@gmail.com>2022-02-02 21:40:34 +0300
commit85e97b7cd1a217940e89b0c57f23523f61d51943 (patch)
tree316e141734a0512a4efb59cf4846ee9793db6f14
parent7ba423bd54b4117b6ab8187f1262d69207eba23c (diff)
hidl: fingerprint: Uprev to 2.3
* Move fingerprint HIDL to 2.3 * Remove Lineage FOD HIDL * Rename fodextension to udfpsextension Change-Id: I8c628d2ee9158b45eeb04dd324b56ef3697296b7
-rw-r--r--hidl/fingerprint/Android.bp19
-rw-r--r--hidl/fingerprint/BiometricsFingerprint.cpp57
-rw-r--r--hidl/fingerprint/BiometricsFingerprint.h23
-rw-r--r--hidl/fingerprint/UdfpsExtension.cpp14
-rw-r--r--hidl/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.oneplus.rc (renamed from hidl/fingerprint/android.hardware.biometrics.fingerprint@2.1-service.oneplus.rc)2
-rw-r--r--hidl/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.oneplus.xml (renamed from hidl/fingerprint/android.hardware.biometrics.fingerprint@2.1-service.oneplus.xml)2
-rw-r--r--hidl/fingerprint/inscreen/.clang-format11
-rw-r--r--hidl/fingerprint/inscreen/Android.bp66
-rw-r--r--hidl/fingerprint/inscreen/FingerprintInscreen.cpp153
-rw-r--r--hidl/fingerprint/inscreen/FingerprintInscreen.h62
-rw-r--r--hidl/fingerprint/inscreen/FodExtension.cpp14
-rw-r--r--hidl/fingerprint/inscreen/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc6
-rw-r--r--hidl/fingerprint/inscreen/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml11
-rw-r--r--hidl/fingerprint/inscreen/service.cpp39
-rw-r--r--hidl/fingerprint/inscreen/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc10
-rw-r--r--hidl/fingerprint/inscreen/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml11
-rw-r--r--hidl/fingerprint/service.cpp8
17 files changed, 102 insertions, 406 deletions
diff --git a/hidl/fingerprint/Android.bp b/hidl/fingerprint/Android.bp
index 7721df1..e1f639c 100644
--- a/hidl/fingerprint/Android.bp
+++ b/hidl/fingerprint/Android.bp
@@ -1,8 +1,16 @@
+cc_library_static {
+ name: "libudfps_extension.oneplus",
+ srcs: ["UdfpsExtension.cpp"],
+ include_dirs: [
+ "frameworks/native/services/surfaceflinger/CompositionEngine/include",
+ ],
+}
+
cc_binary {
- name: "android.hardware.biometrics.fingerprint@2.1-service.oneplus",
+ name: "android.hardware.biometrics.fingerprint@2.3-service.oneplus",
defaults: ["hidl_defaults"],
- init_rc: ["android.hardware.biometrics.fingerprint@2.1-service.oneplus.rc"],
- vintf_fragments: ["android.hardware.biometrics.fingerprint@2.1-service.oneplus.xml"],
+ init_rc: ["android.hardware.biometrics.fingerprint@2.3-service.oneplus.rc"],
+ vintf_fragments: ["android.hardware.biometrics.fingerprint@2.3-service.oneplus.xml"],
vendor: true,
relative_install_path: "hw",
srcs: [
@@ -17,6 +25,9 @@ cc_binary {
"libhardware",
"libutils",
"android.hardware.biometrics.fingerprint@2.1",
+ "android.hardware.biometrics.fingerprint@2.2",
+ "android.hardware.biometrics.fingerprint@2.3",
+ "vendor.oneplus.fingerprint.extension@1.0",
+ "vendor.oneplus.hardware.display@1.0",
],
-
}
diff --git a/hidl/fingerprint/BiometricsFingerprint.cpp b/hidl/fingerprint/BiometricsFingerprint.cpp
index 7ff7681..376e022 100644
--- a/hidl/fingerprint/BiometricsFingerprint.cpp
+++ b/hidl/fingerprint/BiometricsFingerprint.cpp
@@ -13,8 +13,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service"
-#define LOG_VERBOSE "android.hardware.biometrics.fingerprint@2.1-service"
+
+#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.oneplus"
+#define LOG_VERBOSE "android.hardware.biometrics.fingerprint@2.3-service.oneplus"
#include <hardware/hw_auth_token.h>
@@ -26,11 +27,18 @@
#include <inttypes.h>
#include <unistd.h>
+#define OP_ENABLE_FP_LONGPRESS 3
+#define OP_DISABLE_FP_LONGPRESS 4
+#define OP_RESUME_FP_ENROLL 8
+#define OP_FINISH_FP_ENROLL 10
+#define OP_DISPLAY_NOTIFY_PRESS 9
+#define OP_DISPLAY_SET_DIM 10
+
namespace android {
namespace hardware {
namespace biometrics {
namespace fingerprint {
-namespace V2_1 {
+namespace V2_3 {
namespace implementation {
// Supported fingerprint HAL version
@@ -47,6 +55,9 @@ BiometricsFingerprint::BiometricsFingerprint() : mClientCallback(nullptr), mDevi
if (!mDevice) {
ALOGE("Can't open HAL module");
}
+
+ mVendorFpService = IVendorFingerprintExtensions::getService();
+ mVendorDisplayService = IOneplusDisplay::getService();
}
BiometricsFingerprint::~BiometricsFingerprint() {
@@ -64,6 +75,22 @@ BiometricsFingerprint::~BiometricsFingerprint() {
mDevice = nullptr;
}
+Return<bool> BiometricsFingerprint::isUdfps(uint32_t) {
+ return true;
+}
+
+Return<void> BiometricsFingerprint::onFingerDown(uint32_t, uint32_t, float, float) {
+ mVendorDisplayService->setMode(OP_DISPLAY_NOTIFY_PRESS, 1);
+
+ return Void();
+}
+
+Return<void> BiometricsFingerprint::onFingerUp() {
+ mVendorDisplayService->setMode(OP_DISPLAY_NOTIFY_PRESS, 0);
+
+ return Void();
+}
+
Return<RequestStatus> BiometricsFingerprint::ErrorFilter(int32_t error) {
switch(error) {
case 0: return RequestStatus::SYS_OK;
@@ -88,7 +115,6 @@ Return<RequestStatus> BiometricsFingerprint::ErrorFilter(int32_t error) {
// HIDL-compliant FingerprintError.
FingerprintError BiometricsFingerprint::VendorErrorFilter(int32_t error,
int32_t* vendorCode) {
- *vendorCode = 0;
switch(error) {
case FINGERPRINT_ERROR_HW_UNAVAILABLE:
return FingerprintError::ERROR_HW_UNAVAILABLE;
@@ -119,7 +145,6 @@ FingerprintError BiometricsFingerprint::VendorErrorFilter(int32_t error,
// to HIDL-compliant FingerprintAcquiredInfo.
FingerprintAcquiredInfo BiometricsFingerprint::VendorAcquiredFilter(
int32_t info, int32_t* vendorCode) {
- *vendorCode = 0;
switch(info) {
case FINGERPRINT_ACQUIRED_GOOD:
return FingerprintAcquiredInfo::ACQUIRED_GOOD;
@@ -148,7 +173,7 @@ Return<uint64_t> BiometricsFingerprint::setNotify(
const sp<IBiometricsFingerprintClientCallback>& clientCallback) {
std::lock_guard<std::mutex> lock(mClientCallbackMutex);
mClientCallback = clientCallback;
- // This is here because HAL 2.1 doesn't have a way to propagate a
+ // This is here because HAL 2.3 doesn't have a way to propagate a
// unique token for its driver. Subsequent versions should send a unique
// token for each call to setNotify(). This is fine as long as there's only
// one fingerprint device on the platform.
@@ -161,12 +186,20 @@ Return<uint64_t> BiometricsFingerprint::preEnroll() {
Return<RequestStatus> BiometricsFingerprint::enroll(const hidl_array<uint8_t, 69>& hat,
uint32_t gid, uint32_t timeoutSec) {
+ mVendorDisplayService->setMode(OP_DISPLAY_SET_DIM, 1);
+ mVendorFpService->updateStatus(OP_DISABLE_FP_LONGPRESS);
+ mVendorFpService->updateStatus(OP_RESUME_FP_ENROLL);
+
const hw_auth_token_t* authToken =
reinterpret_cast<const hw_auth_token_t*>(hat.data());
return ErrorFilter(mDevice->enroll(mDevice, authToken, gid, timeoutSec));
}
Return<RequestStatus> BiometricsFingerprint::postEnroll() {
+ mVendorDisplayService->setMode(OP_DISPLAY_SET_DIM, 0);
+ mVendorFpService->updateStatus(OP_FINISH_FP_ENROLL);
+ mVendorFpService->updateStatus(OP_ENABLE_FP_LONGPRESS);
+
return ErrorFilter(mDevice->post_enroll(mDevice));
}
@@ -175,6 +208,10 @@ Return<uint64_t> BiometricsFingerprint::getAuthenticatorId() {
}
Return<RequestStatus> BiometricsFingerprint::cancel() {
+ mVendorDisplayService->setMode(OP_DISPLAY_SET_DIM, 0);
+ mVendorFpService->updateStatus(OP_FINISH_FP_ENROLL);
+ mVendorFpService->updateStatus(OP_ENABLE_FP_LONGPRESS);
+
return ErrorFilter(mDevice->cancel(mDevice));
}
@@ -202,6 +239,9 @@ Return<RequestStatus> BiometricsFingerprint::setActiveGroup(uint32_t gid,
Return<RequestStatus> BiometricsFingerprint::authenticate(uint64_t operationId,
uint32_t gid) {
+ mVendorDisplayService->setMode(OP_DISPLAY_SET_DIM, 1);
+ mVendorFpService->updateStatus(OP_ENABLE_FP_LONGPRESS);
+
return ErrorFilter(mDevice->authenticate(mDevice, operationId, gid));
}
@@ -249,7 +289,7 @@ fingerprint_device_t* BiometricsFingerprint::openHal() {
}
if (kVersion != device->version) {
- // enforce version on new devices because of HIDL@2.1 translation layer
+ // enforce version on new devices because of HIDL@2.3 translation layer
ALOGE("Wrong fp version. Expected %d, got %d", kVersion, device->version);
return nullptr;
}
@@ -334,6 +374,7 @@ void BiometricsFingerprint::notify(const fingerprint_msg_t *msg) {
token).isOk()) {
ALOGE("failed to invoke fingerprint onAuthenticated callback");
}
+ getInstance()->onFingerUp();
} else {
// Not a recognized fingerprint
if (!thisPtr->mClientCallback->onAuthenticated(devId,
@@ -360,7 +401,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/hidl/fingerprint/BiometricsFingerprint.h b/hidl/fingerprint/BiometricsFingerprint.h
index 3f8bbb8..d1902b8 100644
--- a/hidl/fingerprint/BiometricsFingerprint.h
+++ b/hidl/fingerprint/BiometricsFingerprint.h
@@ -23,23 +23,31 @@
#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>
+#include <android/hardware/biometrics/fingerprint/2.1/types.h>
+
+#include <vendor/oneplus/fingerprint/extension/1.0/IVendorFingerprintExtensions.h>
+#include <vendor/oneplus/hardware/display/1.0/IOneplusDisplay.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_3::IBiometricsFingerprint;
using ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback;
using ::android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
+using ::android::hardware::biometrics::fingerprint::V2_1::FingerprintAcquiredInfo;
+using ::android::hardware::biometrics::fingerprint::V2_1::FingerprintError;
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::hardware::hidl_vec;
using ::android::hardware::hidl_string;
using ::android::sp;
+using ::vendor::oneplus::fingerprint::extension::V1_0::IVendorFingerprintExtensions;
+using ::vendor::oneplus::hardware::display::V1_0::IOneplusDisplay;
struct BiometricsFingerprint : public IBiometricsFingerprint {
public:
@@ -49,7 +57,7 @@ public:
// Method to wrap legacy HAL with BiometricsFingerprint class
static IBiometricsFingerprint* getInstance();
- // Methods from ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint follow.
+ // Methods from ::android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint follow.
Return<uint64_t> setNotify(const sp<IBiometricsFingerprintClientCallback>& clientCallback) override;
Return<uint64_t> preEnroll() override;
Return<RequestStatus> enroll(const hidl_array<uint8_t, 69>& hat, uint32_t gid, uint32_t timeoutSec) override;
@@ -60,6 +68,9 @@ public:
Return<RequestStatus> remove(uint32_t gid, uint32_t fid) override;
Return<RequestStatus> setActiveGroup(uint32_t gid, const hidl_string& storePath) override;
Return<RequestStatus> authenticate(uint64_t operationId, uint32_t gid) override;
+ 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 const char* getModuleId();
@@ -73,10 +84,12 @@ private:
std::mutex mClientCallbackMutex;
sp<IBiometricsFingerprintClientCallback> mClientCallback;
fingerprint_device_t *mDevice;
+ sp<IOneplusDisplay> mVendorDisplayService;
+ sp<IVendorFingerprintExtensions> mVendorFpService;
};
} // namespace implementation
-} // namespace V2_1
+} // namespace V2_3
} // namespace fingerprint
} // namespace biometrics
} // namespace hardware
diff --git a/hidl/fingerprint/UdfpsExtension.cpp b/hidl/fingerprint/UdfpsExtension.cpp
new file mode 100644
index 0000000..ce07f54
--- /dev/null
+++ b/hidl/fingerprint/UdfpsExtension.cpp
@@ -0,0 +1,14 @@
+/*
+ * Copyright (C) 2021 The LineageOS Project
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include <compositionengine/UdfpsExtension.h>
+
+uint32_t getUdfpsZOrder(uint32_t z, bool touched) {
+ return touched ? 0xfc8 : z;
+}
+
+uint64_t getUdfpsUsageBits(uint64_t usageBits, bool) {
+ return usageBits;
+}
diff --git a/hidl/fingerprint/android.hardware.biometrics.fingerprint@2.1-service.oneplus.rc b/hidl/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.oneplus.rc
index b56b83f..4b2efa0 100644
--- a/hidl/fingerprint/android.hardware.biometrics.fingerprint@2.1-service.oneplus.rc
+++ b/hidl/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.oneplus.rc
@@ -1,4 +1,4 @@
-service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service.oneplus
+service vendor.fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.3-service.oneplus
# "class hal" causes a race condition on some devices due to files created
# in /data. As a workaround, postpone startup until later in boot once
# /data is mounted.
diff --git a/hidl/fingerprint/android.hardware.biometrics.fingerprint@2.1-service.oneplus.xml b/hidl/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.oneplus.xml
index 115dd7b..4931b8a 100644
--- a/hidl/fingerprint/android.hardware.biometrics.fingerprint@2.1-service.oneplus.xml
+++ b/hidl/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.oneplus.xml
@@ -2,7 +2,7 @@
<hal format="hidl">
<name>android.hardware.biometrics.fingerprint</name>
<transport>hwbinder</transport>
- <version>2.1</version>
+ <version>2.3</version>
<interface>
<name>IBiometricsFingerprint</name>
<instance>default</instance>
diff --git a/hidl/fingerprint/inscreen/.clang-format b/hidl/fingerprint/inscreen/.clang-format
deleted file mode 100644
index 55773a2..0000000
--- a/hidl/fingerprint/inscreen/.clang-format
+++ /dev/null
@@ -1,11 +0,0 @@
-BasedOnStyle: Google
-AccessModifierOffset: -2
-AllowShortFunctionsOnASingleLine: Inline
-ColumnLimit: 100
-CommentPragmas: NOLINT:.*
-DerivePointerAlignment: false
-IndentWidth: 4
-ContinuationIndentWidth: 8
-PointerAlignment: Left
-TabWidth: 4
-UseTab: Never
diff --git a/hidl/fingerprint/inscreen/Android.bp b/hidl/fingerprint/inscreen/Android.bp
deleted file mode 100644
index cbb58ff..0000000
--- a/hidl/fingerprint/inscreen/Android.bp
+++ /dev/null
@@ -1,66 +0,0 @@
-soong_config_module_type {
- name: "oneplus_fod_hal_cc_defaults",
- module_type: "cc_defaults",
- config_namespace: "ONEPLUS_FOD",
- value_variables: [
- "POS_X",
- "POS_Y",
- "SIZE",
- ],
- properties: ["cppflags"],
-}
-
-oneplus_fod_hal_cc_defaults {
- name: "oneplus_fod_hal_defaults",
- defaults: ["hidl_defaults"],
- relative_install_path: "hw",
- soong_config_variables: {
- POS_X: {
- cppflags: ["-DFOD_POS_X=%s"],
- },
- POS_Y: {
- cppflags: ["-DFOD_POS_Y=%s"],
- },
- SIZE: {
- cppflags: ["-DFOD_SIZE=%s"],
- },
- },
- srcs: [
- "service.cpp",
- "FingerprintInscreen.cpp",
- ],
- shared_libs: [
- "libbase",
- "libhardware",
- "libhidlbase",
- "liblog",
- "libutils",
- "vendor.lineage.biometrics.fingerprint.inscreen@1.0",
- "vendor.oneplus.fingerprint.extension@1.0",
- "vendor.oneplus.hardware.display@1.0",
- ],
-}
-
-cc_binary {
- name: "lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus",
- defaults: ["oneplus_fod_hal_defaults"],
- vintf_fragments: ["lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml"],
- init_rc: ["lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc"],
- system_ext_specific: true,
-}
-
-cc_binary {
- name: "vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus",
- defaults: ["oneplus_fod_hal_defaults"],
- vintf_fragments: ["vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml"],
- init_rc: ["vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc"],
- vendor: true,
-}
-
-cc_library_static {
- name: "libfod_extension.oneplus",
- srcs: ["FodExtension.cpp"],
- include_dirs: [
- "frameworks/native/services/surfaceflinger/CompositionEngine/include",
- ],
-}
diff --git a/hidl/fingerprint/inscreen/FingerprintInscreen.cpp b/hidl/fingerprint/inscreen/FingerprintInscreen.cpp
deleted file mode 100644
index e239e02..0000000
--- a/hidl/fingerprint/inscreen/FingerprintInscreen.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2021 The LineageOS Project
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#define LOG_TAG "FingerprintInscreenService"
-
-#include "FingerprintInscreen.h"
-#include <android-base/logging.h>
-#include <hidl/HidlTransportSupport.h>
-#include <fstream>
-
-#define FINGERPRINT_ACQUIRED_VENDOR 6
-#define FINGERPRINT_ERROR_VENDOR 8
-
-#define OP_ENABLE_FP_LONGPRESS 3
-#define OP_DISABLE_FP_LONGPRESS 4
-#define OP_RESUME_FP_ENROLL 8
-#define OP_FINISH_FP_ENROLL 10
-
-#define OP_DISPLAY_AOD_MODE 8
-#define OP_DISPLAY_NOTIFY_PRESS 9
-#define OP_DISPLAY_SET_DIM 10
-
-namespace vendor {
-namespace lineage {
-namespace biometrics {
-namespace fingerprint {
-namespace inscreen {
-namespace V1_0 {
-namespace implementation {
-
-FingerprintInscreen::FingerprintInscreen() {
- this->mFodCircleVisible = false;
- this->mVendorFpService = IVendorFingerprintExtensions::getService();
- this->mVendorDisplayService = IOneplusDisplay::getService();
-}
-
-Return<void> FingerprintInscreen::onStartEnroll() {
- this->mVendorFpService->updateStatus(OP_DISABLE_FP_LONGPRESS);
- this->mVendorFpService->updateStatus(OP_RESUME_FP_ENROLL);
-
- return Void();
-}
-
-Return<void> FingerprintInscreen::onFinishEnroll() {
- this->mVendorFpService->updateStatus(OP_FINISH_FP_ENROLL);
-
- return Void();
-}
-
-Return<void> FingerprintInscreen::onPress() {
- this->mVendorDisplayService->setMode(OP_DISPLAY_NOTIFY_PRESS, 1);
-
- return Void();
-}
-
-Return<void> FingerprintInscreen::onRelease() {
- this->mVendorDisplayService->setMode(OP_DISPLAY_NOTIFY_PRESS, 0);
-
- return Void();
-}
-
-Return<void> FingerprintInscreen::onShowFODView() {
- this->mFodCircleVisible = true;
- this->mVendorDisplayService->setMode(OP_DISPLAY_SET_DIM, 1);
-
- return Void();
-}
-
-Return<void> FingerprintInscreen::onHideFODView() {
- this->mFodCircleVisible = false;
- this->mVendorDisplayService->setMode(OP_DISPLAY_AOD_MODE, 0);
- this->mVendorDisplayService->setMode(OP_DISPLAY_SET_DIM, 0);
- this->mVendorDisplayService->setMode(OP_DISPLAY_NOTIFY_PRESS, 0);
-
- return Void();
-}
-
-Return<bool> FingerprintInscreen::handleAcquired(int32_t acquiredInfo, int32_t vendorCode) {
- std::lock_guard<std::mutex> _lock(mCallbackLock);
- if (mCallback == nullptr) {
- return false;
- }
-
- if (acquiredInfo == FINGERPRINT_ACQUIRED_VENDOR) {
- if (mFodCircleVisible && vendorCode == 0) {
- Return<void> ret = mCallback->onFingerDown();
- if (!ret.isOk()) {
- LOG(ERROR) << "FingerDown() error: " << ret.description();
- }
- return true;
- }
-
- if (mFodCircleVisible && vendorCode == 1) {
- Return<void> ret = mCallback->onFingerUp();
- if (!ret.isOk()) {
- LOG(ERROR) << "FingerUp() error: " << ret.description();
- }
- return true;
- }
- }
-
- return false;
-}
-
-Return<bool> FingerprintInscreen::handleError(int32_t error, int32_t vendorCode) {
- return error == FINGERPRINT_ERROR_VENDOR && vendorCode == 6;
-}
-
-Return<void> FingerprintInscreen::setLongPressEnabled(bool enabled) {
- this->mVendorFpService->updateStatus(
- enabled ? OP_ENABLE_FP_LONGPRESS : OP_DISABLE_FP_LONGPRESS);
-
- return Void();
-}
-
-Return<int32_t> FingerprintInscreen::getDimAmount(int32_t) {
- return 0;
-}
-
-Return<bool> FingerprintInscreen::shouldBoostBrightness() {
- return false;
-}
-
-Return<void> FingerprintInscreen::setCallback(const sp<IFingerprintInscreenCallback>& callback) {
- {
- std::lock_guard<std::mutex> _lock(mCallbackLock);
- mCallback = callback;
- }
-
- return Void();
-}
-
-Return<int32_t> FingerprintInscreen::getPositionX() {
- return FOD_POS_X;
-}
-
-Return<int32_t> FingerprintInscreen::getPositionY() {
- return FOD_POS_Y;
-}
-
-Return<int32_t> FingerprintInscreen::getSize() {
- return FOD_SIZE;
-}
-
-} // namespace implementation
-} // namespace V1_0
-} // namespace inscreen
-} // namespace fingerprint
-} // namespace biometrics
-} // namespace lineage
-} // namespace vendor
diff --git a/hidl/fingerprint/inscreen/FingerprintInscreen.h b/hidl/fingerprint/inscreen/FingerprintInscreen.h
deleted file mode 100644
index 2705216..0000000
--- a/hidl/fingerprint/inscreen/FingerprintInscreen.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2021-2022 The LineageOS Project
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#pragma once
-
-#include <vendor/lineage/biometrics/fingerprint/inscreen/1.0/IFingerprintInscreen.h>
-#include <vendor/oneplus/fingerprint/extension/1.0/IVendorFingerprintExtensions.h>
-#include <vendor/oneplus/hardware/display/1.0/IOneplusDisplay.h>
-
-namespace vendor {
-namespace lineage {
-namespace biometrics {
-namespace fingerprint {
-namespace inscreen {
-namespace V1_0 {
-namespace implementation {
-
-using ::android::sp;
-using ::android::hardware::Return;
-using ::android::hardware::Void;
-using ::vendor::oneplus::fingerprint::extension::V1_0::IVendorFingerprintExtensions;
-using ::vendor::oneplus::hardware::display::V1_0::IOneplusDisplay;
-
-class FingerprintInscreen : public IFingerprintInscreen {
- public:
- FingerprintInscreen();
-
- Return<void> onStartEnroll() override;
- Return<void> onFinishEnroll() override;
- Return<void> onPress() override;
- Return<void> onRelease() override;
- Return<void> onShowFODView() override;
- Return<void> onHideFODView() override;
- Return<bool> handleAcquired(int32_t acquiredInfo, int32_t vendorCode) override;
- Return<bool> handleError(int32_t error, int32_t vendorCode) override;
- Return<void> setLongPressEnabled(bool enabled) override;
- Return<int32_t> getDimAmount(int32_t cur_brightness) override;
- Return<bool> shouldBoostBrightness() override;
- Return<void> setCallback(const sp<IFingerprintInscreenCallback>& callback) override;
- Return<int32_t> getPositionX() override;
- Return<int32_t> getPositionY() override;
- Return<int32_t> getSize() override;
-
- private:
- bool mFodCircleVisible;
-
- sp<IOneplusDisplay> mVendorDisplayService;
- sp<IVendorFingerprintExtensions> mVendorFpService;
-
- std::mutex mCallbackLock;
- sp<IFingerprintInscreenCallback> mCallback;
-};
-
-} // namespace implementation
-} // namespace V1_0
-} // namespace inscreen
-} // namespace fingerprint
-} // namespace biometrics
-} // namespace lineage
-} // namespace vendor
diff --git a/hidl/fingerprint/inscreen/FodExtension.cpp b/hidl/fingerprint/inscreen/FodExtension.cpp
deleted file mode 100644
index 26bab43..0000000
--- a/hidl/fingerprint/inscreen/FodExtension.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * Copyright (C) 2021 The LineageOS Project
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#include <compositionengine/FodExtension.h>
-
-uint32_t getFodZOrder(uint32_t z, bool touched) {
- return touched ? 0xfc8 : z;
-}
-
-uint32_t getFodUsageBits(uint32_t usageBits, bool) {
- return usageBits;
-}
diff --git a/hidl/fingerprint/inscreen/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc b/hidl/fingerprint/inscreen/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc
deleted file mode 100644
index bff67e8..0000000
--- a/hidl/fingerprint/inscreen/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc
+++ /dev/null
@@ -1,6 +0,0 @@
-service fingerprint-inscreen-1-0 /system_ext/bin/hw/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus
- interface vendor.lineage.biometrics.fingerprint.inscreen@1.0::IFingerprintInscreen default
- class hal
- user system
- group system
- shutdown critical
diff --git a/hidl/fingerprint/inscreen/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml b/hidl/fingerprint/inscreen/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml
deleted file mode 100644
index 0806439..0000000
--- a/hidl/fingerprint/inscreen/lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<manifest version="1.0" type="framework">
- <hal format="hidl">
- <name>vendor.lineage.biometrics.fingerprint.inscreen</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IFingerprintInscreen</name>
- <instance>default</instance>
- </interface>
- </hal>
-</manifest>
diff --git a/hidl/fingerprint/inscreen/service.cpp b/hidl/fingerprint/inscreen/service.cpp
deleted file mode 100644
index 305f704..0000000
--- a/hidl/fingerprint/inscreen/service.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2021 The LineageOS Project
- * SPDX-License-Identifier: Apache-2.0
- */
-
-#define LOG_TAG "vendor.lineage.biometrics.fingerprint.inscreen@1.0-service"
-
-#include <android-base/logging.h>
-#include <hidl/HidlTransportSupport.h>
-
-#include "FingerprintInscreen.h"
-
-using android::hardware::configureRpcThreadpool;
-using android::hardware::joinRpcThreadpool;
-
-using vendor::lineage::biometrics::fingerprint::inscreen::V1_0::IFingerprintInscreen;
-using vendor::lineage::biometrics::fingerprint::inscreen::V1_0::implementation::FingerprintInscreen;
-
-using android::OK;
-using android::status_t;
-
-int main() {
- android::sp<IFingerprintInscreen> service = new FingerprintInscreen();
-
- configureRpcThreadpool(1, true);
-
- status_t status = service->registerAsService();
- if (status != OK) {
- LOG(ERROR) << "Cannot register FOD HAL service.";
- return 1;
- }
-
- LOG(INFO) << "FOD HAL service ready.";
-
- joinRpcThreadpool();
-
- LOG(ERROR) << "FOD HAL service failed to join thread pool.";
- return 1;
-}
diff --git a/hidl/fingerprint/inscreen/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc b/hidl/fingerprint/inscreen/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc
deleted file mode 100644
index 4c4e896..0000000
--- a/hidl/fingerprint/inscreen/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.rc
+++ /dev/null
@@ -1,10 +0,0 @@
-on init
- chown system system /sys/class/drm/card0-DSI-1/op_friginer_print_hbm
- chmod 0660 /sys/class/drm/card0-DSI-1/op_friginer_print_hbm
-
-service vendor.fingerprint-inscreen-1-0 /vendor/bin/hw/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus
- interface vendor.lineage.biometrics.fingerprint.inscreen@1.0::IFingerprintInscreen default
- class hal
- user system
- group system
- shutdown critical
diff --git a/hidl/fingerprint/inscreen/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml b/hidl/fingerprint/inscreen/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml
deleted file mode 100644
index e03c70c..0000000
--- a/hidl/fingerprint/inscreen/vendor.lineage.biometrics.fingerprint.inscreen@1.0-service.oneplus.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<manifest version="1.0" type="device">
- <hal format="hidl">
- <name>vendor.lineage.biometrics.fingerprint.inscreen</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IFingerprintInscreen</name>
- <instance>default</instance>
- </interface>
- </hal>
-</manifest>
diff --git a/hidl/fingerprint/service.cpp b/hidl/fingerprint/service.cpp
index edfaac4..14636f3 100644
--- a/hidl/fingerprint/service.cpp
+++ b/hidl/fingerprint/service.cpp
@@ -14,17 +14,17 @@
* limitations under the License.
*/
-#define LOG_TAG "android.hardware.biometrics.fingerprint@2.1-service"
+#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service"
#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.3/IBiometricsFingerprint.h>
#include <android/hardware/biometrics/fingerprint/2.1/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;