summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/gui/SensorEventQueue.h6
-rw-r--r--libs/gui/SensorEventQueue.cpp8
2 files changed, 10 insertions, 4 deletions
diff --git a/include/gui/SensorEventQueue.h b/include/gui/SensorEventQueue.h
index bb03c12..ad36dac 100644
--- a/include/gui/SensorEventQueue.h
+++ b/include/gui/SensorEventQueue.h
@@ -62,10 +62,12 @@ public:
status_t enableSensor(Sensor const* sensor) const;
status_t disableSensor(Sensor const* sensor) const;
- status_t enableSensor(int32_t handle) const;
- status_t disableSensor(int32_t handle) const;
status_t setEventRate(Sensor const* sensor, nsecs_t ns) const;
+ // these are here only to support SensorManager.java
+ status_t enableSensor(int32_t handle, int32_t ms) const;
+ status_t disableSensor(int32_t handle) const;
+
private:
sp<PollLoop> getPollLoop() const;
sp<ISensorEventConnection> mSensorEventConnection;
diff --git a/libs/gui/SensorEventQueue.cpp b/libs/gui/SensorEventQueue.cpp
index cc98656..4b46842 100644
--- a/libs/gui/SensorEventQueue.cpp
+++ b/libs/gui/SensorEventQueue.cpp
@@ -114,8 +114,12 @@ status_t SensorEventQueue::disableSensor(Sensor const* sensor) const {
return mSensorEventConnection->enableDisable(sensor->getHandle(), false);
}
-status_t SensorEventQueue::enableSensor(int32_t handle) const {
- return mSensorEventConnection->enableDisable(handle, true);
+status_t SensorEventQueue::enableSensor(int32_t handle, int32_t ms) const {
+ status_t err = mSensorEventConnection->enableDisable(handle, true);
+ if (err == NO_ERROR) {
+ mSensorEventConnection->setEventRate(handle, ms2ns(ms));
+ }
+ return err;
}
status_t SensorEventQueue::disableSensor(int32_t handle) const {