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)
Telephony: Add HSPAP to getTcpBufferSizesPropName

When device is camped on HSPAP TCP Buffer sizes need to be configured
properly to support higher data rates. Without this change, default TCP
buffer sizes will be used and throughput will be low.

Change-Id: Iad065d635b478e3cb257337f40b25291e7930eff
CRs-Fixed: 349773
Allow theming of framework UI elements.

As the theme engine works by replacing resources while loading the APK,
framework UI couldn't be themed so far. Workaround that by manually
creating a com.android.systemui package context and using that for
showing the UI. This attempt is a bit hacky, but should be safe as
a) systemui should always be present
b) if it isn't, we fall back to no theming

Applying theming to more framework items.

All dialogs and notifications should be covered now.

Change-Id: I093dd151eb19a2fd013b6241f71ea4ee3753280c
fix volume slider not going up to 100%

It's just a visual bug, but since keeping the volume
	states updated (when the volumes are linked, for better UX)
	updateSliders() will refresh them, and the way it's coded
	uses the last audible stream to set the volume, so it will
	improperly set the voice stream. This patch will just avoid
	calling the method when the voice stream is detected.

Change-Id: I64be91e97c84b8b624bca2e0d6dc175860032ab0
Merge "Surfaceflinger: Add Src orientation for the layer" into ics
Merge branch 'ics' of https://github.com/AOKP/frameworks_base into ics
Merge "Handling EGL_BAD_ALLOC egl error as return from swap" into ics
Merge "SurfaceFlinger: Return the current transform value when queried" into ics
Merge "Telephony: Add HSPAP to getTcpBufferSizesPropName" into ics
Merge "FontRenderer: do not leak mIndexBufferID" into ics
Merge "SurfaceTexture: Reset buffer values on disconnect." 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 "fix volume slider not going up to 100%" into ics
Merge branch 'ics' of https://github.com/AOKP/frameworks_base into ics