summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Peng Xu <pengxu@google.com> 2016-05-02 14:15:50 -0700
committer Peng Xu <pengxu@google.com> 2016-05-02 14:32:59 -0700
commit45ca9f58a0f7808169199fba1cc067c51e2d437b (patch)
tree2963b30c97be0a81f61aa6a66cf79934e2f64aaf
parent99c68bbfa3bd3f323d070992c3a8da0b5b57762b (diff)
[sensorservice] Fix on-change sensor send latest value on enable
This CL correct the behavior of sensorservice so that the latest value of on-change sensor is send to client when enabling sensor. The errornous behavior before is that sensorservice send the oldest value in local cache. Bug: 28480791 Change-Id: I7e0b8e52fa0be62ba95910789cff1fe0d4fbb03f
-rw-r--r--services/sensorservice/RecentEventLogger.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/services/sensorservice/RecentEventLogger.cpp b/services/sensorservice/RecentEventLogger.cpp
index dba7211192..754b60393d 100644
--- a/services/sensorservice/RecentEventLogger.cpp
+++ b/services/sensorservice/RecentEventLogger.cpp
@@ -76,7 +76,8 @@ bool RecentEventLogger::populateLastEvent(sensors_event_t *event) const {
std::lock_guard<std::mutex> lk(mLock);
if (mRecentEvents.size()) {
- *event = mRecentEvents[mRecentEvents.size()-1].mEvent;
+ // Index 0 contains the latest event emplace()'ed
+ *event = mRecentEvents[0].mEvent;
return true;
} else {
return false;