diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-03-23 10:10:40 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-03-23 10:10:40 +0000 |
commit | e1361aaa2d8bc275242203ffc5b74d8339e217a4 (patch) | |
tree | ab7c399debcc86a00607387d37dc1cdf48abc500 /modules/sensors/dynamic_sensor/DynamicSensorManager.cpp | |
parent | 103f61372fa2809b22d0ff3131e171ea579d11ce (diff) | |
parent | 75f1bda1bc422e3882dbbeed4be03b24f863b2ba (diff) |
Snap for 8343869 from 75f1bda1bc422e3882dbbeed4be03b24f863b2ba to s-keystone-qcom-release
Change-Id: I50e3a71b510aaa00a6adad9e31d4ab3e63c7db06
Diffstat (limited to 'modules/sensors/dynamic_sensor/DynamicSensorManager.cpp')
-rw-r--r-- | modules/sensors/dynamic_sensor/DynamicSensorManager.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp b/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp index 37b43132..be1a0044 100644 --- a/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp +++ b/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp @@ -76,7 +76,7 @@ bool DynamicSensorManager::owns(int handle) const { int DynamicSensorManager::activate(int handle, bool enable) { if (handle == mHandleRange.first) { - // ignored + mMetaSensorActive = enable; return 0; } @@ -109,13 +109,17 @@ int DynamicSensorManager::setDelay(int handle, nsecs_t sample_period) { int DynamicSensorManager::flush(int handle) { if (handle == mHandleRange.first) { - // submit a flush complete here - static const sensors_event_t event = { - .sensor = mHandleRange.first, - .type = SENSOR_TYPE_META_DATA, - .timestamp = TIMESTAMP_AUTO_FILL, // timestamp will be filled at dispatcher - }; - submitEvent(nullptr, event); + if (mMetaSensorActive) { + static const sensors_event_t event = { + .sensor = mHandleRange.first, + .type = SENSOR_TYPE_META_DATA, + .meta_data.what = META_DATA_FLUSH_COMPLETE, + .timestamp = TIMESTAMP_AUTO_FILL, // timestamp will be filled at dispatcher + }; + submitEvent(nullptr, event); + } else { + return -EINVAL; + } return 0; } return operateSensor(handle, [] (sp<BaseSensorObject> s)->int {return s->flush();}); |