From 35187bd5c1e40ea52a672c525411d05cbcdd6482 Mon Sep 17 00:00:00 2001 From: Aravind Akella Date: Tue, 11 Feb 2014 18:44:42 -0800 Subject: Bug fix for wakeup sensors. SensorService should hold a wakelock till the app reads events from a wakeup sensor. Currently drivers hold a wakelock with a timeout while delivering events from a wake up sensor like Significant Motion. This hack can be removed now. Bug: 9774884 Change-Id: I6cab0147c63f57a494a61f4dfe2a64a27dfe1b4e --- native/android/sensor.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'native') diff --git a/native/android/sensor.cpp b/native/android/sensor.cpp index fb4de9e..acfcd83 100644 --- a/native/android/sensor.cpp +++ b/native/android/sensor.cpp @@ -123,10 +123,13 @@ int ASensorEventQueue_hasEvents(ASensorEventQueue* queue) ssize_t ASensorEventQueue_getEvents(ASensorEventQueue* queue, ASensorEvent* events, size_t count) { - return static_cast(queue)->read(events, count); + ssize_t actual = static_cast(queue)->read(events, count); + if (actual > 0) { + static_cast(queue)->sendAck(events, actual); + } + return actual; } - /*****************************************************************************/ const char* ASensor_getName(ASensor const* sensor) -- cgit v1.1