ServiceManager: Use 32/64 bit types from new binder header

Change-Id: I1bd7c38ed9f43125cf9c63aa533434ee7ca06f80
ServiceManager: Implement PING_TRANSACTION

Stop printing "invalid id " to stderr every time a process tries to
connect to the servicemanager.

Change-Id: Ib0e5a0375bfa2dec2c2f9cd668bd5dda46ed6588
New command line tool 'idmap'

Introduce a new tool 'idmap' to handle generation and verification of
idmap files. The tool is modelled on 'dexopt', and is intended to be
used similarly, notably by 'installd'.
See cmds/idmap/idmap.cpp for further documentation on 'idmap'.

Note: this commit is interdependent on a commit in project build/ to add
'idmap' to PRODUCT_PACKAGES.

Note: the changes to androidfw are only stubs. The actual implementation
will be provided in Runtime resource overlay, iteration 2.

Change-Id: I7131b74ece1e46c8a9c0a31d103e686aa07da2bb
Fix virtual display nesting

This fixes the cycling rendering loop caused by nesting virtual
displays by preventing them from recomposing if their contents
haven't changed.

Bug: 12101046
Change-Id: I600365c0fd5d3ad93e04295d26cf9de177ffc79b
Fixed apparent copy/paste mistake
Bug: 11634373

Change-Id: I9b0ac4d3b4a9a2999b2013abd39465a062ec51ea
Add new software features

Wearable devices are much more stripped down than
handheld and tablet devices. There are system
services that must not be present on wearable
devices. Those services have their own feature
xml files that get copied to the system image
as needed. They are included by default in the
handheld and tablet core feature files in order
to maintain previous behavior.

Wearable devices should always copy the
data/etc/wearable_core_hardware.xml file and
whatever other files that represent required
services (eg. data/etc/android.software.print.xml).

Change-Id: I410442d45854fe54cba1131ce488a5a459ac580a
Add uid to sensorservice's dump of active connections

Change-Id: I1c365157bcd28a93635dbde4a8d91c79750e03ae
Add contains point method to Region

Change-Id: I553433ff7ac39f14ffca8278960d2abc95b4dd63
Add method to apply offset to PointerCoords.  (DO NOT MERGE)

Change-Id: I3dc2ba22b026e5b8e1c3d90f7366ec09a59ce6b6
frameworks/native: move idmap to frameworks/base

idmap depends on libandroidfw, so it should go in frameworks/base.

Change-Id: Ieee30ba9d8170d3118acc89f0617981228a6974b
libagl: support multilib build

Use LOCAL_SRC_FILES_arch and LOCAL_CFLAGS_arch to support building
for multiple architectures.

Change-Id: I829c1bea880739bf8184df4006d0a481ffccc5c2
Binder: Disable attemptIncStrongHandle

The driver does not support BC_ATTEMPT_ACQUIRE and will return an error.
IPCThreadState does not handle driver errors, and will resend the failed
command blocking all other commands.

Change-Id: I643986037341821b27b62dc82df933844f4842b8
Use /(vendor|system)/lib64/egl for 64-bit EGL libraries

Change-Id: Ie64806bfe4ba60a3167b84685cf983d4ada1042d
Binder: Fix some valgrind errors.

When using 64 bit binder pointers, only initializing the 32 bit
handle, in a stack allocated struct, will pass uninitialized stack
data to the kernel and other processes.

Change-Id: I3432d9d36bb251d8ddb0a863661aeb80aabb3d92
Hide three malformed GL bindings

They were replaced with correct bindings a while back, but the
broken methods weren't hidden.

Also, pick up two changes that were made to the generated code
rather than the source.

Bug 6006380

Change-Id: Ibfe9a5f2e13e745f8d82116d1b4d8c2d025ac830
Fix calls to captureScreen

Change-Id: Ic0ff47afa29f143131906082dff79d4e907b7143
Revert "Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface"

This branch has the new driver interface so it should not have this change.

This reverts commit 6790329358d1c84af2fe9ba093bcfc1c6176e758.

Change-Id: I9b6d0d653d98dbdb521ef964c5e7c2f14859d340
surfaceflinger: add BoardConfig.mk variable to force 32-bit

Individual devices may need to force surfaceflinger to compile for
32-bit if they don't have 64-bit GL libraries.

Change-Id: I3703b2f8e36e90cf125d9ed5e6318c3506861948
Use long for pointers in opengl/EGL classes

EGL classes in frameworks/base have to be updated to support
64-bit platforms. Key changes in the EGL classes include

[x] EGLObjectHandle class - EGLObjectHandle class has two public
    methods (constructor and getHandle) that assume handles are
    32-bit. They have not been changed. Instead, two new hidden
    methods (EGLObjectHandle(long) and getNativeHandle) have been
    added.

[x] EG14 class - Two public methods eglGetDisplay and
    eglCreatePbufferFromClientBuffer assume that handles are 32-bit.
    They have been changed to throw unsupported operation exception
    on non 32-bit machines. Two new methods eglGetDisplay(long)
    and eglCreatePbufferFromClientBuffer(...long buffer..) have
    been added to support 64-bit handles.

To allow the above changes in frameworks/base EGL classes,
corresponding code generation mechanism in frameworks/native has
been updated.

Change-Id: I5d0a62e10c20ccf05f610d6608b8dfb6414b5116
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Use reinterpret_cast when an integer is cast to a pointer

Change-Id: I5adcd59f58c029f7b2b596f4826d8ea69fb9bba6
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>