Prevent IPCThreadState::joinThreadPool from spinning on unexpected error

Adds logging to help determine what is happening to the /dev/binder
fd and dump the process state when it happens.

bug: 8912673
Change-Id: I2aa0c66fc499e91e0bf9ee4ae20404bec35adc82
merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
Find non-extension GLES wrappers in eglGetProcAddress

This allows apps to find OpenGL ES 3.0 functions using
eglGetProcAddress() instead of dlopen/dlsym.

Bug: 9681677
Change-Id: I7ce6e1636bc47d6b0bf20a4e46bd67235714d129
merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
fix a dead-lock in sensorservice

sensorservice would deadlock if for some reason
a sensor failed to enable.

simplifed the code a bit, and made it behave a little
closer to mr1.1 -- I couldn't convince myself that
some changes in how locks were used were correct.

Bug: 9794362
Change-Id: I6110f5dbb67e543f1c71d127de2299232badb36a
merge in jb-mr2-zeroday-release history after reset to jb-mr2-dev
frameworks/native: Add support for custom layers in Surfaceflinger

  - Check for the EXT_ONLY layer and add only that layer to external
    list and do not add that layer to the primary list
  - Check for INT_ONLY layer and remove that layer from external list
  - These are added to support EXTERNAL_ONLY & INTERNAL_ONLY feature

Change-Id: I8f84eeacebf97d44446f319f69b8a73e56f2cb6d
SurfaceFlinger: Add support for virtual display

- Creates a rendering surface when invoked via hybrid path
- Makes changes in HWC wrapper to handle virtual display via HWC

Change-Id: I86560b5009949b75c267249799a446b8279eff32
GC triggering performance optimizations

Copy the correct starting heap size at process init.
Interfaces to set GC/managed heap parameters.

Change-Id: Ia2b158aa28254d88f68c9534a0eef580aa811b10
Merge UDC changes from Perforce

//depot/aus/PE/Integrations/ds_udc/android/4.2.1_r1/int_releases \
/DS1.5.0.22_b1-Android-4.2.1_r1-QOEM-RFL

P4 Changelist: 721622

Change-Id: I9cfa5f45e99cf164bfbc6e00e801f2c1c1d70214
servicemanager: Add listen service to the service table

- Listen is a voice activation feature.
- When an application registers a "keyword" with
  ListenService, then events are sent to application
  when that keywork is spoken by user and detected
  by ListenEngine.
- ListenService runs within the MediaServer process.
  The ListenService needs to be added to service table
  in order for application thread to have permission
  to access Listen functionality.

Change-Id: I8c79bebc92920d0b62b12ef925cb35a59644ee86
Add support for custom buffer sizes.

Add native window properties NATIVE_WINDOW_SET_BUFFERS_SIZE to the
perform function of Surface to set the user defined size
of graphic buffers. This is needed for adding support for
the playback of interlaced content.

Change-Id: I8354c29d2ffcc03178fae86dfa449cbefd24ae55
libgui: Add support to update buffer geometry.

Add native window properties NATIVE_WINDOW_UPDATE_BUFFERS_GEOMETRY
to the perform function of SurfaceTextureClient and SurfaceTexture
to update the width, height and format of the buffer dynamically
from the client before queue buffer call.

Change-Id: Ie2dde2f1c96496c9834494f3bda93aa7f1b4f8b6
sf: Override presentation layer with ext_only layer.

Do not add presentation layer to the external list when external only
layer is present.

Change-Id: I46c8a85a572f88a2d4026c4026d99fd037b928be
Telephony(MSIM): Add support for MultiSim.

Add below services to service_manager to support MultiSim.
  phone_msim
  simphonebook_msim
  iphonesubinfo_msim
  isms_msim

Change-Id: Icbb8163a7b9a3d5c36764ebd5a2272e2bb6cc387
Fix crash on execution of CTS DisplayTest cases

-- As part of adding support for Virtual Display mNumDisplays modification
requires VirtualDisplaySurface to allow dispId > 0

Change-Id: I0629263a48090fa927a9b1e9bc6678fbef323d93
sf: Refactoring of Virtual display to HWC

1. Updated Changes to DisplayDevice enumeration to support
   virtual display.
2. EventThread cleanup for proper mVSyncEvent access.

Change-Id: Id22ab98e03a6204f7fd863fda4db7ff11a177c7e
Pick up GLES wrapper libraries from the correct path

The GLES wrapper libraries were being loaded from a relative path.
Specify the library names instead so that they are loaded from the
correct path.
CRs-Fixed: 514530

Change-Id: Ic020eb3577b94b149bbb703be9dc367b59aac757
Configure dalvik heap parameters for low memory devices

Reduces after boot memory footprint by about 5-8MB
Note: This is for low memory based devices only (~512MB RAM
or less)

Change-Id: I4b4b9ae3efaff96551457e566bbb9bd4f0f23fd5
Revert "get rid of MemoryHeapPmem"

This reverts commit 7a7524810a0950c1c2b18014a8f1c637275165c4 and
makes MemoryHeapPmem conditioned to BOARD_NEEDS_MEMORYHEAPPMEM

Change-Id: I2f38340984ba87d6970d17ec944e3faded4132c8