Merge a83454546ac0ca526af310636f382ddea27baa44 on remote branch

Change-Id: Ic41c8fffaf0cd70a1c86090ebb9affb9d0771a00
diff --git a/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp b/modules/sensors/dynamic_sensor/DynamicSensorManager.cpp
index efac5e9..85f8001 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>
 
@@ -63,6 +64,10 @@
         SENSOR_FLAG_SPECIAL_REPORTING_MODE | SENSOR_FLAG_WAKE_UP,
         { NULL, NULL }
     };
+
+    kSensorOpTimeout = std::chrono::milliseconds(
+            (uint32_t)property_get_int32(
+                "vendor.dynamic_sensor.setup.timeout.ms", 900));
 }
 
 DynamicSensorManager::~DynamicSensorManager() {
diff --git a/modules/sensors/dynamic_sensor/DynamicSensorManager.h b/modules/sensors/dynamic_sensor/DynamicSensorManager.h
index b8a7320..e5ab2b4 100644
--- a/modules/sensors/dynamic_sensor/DynamicSensorManager.h
+++ b/modules/sensors/dynamic_sensor/DynamicSensorManager.h
@@ -127,8 +127,7 @@
 
     // Sensor operation queue. Calls to the sensor HAL must complete within 1
     // second.
-    static constexpr std::chrono::milliseconds
-            kSensorOpTimeout = std::chrono::milliseconds(900);
+    std::chrono::milliseconds kSensorOpTimeout = std::chrono::milliseconds(900);
     std::mutex mSensorOpQueueLock;
     std::queue<std::pair<uint64_t, std::shared_future<int>>> mSensorOpQueue;
     uint64_t mNextSensorOpIndex = 0;