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;