Binder: Resolve race condition

The transaction buffer does not be freed before sendReply,
which may result in the next command fails. e.g. If one
application immediately creates another player to play next
video clip after releases the previous one, the setup may
fail for the native player does not be freed and the surface
is still connected to the previous one.

Change-Id: Id4ce215e5558edeb7468c8b08ec939f578beb184
Signed-off-by: Yiming Cao <ym.caoyiming@gmail.com>
SF: Check ViewFrame validity before sending to hwc

Check if ViewFrame is valid before sending to hwc to make sure
composition produces valid values.

A ViewFrame can get invalid values when the framework is disconnected
which is a step necessary for some testing scenarios.

Change-Id: I2ad76061b6664dbb7d2aa3d66acaf99b880aedfe
sensorservice: Add legacy sensors fusion.

This change allows devices with accelerometer & magnetometer but
without gyroscope to still get virtual sensors such as Gravity,
Linear Acceleration, Orientation & Rotation Vector.

Can be enabled with BOARD_USE_LEGACY_SENSORS_FUSION := true

Change-Id: Ibb90b70845c766ab52c843557446e34649a7d6d9