SurfaceFlinger: Return the current transform value when queried

When an application queries the transform hint,
SurfaceTexture returns the value based on the previous
queueBuffer function. When query() is called before any
queueBuffer() calls, it doesn't return the current transform.
Make sure to get the current transform from a layer
whenever query() is called.

Change-Id: Id86c931dc72285cf754cc6c77219434388fc0d69
Handling EGL_BAD_ALLOC egl error as return from swap

Some GL apps are not closing properly espacially while
forcefully closed.Cause unnessary swap command from
GLSurfaceView and returing EGL_BAD_ALLOC as error that is
not handling in GL thread and leads to uncaught exception

CRs-fixed: 335039
(cherry picked from commit 46cc8d1f506fabd04e3e192511ab715a22ff92ea)

Change-Id: I92d08b6328a0055687ad99b9413a97ec7025e0cd
Surfaceflinger: Add Src orientation for the layer

hwcl->transform contains the final transform, add source transform
to it, so that the source transform can be used for setting correct
orientation for Secondary display.

Change-Id: I9dd6ab9495991b01211711f55b9380a3a53cf0f0
CRs-fixed: 341691, 330719, 342199, 344308
(cherry picked from commit ec2226ef4e8c9bbf5d255d26f9677d7e36fc6ea2)
SurfaceTexture: Reset buffer values on disconnect.

When the surface texture client disconnects, reset the values set
for buffer width, height, transform and format. This is to ensure
that the same surface texture can be used by another client with
different parameters without any corruptions.

Change-Id: I1e158f4641d7b06cea9976ad2827c7b12c95f538
CRs-Fixed: 347382
FontRenderer: do not leak mIndexBufferID

This glBuffer needs to be deleted to avoid leaking
graphics memory.

CRs-Fixed: 346272
Change-Id: Ib56553fffbf88848905893b02a986765823050ad
(cherry picked from commit 8ee3ffb1c0096767311b55c509e1288901f3747f)
Camera: sanity check for camcorder frame format parameter

Change-Id: Ieb9f40d32257178d202eaea1b71df25c0336ad8c
Additional fixes for button/keyboard backlight auto-brightness.

- Use sensor-determined brightness values when the button and/or keyboard
  lights are on, even if button/keyboard auto-brightness is disabled, since
  users may want to specify a custom brightness setting that disables the
  button/keyboard backlight entirely in low-ambient light situations.

- When button/keyboard auto-brightness is disabled, don't update button and
  keyboard brightnesses immediately if ambient light (the sensor) changes,
  as this may reactivate these lights after they've turned off in absense of
  user activity.  This is a particular problem when watching video or other
  circumstances when the lights are not expected to reactivate.
Merge "SurfaceFlinger: Return the current transform value when queried" into ics
Merge "Handling EGL_BAD_ALLOC egl error as return from swap" into ics
Merge "Surfaceflinger: Add Src orientation for the layer" into ics
Merge "SurfaceTexture: Reset buffer values on disconnect." into ics
Merge "FontRenderer: do not leak mIndexBufferID" into ics
frameworks/base: surfaceflinger: Enable dither if needed

SF is checking if dithering is required but not enabling it.
Enable for layer drawing and  also for screenshot for 16bpp
framebuffer only.

CRs-fixed: 333721
(cherry picked from commit 85c02ed97b4a1d0cc343a452959570b379928d59)

Change-Id: I599fe5b9683db208c8b32a1d3d395d5203f78fd3
Merge "Camera: sanity check for camcorder frame format parameter" into ics
Merge "Additional fixes for button/keyboard backlight auto-brightness." into ics
Merge branch 'ics' of github.com:CyanogenMod/android_frameworks_base into opensensation