diff --git a/exynos4/hal/libsensors/AkmSensor.cpp b/exynos4/hal/libsensors/AkmSensor.cpp index c147bd68..98a17cb4 100644 --- a/exynos4/hal/libsensors/AkmSensor.cpp +++ b/exynos4/hal/libsensors/AkmSensor.cpp @@ -175,6 +175,7 @@ int AkmSensor::enable(int32_t handle, int en) int AkmSensor::setDelay(int32_t handle, int64_t ns) { + int what = -1; uint32_t sensor_type = 0; if (ns < 0) @@ -189,9 +190,29 @@ int AkmSensor::setDelay(int32_t handle, int64_t ns) if (sensor_type == 0) return -EINVAL; - return akm_set_delay(sensor_type, ns); + mDelays[what] = ns; + return update_delay(); +} + +int AkmSensor::update_delay() +{ + if (mEnabled) { + uint64_t wanted = -1LLU; + for (int i=0 ; i