summaryrefslogtreecommitdiff
path: root/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-03-23 10:10:40 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-03-23 10:10:40 +0000
commite1361aaa2d8bc275242203ffc5b74d8339e217a4 (patch)
treeab7c399debcc86a00607387d37dc1cdf48abc500 /modules/sensors/dynamic_sensor/DynamicSensorManager.cpp
parent103f61372fa2809b22d0ff3131e171ea579d11ce (diff)
parent75f1bda1bc422e3882dbbeed4be03b24f863b2ba (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.cpp20
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();});