Implements sensors emulation using a connected Android device
There are three major things in this CL:
1. Abstract a connection with an Android device that is connected to the host via
USB, and there is a TCP port forwarding to this device via 'adb forward' command.
This abstraction is implemented in android/android-device.*
2. A client for android device API that talks to an app on the connected device that
provides values for sensors available on the device. This is implemented in
android/sensors-port.*
3. Changes to the sensor emulation code in android/hw-sensors.c to use sensors port
(when available) for sensors emulation.
Change-Id: I12901e8db6b6a6262fc1703ed96a9f714335d666
diff --git a/android/async-utils.h b/android/async-utils.h
index 93148c1..6d460c2 100644
--- a/android/async-utils.h
+++ b/android/async-utils.h
@@ -137,6 +137,7 @@
size_t buffsize;
size_t pos;
LoopIo* io;
+ char eol;
} AsyncLineReader;
/* Setup an AsyncLineReader to read at most 'buffsize' characters (bytes)
@@ -155,6 +156,17 @@
size_t buffsize,
LoopIo* io);
+/* Sets line terminator character for the reader.
+ * By default, asyncLineReader_init will set EOL to be '\n'. Sometimes it's more
+ * convenient to have '\0' as line terminator, so "line" reader easily becomes
+ * a "string" reader.
+ */
+AINLINED void
+asyncLineReader_setEOL(AsyncLineReader* alr, char eol)
+{
+ alr->eol = eol;
+}
+
/* Try to read line characters from 'io'.
* Returns:
* ASYNC_COMPLETE: An end-of-line was detected, call asyncLineReader_getLine