diff --git a/configs/nfc_key b/configs/nfc_key deleted file mode 100644 index fe16a7a..0000000 --- a/configs/nfc_key +++ /dev/null @@ -1 +0,0 @@ -bVpxNHQ3dyF6JUMqRi1KQA== diff --git a/lineage.dependencies b/lineage.dependencies index b18755c..d4d2441 100644 --- a/lineage.dependencies +++ b/lineage.dependencies @@ -7,6 +7,10 @@ "repository": "android_kernel_samsung_universal7904", "target_path": "kernel/samsung/universal7904" }, + { + "repository": "android_hardware_samsung_nfc", + "target_path": "hardware/samsung/nfc" + }, { "repository": "android_hardware_samsung_slsi_libbt", "target_path": "hardware/samsung_slsi/libbt" diff --git a/rootdir/etc/init.exynos7904.rc b/rootdir/etc/init.exynos7904.rc index e42e1f0..297d3ef 100644 --- a/rootdir/etc/init.exynos7904.rc +++ b/rootdir/etc/init.exynos7904.rc @@ -34,6 +34,9 @@ on post-fs setrlimit 8 67108864 67108864 on post-fs-data +# NFC + mkdir /data/vendor/nfc 0770 nfc nfc + # TEEGRIS service mkdir /data/vendor/tee 0700 system system diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te index 2e115f5..124f03a 100644 --- a/sepolicy/vendor/file.te +++ b/sepolicy/vendor/file.te @@ -23,6 +23,7 @@ type proc_swapiness, fs_type, proc_type; type display_vendor_data_file, file_type, data_file_type; type fingerprintd_vendor_data_file, data_file_type, file_type; type mediadrm_data_file, file_type, data_file_type; +type nfc_vendor_data_file, file_type, data_file_type; # sysfs types type sysfs_abox_writable, sysfs_type, rw_fs_type, fs_type; diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts index 8eebf6f..696ffec 100644 --- a/sepolicy/vendor/file_contexts +++ b/sepolicy/vendor/file_contexts @@ -53,7 +53,7 @@ #################################### # data files -/data/nfc(/.*)? u:object_r:nfc_data_file:s0 +/data/vendor/nfc(/.*)? u:object_r:nfc_vendor_data_file:s0 /data/misc/radio(/.*)? u:object_r:radio_data_file:s0 @@ -141,6 +141,7 @@ /(vendor|system/vendor)/bin/hw/android\.hardware\.drm@[0-9]\.[0-9]-service\.widevine u:object_r:hal_drm_widevine_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.keymaster@[0-9]\.[0-9]-service\.samsung u:object_r:hal_keymaster_default_exec:s0 /(vendor|system/vendor)/bin/hw/android\.hardware\.usb@[0-9]\.[0-9]-service\.basic u:object_r:hal_usb_default_exec:s0 +/(vendor|system/vendor)/bin/hw/android\.hardware\.nfc@[0-9]\.[0-9]-service.samsung u:object_r:hal_nfc_default_exec:s0 /(vendor|system/vendor)/bin/hw/vendor\.samsung\.hardware\.gnss@[0-9]\.[0-9]-service u:object_r:hal_gnss_default_exec:s0 /(vendor|system/vendor)/bin/hw/vendor\.trustonic\.tee@[0-9]\.[0-9]-service u:object_r:hal_tee_default_exec:s0 /(vendor|system/vendor)/bin/hw/vendor\.trustonic\.teeregistry@[0-9]\.[0-9]-service u:object_r:hal_teeregistry_default_exec:s0 diff --git a/sepolicy/vendor/hal_nfc_default.te b/sepolicy/vendor/hal_nfc_default.te index a0fd6ab..fde8ff2 100644 --- a/sepolicy/vendor/hal_nfc_default.te +++ b/sepolicy/vendor/hal_nfc_default.te @@ -1,10 +1,4 @@ -# hal_nfc_default.te -init_daemon_domain(hal_nfc_default) +allow hal_nfc_default nfc_vendor_data_file:dir w_dir_perms; +allow hal_nfc_default nfc_vendor_data_file:file create_file_perms; -# /system/etc/event-log-tags -allow nfc runtime_event_log_tags_file:file getattr; - -allow hal_nfc_default hal_nfc_hwservice:hwservice_manager add; - -# vendor.nfc.fw. set_prop(hal_nfc_default, vendor_nfc_prop) diff --git a/sepolicy/vendor/nfc.te b/sepolicy/vendor/nfc.te index 6c8e449..81f1a91 100644 --- a/sepolicy/vendor/nfc.te +++ b/sepolicy/vendor/nfc.te @@ -1 +1,3 @@ allow nfc sec_efs_file:dir search; +allow nfc nfc_vendor_data_file:dir rw_dir_perms; +allow nfc nfc_vendor_data_file:file create_file_perms; diff --git a/universal7904-common.mk b/universal7904-common.mk index bb12d0a..a477201 100644 --- a/universal7904-common.mk +++ b/universal7904-common.mk @@ -117,6 +117,8 @@ PRODUCT_PACKAGES += \ # NFC PRODUCT_PACKAGES += \ + android.hardware.nfc@1.2-service.samsung \ + com.android.nfc_extras \ libnfc-nci \ libnfc_nci_jni \ NfcNci \ @@ -124,7 +126,6 @@ PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/libnfc-nci.conf:$(TARGET_COPY_OUT_SYSTEM)/etc/libnfc-nci.conf \ - $(LOCAL_PATH)/configs/nfc_key:$(TARGET_COPY_OUT_SYSTEM)/etc/nfc_key \ $(LOCAL_PATH)/configs/nfcee_access.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/nfcee_access.xml # Net @@ -144,6 +145,10 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \ frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \ + frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ + frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \ + frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \ + frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \ frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \ frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \