diff --git a/resource-overlay/berlna/Frameworks/res/values/config.xml b/resource-overlay/berlna/Frameworks/res/values/config.xml
index 064b836..4c16669 100644
--- a/resource-overlay/berlna/Frameworks/res/values/config.xml
+++ b/resource-overlay/berlna/Frameworks/res/values/config.xml
@@ -305,4 +305,7 @@
- 2
- 3
+
+
+ org.lineageos.sensor.double_tap
diff --git a/rootdir/etc/init/hw/init.mmi.overlay.rc b/rootdir/etc/init/hw/init.mmi.overlay.rc
index 110ac18..73735e4 100644
--- a/rootdir/etc/init/hw/init.mmi.overlay.rc
+++ b/rootdir/etc/init/hw/init.mmi.overlay.rc
@@ -25,6 +25,11 @@ on fs
# Goodix fingerprint sensor GF3626 reuses the driver "goodix_fod_mmi.ko"
insmod /vendor/lib/modules/goodix_fod_mmi.ko
+on post-fs
+ # Sensors
+ chown system system /sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/NVT-ts/double_tap_enabled
+ chown system system /sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/NVT-ts/double_tap_pressed
+
on post-fs-data
mkdir /mnt/vendor/persist/tof 0755 vendor_tcmd camera
chown vendor_tcmd camera /mnt/vendor/persist/tof/refspad_cal
diff --git a/sensors/Sensor.h b/sensors/Sensor.h
index f6fe7a5..1e66620 100644
--- a/sensors/Sensor.h
+++ b/sensors/Sensor.h
@@ -120,6 +120,20 @@ class SysfsPollingOneShotSensor : public OneShotSensor {
int mPollFd;
};
+const std::string kTsPath = "/sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/NVT-ts/";
+
+const std::string kTsDoubleTapPressedPath = kTsPath + "double_tap_pressed";
+const std::string kTsDoubleTapEnabledPath = kTsPath + "double_tap_enabled";
+
+class DoubleTapSensor : public SysfsPollingOneShotSensor {
+ public:
+ DoubleTapSensor(int32_t sensorHandle, ISensorsEventCallback* callback)
+ : SysfsPollingOneShotSensor(
+ sensorHandle, callback, kTsDoubleTapPressedPath, kTsDoubleTapEnabledPath,
+ "Double Tap Sensor", "org.lineageos.sensor.double_tap",
+ static_cast(static_cast(SensorType::DEVICE_PRIVATE_BASE) + 1)) {}
+};
+
} // namespace implementation
} // namespace subhal
} // namespace V2_1
diff --git a/sensors/SensorsSubHal.cpp b/sensors/SensorsSubHal.cpp
index 6cbcb56..9281bfa 100644
--- a/sensors/SensorsSubHal.cpp
+++ b/sensors/SensorsSubHal.cpp
@@ -32,7 +32,9 @@ namespace implementation {
using ::android::hardware::Void;
using ::android::hardware::sensors::V2_0::implementation::ScopedWakelock;
-SensorsSubHal::SensorsSubHal() : mCallback(nullptr), mNextHandle(1) {}
+SensorsSubHal::SensorsSubHal() : mCallback(nullptr), mNextHandle(1) {
+ AddSensor();
+}
Return SensorsSubHal::getSensorsList_2_1(ISensors::getSensorsList_2_1_cb _hidl_cb) {
std::vector sensors;