dubai: sensors: Implement double tap sensor
Change-Id: I6c217c994d6e4d5ae062a31a44fffc9f097a7f6f
This commit is contained in:
parent
1538036b5b
commit
fd996ce433
4 changed files with 25 additions and 1 deletions
|
@ -302,4 +302,7 @@
|
||||||
<item>2</item> <!-- COLOR_MODE_SATURATED -->
|
<item>2</item> <!-- COLOR_MODE_SATURATED -->
|
||||||
<item>3</item> <!-- COLOR_MODE_AUTOMATIC --> <!-- This uses enhanced render intents-->
|
<item>3</item> <!-- COLOR_MODE_AUTOMATIC --> <!-- This uses enhanced render intents-->
|
||||||
</array>
|
</array>
|
||||||
|
|
||||||
|
<!-- Type of the double tap sensor. Empty if double tap is not supported. -->
|
||||||
|
<string name="config_dozeDoubleTapSensorType" translatable="false">org.lineageos.sensor.double_tap</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -27,6 +27,11 @@ on fs
|
||||||
# egis fod ko
|
# egis fod ko
|
||||||
insmod /vendor/lib/modules/rbs_fps_mmi.ko
|
insmod /vendor/lib/modules/rbs_fps_mmi.ko
|
||||||
|
|
||||||
|
on post-fs
|
||||||
|
# Sensors
|
||||||
|
chown system system /sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/primary/double_tap_enabled
|
||||||
|
chown system system /sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/primary/double_tap_pressed
|
||||||
|
|
||||||
on post-fs-data
|
on post-fs-data
|
||||||
mkdir /mnt/vendor/persist/tof 0755 vendor_tcmd camera
|
mkdir /mnt/vendor/persist/tof 0755 vendor_tcmd camera
|
||||||
chown vendor_tcmd camera /mnt/vendor/persist/tof/refspad_cal
|
chown vendor_tcmd camera /mnt/vendor/persist/tof/refspad_cal
|
||||||
|
|
|
@ -120,6 +120,20 @@ class SysfsPollingOneShotSensor : public OneShotSensor {
|
||||||
int mPollFd;
|
int mPollFd;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const std::string kTsPath = "/sys/devices/platform/soc/a94000.spi/spi_master/spi0/spi0.0/touchscreen/primary/";
|
||||||
|
|
||||||
|
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<SensorType>(static_cast<int32_t>(SensorType::DEVICE_PRIVATE_BASE) + 1)) {}
|
||||||
|
};
|
||||||
|
|
||||||
} // namespace implementation
|
} // namespace implementation
|
||||||
} // namespace subhal
|
} // namespace subhal
|
||||||
} // namespace V2_1
|
} // namespace V2_1
|
||||||
|
|
|
@ -32,7 +32,9 @@ namespace implementation {
|
||||||
using ::android::hardware::Void;
|
using ::android::hardware::Void;
|
||||||
using ::android::hardware::sensors::V2_0::implementation::ScopedWakelock;
|
using ::android::hardware::sensors::V2_0::implementation::ScopedWakelock;
|
||||||
|
|
||||||
SensorsSubHal::SensorsSubHal() : mCallback(nullptr), mNextHandle(1) {}
|
SensorsSubHal::SensorsSubHal() : mCallback(nullptr), mNextHandle(1) {
|
||||||
|
AddSensor<DoubleTapSensor>();
|
||||||
|
}
|
||||||
|
|
||||||
Return<void> SensorsSubHal::getSensorsList_2_1(ISensors::getSensorsList_2_1_cb _hidl_cb) {
|
Return<void> SensorsSubHal::getSensorsList_2_1(ISensors::getSensorsList_2_1_cb _hidl_cb) {
|
||||||
std::vector<SensorInfo> sensors;
|
std::vector<SensorInfo> sensors;
|
||||||
|
|
Loading…
Reference in a new issue