fix a few problems with BitTube
BitTube used to send objects one at a time and didn't
handle errors properly.
We now send all the objects in one call, which means they
have to be read as a single batch as well. This changes the
BitTube API.
Update SensorService to the new API.
Also added an API to set the size of the send buffer.
Bug: 10641596
Change-Id: I77c70d35e351fdba0416fae4b7ca3b1d56272251
diff --git a/include/gui/SensorEventQueue.h b/include/gui/SensorEventQueue.h
index 8d8493b..a3a9daa 100644
--- a/include/gui/SensorEventQueue.h
+++ b/include/gui/SensorEventQueue.h
@@ -49,6 +49,9 @@
class SensorEventQueue : public ASensorEventQueue, public RefBase
{
public:
+
+ enum { MAX_RECEIVE_BUFFER_EVENT_COUNT = 256 };
+
SensorEventQueue(const sp<ISensorEventConnection>& connection);
virtual ~SensorEventQueue();
virtual void onFirstRef();
@@ -79,6 +82,9 @@
sp<BitTube> mSensorChannel;
mutable Mutex mLock;
mutable sp<Looper> mLooper;
+ ASensorEvent* mRecBuffer;
+ size_t mAvailable;
+ size_t mConsumed;
};
// ----------------------------------------------------------------------------