From 86e03657d3b14d512917c031b111b338b31adee0 Mon Sep 17 00:00:00 2001 From: probaero <87478728+probaero@users.noreply.github.com> Date: Sun, 22 Jun 2025 09:46:27 +0700 Subject: [PATCH] rosemary: Switch to AIDL based ST NFC HAL --- Android.bp | 18 ------------------ .../hw/android.hardware.nfc@1.2-service-st | Bin 34960 -> 0 bytes .../android.hardware.nfc@1.2-service-st.rc | 5 ----- rosemary-vendor.mk | 2 -- 4 files changed, 25 deletions(-) delete mode 100644 proprietary/vendor/bin/hw/android.hardware.nfc@1.2-service-st delete mode 100644 proprietary/vendor/etc/init/android.hardware.nfc@1.2-service-st.rc diff --git a/Android.bp b/Android.bp index d6d1591..9be5e65 100644 --- a/Android.bp +++ b/Android.bp @@ -21714,24 +21714,6 @@ cc_prebuilt_binary { soc_specific: true, } -cc_prebuilt_binary { - name: "android.hardware.nfc@1.2-service-st", - owner: "xiaomi", - target: { - android_arm64: { - srcs: ["proprietary/vendor/bin/hw/android.hardware.nfc@1.2-service-st"], - shared_libs: ["nfc_nci.st21nfc.st", "libbase", "libcutils", "libhardware", "liblog", "libutils", "android.hardware.nfc@1.0", "android.hardware.nfc@1.1", "android.hardware.nfc@1.2", "libhidlbase", "libc++", "libc", "libm", "libdl", ], - }, - }, - compile_multilib: "64", - strip: { - none: true, - }, - prefer: true, - relative_install_path: "hw", - soc_specific: true, -} - cc_prebuilt_binary { name: "android.hardware.secure_element@1.2-service-mediatek", owner: "xiaomi", diff --git a/proprietary/vendor/bin/hw/android.hardware.nfc@1.2-service-st b/proprietary/vendor/bin/hw/android.hardware.nfc@1.2-service-st deleted file mode 100644 index 92767fbe12355d2a152581c1a6c0f4e718bd1004..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34960 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