diff --git a/Android.bp b/Android.bp index 2528b27..6c69c77 100644 --- a/Android.bp +++ b/Android.bp @@ -1510,6 +1510,173 @@ cc_prebuilt_library_shared { soc_specific: true, } +cc_prebuilt_library_shared { + name: "sensors.grip", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/sensors.grip.so", + ], + shared_libs: [ + "libutils-v32", + "liblog", + "libcutils", + "libutils", + "libfmq", + "libhidlbase", + "libhardware", + "android.hardware.sensors@2.0", + "android.hardware.sensors@2.0-ScopedWakelock", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/sensors.grip.so", + ], + shared_libs: [ + "libutils-v32", + "liblog", + "libcutils", + "libutils", + "libfmq", + "libhidlbase", + "libhardware", + "android.hardware.sensors@2.0", + "android.hardware.sensors@2.0-ScopedWakelock", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "both", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "sensors.inputvirtual", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/sensors.inputvirtual.so", + ], + shared_libs: [ + "libutils-v32", + "android.hardware.sensors@1.0", + "android.hardware.sensors@2.0", + "android.hardware.sensors@2.0-ScopedWakelock", + "android.hardware.sensors@2.1", + "libcutils", + "liblog", + "libhidlbase", + "libutils", + "libhardware", + "libhardware_legacy", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/sensors.inputvirtual.so", + ], + shared_libs: [ + "libutils-v32", + "android.hardware.sensors@1.0", + "android.hardware.sensors@2.0", + "android.hardware.sensors@2.0-ScopedWakelock", + "android.hardware.sensors@2.1", + "libcutils", + "liblog", + "libhidlbase", + "libutils", + "libhardware", + "libhardware_legacy", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "both", + prefer: true, + soc_specific: true, +} + +cc_prebuilt_library_shared { + name: "sensors.sensorhub", + owner: "samsung", + strip: { + none: true, + }, + target: { + android_arm: { + srcs: [ + "proprietary/vendor/lib/sensors.sensorhub.so", + ], + shared_libs: [ + "libutils-v32", + "android.hardware.sensors@1.0", + "android.hardware.sensors@2.0", + "android.hardware.sensors@2.0-ScopedWakelock", + "android.hardware.sensors@2.1", + "libcutils", + "liblog", + "libhidlbase", + "libutils", + "libhardware", + "libhardware_legacy", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + android_arm64: { + srcs: [ + "proprietary/vendor/lib64/sensors.sensorhub.so", + ], + shared_libs: [ + "libutils-v32", + "android.hardware.sensors@1.0", + "android.hardware.sensors@2.0", + "android.hardware.sensors@2.0-ScopedWakelock", + "android.hardware.sensors@2.1", + "libcutils", + "liblog", + "libhidlbase", + "libutils", + "libhardware", + "libhardware_legacy", + "libc++", + "libc", + "libm", + "libdl", + ], + }, + }, + compile_multilib: "both", + prefer: true, + soc_specific: true, +} + cc_prebuilt_library_shared { name: "vendor.samsung.hardware.bluetooth.audio-V1-ndk", owner: "samsung", @@ -2022,6 +2189,7 @@ cc_prebuilt_library_shared { "proprietary/vendor/lib64/libsensorlistener.so", ], shared_libs: [ + "libshim_sensorndkbridge", "libcutils", "libutils", "libsensorndkbridge", diff --git a/proprietary/vendor/etc/init/init.sensorhub.rc b/proprietary/vendor/etc/init/init.sensorhub.rc new file mode 100644 index 0000000..cf32309 --- /dev/null +++ b/proprietary/vendor/etc/init/init.sensorhub.rc @@ -0,0 +1,106 @@ +on fs + chmod 0770 /spu/sensorhub + chmod 0660 /spu/sensorhub/shub_spu.bin + chown root system /spu/sensorhub + chown root system /spu/sensorhub/shub_spu.bin + write /sys/class/sensors/ssp_sensor/fs_ready 1 + +on post-fs +# Factory EFS + chown system system /efs/FactoryApp/baro_delta + chown system system /efs/FactoryApp/gyro_cal_data + chown system system /efs/FactoryApp/cal_data + chown system system /efs/FactoryApp/mag_cal_data + chown system system /efs/FactoryApp/light_cal_data + chown system system /efs/FactoryApp/calibration_data + chmod 0666 /efs/FactoryApp/calibration_data + +# Accelerometer + chown system radio /sys/class/sensors/accelerometer_sensor/raw_data + chown system radio /sys/class/sensors/accelerometer_sensor/calibration + chown system radio /sys/class/sensors/accelerometer_sensor/reactive_alert + chown system radio /sys/class/sensors/accelerometer_sensor/vendor + chown system radio /sys/class/sensors/accelerometer_sensor/name + chown system radio /sys/class/sensors/accelerometer_sensor/selftest + chown system radio /sys/class/sensors/accelerometer_sensor/lowpassfilter + chown system system /sys/class/sensors/accelerometer_sensor/dhr_sensor_info + +# Gyro + chown system radio /sys/class/sensors/gyro_sensor/power_on + chown system radio /sys/class/sensors/gyro_sensor/power_off + chown system radio /sys/class/sensors/gyro_sensor/temperature + chown system radio /sys/class/sensors/gyro_sensor/selftest + chown system radio /sys/class/sensors/gyro_sensor/selftest_dps + chown system radio /sys/class/sensors/gyro_sensor/vendor + chown system radio /sys/class/sensors/gyro_sensor/name + chown system system /sys/class/sensors/gyro_sensor/dhr_sensor_info + +# Magnetometer + chown system radio /sys/class/sensors/magnetic_sensor/raw_data + chown system radio /sys/class/sensors/magnetic_sensor/vendor + chown system radio /sys/class/sensors/magnetic_sensor/name + chown system radio /sys/class/sensors/magnetic_sensor/selftest + chown system radio /sys/class/sensors/magnetic_sensor/raw_data + chown system system /sys/class/sensors/magnetic_sensor/dhr_sensor_info + +# Light + chown system radio /sys/class/sensors/light_sensor/lux + chown system radio /sys/class/sensors/light_sensor/raw_data + chown system radio /sys/class/sensors/light_sensor/vendor + chown system radio /sys/class/sensors/light_sensor/name + chown system system /sys/class/sensors/light_sensor/dhr_sensor_info + chown system radio /sys/class/sensors/light_sensor/light_circle + chown system radio /sys/class/sensors/light_sensor/light_cal + chown system radio /sys/class/sensors/light_sensor/fifo_data + chown system radio /sys/class/sensors/light_sensor/hall_ic + +# Proximity + chown system radio /sys/class/sensors/proximity_sensor/state + chown system radio /sys/class/sensors/proximity_sensor/raw_data + chown system radio /sys/class/sensors/proximity_sensor/prox_avg + chown system radio /sys/class/sensors/proximity_sensor/prox_cal + chown system radio /sys/class/sensors/proximity_sensor/vendor + chown system radio /sys/class/sensors/proximity_sensor/name + chown system radio /sys/class/sensors/proximity_sensor/thresh_high + chown system radio /sys/class/sensors/proximity_sensor/thresh_low + chown system radio /sys/class/sensors/proximity_sensor/thresh_detect_high + chown system radio /sys/class/sensors/proximity_sensor/thresh_detect_low + chown system radio /sys/class/sensors/proximity_sensor/barcode_emul_en + chown system radio /sys/class/sensors/proximity_sensor/prox_offset_pass + chown system radio /sys/class/sensors/proximity_sensor/prox_trim + chown system system /sys/class/sensors/proximity_sensor/dhr_sensor_info + +# Barometer + chown system radio /sys/class/sensors/barometer_sensor/sea_level_pressure + chown system radio /sys/class/sensors/barometer_sensor/vendor + chown system radio /sys/class/sensors/barometer_sensor/name + chown system radio /sys/class/sensors/barometer_sensor/calibration + chown system radio /sys/class/sensors/barometer_sensor/temperature + chown system system /sys/class/sensors/barometer_sensor/dhr_sensor_info + +# Flip Cover Detector + chown system radio /sys/class/sensors/flip_cover_detector_sensor/nfc_cover_status + chown system radio /sys/class/sensors/flip_cover_detector_sensor/factory_cover_status + chown system radio /sys/class/sensors/flip_cover_detector_sensor/axis_threshold_setting + +# SensorHub + chown system radio /sys/class/sensors/ssp_sensor/enable + chown system radio /sys/class/sensors/ssp_sensor/mcu_rev + chown system radio /sys/class/sensors/ssp_sensor/mcu_name + chown system radio /sys/class/sensors/ssp_sensor/mcu_test + chown system radio /sys/class/sensors/ssp_sensor/mcu_reset + chown system radio /sys/class/sensors/ssp_sensor/mcu_update + chown system radio /sys/class/sensors/ssp_sensor/mcu_sleep_test + chown system radio /sys/class/sensors/ssp_sensor/sensor_dump + chown system radio /sys/class/sensors/ssp_sensor/hall_ic + chown system radio /sys/class/sensors/ssp_sensor/sensor_spec + chown system radio /sys/class/sensors/ssp_sensor/ssp_flush + chown system radio /sys/class/sensors/ssp_sensor/sensor_state + chown system radio /sys/class/sensors/ssp_sensor/shub_file + chown system radio /sys/class/sensors/ssp_sensor/scontext_list + chown system radio /sys/class/sensors/ssp_sensor/shub_dump + chmod 0600 /dev/batch_io + chown system system /dev/batch_io + +on post-fs-data + mkdir /data/vendor/sensorhub/ 0771 root system diff --git a/proprietary/vendor/etc/sensors/hals.conf b/proprietary/vendor/etc/sensors/hals.conf new file mode 100644 index 0000000..7fa8879 --- /dev/null +++ b/proprietary/vendor/etc/sensors/hals.conf @@ -0,0 +1,3 @@ +/vendor/lib64/sensors.sensorhub.so +/vendor/lib64/sensors.inputvirtual.so +/vendor/lib64/sensors.grip.so diff --git a/proprietary/vendor/lib/sensors.grip.so b/proprietary/vendor/lib/sensors.grip.so new file mode 100644 index 0000000..a0f9f65 Binary files /dev/null and b/proprietary/vendor/lib/sensors.grip.so differ diff --git a/proprietary/vendor/lib/sensors.inputvirtual.so b/proprietary/vendor/lib/sensors.inputvirtual.so new file mode 100644 index 0000000..ead83a1 Binary files /dev/null and b/proprietary/vendor/lib/sensors.inputvirtual.so differ diff --git a/proprietary/vendor/lib/sensors.sensorhub.so b/proprietary/vendor/lib/sensors.sensorhub.so new file mode 100644 index 0000000..d12e16d Binary files /dev/null and b/proprietary/vendor/lib/sensors.sensorhub.so differ diff --git a/proprietary/vendor/lib64/libsensorlistener.so b/proprietary/vendor/lib64/libsensorlistener.so index 61ebdbd..bed5f32 100644 Binary files a/proprietary/vendor/lib64/libsensorlistener.so and b/proprietary/vendor/lib64/libsensorlistener.so differ diff --git a/proprietary/vendor/lib64/sensors.grip.so b/proprietary/vendor/lib64/sensors.grip.so new file mode 100644 index 0000000..4773863 Binary files /dev/null and b/proprietary/vendor/lib64/sensors.grip.so differ diff --git a/proprietary/vendor/lib64/sensors.inputvirtual.so b/proprietary/vendor/lib64/sensors.inputvirtual.so new file mode 100644 index 0000000..354ac76 Binary files /dev/null and b/proprietary/vendor/lib64/sensors.inputvirtual.so differ diff --git a/proprietary/vendor/lib64/sensors.sensorhub.so b/proprietary/vendor/lib64/sensors.sensorhub.so new file mode 100644 index 0000000..0ada6c1 Binary files /dev/null and b/proprietary/vendor/lib64/sensors.sensorhub.so differ diff --git a/s5e8825-common-vendor.mk b/s5e8825-common-vendor.mk index feb17f2..1ec273e 100644 --- a/s5e8825-common-vendor.mk +++ b/s5e8825-common-vendor.mk @@ -18,6 +18,7 @@ PRODUCT_COPY_FILES += \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.baseband.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.baseband.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.fingerprint.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.fingerprint.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.gps.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.gps.rc \ + vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.sensorhub.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.sensorhub.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/init.vendor.rilcommon.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.vendor.rilcommon.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/secaudiohalaidl.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/secaudiohalaidl.rc \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/init/vaultkeeper_common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vaultkeeper_common.rc \ @@ -35,6 +36,7 @@ PRODUCT_COPY_FILES += \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/plmn_delta_hktw.bin:$(TARGET_COPY_OUT_VENDOR)/etc/plmn_delta_hktw.bin \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/plmn_se13_prebuilt.bin:$(TARGET_COPY_OUT_VENDOR)/etc/plmn_se13_prebuilt.bin \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/sec_audio_volume_curve.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sec_audio_volume_curve.xml \ + vendor/samsung/s5e8825-common/proprietary/vendor/etc/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/wifi/indoorchannel.info:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/indoorchannel.info \ vendor/samsung/s5e8825-common/proprietary/vendor/etc/wifi/mx140.bin:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/mx140.bin \ @@ -75,6 +77,9 @@ PRODUCT_PACKAGES += \ libspeakercalibration \ libswcnr \ libtinyalsa.s5e8825 \ + sensors.grip \ + sensors.inputvirtual \ + sensors.sensorhub \ vendor.samsung.hardware.bluetooth.audio-V1-ndk \ libswdap \ android.hardware.gnss@2.1-impl \