Merge "Make sensor op timeout configurable from vendor property" into main
diff --git a/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp b/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp
index efac5e9..414a71d 100644
--- a/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp
+++ b/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp
@@ -22,6 +22,7 @@
#include <utils/Log.h>
#include <utils/SystemClock.h>
+#include <cutils/properties.h>
#include <cassert>
@@ -41,7 +42,10 @@
mHandleRange(handleBase, handleMax),
mCallback(callback),
mFifo(callback ? 0 : kFifoSize),
- mNextHandle(handleBase+1) {
+ mNextHandle(handleBase+1),
+ kSensorOpTimeout(
+ std::chrono::milliseconds((uint32_t)property_get_int32(
+ "vendor.sensors.dynamic_sensor_op_timeout_ms", 1600))) {
assert(handleBase > 0 && handleMax > handleBase + 1); // handleBase is reserved
mMetaSensor = (const sensor_t) {
diff --git a/modules/sensors/dynamic_sensor/DynamicSensorManager.h b/modules/sensors/dynamic_sensor/DynamicSensorManager.h
index 2cae120..7f9bc75 100644
--- a/modules/sensors/dynamic_sensor/DynamicSensorManager.h
+++ b/modules/sensors/dynamic_sensor/DynamicSensorManager.h
@@ -128,8 +128,7 @@
// Sensor operation queue. Calls to the sensor HAL should complete within ~1
// second, but to permit delayed replies due to sniff mode, etc., we use a
// slightly longer timeout here.
- static constexpr std::chrono::milliseconds
- kSensorOpTimeout = std::chrono::milliseconds(1600);
+ const std::chrono::milliseconds kSensorOpTimeout;
std::mutex mSensorOpQueueLock;
std::queue<std::pair<uint64_t, std::shared_future<int>>> mSensorOpQueue;
uint64_t mNextSensorOpIndex = 0;