Hi, The HAL need NOT bother about multiple apps running.
The HAL's responsibility seem to be just: - controlling the driver (using sysfs-interface), - obtaining the data from driver (via input-events), - performing any callibration/conversion/filtering specific to the device & - passing up the processed values to the Android-Framework. The HAL reports to the framework. The mPendingEvent structure is updated accordingly and the framework takes care of passing the sensor data on to all the active apps which have registered the corresponding sensorListeners. You might want to check-out the NEXUS-S GingerBread repository (code-name: Samsung-Crespo) from Google: http://android.git.kernel.org/?p=device/samsung/crespo.git You will find the sensor-HAL of crespo here: http://android.git.kernel.org/?p=device/samsung/crespo.git;a=tree;f=libsensors;h=fc75d5216a75261cc227720c81995e23a09edc20;hb=HEAD regards CVS -- unsubscribe: [email protected] website: http://groups.google.com/group/android-porting
