From fe4a066897b9306bbe8d58611a8d6787dea77e15 Mon Sep 17 00:00:00 2001 From: Anand S Date: Tue, 13 May 2025 23:00:36 +0530 Subject: [PATCH] rhodep: Drop OSS fingerprint HAL & interfaces Change-Id: Ia2675fe3ecf23e28e5abb41b4f13afab1d993340 --- device.mk | 4 - fingerprint/.clang-format | 1 - fingerprint/Android.bp | 23 --- fingerprint/BiometricsFingerprint.cpp | 159 ------------------ fingerprint/BiometricsFingerprint.h | 79 --------- ...ometrics.fingerprint@2.3-service.bangkk.rc | 7 - ...metrics.fingerprint@2.3-service.bangkk.xml | 23 --- fingerprint/interfaces/4.0/Android.bp | 15 -- .../4.0/IBiometricsFingerprintRbs.hal | 14 -- .../4.0/IBiometricsFingerprintRbsCallback.hal | 10 -- fingerprint/interfaces/Android.bp | 9 - fingerprint/service.cpp | 48 ------ 12 files changed, 392 deletions(-) delete mode 120000 fingerprint/.clang-format delete mode 100644 fingerprint/Android.bp delete mode 100644 fingerprint/BiometricsFingerprint.cpp delete mode 100644 fingerprint/BiometricsFingerprint.h delete mode 100644 fingerprint/android.hardware.biometrics.fingerprint@2.3-service.bangkk.rc delete mode 100644 fingerprint/android.hardware.biometrics.fingerprint@2.3-service.bangkk.xml delete mode 100644 fingerprint/interfaces/4.0/Android.bp delete mode 100644 fingerprint/interfaces/4.0/IBiometricsFingerprintRbs.hal delete mode 100644 fingerprint/interfaces/4.0/IBiometricsFingerprintRbsCallback.hal delete mode 100644 fingerprint/interfaces/Android.bp delete mode 100644 fingerprint/service.cpp diff --git a/device.mk b/device.mk index 029380a..d702f83 100644 --- a/device.mk +++ b/device.mk @@ -38,10 +38,6 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/audio/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ $(LOCAL_PATH)/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml -# Fingerprint -PRODUCT_PACKAGES += \ - android.hardware.biometrics.fingerprint@2.3-service.bangkk - # FM TARGET_HAS_FM := true diff --git a/fingerprint/.clang-format b/fingerprint/.clang-format deleted file mode 120000 index 0457b53..0000000 --- a/fingerprint/.clang-format +++ /dev/null @@ -1 +0,0 @@ -../../../../build/soong/scripts/system-clang-format \ No newline at end of file diff --git a/fingerprint/Android.bp b/fingerprint/Android.bp deleted file mode 100644 index 1e6f65a..0000000 --- a/fingerprint/Android.bp +++ /dev/null @@ -1,23 +0,0 @@ -cc_binary { - name: "android.hardware.biometrics.fingerprint@2.3-service.bangkk", - defaults: ["hidl_defaults"], - init_rc: ["android.hardware.biometrics.fingerprint@2.3-service.bangkk.rc"], - vintf_fragments: ["android.hardware.biometrics.fingerprint@2.3-service.bangkk.xml"], - relative_install_path: "hw", - srcs: [ - "service.cpp", - "BiometricsFingerprint.cpp", - ], - vendor: true, - shared_libs: [ - "libbase", - "libhidlbase", - "liblog", - "libutils", - "android.hardware.biometrics.fingerprint@2.1", - "android.hardware.biometrics.fingerprint@2.2", - "android.hardware.biometrics.fingerprint@2.3", - "vendor.egistec.hardware.fingerprint@4.0", - ], - header_libs: ["generated_kernel_headers"] -} diff --git a/fingerprint/BiometricsFingerprint.cpp b/fingerprint/BiometricsFingerprint.cpp deleted file mode 100644 index c28e91a..0000000 --- a/fingerprint/BiometricsFingerprint.cpp +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.bangkk" - -#include "BiometricsFingerprint.h" - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -enum HBM_STATE { OFF = 0, ON = 2 }; - -void setHbmState(int state) { - struct panel_param_info param_info; - int32_t node = open("/dev/dri/card0", O_RDWR); - int32_t ret = 0; - - if (node < 0) { - LOG(ERROR) << "Failed to get card0!"; - return; - } - - param_info.param_idx = PARAM_HBM; - param_info.value = state; - - ret = ioctl(node, DRM_IOCTL_SET_PANEL_FEATURE, ¶m_info); - if (ret < 0) { - LOG(ERROR) << "IOCTL call failed with ret = " << ret; - } else { - LOG(INFO) << "HBM state set successfully. New state: " << state; - } - - close(node); -} - -namespace android { -namespace hardware { -namespace biometrics { -namespace fingerprint { -namespace V2_3 { -namespace implementation { - -BiometricsFingerprint::BiometricsFingerprint() { - biometrics_2_1_service = IBiometricsFingerprint_2_1::getService(); - rbs_4_0_service = IBiometricsFingerprintRbs::getService(); -} - -Return BiometricsFingerprint::setNotify( - const sp& clientCallback) { - return biometrics_2_1_service->setNotify(clientCallback); -} - -Return BiometricsFingerprint::preEnroll() { - return biometrics_2_1_service->preEnroll(); -} - -Return BiometricsFingerprint::enroll(const hidl_array& hat, - uint32_t gid, uint32_t timeoutSec) { - return biometrics_2_1_service->enroll(hat, gid, timeoutSec); -} - -Return BiometricsFingerprint::postEnroll() { - return biometrics_2_1_service->postEnroll(); -} - -Return BiometricsFingerprint::getAuthenticatorId() { - return biometrics_2_1_service->getAuthenticatorId(); -} - -Return BiometricsFingerprint::cancel() { - setHbmState(OFF); - return biometrics_2_1_service->cancel(); -} - -Return BiometricsFingerprint::enumerate() { - return biometrics_2_1_service->enumerate(); -} - -Return BiometricsFingerprint::remove(uint32_t gid, uint32_t fid) { - return biometrics_2_1_service->remove(gid, fid); -} - -Return BiometricsFingerprint::setActiveGroup(uint32_t gid, - const hidl_string& storePath) { - return biometrics_2_1_service->setActiveGroup(gid, storePath); -} - -Return BiometricsFingerprint::authenticate(uint64_t operationId, uint32_t gid) { - setHbmState(OFF); - return biometrics_2_1_service->authenticate(operationId, gid); -} - -Return BiometricsFingerprint::isUdfps(uint32_t) { - return true; -} - -Return BiometricsFingerprint::onFingerDown(uint32_t, uint32_t, float, float) { - setHbmState(ON); - extraApiWrapper(101); - - std::thread([this]() { - std::this_thread::sleep_for(std::chrono::milliseconds(200)); - BiometricsFingerprint::onFingerUp(); - }).detach(); - - return Void(); -} - -Return BiometricsFingerprint::onFingerUp() { - setHbmState(OFF); - extraApiWrapper(102); - return Void(); -} - -Return BiometricsFingerprint::extraApiWrapper(int cidValue) { - int cid[1] = {cidValue}; - - // Create a std::vector to store the data from 'cid' - std::vector cid_data(reinterpret_cast(cid), - reinterpret_cast(cid) + sizeof(cid)); - - // Create the hidl_vec from the std::vector - ::android::hardware::hidl_vec hidl_cid = cid_data; - - // Call extra_api with the correct input buffer and an empty lambda callback - rbs_4_0_service->extra_api(7, hidl_cid, [](const ::android::hardware::hidl_vec&) {}); - - return Void(); -} - -} // namespace implementation -} // namespace V2_3 -} // namespace fingerprint -} // namespace biometrics -} // namespace hardware -} // namespace android diff --git a/fingerprint/BiometricsFingerprint.h b/fingerprint/BiometricsFingerprint.h deleted file mode 100644 index 3b88b63..0000000 --- a/fingerprint/BiometricsFingerprint.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H -#define ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H - -#include -#include -#include -#include - -namespace android { -namespace hardware { -namespace biometrics { -namespace fingerprint { -namespace V2_3 { -namespace implementation { - -using IBiometricsFingerprint_2_1 = - ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint; -using ::android::sp; -using ::android::hardware::hidl_array; -using ::android::hardware::hidl_memory; -using ::android::hardware::hidl_string; -using ::android::hardware::hidl_vec; -using ::android::hardware::Return; -using ::android::hardware::Void; -using ::android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback; -using ::android::hardware::biometrics::fingerprint::V2_1::RequestStatus; -using ::vendor::egistec::hardware::fingerprint::V4_0::IBiometricsFingerprintRbs; - -struct BiometricsFingerprint : public IBiometricsFingerprint { - BiometricsFingerprint(); - // Methods from ::V2_1::IBiometricsFingerprint follow. - Return setNotify( - const sp& clientCallback) override; - Return preEnroll() override; - Return enroll(const hidl_array& hat, uint32_t gid, - uint32_t timeoutSec) override; - Return postEnroll() override; - Return getAuthenticatorId() override; - Return cancel() override; - Return enumerate() override; - Return remove(uint32_t gid, uint32_t fid) override; - Return setActiveGroup(uint32_t gid, const hidl_string& storePath) override; - Return authenticate(uint64_t operationId, uint32_t gid) override; - - // ::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; - - Return extraApiWrapper(int cidValue); - - private: - sp biometrics_2_1_service; - sp rbs_4_0_service; -}; - -} // namespace implementation -} // namespace V2_3 -} // namespace fingerprint -} // namespace biometrics -} // namespace hardware -} // namespace android -#endif // ANDROID_HARDWARE_BIOMETRICS_FINGERPRINT_V2_3_BIOMETRICSFINGERPRINT_H diff --git a/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.bangkk.rc b/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.bangkk.rc deleted file mode 100644 index 0405837..0000000 --- a/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.bangkk.rc +++ /dev/null @@ -1,7 +0,0 @@ -service vendor.fps_hal.bangkk /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.3-service.bangkk - # "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. - class late_start - user system - group system input uhid diff --git a/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.bangkk.xml b/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.bangkk.xml deleted file mode 100644 index 140e9fe..0000000 --- a/fingerprint/android.hardware.biometrics.fingerprint@2.3-service.bangkk.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - android.hardware.biometrics.fingerprint - hwbinder - 2.1 - 2.3 - - IBiometricsFingerprint - default - - @2.1::IBiometricsFingerprint/default - @2.3::IBiometricsFingerprint/default - - - vendor.egistec.hardware.fingerprint - hwbinder - 4.0 - - IBiometricsFingerprintRbs - default - - - diff --git a/fingerprint/interfaces/4.0/Android.bp b/fingerprint/interfaces/4.0/Android.bp deleted file mode 100644 index b0fcd32..0000000 --- a/fingerprint/interfaces/4.0/Android.bp +++ /dev/null @@ -1,15 +0,0 @@ -// This file is autogenerated by hidl-gen -Landroidbp. - -hidl_interface { - name: "vendor.egistec.hardware.fingerprint@4.0", - root: "vendor.egistec.hardware.fingerprint", - system_ext_specific: true, - srcs: [ - "IBiometricsFingerprintRbs.hal", - "IBiometricsFingerprintRbsCallback.hal", - ], - interfaces: [ - "android.hidl.base@1.0", - ], - gen_java: true, -} diff --git a/fingerprint/interfaces/4.0/IBiometricsFingerprintRbs.hal b/fingerprint/interfaces/4.0/IBiometricsFingerprintRbs.hal deleted file mode 100644 index 41f5671..0000000 --- a/fingerprint/interfaces/4.0/IBiometricsFingerprintRbs.hal +++ /dev/null @@ -1,14 +0,0 @@ -/* - * SPDX-FileCopyrightText: The LineageOS Project - * SPDX-License-Identifier: Apache-2.0 - */ - -package vendor.egistec.hardware.fingerprint@4.0; - -import vendor.egistec.hardware.fingerprint@4.0::IBiometricsFingerprintRbsCallback; - -interface IBiometricsFingerprintRbs { - extra_api(int32_t pid, vec in_buffer) generates (vec out_buffer); - set_on_callback_proc(IBiometricsFingerprintRbsCallback clientCallback) generates (int32_t ret); - cancel() generates (int32_t ret); -}; diff --git a/fingerprint/interfaces/4.0/IBiometricsFingerprintRbsCallback.hal b/fingerprint/interfaces/4.0/IBiometricsFingerprintRbsCallback.hal deleted file mode 100644 index 4961114..0000000 --- a/fingerprint/interfaces/4.0/IBiometricsFingerprintRbsCallback.hal +++ /dev/null @@ -1,10 +0,0 @@ -/* - * SPDX-FileCopyrightText: The LineageOS Project - * SPDX-License-Identifier: Apache-2.0 - */ - -package vendor.egistec.hardware.fingerprint@4.0; - -interface IBiometricsFingerprintRbsCallback { - oneway ipc_callback(int32_t event_id, int32_t value1, int32_t value2, vec buffer, int32_t buffer_size); -}; diff --git a/fingerprint/interfaces/Android.bp b/fingerprint/interfaces/Android.bp deleted file mode 100644 index ba75849..0000000 --- a/fingerprint/interfaces/Android.bp +++ /dev/null @@ -1,9 +0,0 @@ -// -// SPDX-FileCopyrightText: The LineageOS Project -// SPDX-License-Identifier: Apache-2.0 -// - -hidl_package_root { - name: "vendor.egistec.hardware.fingerprint", - path: "device/motorola/bangkk/fingerprint/interfaces", -} diff --git a/fingerprint/service.cpp b/fingerprint/service.cpp deleted file mode 100644 index abf5dd5..0000000 --- a/fingerprint/service.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#define LOG_TAG "android.hardware.biometrics.fingerprint@2.3-service.bangkk" -#include -#include -#include "BiometricsFingerprint.h" - -using android::hardware::configureRpcThreadpool; -using android::hardware::joinRpcThreadpool; - -using android::hardware::biometrics::fingerprint::V2_3::IBiometricsFingerprint; -using android::hardware::biometrics::fingerprint::V2_3::implementation::BiometricsFingerprint; - -using android::OK; -using android::status_t; - -int main() { - android::sp service = new BiometricsFingerprint(); - - configureRpcThreadpool(1, true); - - status_t status = service->registerAsService(); - if (status != OK) { - LOG(ERROR) << "Cannot register Biometrics 2.3 HAL service."; - return 1; - } - - LOG(INFO) << "Biometrics 2.3 HAL service ready."; - - joinRpcThreadpool(); - - LOG(ERROR) << "Biometrics 2.3 HAL service failed to join thread pool."; - return 1; -}