diff options
| author | TheScarastic <warabhishek@gmail.com> | 2021-10-30 08:30:42 +0200 |
|---|---|---|
| committer | Semavi Ulusoy <doc.divxm@gmail.com> | 2022-02-02 21:40:34 +0300 |
| commit | 85e97b7cd1a217940e89b0c57f23523f61d51943 (patch) | |
| tree | 316e141734a0512a4efb59cf4846ee9793db6f14 | |
| parent | 7ba423bd54b4117b6ab8187f1262d69207eba23c (diff) | |
hidl: fingerprint: Uprev to 2.3
* Move fingerprint HIDL to 2.3
* Remove Lineage FOD HIDL
* Rename fodextension to udfpsextension
Change-Id: I8c628d2ee9158b45eeb04dd324b56ef3697296b7
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; |
