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
Support forcing all screenshots into a CPU consumer

Looks like a full GPU path is less efficient on some GPU
drivers that we're still using, and CPU is reliably faster...
(there's probably a locking condition going on somewhere, this
needs to be looked into)

Change-Id: I8878796a117d65bf2324507cf8755cadce49f6dc
Squashed fixes for additional hwrotation

Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date: 25.11.2012 12:11 AM
    surfaceflinger: Reimplement hwrotation

Author: Hashcode <hashcode0f@gmail.com>
Date: 11.12.2012 1:33 AM
    surfaceflinger: odd hw rotation (90/270) patch for swapping width/height

    This patch works in addition to the following commit
    re-implementing ro.sf.hwrotation:
    https://github.com/CyanogenMod/android_frameworks_native/commit/7d283431efffc4402cb1a6cacf5da64729c883bb

    When using values of 90 and 270 for ro.sf.hwrotation the
    LCD width and height also need to be swapped to display properly.

    NOTE: This patch does not fix the initial startup of bootanimation

Author: Clyde Tan <bokbokan@yahoo.com>
Date: 30.12.2013 1:49 AM
    Fix boot animation rotation problem when ro.sf.hwrotation is set to 90 or 270

Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org>
Date: 04.01.2014 5:44 AM
    surfaceflinger: Consolidate display orientation compensation hooks

    Dedupe rotation calculation code and make rotation a statically
    available property in the DisplayDevice

Conflicts:
	services/surfaceflinger/DisplayDevice.cpp
	services/surfaceflinger/SurfaceFlinger.cpp

Change-Id: Ic517ab0d2c05026cd6fa46d664aab7926be17b62
surfaceflinger: Unbreak the ABI

 * Adreno is calling eglSwapPreserved, don't break the ABI.

Change-Id: Iaf300e2530534602910b9593b1c9136ed75559b5
dumpstate: Squash fixes from CM 10.0

commit ba3723de8d13126027706bbbe6f9657da231b9bd
Author: Mike Kasick <mike@kasick.org>
Date:   Wed Oct 31 20:31:05 2012 -0400

    dumpstate: Fix calls to su to specify a shell command

    Superuser's su requires that shell commands be specified with the "-c"
    option.  Fix calls to su to explicitly specify this option.

commit 78cd73fce82fd0b5ee98a6136c847932ba8c636b
Author: Mike Kasick <mike@kasick.org>
Date:   Wed Oct 31 18:53:58 2012 -0400

    dumpstate: Skip subsequent showmaps if the first run fails.

    dumpstate takes over six minutes to run as each call to "su" (which
    dumpstate uses opportunistically on states that require root privileges to
    access) takes approximately one second to process.

    The vast majority of these "su" calls are made to "showmap", which is
    called for every running process.  These calls nearly always fail, either
    because dumpstate is denied root access, or because "showmap" isn't
    installed.

    This greatly speeds up the dumpstate process by skipping subsequent
    "showmap" attempts if the first run (on process init) fails.

Change-Id: Ibdfa996afff541dc30251da7ab01ac4987ae2ebc
native: Fix QCOM_BSP_LEGACY cflags

Change-Id: Ia448c89fd5a3ca9f5b92d9b09e1d958498eaa263