From 389dc914b75737d2fdb2c4a28924c11e3342f70e Mon Sep 17 00:00:00 2001 From: Cosmin Tanislav Date: Sun, 20 Feb 2022 19:21:09 +0200 Subject: [PATCH] eqs: sensors: Implement UDFPS sensor Change-Id: I8b65e3196a7d6f158f4ff589b9755cf7c7e51c92 --- .../eqs/Frameworks/res/values/config.xml | 3 +++ rootdir/etc/init/hw/init.mmi.overlay.rc | 2 ++ sensors/Sensor.h | 12 ++++++++++++ sensors/SensorsSubHal.cpp | 1 + 4 files changed, 18 insertions(+) diff --git a/resource-overlay/eqs/Frameworks/res/values/config.xml b/resource-overlay/eqs/Frameworks/res/values/config.xml index c8fe1b4..cd8d95a 100644 --- a/resource-overlay/eqs/Frameworks/res/values/config.xml +++ b/resource-overlay/eqs/Frameworks/res/values/config.xml @@ -278,4 +278,7 @@ org.lineageos.sensor.double_tap + + + org.lineageos.sensor.udfps diff --git a/rootdir/etc/init/hw/init.mmi.overlay.rc b/rootdir/etc/init/hw/init.mmi.overlay.rc index c49dadc..f8b6b9d 100644 --- a/rootdir/etc/init/hw/init.mmi.overlay.rc +++ b/rootdir/etc/init/hw/init.mmi.overlay.rc @@ -46,6 +46,8 @@ on post-fs # Sensors chown system system /sys/devices/platform/soc/990000.i2c/i2c-0/0-005d/touchscreen/primary/double_tap_enabled chown system system /sys/devices/platform/soc/990000.i2c/i2c-0/0-005d/touchscreen/primary/double_tap_pressed + chown system system /sys/devices/platform/soc/990000.i2c/i2c-0/0-005d/touchscreen/primary/udfps_enabled + chown system system /sys/devices/platform/soc/990000.i2c/i2c-0/0-005d/touchscreen/primary/udfps_pressed on post-fs-data # Param updater data for various modules diff --git a/sensors/Sensor.h b/sensors/Sensor.h index dce8e31..a69d1af 100644 --- a/sensors/Sensor.h +++ b/sensors/Sensor.h @@ -134,6 +134,18 @@ class DoubleTapSensor : public SysfsPollingOneShotSensor { static_cast(static_cast(SensorType::DEVICE_PRIVATE_BASE) + 1)) {} }; +const std::string kTsUdfpsPressedPath = kTsPath + "udfps_pressed"; +const std::string kTsUdfpsEnabledPath = kTsPath + "udfps_enabled"; + +class UdfpsSensor : public SysfsPollingOneShotSensor { + public: + UdfpsSensor(int32_t sensorHandle, ISensorsEventCallback* callback) + : SysfsPollingOneShotSensor( + sensorHandle, callback, kTsUdfpsPressedPath, kTsUdfpsEnabledPath, + "UDFPS Sensor", "org.lineageos.sensor.udfps", + static_cast(static_cast(SensorType::DEVICE_PRIVATE_BASE) + 2)) {} +}; + } // namespace implementation } // namespace subhal } // namespace V2_1 diff --git a/sensors/SensorsSubHal.cpp b/sensors/SensorsSubHal.cpp index 9281bfa..3c80bb7 100644 --- a/sensors/SensorsSubHal.cpp +++ b/sensors/SensorsSubHal.cpp @@ -34,6 +34,7 @@ using ::android::hardware::sensors::V2_0::implementation::ScopedWakelock; SensorsSubHal::SensorsSubHal() : mCallback(nullptr), mNextHandle(1) { AddSensor(); + AddSensor(); } Return SensorsSubHal::getSensorsList_2_1(ISensors::getSensorsList_2_1_cb _hidl_cb) {