inputflinger: disable touch input while using a stylus

Android 5.0 cannot form multitouch events from multiple input
devices. So it is not possible to report one touchpoint from the
stylus position and, at the same time, another touchpoint from a
finger touch. Instead, when a new input device starts up the currently
active input is cancelled. This is highly undesirable while writing
with the pen.

The easiest solution is to ignore non-stylus touch events while the
stylus is within range (hovering) of the touchscreen. For example,
N-trig digitizers implement this in hardware. But wacom digitizers do
report pen data simultaneously with touch data. This patch disables
(non-stylus) touch input within 50ms of stylus data. On my Galaxy
Note this is necessary to make stylus input usable.

Original commit by vbraun:
https://github.com/CyanogenMod/android_frameworks_base/commit/b9cb2961309c829586ae24ce432bb1fdb5610ba6

Change-Id: I97f26369826e96c97461c8ae188f1c64dec1b4d3
binder: Squashed commit of MemoryHeapBaseIon

Source:
http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/native/commit/?h=exynos-jb&id=dc4cd25cc41e4358debd0c7d1a2706d208a58df6

Change-Id: Ib06cc37a2a25c78a061ee2bad48eec2d01b07833

binder: update MemoryHeapIon

* Update from ODROID-XU 09232013 BSP release

Change-Id: I5245c8a9f783e8902bf91a0ee23e60ebeb335b27

binder: update MemoryHeapIon

* Update from ODROID-XU 04212014 BSP

Change-Id: Ifc2664bcde37a71d855e05e7c9e50288a4508892

Change-Id: Icfff592cf705af660c7318b08fce75dbbf42103c
binder: MemoryHeapIon: fix unused parameters

Using the __attribute__((unused)) preprocessor directive

Change-Id: I29d27fd7eacb962ffa06ccd81ee48b48f3743243
frameworks/native: Add support for transparent layers

Add support for marking layers transparent, which SurfaceFlinger
can drop from composition. This is meant to be set by apps, in
situations where the window above a surfaceview is fully transparent.

Change-Id: Ide979d47489a6fc4c6f47f6dd026853d83d484c0
atrace: fix duplicate tag 'sync'

Recent AOSP commit added a tag 'sync' for ATRACE_TAG_SYNC_MANAGER but
the tag 'sync' was already being used for "Synchronization" events.

Due to this conflict, the Synchronization events are not enabled
anymore with the name duplication. To avoid this,'sync' for
sync_manager is renamed to 'sm'

Change-Id: Ieb7b504e63f0eadc8d889af9cfed217287c75a6b
Merge remote-tracking branch 'cyan/cm-12.0' into cm-12.0