• Home
  • History
  • Annotate
  • only in /frameworks/native/include/
History log of /frameworks/native/include/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
52704dd3afe59d038a101b0a1747f66cc5b70496 11-Feb-2015 Lajos Molnar <lajos@google.com> Revert "omx: add Intel's SemiPlanar OMX color format that is used on some devices"

This reverts commit 61b17d64f90b85fd367ea1c7609cac69485957d4.

Bug: 19317169
Change-Id: Ib1fcc26c46a52c848ffa8238ddbf6abfe57cfa5d
edia/openmax/OMX_IVCommon.h
d25be0ea48c775e4038163b546c9553e294d4fdc 06-Feb-2015 Lajos Molnar <lajos@google.com> DO NOT MERGE: omx: add OMX_INTEL_COLOR_FormatYUV420PackedSemiPlanar

This seems to have the same layout as OMX_COLOR_FormatYUV420SemiPlanar,
but used under this value on some devices.

Bug: 19246722

Change-Id: Ib866024e52cf7b12608f02eefc43c6d58a1c0aa1
edia/openmax/OMX_IVCommon.h
ea5da67d90647a1d4b395be51bf9cec218b98b71 30-Jan-2015 Lajos Molnar <lajos@google.com> add bUsingNativeBuffers to DescribeColorFormatParams

This is needed to find proper color format for flex-YUV native
buffer support.

Bug: 19179927
Change-Id: I91ae6764e302c4307a0750c1d6820506d735c942
edia/hardware/HardwareAPI.h
6a26be7c2b1e5a84b5d2105780148016889285e6 23-Jan-2015 Lajos Molnar <lajos@google.com> CpuConsumer: lock buffers that could be YUV as ycbcr

Bug: 17906609
Change-Id: Ic71af69ec3b19ab1224ed3ad5e0a97c60e81cda6
ui/CpuConsumer.h
806f23de71be2494cfabbe08d11c09606966a5d5 24-Dec-2014 Rachad <rachad@google.com> OpenMax IL: Added support for E-AC3 codec configuration params

Bug: 17883772
Change-Id: Ibf00534607db4bba14c935cf1eaa80eb740297f9
edia/openmax/OMX_AudioExt.h
edia/openmax/OMX_IndexExt.h
76d4c5cf733bbc15026611d555eb1497e5ab25d4 06-Nov-2014 Lajos Molnar <lajos@google.com> omx: add (temporary) index for automatic video frc support

Bug: 17383204
Change-Id: I9b22da03ea3f2a7d9dd85042fff442d2414cbc26
edia/openmax/OMX_AsString.h
edia/openmax/OMX_IndexExt.h
26653bad7cdaa09470828781c5a2bab7c4d2445f 14-Nov-2014 Narayan Kamath <narayan@google.com> Fix build.

Remove reference to undefined open max index extension.

Change-Id: I984b91afad3ca4d279a31048b4112fa9afdba9e9
edia/openmax/OMX_AsString.h
1d5d637d6e68bd4965bf0ff9df7b99bc146172f3 14-Nov-2014 Lajos Molnar <lajos@google.com> Merge "implement asString() for OMX enumerations used by framework" into lmp-mr1-dev
a4cff88d80bf1acbdbd063af88ecad83a8b9b7b4 14-Nov-2014 Dianne Hackborn <hackbod@google.com> Fix issue #18356768: some app process may hang at Runtime#exit...

...in Parcel destructor

Don't use a Mutux object, just use simple posix mutex primitives,
to avoid static init/destroy order problems.

Change-Id: Ic012d94297564c0a55d58869f8276d7d10545fbc
rivate/binder/Static.h
a1ae5a4fe52192525f510dc14ecf1f7d4fb107f5 07-Nov-2014 Lajos Molnar <lajos@google.com> implement asString() for OMX enumerations used by framework

Bug: 18285408
Change-Id: I7893cbf0b13514e0fe9001c90db3c8387c1920c0
edia/openmax/OMX_AsString.h
edia/openmax/OMX_Audio.h
edia/openmax/OMX_Component.h
edia/openmax/OMX_ContentPipe.h
edia/openmax/OMX_Core.h
edia/openmax/OMX_IVCommon.h
edia/openmax/OMX_Image.h
edia/openmax/OMX_Index.h
edia/openmax/OMX_Other.h
edia/openmax/OMX_Types.h
edia/openmax/OMX_Video.h
7e790af756d7891cb1cf1374bb283a8fbcbe6b49 11-Nov-2014 Dianne Hackborn <hackbod@google.com> Add tracking of parcel memory allocations.

Change-Id: I76ffed0e69ccfe70e87d98646f11d4de7c3fd980
inder/Parcel.h
rivate/binder/Static.h
bfd633e131585d8e924b6a77c66284ec7e5dcc72 08-Nov-2014 Andreas Gampe <agampe@google.com> Frameworks/native: Fix unused parameter warning

Pulled in in hardware/, where -Werror is used.

Change-Id: I13fc31d31fe2f623d39c84862b0c95a28813723d
(cherry picked from commit a32900deec6284973100a29f7b399d061f82b3a8)
ui/IConsumerListener.h
98d20f82ca8979b30c81df9639f54ab11e1951f9 07-Nov-2014 Dan Stoza <stoza@google.com> Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev
8dc55396fc9bc425b5e2c82e76a38080f2a655ff 04-Nov-2014 Dan Stoza <stoza@google.com> Add a BufferItem parameter to onFrameAvailable

Passes the BufferItem for the queued buffer to the onFrameAvailable
callback so the consumer can track the BufferQueue's contents. Also
adds an onFrameReplaced callback, which is necessary if the consumer
wants to do anything more than simple queue length tracking.

Bug: 18111837
Change-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0
ui/BufferItem.h
ui/BufferQueue.h
ui/BufferQueueProducer.h
ui/ConsumerBase.h
ui/IConsumerListener.h
ui/StreamSplitter.h
621c6f3b13f96b0e84163f355c6f3024cd3afb2e 06-Nov-2014 Jeff Tinker <jtinker@google.com> Merge "Add missing secure stop methods" into lmp-mr1-dev
04c9683aa1bb962bef3dce7f3cfd389a458133a2 31-Oct-2014 Jesse Hall <jessehall@google.com> Merge "surfaceflinger: fix -Wmismatched-tags warnings" into lmp-mr1-dev
1495ceb88594bf3c5963ef65ee12953dc0354546 08-Aug-2014 Jesse Hall <jessehall@google.com> surfaceflinger: fix -Wmismatched-tags warnings

warning: struct 'HWComposer' was previously declared as a class
[-Wmismatched-tags]

warning: class 'DisplayInfo' was previously declared as a struct
[-Wmismatched-tags]

Change-Id: I13db9f8aab3a957ce8ff8d64598dae1807d6fe7e
(cherry picked from commit 646f54105018e99ef4a30ee41f01f7d1ab66c38e)
ui/ISurfaceComposer.h
57481590b98518865e266004e7ca4737abd5508d 31-Oct-2014 Jeff Tinker <jtinker@google.com> Add missing secure stop methods

b/18053197
b/18076411

Change-Id: I42b97f7e39d6e9e58990b41a4c4b5a7c9b8a49cf
edia/drm/DrmAPI.h
b2e19208ddf3274e7cc044ca1abfcd02787a7cf1 29-Oct-2014 Dmitriy Ivanov <dimitry@google.com> Initialize ARect fields in default ctor

So that we can use Rect() for update and such.

Bug: 18095940
Change-Id: I03ed87121d2d279f22013b75e95dd7254551ca1f
i/Rect.h
53aad5e7de7619cbc9b0d9a0a0830fc29c331f8d 14-Oct-2014 Lajos Molnar <lajos@google.com> am 3454f123: media: add kMetadataBufferTypeGraphicBuffer

* commit '3454f123d0a10bd0ce0760828996aa26c80a8fd4':
media: add kMetadataBufferTypeGraphicBuffer
3454f123d0a10bd0ce0760828996aa26c80a8fd4 14-Oct-2014 Lajos Molnar <lajos@google.com> media: add kMetadataBufferTypeGraphicBuffer

Bug: 17935149
Change-Id: I1c26d1e83d8fa0a9ccdb25f6f3b19a86b1dc6f37
edia/hardware/MetadataBufferType.h
b7702c5ce7f010fa5f19646fd79f28ff04e7014b 08-Oct-2014 Jesse Hall <jessehall@google.com> Merge "BufferQueueProducer: Throttle EGL frame production." into lmp-mr1-dev
99a0afbaee9eddabc2b544e3a5c432901c1d498c 30-Sep-2014 Eric Penner <epenner@google.com> BufferQueueProducer: Throttle EGL frame production.

Throttling was previously controlled by a combination of the
driver and the number of buffers in the queue. This patch makes
a more consistent trade-off, which allows two GPU frames pending
but not three. More buffering could improve throughput in the
case of varying frame times, but this also increases latency.

Bug: 17502897
Change-Id: I4ee68019ca94c635294c5959931a555a6c4ef2df
ui/BufferQueueProducer.h
a7eb4b74f74423dafd88adf94a7984ae927c3a23 03-Oct-2014 Aravind Akella <aakella@google.com> Merge "Fix sockfd leakage in SensorService." into lmp-dev
8a96955c8e14db40b16164236830fc9506a00872 29-Sep-2014 Aravind Akella <aakella@google.com> Fix sockfd leakage in SensorService.

i) Call removeFd() only if the fd in the BitTube has been
previously added to the Looper. Use a flag to determine whether the fd
has been previously added or not.
ii) Increment mPendingFlushEventsToSend after holding a connectionLock.
iii) Store the number of acks that are pending in SensorEventQueue
and send them all at once.

Bug: 17472228
Change-Id: I1ec834fea1112a9cfbd9cddd2198438793698502
ui/SensorEventQueue.h
cd57b41db4b92ec04a1618c863060c821de12a5c 02-Oct-2014 Lajos Molnar <lajos@google.com> add OMX_VIDEO_AVCLevel52 constant

Bug: 17676461
Change-Id: I120041e9b2ffe2a232a2419bcb5fe88cb49961cb
edia/openmax/OMX_Video.h
db8cad15857007165ad8045c610ff2591759560a 01-Oct-2014 Chong Zhang <chz@google.com> add a parameter for PCM limiter enable

Bug: 17470065
Change-Id: I327115fc16e7afe2bf5870e123d63f9887161206
edia/openmax/OMX_AudioExt.h
67d8bd66aaf04805cb8f2616ba964141b865e3b9 11-Sep-2014 Lajos Molnar <lajos@google.com> surfaceflinger: add getDisplayStats() method

This is used by media service to schedule video frames at the
proper time, based on precise vsync timings.

Bug: 14659809
Change-Id: I1a90603f3dc09dca9aa4f90a3aa845fab56e0a5e
ui/ISurfaceComposer.h
i/DisplayStatInfo.h
8493b79e1cff92450076ca7450c4bf4e434a6816 09-Sep-2014 Aravind Akella <aakella@google.com> SensorService fixes

i) Significant Motion multiple clients fix. Make a copy of
mActiveConnections vector before cleaning up SensorEventConnections
when one-shot sensors trigger.
ii) Maintain a mapping between flush_complete_events and
SensorEventConnections to accurately map flush() API calls and
corresponding flush_complete_events
iii) Remove all references to 1_1 and 1_2 HALs.
iv) Dynamically allocate sensor_event buffers in SensorService main
threadLoop.

Bug: 17412359
Change-Id: If3c3986197660cafef2d2e0b4dc7582e229cf1c4
ui/SensorEventQueue.h
1173137af3fb93c7708fb7b1109c5b37db72d783 10-Sep-2014 Jeff Tinker <jtinker@google.com> Merge "Add support for max res decode" into lmp-dev
d15ef27f9b13727fa7358e3c09572f66bb1e0668 05-Sep-2014 Riley Andrews <riandrews@google.com> Update ScreenshotClient to take advantage of rotation in surfaceflinger's screencap api

Change-Id: I836649d9d5cd5958ce34e47f26f4a36d2d05d24c
ui/SurfaceComposerClient.h
c3ebe66b49cfba035e1fd0e160a13db38eb81b0e 05-Sep-2014 Riley Andrews <riandrews@google.com> Add rotation to surfaceflingers screen cap.

+ This is needed so that activity manager does not
have to do cpu side rotations when capturing recents
thumbnails.

Change-Id: If998008e675ad01305db8399fd643cf4608b7025
ui/ISurfaceComposer.h
a602086872ad725d257b3be659a774f032f06d71 06-Sep-2014 Glenn Kasten <gkasten@google.com> Make IPowerManager native conform to .aidl for oneway

But provide a temporary escape hatch for AudioFlinger.
This oneway option will be removed as soon as possible.

Bug: 16408906
Change-Id: I20d6da1969ae05b96e72795463470eb4c1f8fbdc
owermanager/IPowerManager.h
253c4720af3ac631ba04eb379aea91ecc3175cd3 05-Sep-2014 Aravind Akella <aakella@google.com> Merge "SensorService flush fixes." into lmp-dev
457296ad6c8bf3533a90780a8c28ced84a2301e7 04-Sep-2014 Stephen Hines <srhines@google.com> Fix undefined behavior (not returning a value from a function with return).

Bug: 17379740

This function was missing a return statement, even though it declares a return
type. This is undefined behavior, which clang miscompiled into just falling
through to a later function in some cases. Adding the return statement
fixes the undefined behavior (and probably fixes a bug too).

Change-Id: I05c03b6473b831769dc4fa8b5ba43fb4249f7626
i/mat4.h
9e3adfcebf28c5c76085108dffe98c74df56857d 04-Sep-2014 Aravind Akella <aakella@google.com> SensorService flush fixes.

i) Fix a possible race condition when adding a pending flush connection
to mActiveSensors data structure.
ii) Invalidate flush_complete_events as soon as they are consumed by a
connection so that they are not used by other connections which are
registered for the same sensor.

Change-Id: I1491bea8c2081c4aab1feacc60add13b7aa26bb7
ui/SensorEventQueue.h
19f8b79f154b64c664e974f7be067d456c3d57e2 03-Sep-2014 Wally Yau <wyau@google.com> Merge "New keycode definitions for TV remotes." into lmp-dev
08ff802151ea3089a5f352dfc795c99017c1d122 13-Aug-2014 Hans Boehm <hboehm@google.com> Revert "Revert "Revert "Revert "Remove incorrect android_atomic_...64 use.""""

After fixing b/16874785.

This reverts commit f010a05c7e9a23b6083294aff4a8183ab01f686e.

Original comment, which actually describes the effect of this:

Change the mExtras field in Binder.h to be a stdatomic.h atomic
value, and replace references to it with proper stdatomic.h calls.
This removes one of a small number of remaining 64 bit
android_atomic references. It also replaces the erroneously
non-atomic read accesses to mExtras.

It would be better if this used the C++11 <atomic> facility,
but we don't quite have that yet.

Fixes

Bug:16513433

Change-Id: I1645ca5d6f60595bf5d388913665ce4b8780b26d
(cherry picked from commit 3effababf2980d029339522fdc914bdeb913d99b)
inder/Binder.h
5b3dc861fb707f46064238ec832f7bdbb4a5fbe8 27-Aug-2014 ASAZU, Hideki <Hideki.Asazu@jp.sony.com> New keycode definitions for TV remotes.

Keys which are necessary for supporting world-wide broadcast
standard or used commonly for TV/STB remotes.

Change-Id: I2721ceb7d956c87f1d4106b99f9d21947ae13d47
ndroid/keycodes.h
nput/InputEventLabels.h
c3959f5bc22d1605e51c19766fc9a6b2db169ad1 29-Aug-2014 Jeff Tinker <jtinker@google.com> Add support for max res decode

bug: 16034599
Change-Id: Ia1de1457ca29fe1dd7e55f4bb45da45ea3f6e5b1
edia/hardware/CryptoAPI.h
2d14a0ed4f5861bfa67e9db138ffdc70d2d5e6e4 26-Aug-2014 Eric Penner <epenner@google.com> GLConsumer: Fix eglTerminate/eglInit edge case.

If a display is terminated and then initialized, we can't detect
this using the display itself (it has the same value), but all
EglImages still become invalid for the display. This patch detects
this during image binding and forces creation of a new EglImage.

Bug: 10430249
Change-Id: I75101c50962f21263dca3ec6e241a2e5a3c23dad
ui/GLConsumer.h
16d08a595edeeed53fa6164578d2d4f63092aaec 23-Aug-2014 Adam Lesinski <adamlesinski@google.com> Add native flag to reflect new density type

Bug:17007265
Change-Id: If0129c4ad222fe28628d6f7cd8ee78fc6424e177
ndroid/configuration.h
51409573be11e89babeb61954a19c8261649ca7c 22-Aug-2014 Michael Wright <michaelwr@google.com> Add Voice Assist key.

Bug: 16292420
Change-Id: I607fadc2edf673079bfd9f7406e6e45603474957
ndroid/keycodes.h
nput/InputEventLabels.h
6c2664ae34fd582bc174d3c83e2b18e895ca2496 13-Aug-2014 Aravind Akella <aakella@google.com> SensorService fixes.

1) Flush should only be received by the app calling flush(). Maintain
a queue of all flush() calls and send flush_complete events in that
order.
2) Log warnings for older HALs. Remove batch() calls with DRY_RUN flag.
3) Reallocate event cache when more sensors register and the desired
maxCacheSize increases. Clear NEEDS_ACK flag in the buffer whenever
there is a write() failure.
4) More dump information. Add wake-up flag, maxDelay and timestamps for
sensor events.

Bug: 16874778
Change-Id: I195646191059fd31f75f2f07886c0f98bf9b509a
ui/SensorEventQueue.h
62fbb16383d6d8268821f947e2c6d0828f7e2b41 18-Aug-2014 Michael Wright <michaelwr@google.com> Shelve InputFlinger for another release. DO NOT MERGE

Change-Id: I0f034a2b8b1d9192f61f5001799bd3aa4b3964c7
nput/IInputFlinger.h
7d1cd4aae2aa42172abdff00ec1601248cf92b02 09-Aug-2014 Rachad <rachad@google.com> Merge "Tunneled Video Playback support" into lmp-dev
8f3b7ce889d7a371c2da18fe53d3b94e1430a90d 06-Aug-2014 Aravind Akella <aakella@google.com> Merge "Sensor related changes for NDK." into lmp-dev
b37ba399c1521c3eba40e126f65d9663532de446 05-Aug-2014 Aravind Akella <aakella@google.com> Sensor related changes for NDK.

i) ASensorManager_getDefaultSensor returns a wake-up/non wake-up sensor
depending on the type.
ii) Add ASensor_isWakeUpSensor and ASensorManager_getDefaultSensorEx
methods.
Bug : 16399898
Change-Id: I1a86fb8d9de23039fdf41679d1487e1cd761a9d0
ndroid/sensor.h
e91cd213d439c076051b1fb02c8bc40c11791dbb 02-Aug-2014 Jean-Michel Trivi <jmtrivi@google.com> AAC codec profile updates

Add new fields to OMX_AUDIO_PARAM_AACPROFILETYPE for
- SBR configuration
- decoder max number of channels
- decoder DRC parameters

Bug 16740915

Change-Id: Ib01822bc402fe9064c6c1c68b72c570cf72b7ecb
edia/openmax/OMX_Audio.h
edia/openmax/OMX_AudioExt.h
edia/openmax/OMX_IndexExt.h
7cb0d39016ff8061fe9fc2967870c145a6ffa2ac 30-Jul-2014 Rachad <rachad@google.com> Tunneled Video Playback support

Added native_window_set_sideband_stream() method to Surface.[h|cpp]
Added ConfigureVideoTunnelModeParams OMX configuration structure to
HardwareAPI.h

Bug: 16132368
Change-Id: I28fa1b9dbe858d93e353e0991098cad45c626bd9
ui/Surface.h
edia/hardware/HardwareAPI.h
bc6b9e7f8a6b991263906c1b0bd1db0e45b59282 30-Apr-2014 Jeff Tinker <jtinker@google.com> Allow device to be unprovisioned

bug: 12247651
Change-Id: Ib0ec34da708b11a95da66c353d864bb87a6616c9
edia/drm/DrmAPI.h
1f6078aef71b1d3f080cd565adbec350c71088dd 27-Jun-2014 Michael Wright <michaelwr@google.com> Have VirtualDisplays send SF resize messages when resizing

Change-Id: I76d15b22099a659450ec875836c9bf2b6584838f
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
03414a1cfe6c1222fd7723949bd622f9cba145aa 01-Jul-2014 Riley Andrews <riandrews@google.com> Turn on support for async cursor update in surfaceflinger.

If available, surfaceflinger will use the hwc setCursorPositionAsync()
api to change the position of supported cursor layers outside of
the usual prepare/set loop.

Change-Id: Ib3fc5c0c390b3489ddbba202379840a1d2748917
ui/ISurfaceComposerClient.h
i/GraphicBuffer.h
524077caa6a5e5508af40cf2012d45087ed9e7f3 25-Jul-2014 Lajos Molnar <lajos@google.com> OMX: add supporting methods for flexible YUV

Bug: 10706245
Change-Id: I2427930a34c468e49d3db7ba2865344f1fba2960
edia/hardware/HardwareAPI.h
edia/openmax/OMX_IVCommon.h
c268068c55afaaa441fda903b1b84a5b5c8a0a01 25-Jul-2014 Aravind Akella <aakella@google.com> Merge "SensorService performance improvements." into lmp-dev
56ae42613c91f6a6fb0dc3f626daa24666fd18c2 11-Jul-2014 Aravind Akella <aakella@google.com> SensorService performance improvements.

i) Send ack for wake_up sensors on the socket connection instead of using Binder RPC.
ii) Cache events per connection in case there are write failures. Compute cache size
from FIFO counts of sensors.
iii) Send FlushCompleteEvent only for apps that explicitly called flush().

Change-Id: I018969736b7794b1b930529586f2294a03ee8667
ui/BitTube.h
ui/ISensorEventConnection.h
2295687487a0f2cc3e77915d5b0fe794d3af4d20 24-Jul-2014 Eric Penner <epenner@google.com> Merge "GLProducer: Reference count images rather than buffers." into lmp-dev
2cbba477bea136698944ece498115dbddd7bb659 23-Jul-2014 Chong Zhang <chz@google.com> add noteResetVideo/Audio to IBatteryStats

Bug: 12979595
Change-Id: Ida474e539a3af0a85ec157a66bbf986430c8020e
inder/IBatteryStats.h
9b365296a745751c08731f369435e00682165f18 23-Jul-2014 Chong Zhang <chz@google.com> Merge "update battery status for audio/video" into lmp-dev
bd42d38b161beb8a4f23ca40b7551e941280e556 22-Jul-2014 Chong Zhang <chz@google.com> update battery status for audio/video

Bug: 12979595

Change-Id: Ic8e8d625becc6d1050f840ad63b7423f388eeba3
inder/IBatteryStats.h
78014f32da6d0ebf52fb34ebb7663863000520a0 16-Jul-2014 Antoine Labour <piman@google.com> BufferQueue: release mutex while allocating. DO NOT MERGE

BufferQueueProducer::allocateBuffers used to keep the BufferQueueCore
mutex while doing the buffer allocation, which would cause the consumer
(which also needs the mutex) to block if the allocation takes a long
time.
Instead, release the mutex while doing the allocation, and grab it again
before filling the slots. Keep a bool state and a condvar to prevent
other producers from trying to allocate the slots while the mutex is
released.

Bug: 11792166

Change-Id: I4ab1319995ef892be2beba892f1fdbf50ce0416d
(cherry picked from commit ea96044470a29133321c681080870b9d31f81a19)
ui/BufferQueueCore.h
5c3d243fcca6d0678bcbb0461bbbe0b63f35212c 12-Jul-2014 Eric Penner <epenner@google.com> GLProducer: Reference count images rather than buffers.

In most cases, EGLImages can be created one-to-one with graphic
buffers in slots, but that was difficult due to some special
cases:
- ReleaseTexImage binds a custom 'unslotted' debug image.
- When all slots are freed, we still need to hang on to one.

These cases were handled by keeping an additional reference to
the 'current' buffer (mCurrentTextureBuf), but we would create
new images since we can't reference count them in the same way.
This patch uses the same semantics, except that it reference
counts the image (an EglImage wrapper class) rather than just
buffer. The wrapper class also detects the cases when we need
a new EGLImage, and only creates them in those rare cases.

Change-Id: I2915761dbe49d2a9bda1f59e60f857543634636b
ui/GLConsumer.h
1681d95989271f3a9ac0dbb93d10e4a29f2b4444 28-Jun-2014 Ruben Brunk <rubenbrunk@google.com> Add sticky transform to surfaceflinger.

Bug: 15116722

- Adds a sticky transform field that can be set from a
SurfaceFlinger client Surface. This transform is
added to any transform applied to the Surface.

Change-Id: Idaa4311dfd027b2d2b8ea5e2c6cba2da5779d753
ui/BufferQueueProducer.h
ui/IGraphicBufferProducer.h
ui/Surface.h
f0ca9cd773a14690ff114fc43217475d3f0f6ec2 02-Jul-2014 Jeff Tinker <jtinker@google.com> Merge "Fix non-portable definition of CryptoPlugin::SubSample"
03a0571e96cdc4011872c81545df60e5e3dbfc16 01-Jul-2014 Jeff Tinker <jtinker@google.com> Fix non-portable definition of CryptoPlugin::SubSample

bug: 16016106
Change-Id: I76514b2e7a28c86a0b0b311af575ca9dfc9471a9
edia/hardware/CryptoAPI.h
dc56bf721a9f29621fd57e1d861142fa9b2d3663 30-Jun-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Add allocateBuffers method"
ab57491de3a89a2d454d3060d36adef71741a7ae 25-Jun-2014 Dan Stoza <stoza@google.com> GLConsumer: Allow creation in detached mode

Adds a constructor that doesn't require a GLES texture name and sets
up the GLConsumer in detached mode.

Bug: 15616428
Change-Id: Idc9ea2e59baa24bbd959da9fffe0fb71c0aa9818
ui/GLConsumer.h
e49ba8e2ed8e17156eb00c8fc8e2285df62bc018 24-Jun-2014 Dan Stoza <stoza@google.com> GLConsumer: Stop using default constructor params

Removes the dependency on default constructor parameters for
GLConsumer so that a different constructor prototype can safely be
added.

Change-Id: I0da924bbd4c141edbf305598c1be8bc575654680
ui/GLConsumer.h
29a3e90879fd96404c971e7187cd0e05927bbce0 20-Jun-2014 Dan Stoza <stoza@google.com> BufferQueue: Add allocateBuffers method

This adds an allocateBuffers method to BufferQueue, which instructs
it to allocate up to the maximum number of buffers allowed by the
current configuration. The goal is that this method can be called
ahead of render time, which will prevent dequeueBuffers from blocking
in allocation and inducing jank.

This interface is also plumbed up to the native Surface (and, in
another change, up to the Java Surface and ThreadedRenderer).

Bug: 11792166
Change-Id: I4aa96b4351ea1c95ed5db228ca3ef98303229c74
ui/BufferQueueProducer.h
ui/IGraphicBufferProducer.h
ui/Surface.h
91b2ca8562763c981c4ce93148db80adb51d0cb6 13-Jun-2014 Andy McFadden <fadden@android.com> Add two new display info fields

This adds SurfaceFlinger's app VSYNC offset and buffer deadline
values to DisplayInfo.

Bug 14612039

Change-Id: Ie0ab21d388fe2764f2b6f71bd1cefa33dc861a73
i/DisplayInfo.h
f8f419bfcdc62043a6fe6941166d1c5c74f21caa 13-Jun-2014 Narayan Kamath <narayan@google.com> Merge "Remove Parcel::writeIntPtr."
7da40c0a84dd89e92201448dd5ed3387dc94df2b 12-Jun-2014 Narayan Kamath <narayan@google.com> Remove Parcel::writeIntPtr.

All uses of this API have been removed. It should
never have been made public in the first place.

bug: 15424960
Change-Id: Id07d24ec95b2b393e6da138a7e8a9a4ecebeca94
inder/Parcel.h
adb65d9add2b7350b563d4583c5efbe3f0f0aca1 13-Jun-2014 Aravind Akella <aakella@google.com> Merge "Surface reportingMode for Sensors."
0e025c5af365e45e02cb75c1d46b46c7f4cd44cb 04-Jun-2014 Aravind Akella <aakella@google.com> Surface reportingMode for Sensors.

Change-Id: Iac8dd3408c90eb7d285a2e8043131fab3a7e58fa
ndroid/sensor.h
ui/Sensor.h
7227b96a73aaca975df0a04613f317e6f42545ed 12-Jun-2014 Prashant Malani <pmalani@google.com> Merge "surfaceflinger: Replace blank/unblank with setPowerMode"
8f6710fdeb96a3482adf1a6a2d46d67b0ce8e9db 10-Jun-2014 Michael Wright <michaelwr@google.com> Bump axis limit

Change-Id: I53d18646be2b884c5022f10c7c4ea8f6cda176c8
nput/Input.h
6445efde47551e2c14bff0bc01dfdf2bb5fadcfe 06-Jun-2014 Lajos Molnar <lajos@google.com> am 64f5ec51: fix compiler warning in OMX_VideoExt.h

* commit '64f5ec51ad3a9aea5a849d51139e605815b42d75':
fix compiler warning in OMX_VideoExt.h
64f5ec51ad3a9aea5a849d51139e605815b42d75 06-Jun-2014 Lajos Molnar <lajos@google.com> fix compiler warning in OMX_VideoExt.h

Bug: 11969958
Change-Id: I6dbc1c5a56c5f8db0af931c9391299aaaf1b536a
edia/openmax/OMX_VideoExt.h
2c9b11f0291210c9b9513a1a0cce6afebd361b3b 25-May-2014 Prashant Malani <pmalani@google.com> surfaceflinger: Replace blank/unblank with setPowerMode

We replace the blank/unblank calls in surfaceFlinger with a more generic
setPowerMode() routine.

Some displays support different power modes (for example, with reduced
color palettes). Depending on the use case we should be able to toggle
these modes, so as to achieve incremental power savings.

Initially, three power modes will be supported:
- HWC_POWER_MODE_OFF
- HWC_POWER_MODE_DOZE
- HWC_POWER_MODE_NORMAL

HWC_POWER_MODE_OFF will correspond to blanking the display, while
HWC_POWER_MODE_NORMAL will correspond to unblanking. HWC_POWER_MODE_DOZE
will put the display into a low power setting, if it is supported in
hardware.

If such a low power mode is not supported, it should be treated as a
call to set the mode to HWC_POWER_MODE_NORMAL.

As a consequence of adding the mPowerMode field, the mScreenAcquired is
no longer required, and thus references to it are removed and replaced
equivalent references to mPowerMode.

We also add the glue code to connect the services invocation of setting
a power mode and the HAL implementation in HWComposer.

Bug: 13472578
Change-Id: I431595ecf16d2f2c94259272db3dd42f29636204
Signed-off-by: Prashant Malani <pmalani@google.com>
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
e75b7b491e9e345801c8f3cb72bca08b0f153abf 22-May-2014 Aravind Akella <aakella@google.com> Remove getRequiredPermission from NDK.

Bug: 15089664
Change-Id: Ic967adde89f30261c75fca67c09d14d35bd1cdb3
(cherry picked from commit 1236710bccd8f5870c0281e24a899c3d58f708e6)
ndroid/sensor.h
db1972bd8e9b055f2df77d57ac55f1c02ebdd278 03-Jun-2014 Narayan Kamath <narayan@google.com> am 26063a91: am f1dd859b: Merge "x86_64: Align uint64_t/int64_t structure member to 8 bytes"

* commit '26063a9155ddd18d858cea7fac7c1ddf71e1bcb7':
x86_64: Align uint64_t/int64_t structure member to 8 bytes
26063a9155ddd18d858cea7fac7c1ddf71e1bcb7 03-Jun-2014 Narayan Kamath <narayan@google.com> am f1dd859b: Merge "x86_64: Align uint64_t/int64_t structure member to 8 bytes"

* commit 'f1dd859baa114995bcbcfb7119e939d0b4f45ed5':
x86_64: Align uint64_t/int64_t structure member to 8 bytes
f1dd859baa114995bcbcfb7119e939d0b4f45ed5 03-Jun-2014 Narayan Kamath <narayan@google.com> Merge "x86_64: Align uint64_t/int64_t structure member to 8 bytes"
83e0e425c61c4e03f61114a88f117db1553cd44c 23-May-2014 Fengwei Yin <fengwei.yin@intel.com> x86_64: Align uint64_t/int64_t structure member to 8 bytes

To make sure the stature which pass between 32/64bit process have
same memory layout for 32/64bit.

Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
Co-Authored-by: Narayan Kamath <narayan@google.com> (Unit test only.)
Change-Id: I1bc2d12cce41ec0bc484adcaf968f274bec75c12
nput/Input.h
nput/InputTransport.h
3d5c8a98c1822e5f32f0b7e82a40f14f41769878 28-May-2014 Dan Stoza <stoza@google.com> Merge "SurfaceFlinger: Add sourceCrop to screenshot"
812f15f2f99df4de41a9fa4ccacfeb98e8f5e8ba 27-May-2014 Aravind Akella <aakella@google.com> Merge "Surface maxDelay and isWakeUpSensor flag in Sensor.java."
03b1a9db9d8edc2ee15062204b19c0fc340e5b69 27-May-2014 Etienne Le Grand <etn@google.com> am b3a65bb0: am 9dcd38ad: Merge "Add heart rate to ASensorEvent" into klp-modular-dev

* commit 'b3a65bb0c2d2f6e660510efe0d93b3d26b0b2bf9':
Add heart rate to ASensorEvent
b3a65bb0c2d2f6e660510efe0d93b3d26b0b2bf9 27-May-2014 Etienne Le Grand <etn@google.com> am 9dcd38ad: Merge "Add heart rate to ASensorEvent" into klp-modular-dev

* commit '9dcd38ad3b8335308b59932718e3f145aa50d318':
Add heart rate to ASensorEvent
9dcd38ad3b8335308b59932718e3f145aa50d318 27-May-2014 Etienne Le Grand <etn@google.com> Merge "Add heart rate to ASensorEvent" into klp-modular-dev
d9441e4c27bb7d0b1dfe2a8b5c1ee1714442648d 14-May-2014 Aravind Akella <aakella@google.com> Surface maxDelay and isWakeUpSensor flag in Sensor.java.

Change-Id: Idd1e9045190beeca87b086b272e8cbf0bed05bae
ui/Sensor.h
630e31d6ed539f5193fd20dde6c5afa58bd34a73 23-May-2014 Etienne Le Grand <etn@google.com> Add heart rate to ASensorEvent

Change-Id: Ic82838b17a575de93d499e44a454bb382f17678f
ndroid/sensor.h
72c524dd8cd91b4899e5e180764ffcf410e094da 23-May-2014 Aravind Akella <aakella@google.com> am 040730e8: am 1236710b: Remove getRequiredPermission from NDK.

* commit '040730e8954b2f686390434646f82bc333de7058':
Remove getRequiredPermission from NDK.
c18790018be5d7ea7061ccbc81f3044e74adc823 23-May-2014 Dan Stoza <stoza@google.com> SurfaceFlinger: Add sourceCrop to screenshot

Adds a sourceCrop Rect parameter to screenshot commands, which allows
clients to capture only a portion of the screen instead of the whole
screen.

Bug: 15137922
Change-Id: I629447573cd34ffb96334cde7ba02490b9ea06d8
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
040730e8954b2f686390434646f82bc333de7058 23-May-2014 Aravind Akella <aakella@google.com> am 1236710b: Remove getRequiredPermission from NDK.

* commit '1236710bccd8f5870c0281e24a899c3d58f708e6':
Remove getRequiredPermission from NDK.
1236710bccd8f5870c0281e24a899c3d58f708e6 22-May-2014 Aravind Akella <aakella@google.com> Remove getRequiredPermission from NDK.

Change-Id: Ic967adde89f30261c75fca67c09d14d35bd1cdb3
ndroid/sensor.h
b9e879d429945cebc12a52e1ceaf0846eea564f1 21-May-2014 Jeff Brown <jeffbrown@google.com> Merge "Support VIRTUAL flag in keyboard layouts."
5a7d2f9a15f0fc3799f855105aa07cf7ba534b6f 21-May-2014 Jeff Brown <jeffbrown@google.com> Support VIRTUAL flag in keyboard layouts.

This flag is used to provide haptic feedback for virtual hard keys.

Bug: 14319563
Change-Id: Ia0ca1acc8cfa00a42d1c04d279dfa59c6cc00f4d
nput/InputEventLabels.h
bc4e396d1721884adc48f64fbe6ef40afd8ede2d 14-May-2014 Jinsuk Kim <jinsukkim@google.com> New keycode definitions for HDMI-CEC

Following keys are added to be mapped to HDMI-CEC standard keys:

KEYCODE_MEDIA_TOP_MENU
KEYCODE_11
KEYCODE_12
KEYCODE_LAST_CHANNEL
KEYCODE_TV_DATA_SERVICE

Change-Id: Ie73cf4cd8355ced4753eb5bba0ea130b087dfc36
ndroid/keycodes.h
nput/InputEventLabels.h
6b4e02f1cbdc55126cae9d2ce588640a784e7d61 15-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Add KEYCODE_PAIRING.

Used for initiating a peripheral pairing mode.

Change-Id: I7e8439d27491ccc72d045cabf5751a35b9113aa7
ndroid/keycodes.h
nput/InputEventLabels.h
f8c66b4bee9ab0203b83ea3a6df8f49fad443d88 16-May-2014 Narayan Kamath <narayan@google.com> am cfba3bf1: am c9fcaf37: Merge "Change InputMessage.motion.pointerSize to a uint32_t."

* commit 'cfba3bf1606dfdb1daf1be1c19176180660ae19d':
Change InputMessage.motion.pointerSize to a uint32_t.
cfba3bf1606dfdb1daf1be1c19176180660ae19d 16-May-2014 Narayan Kamath <narayan@google.com> am c9fcaf37: Merge "Change InputMessage.motion.pointerSize to a uint32_t."

* commit 'c9fcaf3751af078ad730913304431197e4d1ae80':
Change InputMessage.motion.pointerSize to a uint32_t.
ed5fd384b7401fbb6143eb7107cbfe9af46116be 02-May-2014 Narayan Kamath <narayan@google.com> Change InputMessage.motion.pointerSize to a uint32_t.

This ensures it's the same size in both 32 and 64 bit
processes and also brings it in line with struct
MotionEntry.

(cherry-picked from bc6001b026069714177526eb1120b0011d6f2a51)

Change-Id: I28e87050478920a54132efbbb8138076ebad1409
nput/InputTransport.h
a186e65368719a2f47b357be50d4ccf61501fe9b 09-May-2014 Todd Poynor <toddpoynor@google.com> BatteryProperty: Add property ENERGY_COUNTER and 64-bit integer properties

Also fixup comments to match recent changes in BatteryManager.

Change-Id: I6f40924f9e66d564ad1175f9650e2bfd2ad39a3a
atteryservice/BatteryService.h
574b641173debed3c0714628dba963e4d276374d 15-May-2014 Andy Hung <hunga@google.com> Merge "Allow OMX pointer types to be forced to 32 bits"
f974bffb36a97d21432a504a741330c4f4245746 12-May-2014 Greg Hackmann <ghackmann@google.com> am 38c9e132: am c1ffd351: am bd20e551: Merge "Use asynchronous lock/unlock API"

* commit '38c9e1327a5b24267c3dab5293bc9d7ada6e9fc9':
Use asynchronous lock/unlock API
38c9e1327a5b24267c3dab5293bc9d7ada6e9fc9 12-May-2014 Greg Hackmann <ghackmann@google.com> am c1ffd351: am bd20e551: Merge "Use asynchronous lock/unlock API"

* commit 'c1ffd351bc44483369271c11dd4c6391bba8c64c':
Use asynchronous lock/unlock API
c1ffd351bc44483369271c11dd4c6391bba8c64c 12-May-2014 Greg Hackmann <ghackmann@google.com> am bd20e551: Merge "Use asynchronous lock/unlock API"

* commit 'bd20e551f64234142e1146f9fa4b2dcebbd72122':
Use asynchronous lock/unlock API
8f3960179c56767e5077be8337792bd4e244b7d7 01-Apr-2014 Francis Hart <fhart@nvidia.com> Use asynchronous lock/unlock API

The gralloc API now provides a way for using lock/unlock with the Android
explicit synchronisation concept. This changes updates the GraphicBuffer class
to also expose this functionality, and updates the Surface class to make use of
in line with the dequeueBuffer/queueBuffer mechanism.

This new behaviour is dependent on GRALLOC_MODULE_API_VERSION_0_3. If the local
gralloc module does not support this then the existing synchronous lock/unlock
mechanism will be used.

Change-Id: I8c3fd9592e0c5400ac9be84450f55a77cc0bbdc5
i/GraphicBuffer.h
i/GraphicBufferMapper.h
2f3dca149a2bcae96f18e38f7ba99a95c3e1b08c 10-May-2014 Greg Hackmann <ghackmann@google.com> am 9493d492: am 9eb142e3: am a9d49f99: Merge "Revert "Use asynchronous lock/unlock API""

* commit '9493d4924a59f14b698389386337a9c07a7ea3c4':
Revert "Use asynchronous lock/unlock API"
02528cf6aaedbbfec55be57d33389e1c57d88245 09-May-2014 Greg Hackmann <ghackmann@google.com> am 4b46776f: am 8a6cd189: am f60564a1: Merge "Use asynchronous lock/unlock API"

* commit '4b46776ff88c5a365700b88e8b2b04e1b2c77e6e':
Use asynchronous lock/unlock API
9493d4924a59f14b698389386337a9c07a7ea3c4 09-May-2014 Greg Hackmann <ghackmann@google.com> am 9eb142e3: am a9d49f99: Merge "Revert "Use asynchronous lock/unlock API""

* commit '9eb142e34a5bc11508c0bd6f60ad3933c60aa530':
Revert "Use asynchronous lock/unlock API"
9eb142e34a5bc11508c0bd6f60ad3933c60aa530 09-May-2014 Greg Hackmann <ghackmann@google.com> am a9d49f99: Merge "Revert "Use asynchronous lock/unlock API""

* commit 'a9d49f99e69d8fc0e60b492b131322c96f47a232':
Revert "Use asynchronous lock/unlock API"
53ec72523a4083b88eaa13e2e720976523a7ebf8 09-May-2014 Greg Hackmann <ghackmann@google.com> Revert "Use asynchronous lock/unlock API"

This reverts commit 378ef07760eda717367d9429428c42d54d54d9a7.

Change-Id: I1de5ab973b5383633e75924fe90ac3ca8216c36a
i/GraphicBuffer.h
i/GraphicBufferMapper.h
4b46776ff88c5a365700b88e8b2b04e1b2c77e6e 09-May-2014 Greg Hackmann <ghackmann@google.com> am 8a6cd189: am f60564a1: Merge "Use asynchronous lock/unlock API"

* commit '8a6cd189034ec4709a66e581b41deba56c028291':
Use asynchronous lock/unlock API
8a6cd189034ec4709a66e581b41deba56c028291 09-May-2014 Greg Hackmann <ghackmann@google.com> am f60564a1: Merge "Use asynchronous lock/unlock API"

* commit 'f60564a13e917877c76c99294194a621d872076b':
Use asynchronous lock/unlock API
abec6ad341b81cc5c36ecd93c9f3794989226664 02-May-2014 Andy Hung <hunga@google.com> Allow OMX pointer types to be forced to 32 bits

Enabled by #define. Is used for 64 bit compilation to
force structs to use 32 bit pointer values for eventual
IPC to 32 bit OMX codecs.

May change later if we support 64 bit OMX codecs.

Change-Id: I0d12f86774f6f7ce9c39c8abea5d51988a7eef11
Signed-off-by: Andy Hung <hunga@google.com>
edia/openmax/OMX_Types.h
dd02391756dff240c178f7cba21d73d62821007e 06-May-2014 Dan Stoza <stoza@google.com> Merge "Enable changing display configuration"
4522f5749d46adec0189c8dfe7f8e80b9ff4ce7e 06-May-2014 Narayan Kamath <narayan@google.com> Merge "Change InputMessage.motion.pointerSize to a uint32_t."
6900656b2d0fbfa168e09d0c1b2990ea0608451b 06-May-2014 Rachad <rachad@google.com> Merge "HEVC Support Added HEVC enums and structures to OMX header files"
7f7da32569f8e0b3d383a40b95f8ac1d55afd801 03-May-2014 Dan Stoza <stoza@google.com> Enable changing display configuration

This allows querying and switching display device configurations
through the ISurfaceComposer/SurfaceComposerClient interface.

Bug: 14320401
Change-Id: I8c22165698950e5da32204c1c4da92122f91a715
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
i/DisplayInfo.h
184077dee460d235c2f9ed3e6ecf9a6df06ae80c 02-May-2014 Rachad <rachad@google.com> HEVC Support
Added HEVC enums and structures to OMX header files

Change-Id: If4135c6df86df51098fc7a979543975ed70b0641
edia/openmax/OMX_IndexExt.h
edia/openmax/OMX_Video.h
edia/openmax/OMX_VideoExt.h
378ef07760eda717367d9429428c42d54d54d9a7 01-Apr-2014 Francis Hart <fhart@nvidia.com> Use asynchronous lock/unlock API

The gralloc API now provides a way for using lock/unlock with the Android
explicit synchronisation concept. This changes updates the GraphicBuffer class
to also expose this functionality, and updates the Surface class to make use of
in line with the dequeueBuffer/queueBuffer mechanism.

This new behaviour is dependent on GRALLOC_MODULE_API_VERSION_0_3. If the local
gralloc module does not support this then the existing synchronous lock/unlock
mechanism will be used.

Change-Id: I77daa1beb197b63b1c2f281b8414ac4ae4b5b03c
i/GraphicBuffer.h
i/GraphicBufferMapper.h
bc6001b026069714177526eb1120b0011d6f2a51 02-May-2014 Narayan Kamath <narayan@google.com> Change InputMessage.motion.pointerSize to a uint32_t.

This ensures it's the same size in both 32 and 64 bit
processes and also brings it in line with struct
MotionEntry.

Change-Id: I66bb8b8d8664763e7dcbd489686051f563d5e1dc
nput/InputTransport.h
32ccf558cec475cb94146245c5806807ec0deb4f 30-Apr-2014 Michael Wright <michaelwr@google.com> Merge "Move key attribute information out of native."
e4f00b2aaea069474c342e257a0e8e191245905a 29-Apr-2014 Bill Yi <byi@google.com> Merge commit '6d05ef2310bdc84811d5b0385b009ad11447a749' into HEAD
c215abe8e8d27eeae8e8dfff611ca0b4c16477f1 24-Apr-2014 Alex Glaznev <glaznev@google.com> Merge "Add VP8 encoder extra parameters structure to support configuring encoder key frame interval, number of temporal layers, type of temporal layer pattern and minimum and maximum quantization parameters."
943de2f71beff9566cc58ce5820495fd9776e1e3 24-Apr-2014 Aravind Akella <aakella@google.com> Merge "Enable wakeup sensors."
5b155b84a24e0c7018e68a70c25de6c806c7ed4d 07-Apr-2014 Alex Glaznev <glaznev@google.com> Add VP8 encoder extra parameters structure to support
configuring encoder key frame interval, number of
temporal layers, type of temporal layer pattern
and minimum and maximum quantization parameters.

Bug: 11969958
Change-Id: I561e03148a7c5d928b5bf350ad3631ae69871065
edia/openmax/OMX_IndexExt.h
edia/openmax/OMX_VideoExt.h
9a844cf78f09953145200b4074d47589257a408c 12-Feb-2014 Aravind Akella <aakella@google.com> Enable wakeup sensors.

SensorService should hold a wakelock till the app reads events from a wakeup sensor. Currently drivers hold a wakelock with a
timeout while delivering events from a wake up sensor like Significant Motion. This hack can be removed now.

Bug: 9774884
Change-Id: If3b5acb99c9cf0cd29012fcfa9d6b04c74133d01
ndroid/sensor.h
ui/ISensorEventConnection.h
ui/Sensor.h
ui/SensorEventQueue.h
872db4f11e407accccba9d37c335ef7e3597eba4 23-Apr-2014 Michael Wright <michaelwr@google.com> Move key attribute information out of native.

Native doesn't ever actually care about the attributes of keys, so
move all of it up into the managed layer and move all of the key
names down so they're defined once.

Change-Id: Ic8ded13ce050b2b98744735ff50d11e8d882d7d5
nput/Input.h
nput/InputEventLabels.h
nput/Keyboard.h
nput/KeycodeLabels.h
e0d5862ad85f7bf4feb1eee9444bf3a5b49c5842 22-Apr-2014 Dan Stoza <stoza@google.com> Remove deprecated BufferQueue constructor

Finally remove the BufferQueue constructor itself. From now on, all
BufferQueues must be created through the createBufferQueue method.

Bug: 13415624
Change-Id: I192bf9430265bab761dcd59db1f02c9d0ac4feed
ui/BufferQueue.h
fb39827ebce4637dcba03770f6644cf67e932e06 21-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Increase max slots from 32 to 64"
febd4f4f462444bfcb3f0618d07ac77e3fc1f6ad 10-Apr-2014 Dan Stoza <stoza@google.com> BufferQueue: Increase max slots from 32 to 64

Increases NUM_BUFFER_SLOTS from 32 to 64 and changes the mask
returned by IGBC::getReleasedBuffers from 32 to 64 bits.

Bug: 13174352
Change-Id: Ie8ef0853916cfb91f83881c7241886bb1950f01a
ui/BufferQueue.h
ui/BufferQueueConsumer.h
ui/BufferQueueDefs.h
ui/IGraphicBufferConsumer.h
99b18b447dec188bcec37b415603b9dd400fc7e1 28-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Add StreamSplitter

Adds a StreamSplitter class, that takes one IGraphicBufferConsumer
interface and multiple IGraphicBufferProducer interfaces and
implements a one-to-many broadcast of GraphicBuffers (while managing
fences correctly).

Change-Id: I38ecdf3e311ac521bc781c30dde0cc382a4376a3
ui/IGraphicBufferConsumer.h
ui/StreamSplitter.h
d9822a3843017444364899afc3c23fb5be6b9cb9 28-Mar-2014 Dan Stoza <stoza@google.com> BufferQueueProducer: add detachNextBuffer

Adds a new method, IGBP::detachNextBuffer, that effectively does
dequeue + request + detach in a single call, but does not need to
know anything about the dequeued buffer, and will not block on
dequeue. This is mostly for the upcoming StreamSplitter to use in
its onBufferReleased callback.

Change-Id: Ie88a69de109003acebaa486a5b44c8a455726550
ui/BufferQueue.h
ui/BufferQueueProducer.h
ui/IGraphicBufferProducer.h
93b84e39e6cbb9f2ba37125465c4040e03b56048 11-Apr-2014 Aravind Akella <aakella@google.com> am ef89f763: am cf818ebb: Merge "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors" into klp-modular-dev

* commit 'ef89f7638c43ce5f73e32d487bf65c3375995e3b':
Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
ef89f7638c43ce5f73e32d487bf65c3375995e3b 11-Apr-2014 Aravind Akella <aakella@google.com> am cf818ebb: Merge "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors" into klp-modular-dev

* commit 'cf818ebbf07c6a20ef48d71bf82f8d4bdf3a398c':
Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
cf818ebbf07c6a20ef48d71bf82f8d4bdf3a398c 11-Apr-2014 Aravind Akella <aakella@google.com> Merge "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors" into klp-modular-dev
21f18e693528bd255719801539f68e37b4a97418 11-Apr-2014 Dan Stoza <stoza@google.com> Merge "Add unique ID to GraphicBuffer"
fd34b65f717b84fa06d8c37f41b070f41d0ad3a3 11-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Add producer buffer-released callback"
88a34b2f4351fe58b042f11af08ffd967ef7ce4c 11-Apr-2014 Jeff Brown <jeffbrown@google.com> am 974279d9: am db19e463: Remove unnecessary policy flags.

* commit '974279d98917c589181b70ea1c377842e7717643':
Remove unnecessary policy flags.
974279d98917c589181b70ea1c377842e7717643 11-Apr-2014 Jeff Brown <jeffbrown@google.com> am db19e463: Remove unnecessary policy flags.

* commit 'db19e463fe5a4e00a0214c564527ba67f31e1afb':
Remove unnecessary policy flags.
700180487ffec09d9df1657b018a7caadac24b75 08-Apr-2014 Aravind Akella <aakella@google.com> Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors

This reverts commit 4369a4ebd5ae7567e7075bc82830b83178099ed5.

Change-Id: Ifa8619cc6873470a07a987763d818d78d4232610
ndroid/sensor.h
ui/Sensor.h
cf8684b2063c0458da634be0fae7ccabf3f50176 10-Apr-2014 Svetoslav <svetoslavganov@google.com> Merge "Adding render stats APIs to UiAutomation (framework native)."
d85084b2b65828442eafaff9b811e9b6c9ca9fad 20-Mar-2014 Svetoslav <svetoslavganov@google.com> Adding render stats APIs to UiAutomation (framework native).

bug:12927198

Change-Id: Ibb1c07f7d89e11281e5c1f27f412a29ac6f9c4ab
ui/ISurfaceComposer.h
ui/ISurfaceComposerClient.h
ui/SurfaceComposerClient.h
ui/SurfaceControl.h
i/FrameStats.h
db19e463fe5a4e00a0214c564527ba67f31e1afb 09-Apr-2014 Jeff Brown <jeffbrown@google.com> Remove unnecessary policy flags.

Bug: 13133142
Change-Id: Ib6c63ebad25d84f78623b4a46ccf83953d235fe7
nput/Input.h
b3d0bdf0dbc19f0a0d7d924693025371e24828fd 08-Apr-2014 Dan Stoza <stoza@google.com> BufferQueue: Remove Bn version of create*

It turns out that there's no reason to have both I* and Bn* versions
of the createBufferQueue method, so I removed the Bn* version.

Change-Id: I66aeb09e10458ae540ddf1f38d2d0154ea8f315b
ui/BufferQueue.h
75b332037f6197acb239bfbbf2ac09adb31e9971 05-Apr-2014 Etienne Le Grand <etn@google.com> am 4369a4eb: Revert "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors"

* commit '4369a4ebd5ae7567e7075bc82830b83178099ed5':
Revert "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors"
30d6fd6b28aeacfe06ddc7adaac34e8a0032df40 05-Apr-2014 Etienne Le Grand <etn@google.com> Revert "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors"

This reverts commit c57a019e117117c5a76c772970b26cd0f5db8c6a.

Change-Id: I3540565bc3e56a32cf3b176a29216cf68bb763b2
(cherry picked from commit 4369a4ebd5ae7567e7075bc82830b83178099ed5)
ndroid/sensor.h
ui/Sensor.h
4369a4ebd5ae7567e7075bc82830b83178099ed5 05-Apr-2014 Etienne Le Grand <etn@google.com> Revert "Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors"

This reverts commit c57a019e117117c5a76c772970b26cd0f5db8c6a.

Change-Id: I3540565bc3e56a32cf3b176a29216cf68bb763b2
ndroid/sensor.h
ui/Sensor.h
33458f72e17be8e71f50e1f8843f7821d90934f5 05-Apr-2014 Etienne Le Grand <etn@google.com> am 00f4dde1: am c57a019e: Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors

* commit '00f4dde1aa88576811bca79bc8242e1fc1edb333':
Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
00f4dde1aa88576811bca79bc8242e1fc1edb333 05-Apr-2014 Etienne Le Grand <etn@google.com> am c57a019e: Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors

* commit 'c57a019e117117c5a76c772970b26cd0f5db8c6a':
Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors
c57a019e117117c5a76c772970b26cd0f5db8c6a 25-Mar-2014 Etienne Le Grand <etn@google.com> Add stringType and requiredPermission to sensors, effectively adding permission checking for sensors

Change-Id: If0f3dbdb5d2e9378e1fed4614baee4e750d0c850
ndroid/sensor.h
ui/Sensor.h
9ae71b00601a346e91d9264fda2e00b1e4284dbb 04-Apr-2014 John Spurlock <jspurlock@google.com> am 17251cd4: am ad98ad04: Add ACONFIGURATION_UI_MODE_TYPE_WATCH to configuation enum.

* commit '17251cd445cf80cfb6085a1b0b317cd85ad5be00':
Add ACONFIGURATION_UI_MODE_TYPE_WATCH to configuation enum.
17251cd445cf80cfb6085a1b0b317cd85ad5be00 04-Apr-2014 John Spurlock <jspurlock@google.com> am ad98ad04: Add ACONFIGURATION_UI_MODE_TYPE_WATCH to configuation enum.

* commit 'ad98ad0493625578f19c727576d02725b82f927c':
Add ACONFIGURATION_UI_MODE_TYPE_WATCH to configuation enum.
786e26a886a3ade95f07178ba9c1538b79d7a31a 04-Apr-2014 Greg Hackmann <ghackmann@google.com> am 3b1cb037: am 27f8840f: Merge "make struct Event layout consistent on 32/64-bit"

* commit '3b1cb037eea56dba0d134c6858f8ddc0f9743ff8':
make struct Event layout consistent on 32/64-bit
3b1cb037eea56dba0d134c6858f8ddc0f9743ff8 04-Apr-2014 Greg Hackmann <ghackmann@google.com> am 27f8840f: Merge "make struct Event layout consistent on 32/64-bit"

* commit '27f8840f228abfe5e2458a261ce5403871495a54':
make struct Event layout consistent on 32/64-bit
ad98ad0493625578f19c727576d02725b82f927c 03-Apr-2014 John Spurlock <jspurlock@google.com> Add ACONFIGURATION_UI_MODE_TYPE_WATCH to configuation enum.

Bug:13395758
Change-Id: Iecdae299bfd030f86145d02fa7860374b5a40a74
ndroid/configuration.h
18b94aa8486703909942935d902e632463b6e8a9 03-Apr-2014 Glenn Kasten <gkasten@android.com> am fb3bbd1d: am d2f76332: Merge "AArch64: Correction to OMX_U32 and OMX_S32"

* commit 'fb3bbd1df323c24dc10c095f29ee8010fc3d1df0':
AArch64: Correction to OMX_U32 and OMX_S32
fb3bbd1df323c24dc10c095f29ee8010fc3d1df0 03-Apr-2014 Glenn Kasten <gkasten@android.com> am d2f76332: Merge "AArch64: Correction to OMX_U32 and OMX_S32"

* commit 'd2f7633277dd13ac269adb51c4e7a85746e6c599':
AArch64: Correction to OMX_U32 and OMX_S32
27f8840f228abfe5e2458a261ce5403871495a54 03-Apr-2014 Greg Hackmann <ghackmann@google.com> Merge "make struct Event layout consistent on 32/64-bit"
d2f7633277dd13ac269adb51c4e7a85746e6c599 03-Apr-2014 Glenn Kasten <gkasten@android.com> Merge "AArch64: Correction to OMX_U32 and OMX_S32"
7f4fe6e58638bb60080ad860bc461ff95514a677 03-Apr-2014 Narayan Kamath <narayan@google.com> am d09b2acd: am 033bdd72: Merge "Remove global variables from ProcessState."

* commit 'd09b2acdc8ca706c65984956e61c0bb333cee992':
Remove global variables from ProcessState.
d09b2acdc8ca706c65984956e61c0bb333cee992 03-Apr-2014 Narayan Kamath <narayan@google.com> am 033bdd72: Merge "Remove global variables from ProcessState."

* commit '033bdd72f9f32f4bd3d282750bdc0dcfbb469959':
Remove global variables from ProcessState.
162ea0e9e8f3c293b7572bfff2671a5af5244032 28-Mar-2014 Narayan Kamath <narayan@google.com> Remove global variables from ProcessState.

These weren't really being used and they make it
very hard to reason about who looks at command line
arguments.

Processes started via app_process (this includes all
zygote forks and the system_server) can get information
about command line arguments from the AndroidRuntime
class, which is available via a call to
AndroidRuntime::getRuntime.

bug: 13647418

Change-Id: I6f92680c3619a68c6d4b0995db4cdc9adc788e36
inder/ProcessState.h
ca13fa7dd4662921bc399e021e2ad92ddf5f5366 02-Apr-2014 Ruchi Kandoi <kandoiruchi@google.com> PowerManager: add powerHint binder method

Change-Id: Ide1d50bb1580698b25296fbfc1cc63c3b21a00bc
owermanager/IPowerManager.h
849de60c1eae2ec28f0b468b9ec16b339aad17e9 25-Mar-2014 Marcus Oakland <marcus.oakland@arm.com> AArch64: Correction to OMX_U32 and OMX_S32

The types of OMX_U32 and OMX_S32 were appropriate to a 32-bit system
but were not appropriate to a 64-bit system. They have been changed to
make them portable between the two systems. With this change and a
change to frameworks/av/media/libstagefright/foundation/AString.cpp,
the android.media.cts.DecoderTest#testFlush CTS test passes.

Change-Id: I8e16c7169f54599c23fea71585b531e48541c78a
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
edia/openmax/OMX_Types.h
60a6337de07871d4d31c8870e5b5c589979d4149 02-Apr-2014 Jeff Tinker <jtinker@google.com> am b2f414fb: am 98e5bf2c: Merge "Support CAST V2 Authentication in MediaDrm" into klp-modular-dev

* commit 'b2f414fbd6e3be45bbea28d84db3ce9712ddcd5b':
Support CAST V2 Authentication in MediaDrm
b2f414fbd6e3be45bbea28d84db3ce9712ddcd5b 02-Apr-2014 Jeff Tinker <jtinker@google.com> am 98e5bf2c: Merge "Support CAST V2 Authentication in MediaDrm" into klp-modular-dev

* commit '98e5bf2cc0931fc4e4d88b3f64069bd200690be0':
Support CAST V2 Authentication in MediaDrm
98e5bf2cc0931fc4e4d88b3f64069bd200690be0 01-Apr-2014 Jeff Tinker <jtinker@google.com> Merge "Support CAST V2 Authentication in MediaDrm" into klp-modular-dev
b1363d37fc6a661508fad106eb7698c5850a6c17 28-Mar-2014 Dan Stoza <stoza@google.com> Add unique ID to GraphicBuffer

Adds a globally-unique ID (PID + sequence number) to every
GraphicBuffer, which will remain the same while crossing Binder,
even if the underlying handles change.

Change-Id: Ib11330a4c5e99621b82204e0adb31b9a88658426
i/GraphicBuffer.h
f0eaf25e9247edf4d124bedaeb863f7abdf35a3e 21-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Add producer buffer-released callback

Add a callback to the producer side, onBufferReleased, which will be
called every time the consumer releases a buffer back to the
BufferQueue. This will enable a buffer stream splitter to work
autonomously without having to block on dequeueBuffer.

The binder object used for the callback replaces the generic IBinder
token that was passed into IGraphicBufferProducer::connect to detect
the death of the producer. If a producer does not wish to listen for
buffer release events, it can pass in an instance of the
DummyProducerListener class defined in IProducerListener.h, if it even
cares about death events (BufferQueue doesn't enforce the token being
non-NULL, though perhaps we should).

Change-Id: I23935760673524abeafea2b58dccc3583b368710
ui/BufferQueue.h
ui/BufferQueueCore.h
ui/BufferQueueProducer.h
ui/IGraphicBufferProducer.h
ui/IProducerListener.h
c2f10f20ec9be98f363d6739ba1552955efe6532 04-Mar-2014 Jeff Tinker <jtinker@google.com> Support CAST V2 Authentication in MediaDrm

Update frameworks to enable support for CAST
V2 Authentication in the DRM Plugin.

Change-Id: Ic38f0e1484b1388dd87f4591c74984cb724d50e2
related-to-bug: 12702350
edia/drm/DrmAPI.h
6c4e2d816b244c46baac53cbe638ac87be703859 28-Mar-2014 Michael Wright <michaelwr@google.com> am 773585e6: Merge "Generate ACTION_CANCEL on joystick disconnect. DO NOT MERGE" into klp-modular-dev

* commit '773585e60c2e6c3e39f9f56d0d3b05eeae6dff04':
Generate ACTION_CANCEL on joystick disconnect. DO NOT MERGE
80a2f030517ec70173b2a8cc5a358b9683a71aa0 27-Mar-2014 Glenn Kasten <gkasten@google.com> Merge "Allow creation of heaps that are read-only to partner"
d0bd3911462f42487944dbaf85d87d569e2f9633 19-Mar-2014 Michael Wright <michaelwr@google.com> Generate ACTION_CANCEL on joystick disconnect. DO NOT MERGE

Bug: 11480300
Change-Id: I5a4096970c9e588d134f05dd0eb3a9c91c836b2f
nput/Input.h
151d24899fc5113b72ae6feebb6d9ebe9009b1de 20-Mar-2014 Paul Lawrence <paullawrence@google.com> Merge "batteryservice: Add battery capacity"
0c7c81f5a62937f79b7e734668aa997fd8df1927 20-Mar-2014 Fengwei Yin <fengwei.yin@intel.com> make struct Event layout consistent on 32/64-bit

To make struct Event have consistent memory layout between x86
and x86_64, force nsecs_t timestamp align to 64bit because it's
not true for x86.

Change-Id: I49eaddd89e10d595cf6a5130f9762b5388c96625
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
ui/DisplayEventReceiver.h
38dcdff3087f01ba02aabfc17b3ff6c549bb5707 19-Mar-2014 Michael Wright <michaelwr@google.com> Generate ACTION_CANCEL on joystick disconnect.

Bug: 11480300
Change-Id: I46706838eec0711c6bf345301e7b4ccbad83b063
nput/Input.h
d8e1f6527388600f5851a725bc29b36a0c091055 03-Mar-2014 Paul Lawrence <paullawrence@google.com> batteryservice: Add battery capacity

Change-Id: I6879ec9ec931cbea82aa550b3b227e744255bfd4
atteryservice/BatteryService.h
6546f2e45861172af83b0c1e6432cae24e97d4cc 15-Mar-2014 Glenn Kasten <gkasten@google.com> Allow creation of heaps that are read-only to partner

Change-Id: I3c2b3d9b1671da4b9d9c58dce27e291d30703b03
inder/MemoryDealer.h
75555b2eaf0a2b8eff30df422e041cbe80ec74ef 18-Mar-2014 Dan Stoza <stoza@google.com> Merge "BufferItemConsumer: Use IGBC instead of BQ"
14226716f2a675eee6730a405db28c674a771395 18-Mar-2014 Dan Stoza <stoza@google.com> Merge "Remove deprecated BufferQueue constructor"
8bf3b1a4964188d4ad0b96cd12174f2ba5c1eddd 18-Mar-2014 Wonsik Kim <wonsik@google.com> Merge "Revert "Implement video plane layer""
29fa9590ad32d918cb32cc88898ec53d28e1ad5a 17-Mar-2014 Wonsik Kim <wonsik@google.com> Revert "Implement video plane layer"

This reverts commit f837c93a1b392dbc4f7099d0c4fb723e32ca438e.

Change-Id: I6a1aa9ad0aca023267dc53d19c950b1535123ca7
ui/ISurfaceComposerClient.h
ce9f107c9d9ad4fdc0ad43ccd545823caa3cf933 15-Mar-2014 Marco Nelissen <marcone@google.com> am 793be12c: am b730a452: am f0190bff: Add support for writing byte arrays to parcels

* commit '793be12c0f5a7878d1085e94e58a9c36c84f0911':
Add support for writing byte arrays to parcels
793be12c0f5a7878d1085e94e58a9c36c84f0911 15-Mar-2014 Marco Nelissen <marcone@google.com> am b730a452: am f0190bff: Add support for writing byte arrays to parcels

* commit 'b730a45216991cf22c39451c47393b4bccae111b':
Add support for writing byte arrays to parcels
446ef4bae2605f4d4ef83c57803a9f8c2e901f8e 15-Mar-2014 Marco Nelissen <marcone@google.com> am f0190bff: Add support for writing byte arrays to parcels

* commit 'f0190bff38b6c29abbfc4a877442f71fc3d7dad8':
Add support for writing byte arrays to parcels
b730a45216991cf22c39451c47393b4bccae111b 14-Mar-2014 Marco Nelissen <marcone@google.com> am f0190bff: Add support for writing byte arrays to parcels

* commit 'f0190bff38b6c29abbfc4a877442f71fc3d7dad8':
Add support for writing byte arrays to parcels
f0190bff38b6c29abbfc4a877442f71fc3d7dad8 13-Mar-2014 Marco Nelissen <marcone@google.com> Add support for writing byte arrays to parcels

b/13418320

Change-Id: I2285df9e9d3dc8a6a54055b13b352b81660bf45d
inder/Parcel.h
73ed82f809a40560fd3a6d53d18e5c846362d764 13-Mar-2014 Jesse Hall <jessehall@google.com> Merge "Add sideband streams to BufferQueue and related classes"
6d5a7bb970dd5cfd5a51fe2de7f10b9fc75732b2 13-Mar-2014 Dan Stoza <stoza@google.com> Remove deprecated BufferQueue constructor

Bug: 13415624
Change-Id: I52f58a4d22296d9fc3cdbd4ad53eb10a785db3ce
ui/SurfaceComposerClient.h
fe50d2a0a13116238d5321e16c06e6ed533618dc 12-Mar-2014 Dan Stoza <stoza@google.com> BufferItemConsumer: Use IGBC instead of BQ

Change-Id: Id1756ac62954ba412f2c23c5fa6e5d760c299347
ui/BufferItemConsumer.h
ffd353a73eb7794ef556c4e646f866b580a03abb 12-Mar-2014 RoboErik <epastern@google.com> am d9e113f0: b/12068020 add nonce to InputDeviceDescriptor. Do not merge

* commit 'd9e113f0e0feac1a801f8339d2f907302bd432c5':
b/12068020 add nonce to InputDeviceDescriptor. Do not merge
d9e113f0e0feac1a801f8339d2f907302bd432c5 19-Dec-2013 RoboErik <epastern@google.com> b/12068020 add nonce to InputDeviceDescriptor. Do not merge

This is a cherry-pick of https://googleplex-android-review.git.corp.google.com/#/c/401795/

Adds a nonce field to allow generation of unique descriptors for
input devices.

Change-Id: Ie82bfb728bea95792b3b138dd3974f8b0aff63e0
nput/InputDevice.h
f522af7eb6048c2efae77d7b94960bc49c003e0e 12-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Allow returning interfaces as I*/Bn*

This adds a second createBufferQueue method that returns
sp<IGraphicBuffer*> interfaces instead of sp<BnGraphicBuffer*>, since
most clients don't actually need the Binderized versions (but some
might).

Change-Id: Iaf4f719c96ddb6f704afc75cf52be22588173e32
ui/BufferQueue.h
d0f7ce457c59d5f50b0fefc0fe768fad564d0c7e 12-Mar-2014 Michael Wright <michaelwr@google.com> am 9b04f860: Add MAX_CONTROLLER_LEDS constant. DO NOT MERGE

* commit '9b04f860f23481d39c3b45379a324d3630966825':
Add MAX_CONTROLLER_LEDS constant. DO NOT MERGE
9b04f860f23481d39c3b45379a324d3630966825 19-Oct-2013 Michael Wright <michaelwr@google.com> Add MAX_CONTROLLER_LEDS constant. DO NOT MERGE

Change-Id: Ie6dbce926280c748f39e3c54d2ed4accbdcf9e59
nput/Input.h
399184a4cd728ea1421fb0bc1722274a29e38f4a 04-Mar-2014 Jesse Hall <jessehall@google.com> Add sideband streams to BufferQueue and related classes

Sideband streams are essentially a device-specific buffer queue that
bypasses the BufferQueue system. They can be used for situations with
hard real-time requirements like high-quality TV and video playback
with A/V sync. A handle to the stream is provided by the source HAL,
and attached to a BufferQueue. The sink HAL can read buffers via the
stream handle rather than acquiring individual buffers from the
BufferQueue.

Change-Id: Ib3f262eddfc520f4bbe3d9b91753ed7dd09d3a9b
ui/BufferQueue.h
ui/BufferQueueConsumer.h
ui/BufferQueueCore.h
ui/BufferQueueProducer.h
ui/ConsumerBase.h
ui/IConsumerListener.h
ui/IGraphicBufferConsumer.h
ui/IGraphicBufferProducer.h
ui/Surface.h
9f3053de78630815d60cf48a2cf2348cc5867c45 07-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Allow detaching/reattaching buffers

Adds detachBuffer and attachBuffer calls to both the producer and
consumer sides of BufferQueue. Buffers may be detached while dequeued
by the producer or acquired by the consumer, and when attached, enter
the dequeued and acquired states, respectively.

Bug: 13173343
Change-Id: Ic152692b0a94d99e0135b9bfa62747dab2a54220
ui/BufferQueue.h
ui/BufferQueueConsumer.h
ui/BufferQueueProducer.h
ui/BufferSlot.h
ui/IGraphicBufferConsumer.h
ui/IGraphicBufferProducer.h
59326cbb5c9b25d0c69b8b22b04b50e5cad4eed1 08-Mar-2014 Jeff Brown <jeffbrown@google.com> am d711ef1d: am 37bf0789: Declare KEYCODE_SLEEP and KEYCODE_WAKEUP.

* commit 'd711ef1d78581a598e23be9730246cfa8ca75bb2':
Declare KEYCODE_SLEEP and KEYCODE_WAKEUP.
d711ef1d78581a598e23be9730246cfa8ca75bb2 08-Mar-2014 Jeff Brown <jeffbrown@google.com> am 37bf0789: Declare KEYCODE_SLEEP and KEYCODE_WAKEUP.

* commit '37bf0789f5c1167f6f7f5667b09cad70e0bb27d4':
Declare KEYCODE_SLEEP and KEYCODE_WAKEUP.
37bf0789f5c1167f6f7f5667b09cad70e0bb27d4 07-Mar-2014 Jeff Brown <jeffbrown@google.com> Declare KEYCODE_SLEEP and KEYCODE_WAKEUP.

Bug: 12938999
Change-Id: I544661b3887332998d703b7b2df9e56c23ab48c4
ndroid/keycodes.h
nput/KeycodeLabels.h
c0c6a0cd4cc2121ffb61576482758aa542acf215 06-Mar-2014 Andy McFadden <fadden@android.com> Merge "FramebufferNativeWindow.h is obsolete"
2e336496c3b3b78910cf1c496e21dc4909ee32ad 06-Mar-2014 Andy McFadden <fadden@android.com> FramebufferNativeWindow.h is obsolete

This adds a deprecation #warning to the header.

Change-Id: Ia32f16e491cb01d435ec8846dda3d9a7d1a9cfc5
i/FramebufferNativeWindow.h
c1ef3efecbeff5bbea461d96bb5600b18d66bdb6 05-Mar-2014 Dan Stoza <stoza@google.com> Merge "Change BufferQueue into producer/consumer wrapper"
f8da9623f3f565d0be9ade3d3439c45aa23dd229 05-Mar-2014 Michael Wright <michaelwr@google.com> am 1298c7e5: Merge "Parse LED mappings in keylayout files. DO NOT MERGE" into klp-modular-dev

* commit '1298c7e527fd242a39f9c0d53aa4f35d1c9decab':
Parse LED mappings in keylayout files. DO NOT MERGE
3e96f1982fda358424b0b75f394cbf7c1794a072 03-Mar-2014 Dan Stoza <stoza@google.com> Change BufferQueue into producer/consumer wrapper

Now that BufferQueue has been split into core + producer + consumer,
rewrite BufferQueue to be a thin layer over a producer and consumer
interface. Eventually, this layer will be deprecated in favor of
only using either the producer or consumer interface, as applicable.

Change-Id: I340ae5f5b633b244fb594615ff52ba50b9e2f7e4
ui/BufferQueue.h
ui/BufferQueueConsumer.h
ui/BufferQueueCore.h
ui/BufferQueueDefs.h
ui/BufferQueueProducer.h
4a07dc8d2149788be96ad783c0d63339e6747587 04-Mar-2014 Dan Stoza <stoza@google.com> Merge "Split BufferQueue into core + producer + consumer"
289ade165e60b5f71734d30e535f16eb1f4313ad 28-Feb-2014 Dan Stoza <stoza@google.com> Split BufferQueue into core + producer + consumer

Change-Id: Idc39f1e511d68ce4f02202d35425a419bc0bcd92
ui/BufferItem.h
ui/BufferQueueConsumer.h
ui/BufferQueueCore.h
ui/BufferQueueProducer.h
ui/BufferSlot.h
962a108856767d6f5c17cf2854b13fef0315f8ca 18-Oct-2013 Michael Wright <michaelwr@google.com> Parse LED mappings in keylayout files. DO NOT MERGE

Change-Id: I2b34939cc0df256e6b872502ea93f2884b4c8334
nput/Input.h
nput/KeyLayoutMap.h
nput/Keyboard.h
nput/KeycodeLabels.h
c26c0bee1d9afaddd20905bfe2b4459485fd8a89 03-Mar-2014 Lajos Molnar <lajos@google.com> Merge "Adding Opus related struct definitions to OMX_Index"
1a8b0ed985b3767fdd795fb5216014e05b30791b 03-Feb-2014 Vignesh Venkatasubramanian <vigneshv@google.com> Adding Opus related struct definitions to OMX_Index

Adding Opus related structure and constant definitions to
OMX_Index.h

Change-Id: Iae0394c86900f0db322893ffce695f854624833a
edia/openmax/OMX_AudioExt.h
edia/openmax/OMX_IndexExt.h
f837c93a1b392dbc4f7099d0c4fb723e32ca438e 24-Feb-2014 Wonsik Kim <wonsik@google.com> Implement video plane layer

Binding with video source will follow.

Change-Id: Ic14e9757f5b61f4055cbeda47c1bafae0a621abb
ui/ISurfaceComposerClient.h
22a5c8b2e3c232a7cbe452759f20fc3c8382add7 19-Feb-2014 Andy McFadden <fadden@android.com> am 44c35ec4: Allow "opaque" flag to be updated. DO NOT MERGE

* commit '44c35ec4a94eb33f7ee0df085c5d2d56d99962cf':
Allow "opaque" flag to be updated. DO NOT MERGE
44c35ec4a94eb33f7ee0df085c5d2d56d99962cf 30-Jan-2014 Andy McFadden <fadden@android.com> Allow "opaque" flag to be updated. DO NOT MERGE

Moves the "opaque layer" from Layer to Layer::State. This allows
it to be updated as part of a transaction.

Bug 12387406

Change-Id: I0a114ce6adf77cd12fb08f96e0691b76c475768d
rivate/gui/LayerState.h
c701401f8cec2e5309f8b57e2b97baced5093274 15-Feb-2014 Dan Stoza <stoza@google.com> Allow disabling layer rotation during screenshots

Add the ability to ignore layers' transformation matrices during
screenshot capture, which will allow the window manager to capture
unrotated images for recents during the device rotation animation.

Bug: 11805195
Change-Id: I854d87bc84ca06ef9a054a454af1c080ee66fbb8
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
eac45b8a53e8a17b6c9a1e7bb69a8a791073c007 12-Feb-2014 Jeff Brown <jeffbrown@google.com> am ed4d28dd: Add method to apply offset to PointerCoords. (DO NOT MERGE)

* commit 'ed4d28dd70448b13eb74a3166ec8d1c1a530e2d4':
Add method to apply offset to PointerCoords. (DO NOT MERGE)
f086ddbb97e59bd4a0c27745f6e6cc9832a2d4f8 11-Feb-2014 Jeff Brown <jeffbrown@google.com> Add support for injecting events into ActivityContainers.

Enhanced the input system to support concurrent dispatch of touch
events on multiple displays which is required for this to work.

Add method to apply offset to PointerCoords.

Change-Id: I55fe4a9a8785ae5a2d3341d214fa3c5107f3963a
nput/Input.h
ed4d28dd70448b13eb74a3166ec8d1c1a530e2d4 11-Feb-2014 Jeff Brown <jeffbrown@google.com> Add method to apply offset to PointerCoords. (DO NOT MERGE)

Change-Id: I3dc2ba22b026e5b8e1c3d90f7366ec09a59ce6b6
nput/Input.h
d02c5b6aace05d9fd938e2d03705ac4f60f8da19 11-Feb-2014 Michael Wright <michaelwr@google.com> Move inputservice over to frameworks/native

Add all of the underlying input system pieces, minux PointerController and
SpriteController, to inputflinger. This is in preparation for moving input to
its own process and the addition of the input HAL.

Try 2.

Change-Id: I5f571fe86eb570885ae994e1f0552fb558930346
owermanager/PowerManager.h
1c284a9431f98bbefd27a30c3368bbf7366dff3a 10-Feb-2014 Michael Wright <michaelwr@google.com> Add contains point method to Region

Change-Id: I553433ff7ac39f14ffca8278960d2abc95b4dd63
i/Region.h
532cbb0fdcaa5e6df7b48690c451c3181b588185 05-Feb-2014 Andrew Hsieh <andrewhsieh@google.com> am bdab63e0: am 055dac1b: Merge "Fixed apparent copy/paste mistake Bug: 11634373"

* commit 'bdab63e06b6bacb60991420891cb06fe3dc5654f':
Fixed apparent copy/paste mistake Bug: 11634373
bdab63e06b6bacb60991420891cb06fe3dc5654f 05-Feb-2014 Andrew Hsieh <andrewhsieh@google.com> am 055dac1b: Merge "Fixed apparent copy/paste mistake Bug: 11634373"

* commit '055dac1b54af46a0608b32e83fcae45e75a4a8f0':
Fixed apparent copy/paste mistake Bug: 11634373
8769436bba6b0601f6110f907324c7cfe51cae7a 05-Feb-2014 David Friedman <dmail@google.com> Fixed apparent copy/paste mistake
Bug: 11634373

Change-Id: I9b0ac4d3b4a9a2999b2013abd39465a062ec51ea
ndroid/input.h
dc425805b27cad16922ebf51b8504bdf7ab4ddfd 04-Feb-2014 Changwan Ryu <changwan@google.com> am e636692a: [DO NOT MERGE] Extend OpenMAX IL definitions to support AC3

* commit 'e636692a2eecead363f06297e7b5b379079331da':
[DO NOT MERGE] Extend OpenMAX IL definitions to support AC3
88f6ad18de946307b9b1db68faad84b991528e88 03-Feb-2014 Arve Hjønnevåg <arve@android.com> am c93865de: am 58242fc2: Merge changes Ib0e5a037,I1bd7c38e,Icfc67c2a,I96c64312,I59528054, ...

* commit 'c93865de80a16d3638936890fb42eb175284044b':
ServiceManager: Implement PING_TRANSACTION
ServiceManager: Use 32/64 bit types from new binder header
Binder: Use 64 bit pointers in 32 processes if selected by the target
Add BINDER_IPC_32BIT to CFLAGS unless TARGET_USES_64_BIT_BINDER is true
Binder: Make binder portable
ServiceManager: Fix the binder interface
ServiceManager: Store handles in uint32_t instead of void *
ServiceManager: Generic Fixes
ServiceManager: Add extra error handling
ServiceManager: Fix Android.mk
ServiceManager: Make use of kernel exported structures
e636692a2eecead363f06297e7b5b379079331da 28-Oct-2013 Changwan Ryu <changwan@google.com> [DO NOT MERGE] Extend OpenMAX IL definitions to support AC3

OpenMAX IL does not have generic support for AC3, but IL 1.1.2 and above
supports component extension APIs, which enable us to add our own constants
and definitions.

Change-Id: Iecee4f8bb3112b0720ceae9192017e12d3fe97e3
edia/openmax/OMX_AudioExt.h
edia/openmax/OMX_IndexExt.h
84e625ac1e01f5a9c3ed16664da6498212ed662b 29-Jan-2014 Arve Hjønnevåg <arve@android.com> Binder: Use 64 bit pointers in 32 processes if selected by the target

Uses new kernel header where void * has been replaced by binder_uintptr_t

Change-Id: Icfc67c2a279269f700343bd9246fd7cb94efe2c1
inder/IPCThreadState.h
inder/Parcel.h
f683e0163a84d93448b9388126902242367cd961 05-Nov-2013 Serban Constantinescu <serban.constantinescu@arm.com> Binder: Make binder portable

Changes include
- Binder attempts to cast pointers to a int datatype
which is not sufficient on a 64-bit platform.

- This patch introduces new read/write functions into
Parcel that allow pointers to be written using the
uintptr_t datatype for compile-time data type size
selection.

- Change access specifier for the methods above.

- Binder uses the 64bit android_atomic_release_cas64
(aka cmpxchg)

Change-Id: I595280541e0ba1d19c94b2ca2127bf9d96efabf1
Signed-off-by: Matthew Leach <matthew.leach@arm.com>
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
inder/Parcel.h
d592f32df91a857a6649699281f497586e478840 30-Jan-2014 Andy McFadden <fadden@android.com> Merge "Allow "opaque" flag to be updated"
4125a4ffaf374ca9c0773f256998557d3325343e 30-Jan-2014 Andy McFadden <fadden@android.com> Allow "opaque" flag to be updated

Moves the "opaque layer" from Layer to Layer::State. This allows
it to be updated as part of a transaction.

Bug 12387406

Change-Id: I0a114ce6adf77cd12fb08f96e0691b76c475768d
rivate/gui/LayerState.h
809af3aa03294a8de2cb9cfee6e2686a2bf99ac1 27-Jan-2014 Adam Lesinski <adamlesinski@google.com> Moved androidfw back to frameworks/base

Change-Id: Idd57bbbc86c936cbfd60e02f8ac8d4f8fbc94592
ndroidfw/Asset.h
ndroidfw/AssetDir.h
ndroidfw/AssetManager.h
ndroidfw/BackupHelpers.h
ndroidfw/CursorWindow.h
ndroidfw/ObbFile.h
ndroidfw/PowerManager.h
ndroidfw/ResourceTypes.h
ndroidfw/StreamingZipInflater.h
ndroidfw/ZipFileRO.h
ndroidfw/ZipUtils.h
ndroidfw/misc.h
a9d5701b034ed2d9771b3f0943e1add00741d7cd 24-Jan-2014 Narayan Kamath <narayan@google.com> AssetManager cookies should be int32_t and not void*.

Cookies are really indices into vectors and arrays, so
they don't need to be void*. We choose int32_t instead
of size_t to allow their width to be well specified.

Change-Id: I319f271bd4f102dee7cb9f00df4c75ea697456f5
ndroidfw/AssetManager.h
6a5d35dd5cd8710c6c9f100076e62ffbdb0b868b 08-Jan-2014 Dan Stoza <stoza@google.com> libgui: Add a test for SRGB surfaces

Add SRGBTest.RenderToSRGBSurface, which validates that passing the
SRGB colorspace attributes to eglCreateWindowSurface actually
results in an SRGB surface by comparing the output values to those
of a standard RGB surface.

Change-Id: I3d5fef8070ed8fa2357ddd1c5fcc849ae3fbd12a
i/PixelFormat.h
95c6675db143a92f5398a112058e31a486c92932 19-Dec-2013 RoboErik <epastern@google.com> Merge "b/12068020 add nonce to InputDeviceDescriptor"
ec2a15a26f7c50b23a4196d17f106b5efa68560d 19-Dec-2013 RoboErik <epastern@google.com> b/12068020 add nonce to InputDeviceDescriptor

Adds a nonce field to allow generation of unique descriptors for
input devices.

Change-Id: I978b6c5e9edc9e0a6aa60f85cd8d4efc42ac2999
nput/InputDevice.h
494600a755971db9638dd8b85053b410d5ca265b 19-Dec-2013 Brian Carlstrom <bdc@google.com> am 285bfefb: am c1bf6fa9: am 7fea2361: Merge "Track Looper decoupling from ALooper"

* commit '285bfefb01f24e98348628c115eb6c524417ea82':
Track Looper decoupling from ALooper
6fce2d2280c28c81de4d3ea6744a4cb1db2ae9db 17-Dec-2013 Christopher Tate <ctate@google.com> Fix MCC/MNC typo

Manual merge of https://android-review.googlesource.com/70831 across
the header refactoring.

Change-Id: I28b6a61e89b68d914124122882976a9d2f81a609
ndroidfw/ResourceTypes.h
fe761ab6c72bdcdb8a2cf0df1524f526d8609fee 13-Dec-2013 Brian Carlstrom <bdc@google.com> Track Looper decoupling from ALooper

Change-Id: I612f0de7002e24948a4cbbea7b416b4fbb3929aa
ndroid/looper.h
aae73e748c81bd500e288753864ed5e0abfdd526 03-Dec-2013 Narayan Kamath <narayan@google.com> Reimplement ZipFileRO in terms of libziparchive.

This lets us share zip archive processing code with both
the runtime (Art, dalvik) and critical java code
(StrictJarFile).

This change also moves several utility methods to ZipUtils
and dedups code across several zip inflation methods.

One of the side effects of this change is that several
processing loops are now O(n) instead of O(n^2).

bug: 10193060

(cherry picked from commit afd31e08299008fdc5c2813f21b2573f29dc53df)

Change-Id: Iae67e62f1dc6dfc3f43e29bc38e3ffd1cb14d191
ndroidfw/ZipFileRO.h
ndroidfw/ZipUtils.h
7ea777f097784492f880623067becac1b276f884 19-Nov-2013 Igor Murashkin <iam@google.com> gui: Add tests for IGraphicBufferProducer

* Basic tests only. Needs more complicated queue/dequeue tests.
* Also needs consumer-side tests to really be thorough.

Change-Id: I1099dd56d65b6e9dfa15377726d6054ce657c0ca
ui/BufferQueue.h
ui/IGraphicBufferProducer.h
4be18a3566c5d902b7fe94db4cf14b174ed7beb5 18-Nov-2013 Igor Murashkin <iam@google.com> gui: Remove BufferQueue::MIN_UNDEQUEUED_BUFFERS

Change-Id: I7c0cc36046dbbdb9c0e85acfe5027293d1131275
ui/BufferItemConsumer.h
ui/BufferQueue.h
7d2d160cdc3cba9f4454f38433c94b68376cb843 13-Nov-2013 Igor Murashkin <iam@google.com> gui: Update header docs for IGraphicBufferConsumer/Producer/BufferQueue

Also fix compiler warnings for libgui

Change-Id: I0ee38d9ad5eaa82d55bf812d291da8c433581cef
ui/BufferQueue.h
ui/IGraphicBufferConsumer.h
ui/IGraphicBufferProducer.h
c9a8a34e40b4e5ba76ace8879e479ebf5fbca3c5 28-Oct-2013 Changwan Ryu <changwan@google.com> Extend OpenMAX IL definitions to support AC3

OpenMAX IL does not have generic support for AC3, but IL 1.1.2 and above
supports component extension APIs, which enable us to add our own constants
and definitions.

Change-Id: Iecee4f8bb3112b0720ceae9192017e12d3fe97e3
edia/openmax/OMX_AudioExt.h
edia/openmax/OMX_IndexExt.h
708cc794f6ccd4d31e0a00a23b289272c665adc1 16-Oct-2013 Marco Nelissen <marcone@google.com> Native counterpart of new power manager method

Cherrypicked from master.

b/9464621

Change-Id: I54c0ed50a57ac870da91db8589a73a2c792dbd8d
inder/Parcel.h
owermanager/IPowerManager.h
6f948c39603ea2c2924752c2810c3b060833eefc 23-Oct-2013 Todd Poynor <toddpoynor@google.com> batteryservice: remove now unused struct BatteryExtraProperties

Change-Id: Ibbb1eba95a800d2198e7524149ce38beb13dd7c9
atteryservice/BatteryService.h
7014fbd7005e41514c7ff8411e3f655c910b611f 04-Oct-2013 Todd Poynor <toddpoynor@google.com> batteryservice: remove BatteryProperties fields not sent to BatteryService

Change-Id: I1116ebf0e21117fd37df7bfc41cb8ebaf9361faa
atteryservice/BatteryService.h
60f19de1ed0bf5f19c07a3c66d3267fe4f96b907 22-Oct-2013 Michael Wright <michaelwr@google.com> Merge "Add MAX_CONTROLLER_LEDS constant"
0247e2213ed66a5dc2e14da1eacfa1dcd3d3edbe 19-Oct-2013 Michael Wright <michaelwr@google.com> Add MAX_CONTROLLER_LEDS constant

Change-Id: I5ec972338c50647049bb5a8279847d54a84d9f70
nput/Input.h
6f467daf059d5e2ed245c3796993d7f15c737d55 18-Oct-2013 Michael Wright <michaelwr@google.com> Merge "Parse LED mappings in keylayout files"
74bdd2e7ceabd3c9e74ccf7c2e6bd3dae27ca497 18-Oct-2013 Michael Wright <michaelwr@google.com> Parse LED mappings in keylayout files

Change-Id: I6bc3760341868015f054d9866e2616a312da94e0
nput/Input.h
nput/KeyLayoutMap.h
nput/Keyboard.h
nput/KeycodeLabels.h
5c0106e134366312206702f1b072347e20c90374 16-Oct-2013 Marco Nelissen <marcone@google.com> Native counterpart of new power manager method

Change-Id: I54c0ed50a57ac870da91db8589a73a2c792dbd8d
inder/Parcel.h
owermanager/IPowerManager.h
4a1e00fb3abb4e0598c3fb9a35c04349f672c5f9 11-Oct-2013 Aravind Akella <aakella@google.com> am 1f1e5768: am 5d6aa951: Merge "Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection." into klp-dev

* commit '1f1e576840d5b36a091368abb6fe6610384b6449':
Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection.
701166d9f60a6e1149ff568aec0e03f3f3925292 08-Oct-2013 Aravind Akella <aakella@google.com> Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection.

Change-Id: I4ef2bec80406c517903ab9782dc9eaf3fa8b7f36
ui/ISensorEventConnection.h
ui/SensorEventQueue.h
0e6e912b5440e468e42ac1d683bf8bdb5ffd48f3 04-Oct-2013 Marco Nelissen <marcone@google.com> am e71575be: am 48d3741b: Merge "Allow blaming a single uid for work done" into klp-dev

* commit 'e71575bed44fbbd61b6a369d42e200c0141953be':
Allow blaming a single uid for work done
86f76208f0ada2148fda43d522f7933a0c7bf476 04-Oct-2013 Lajos Molnar <lajos@google.com> am 04e6ab6e: am b1f94ef3: Merge "media/hardware/HardwareAPI.h: Added PrepareForAdaptivePlaybackParams" into klp-dev

* commit '04e6ab6e27c39604a7029467161a90af78ecdf07':
media/hardware/HardwareAPI.h: Added PrepareForAdaptivePlaybackParams
f99ad113b9e2ce9e91680e37867fcc8af7e5ea5e 03-Oct-2013 Mike Lockwood <lockwood@google.com> Move libandroidfw from frameworks/base

Change-Id: I8228c9a796e68e920c6a7dfc154c4b70ba66b082
ndroidfw/Asset.h
ndroidfw/AssetDir.h
ndroidfw/AssetManager.h
ndroidfw/BackupHelpers.h
ndroidfw/CursorWindow.h
ndroidfw/ObbFile.h
ndroidfw/PowerManager.h
ndroidfw/ResourceTypes.h
ndroidfw/StreamingZipInflater.h
ndroidfw/ZipFileRO.h
ndroidfw/ZipUtils.h
ndroidfw/misc.h
48d3741ba5f4b3bb411ee5c083a11f4f52f9e907 03-Oct-2013 Marco Nelissen <marcone@google.com> Merge "Allow blaming a single uid for work done" into klp-dev
b1f94ef3f97bd20b928cf980791526861650eab9 03-Oct-2013 Lajos Molnar <lajos@google.com> Merge "media/hardware/HardwareAPI.h: Added PrepareForAdaptivePlaybackParams" into klp-dev
9a7706bb174cdac279908f705191803dc5bfa0ab 02-Oct-2013 Marco Nelissen <marcone@google.com> Allow blaming a single uid for work done

This lets audioflinger assign blame for wakelocks to a single uid.
Currently this is only used for recording wakelocks.
b/10985160

Change-Id: Idc9adb22c29030010ac690d4cb95e7e7ea6b91e6
owermanager/IPowerManager.h
4e8fd6f30d6304f3cbc729eb424566b57754c650 02-Oct-2013 Jamie Gennis <jgennis@google.com> am 886b1521: am a9c47f32: Merge "GLConsumer: start using EGL_ANDROID_image_crop" into klp-dev

* commit '886b152111cc13dcfe1b47724f5e496f12ccc420':
GLConsumer: start using EGL_ANDROID_image_crop
dbe9245e2e362b12e184cd33b9a27b0901f81244 24-Sep-2013 Jamie Gennis <jgennis@google.com> GLConsumer: start using EGL_ANDROID_image_crop

This change makes GLConsumer use the EGL_ANDROID_image_crop extension when
available on a device. The crop rectangle is passed to the EGL driver when
creating EGLImages, allowing the crop to be performed by the driver rather than
using the texture transform matrix.

Bug: 10897141
Change-Id: I63e9a5d5c85067376abc420e3639154468346311
ui/GLConsumer.h
1fbc0266ad5cb061f8ee78791f04eb6ef12549f6 01-Oct-2013 Todd Poynor <toddpoynor@google.com> batteryservice: Add BatteryExtraProperties

Change-Id: I050a4da14dd723a1d563b25a9e997db769fece3e
atteryservice/BatteryService.h
63ff1c644f785c78adbf65b9abf6b998cee2c7a1 25-Sep-2013 Mike Lockwood <lockwood@google.com> Cleanup Binder interface between sensorservice and BatteryStats

Change-Id: Ia507160a2534059afe93849c8efc8407a046b50e
inder/IBatteryStats.h
3473e814a4a7efdc7e9842d0659825e741b502d0 20-Sep-2013 Eino-Ville Talvala <etalvala@google.com> am 1160e89d: am d171da97: GLConsumer: Add query for current frame number.

* commit '1160e89d31810f2ba66f8ab502281579115b39b0':
GLConsumer: Add query for current frame number.
d171da973de3c6b30263011334fdcd916739144f 19-Sep-2013 Eino-Ville Talvala <etalvala@google.com> GLConsumer: Add query for current frame number.

Surface the underlying frame number of the current texture.

Bug: 10830400
Change-Id: Ide3a7da12ea0aac54588beb6bf00dbfe2cd37653
ui/GLConsumer.h
0f0e845113b02d1a3a00271d3b5449bee7053dd2 19-Sep-2013 Mathias Agopian <mathias@google.com> am a7e1660b: am c1c05de4: fix camera API 2.0 orientation

* commit 'a7e1660b257326f99261e7c9b2d58c9d2e68d0b0':
fix camera API 2.0 orientation
c1c05de415854eb7a13a16b7e22a22de8515123a 18-Sep-2013 Mathias Agopian <mathias@google.com> fix camera API 2.0 orientation

we add a flag to ANativeWindow::setBufferTransform that means
"apply the inverse rotation of the display this buffer is displayed
onto to".

Bug: 10804238
Change-Id: Id2447676271950463e8dbcef1b95935c5c3f32b2
ui/IGraphicBufferConsumer.h
i/TMatHelpers.h
7229e98229a6bc218d5c6fd50209134a78754149 17-Sep-2013 Mathias Agopian <mathias@google.com> am 3f342c11: am 02b62df7: Merge "Make sure do disconnect from a BQ when its client dies." into klp-dev

* commit '3f342c113360eacc1e9c1ff481cb03f700a50117':
Make sure do disconnect from a BQ when its client dies.
365857df8b94c959dea984a63013f6e7730ef976 12-Sep-2013 Mathias Agopian <mathias@google.com> Make sure do disconnect from a BQ when its client dies.

Bug: 5679534

Change-Id: If447e8673df83fe0b1d6210641e0a48522501a53
ui/BufferQueue.h
ui/IGraphicBufferProducer.h
24695a1cff49932465f1f843d261197d4db76b2d 12-Sep-2013 Mathias Agopian <mathias@google.com> am 7c4f2365: am 90ed3e8d: fix a few problems with BitTube

* commit '7c4f236532692b847b9b103df6490549656ae993':
fix a few problems with BitTube
90ed3e8d7883d9c80fb8bf11b1c593bd8b2b39d0 10-Sep-2013 Mathias Agopian <mathias@google.com> fix a few problems with BitTube

BitTube used to send objects one at a time and didn't
handle errors properly.

We now send all the objects in one call, which means they
have to be read as a single batch as well. This changes the
BitTube API.

Update SensorService to the new API.

Also added an API to set the size of the send buffer.

Bug: 10641596
Change-Id: I77c70d35e351fdba0416fae4b7ca3b1d56272251
ui/BitTube.h
ui/SensorEventQueue.h
cf1eb71a8d61c98c2cb5475314c0bd47ecba3ba9 10-Sep-2013 Chong Zhang <chz@google.com> Merge "HDCP: add getCaps to query HDCP module capabilities"
b344adf0892e37fe50aabcf7f8ad01f3473bbb4d 03-Sep-2013 Chong Zhang <chz@google.com> HDCP: add getCaps to query HDCP module capabilities

This is used now to query whether HDCP module supports encryption
from a native buffer output from the encoder.

Bug: 10609422

Change-Id: Ib7fa14e7f4de1da90b46eaa174a7a05ec9dacbdc
edia/hardware/HDCPAPI.h
cbe36fe1ec21e22e6649d47144c91260ba51d753 05-Sep-2013 Mike Lockwood <lockwood@google.com> Add support for sending and receiving ParcelFileDescriptors from native Binder code

Change-Id: I7f308e28ebac0755628e19c9b4d0d7399341b435
inder/Parcel.h
31344a6d4d77a763db5ce627932bd6ccc24353a3 05-Sep-2013 Marco Nelissen <marcone@google.com> Merge "Remove obsolete comment"
c150900793a49ede33efaf35baf62e5b2ecb5d64 28-Aug-2013 Todd Poynor <toddpoynor@google.com> libbatteryservice: Add average current property

Change-Id: I519c2fb9f7cec21d9f87e73fa96b2f58a7ab27a5
atteryservice/BatteryService.h
edfc478196596307d6cd3742d90ee7083d2d95ee 05-Sep-2013 Chong Zhang <chz@google.com> am 9f74ea29: am e6772914: Merge "HDCP: add enums for HDCP module capabilities" into klp-dev

* commit '9f74ea29b8c4fa9635548b99d0a1e0d0c6c00bea':
HDCP: add enums for HDCP module capabilities
e67729144a56966dd39e1bcda5efa51852e16d74 05-Sep-2013 Chong Zhang <chz@google.com> Merge "HDCP: add enums for HDCP module capabilities" into klp-dev
56e01384c7c6d131983d48f75509aee062602b16 23-Aug-2013 Marco Nelissen <marcone@google.com> Remove obsolete comment

Change-Id: I8b040e4b2e968fd0754e15dcf9f899fbfe210b6e
inder/IBinder.h
a3a918557dbe6413a233a63dd47eb1781cb00ea4 03-Sep-2013 Chong Zhang <chz@google.com> HDCP: add enums for HDCP module capabilities

This change adds the enums for HDCP caps. An interface getCaps()
will be added later for querying whether HDCP module supports
encryption from a native buffer output from the encoder.

Bug: 10609422

Change-Id: Ib7fa14e7f4de1da90b46eaa174a7a05ec9dacbdc
edia/hardware/HDCPAPI.h
91e0ff57394466e822c4c388030e7cb5052002a5 04-Sep-2013 Aravind Akella <aakella@google.com> am e29df8b9: am a5552de9: Merge "Sensor batching. Changes to the native code." into klp-dev

* commit 'e29df8b929128621c8ef90091696d414eb235276':
Sensor batching. Changes to the native code.
a5552de96f0cff9fb1947d8d21556bfeccf9cd03 04-Sep-2013 Aravind Akella <aakella@google.com> Merge "Sensor batching. Changes to the native code." into klp-dev
724d91d778e71c8186399f4955de14b54812b3ed 27-Jun-2013 Aravind Akella <aakella@google.com> Sensor batching. Changes to the native code.

Bug: 10109508
Change-Id: I7333f3aac76125a8226a4c99c901fb904588df04
ndroid/sensor.h
ui/ISensorEventConnection.h
ui/Sensor.h
ui/SensorEventQueue.h
68ca2640a76a46c1719588c78460f1d79f9d74fb 04-Sep-2013 Mathias Agopian <mathias@google.com> am 4de85b49: am 1d4d8f94: improve mat44 implementation

* commit '4de85b49b3c1ae6c27351a0e6fd8d6490fe4f0cc':
improve mat44 implementation
1d4d8f94e2989b7c8667602304df9059d2701653 02-Sep-2013 Mathias Agopian <mathias@google.com> improve mat44 implementation

this will make it easier to create matrices of different sizes

Change-Id: I2c1771ba0823c42d737762e2dfc2cd47eb302767
i/TMatHelpers.h
i/TVecHelpers.h
i/mat4.h
i/vec2.h
i/vec3.h
i/vec4.h
9b7176b428e4ec8d360aa72e496f2a5bc36201ad 31-Aug-2013 Mathias Agopian <mathias@google.com> am d213910a: am 9b5534b0: Merge changes I8283a989,I64add89a into klp-dev

* commit 'd213910ab0acc956ee66bd3a0079a6393e7c695c':
switch to use mat4
vector and matrix classes for graphics use
595ea77f6bdb5e9d0ddd3305da7a44b56f326b2c 22-Aug-2013 Mathias Agopian <mathias@google.com> vector and matrix classes for graphics use

- this implements vec2, vec3, vec4, which are float vectors
of size 2, 3 and 4 respectively.

the code allows easy instantiation of vectors of a different
type via the tvec{2|3|4}<T> template classes.

- this also implements mat4 which is a float 4x4 matrix. the
tmat44<T> template class allows easy instantiation of a
4x4 matrix of a different value_type.

The vector types have some minimal support for the
glsl style swizzled access; for instance:

vec4 u;
vec3 v = u.xyz;

only .x, .xy, .xyz and their .stpq / .rgba equivalent are
supported.

most operators are supported on both vector and matrices:
arithmetic, unary, compound assignment and comparison
(bit-wise operators NOT supported).

- operations available on vectors include:
dot, length, distance, normalize and cross

- operations available on matrices include:
transpose, inverse, trace

- and a few utilities to create matrices:
ortho, frustum, lookAt

Change-Id: I64add89ae90fa78d3f2f59985b63495575378635
i/TMatHelpers.h
i/TVecHelpers.h
i/mat4.h
i/vec2.h
i/vec3.h
i/vec4.h
464febc44908fb4a8fca9e513ba8469750dde838 23-Aug-2013 Jeff Brown <jeffbrown@google.com> Remove input flinger stubs. (DO NOT MERGE)

Bug: 10446930
Change-Id: I4dd46f539cd2a2e324dfc83b45ba2787f7404a4a
nput/IInputFlinger.h
be0b32a132ae514fb541ae046cb8ab1305d003d7 23-Aug-2013 Jeff Tinker <jtinker@google.com> am 052f9b2f: am 39bfc698: Merge "Add ability to test supported content types to MediaDrm" into klp-dev

* commit '052f9b2fadcb0585aab688e9ff1015534fbbb6a7':
Add ability to test supported content types to MediaDrm
39bfc6989259c5d24fd43f3d7fa7e967a4b17aac 23-Aug-2013 Jeff Tinker <jtinker@google.com> Merge "Add ability to test supported content types to MediaDrm" into klp-dev
cf8087358658d393150c383b01feef9064a4cdfc 15-Aug-2013 Todd Poynor <toddpoynor@google.com> libbatteryservice: add interface to read individual battery properties

Change-Id: I089eb6348053a8a9c8bca59e57ed97b4af14825a
atteryservice/BatteryService.h
atteryservice/IBatteryPropertiesRegistrar.h
611d3d481605049c8ca77f27131282993f448664 21-Aug-2013 Jeff Tinker <jtinker@google.com> Add ability to test supported content types to MediaDrm

bug: 10244066
Change-Id: I6666d0dbfdc6e791deb9a82c918255af4fa19816
edia/drm/DrmAPI.h
3c25621ad7d13f64d3ab95a27fa970fbc9998f73 16-Aug-2013 Andy McFadden <fadden@android.com> Re-enable frame dropping for non-auto timestamps

This change adds an entire field to note whether the timestamp was
auto-generated by Surface or supplied by the application.

The value is used when deciding whether or not to drop frames based
on buffer presentation timestamps. If a desired presentation time
was set explicitly, BufferQueue will use that value to decide if a
frame should be dropped. If the timestamp was generated by Surface
at the time the buffer was queued, the timestamp is ignored.

Bug 10151804

Change-Id: Ibd571a7578351063b813cbdad2ddbeed70655ba5
ui/IGraphicBufferConsumer.h
ui/IGraphicBufferProducer.h
a5b7513711555c8681eb9391cfafe30fb7d6dd3d 15-Aug-2013 Igor Murashkin <iam@google.com> gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired

- Return NOT_ENOUGH_DATA instead of INVALID_OPERATION when too many
buffers have already been locked.
- INVALID_OPERATION is nominally used when something irrecoverable happens,
but in this case the client just needs to call unlockBuffer to go back into a
good state.

Bug: 10333400
Change-Id: I3a034d77de85741429f832a90eedd670afa1dc94
ui/CpuConsumer.h
3f84483382be2d528918cc1a6fbc6a7d68e0b181 08-Aug-2013 Mathias Agopian <mathias@google.com> SurfaceFlinger now uses GLES 2.x when available

Bug: 8679321

Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
ui/GLConsumer.h
ui/Surface.h
45155969dc747d09d267cd1f22baf0eaf886a801 09-Aug-2013 Mathias Agopian <mathias@google.com> make sure GLConsumer::releaseTexImage() works after detachFromContext()

Change-Id: I27e0bc57e927d47b2b98113ee37b5396bcc72019
ui/GLConsumer.h
dde86f7b1802668a9c0986bcf7970c0e3565a92b 03-May-2013 Lajos Molnar <lajos@google.com> media/hardware/HardwareAPI.h: Added PrepareForAdaptivePlaybackParams

This is the param struct used by stagefright to notify codec that
the playback may include resolution changes, so that it can prepare
accordingly to avoid port reconfiguration.

Change-Id: I64e53b7ebf74c4f9d07cc9fe0cd65be55f666afe
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
edia/hardware/HardwareAPI.h
9870c9b66cc73ee31aabba23aa06deaf673ee5ef 09-Aug-2013 Mathias Agopian <mathias@google.com> make GLConsumer's debug texture static

this is so that we don't burn a gralloc handle and a bit
of memory per GLConsumer.

Change-Id: I30c3e7ec45d7f1b5426aca8e06c7716870877706
ui/GLConsumer.h
6c913be9ca95fd6b556d056e165a4ba6dc69795b 08-Aug-2013 Jesse Hall <jessehall@google.com> Add ISurfaceComposer::destroyDisplay

Bug: 10191053
Change-Id: Ia89286f95421344a60ffedaaca5825c4e3cd7f9e
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
b98240cc6ca8fe60b93bfc0d2f6e49c66329f8ff 31-Jul-2013 Todd Poynor <toddpoynor@google.com> batteryservice: add battery current now and charge counter data

Change-Id: I4b3ea25342d4a03a8e38bfee2ef3b1ce54f82582
atteryservice/BatteryService.h
3ca76f416bc8665a97636ca8a2d0128b9da9d92c 07-Aug-2013 Mathias Agopian <mathias@google.com> remove support for glReadPixels screenshot path

this was only needed on some chipset we're not
supporting in KLP.

Change-Id: I2e8fc07f135030bd61d2e241a8e426f1a4316425
ui/ISurfaceComposer.h
db89edc94bd2a78226b407f9f7261e202e7fa325 02-Aug-2013 Mathias Agopian <mathias@google.com> All consumers now take an IGraphicBufferConsumer instead of a BufferQueue

this means they only have access to the consumer end of
the interface. we had a lot of code that assumed consumers
where holding a BufferQueue (i.e.: both ends), so most of
this change is untangling in fix that

Bug: 9265647
Change-Id: Ic2e2596ee14c7535f51bf26d9a897a0fc036d22c
ui/BufferItemConsumer.h
ui/BufferQueue.h
ui/ConsumerBase.h
ui/CpuConsumer.h
ui/GLConsumer.h
ui/IGraphicBufferConsumer.h
ui/SurfaceComposerClient.h
a4e19521ac4563f2ff6517bcfd63d9b8d33a6d0b 01-Aug-2013 Mathias Agopian <mathias@google.com> Binderize the consumer side of BufferQueue

While currently untested, this should allow to move the
BuffereQueue in the consumer process and have everything
work as usual.

Bug: 9265647

Change-Id: I9ca8f099f7c65b9a27b7e7a3643b46d1b58eacfc
ui/BufferQueue.h
ui/ConsumerBase.h
ui/IConsumerListener.h
ui/IGraphicBufferConsumer.h
87f9b877964b7d7db9b59ba45b73b4b1a779ecf8 01-Aug-2013 Mathias Agopian <mathias@google.com> remove unused code form GraphicBuffer

Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
i/GraphicBuffer.h
b304edb0b1f45ec7d4f10cfbff1b91f50bca86e4 30-Jul-2013 Alex Ray <aray@google.com> remove libutils

libutils is being moved from frameworks/native/ to system/core/ in order
to facilitate native C++ platform (non-frameworks) code.

Change-Id: I44089fb960591a40b8a9c30faabb10459d107d71
tils/AndroidThreads.h
tils/Atomic.h
tils/BasicHashtable.h
tils/BitSet.h
tils/BlobCache.h
tils/ByteOrder.h
tils/CallStack.h
tils/Compat.h
tils/Condition.h
tils/Debug.h
tils/Endian.h
tils/Errors.h
tils/FileMap.h
tils/Flattenable.h
tils/Functor.h
tils/JenkinsHash.h
tils/KeyedVector.h
tils/LinearAllocator.h
tils/LinearTransform.h
tils/List.h
tils/Log.h
tils/Looper.h
tils/LruCache.h
tils/Mutex.h
tils/PropertyMap.h
tils/RWLock.h
tils/RefBase.h
tils/SharedBuffer.h
tils/Singleton.h
tils/SortedVector.h
tils/StopWatch.h
tils/String16.h
tils/String8.h
tils/StrongPointer.h
tils/SystemClock.h
tils/Thread.h
tils/ThreadDefs.h
tils/Timers.h
tils/Tokenizer.h
tils/Trace.h
tils/TypeHelpers.h
tils/Unicode.h
tils/UniquePtr.h
tils/Vector.h
tils/VectorImpl.h
tils/ashmem.h
tils/misc.h
tils/threads.h
e142428a9c8b9d2380032cd4d7b55ee440fe8770 30-Jul-2013 Mathias Agopian <mathias@google.com> Make Flattenable not virtual

Fallout from the Flattenable change, update all its uses.

Additionnaly, fix/tighten size checks when (un)flatten()ing
things.

Removed the assumption by some flattenables (e.g.: Fence)
that the size passed to them would be exact (it can
and will be larger in some cases)

The code in Parcel is a bit complicated so that we don't
have to expose the full implementation (and also to
keep the code smallish).

Change-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde
inder/Parcel.h
ui/IGraphicBufferProducer.h
ui/Sensor.h
i/Fence.h
i/GraphicBuffer.h
i/Region.h
1d76781b7aa19611c4045fdf6b848af6c6094e0b 30-Jul-2013 Mathias Agopian <mathias@google.com> Make Flattenable not virtual (libutils)

Making an object Flattenable doesn't force it to
become virtual anymore. For instance, Fence and GraphicBuffer
are now non-virtual classes.

Also change Flatennable protocol a bit so that it updates
its parameters (pointers, sizes) to make it easier
to implement a flattenable in terms of other flattenables.

Change-Id: Ie81dc7637180b3c2cfcbaf644f8987ca804eb891
tils/BlobCache.h
tils/Flattenable.h
f97b6e218a6143f20137e6ce76bbdc7621fac6cf 30-Jul-2013 Wink Saville <wink@google.com> am 9f476fd0: Merge "Add a symbol to represent MNC=0"

* commit '9f476fd08079701d1ad0f7c591667b6e673ed38e':
Add a symbol to represent MNC=0
ad678e18b66f495efa78dc3b9ab99b579945c9e2 24-Jul-2013 Mathias Agopian <mathias@google.com> single buffer mode for BufferQueue

Bug: 9891035
Change-Id: Id1ab5f911a6dc4c1d8235e65775b3d3635231ad4
ui/BufferQueue.h
ui/GLConsumer.h
c2414bb0989763641ca57cf72c11ef6d86565a23 26-Jul-2013 Mathias Agopian <mathias@google.com> get rid of HAL pixelformats 5551 and 4444

Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
i/PixelFormat.h
8df483c1fdb4926fb16a584f0342a0492aab63ac 30-May-2013 Johan Redestig <johan.redestig@sonymobile.com> Add a symbol to represent MNC=0

Bug: 7170488
Change-Id: Icfd39fd0c739216e89446252ea0e7ceba6f002c6
ndroid/configuration.h
5773d3f5b2694c647e010246dff99acc70131289 26-Jul-2013 Mathias Agopian <mathias@google.com> get rid of PixelFormatInfo and simplify things

Change-Id: I025a362cc12d5b9b794fac14be500e25aab65396
i/DisplayInfo.h
i/PixelFormat.h
1fe854f6788f6fe9177fcca85185d13ba37d1911 26-Jul-2013 Mathias Agopian <mathias@google.com> get rid of PIXEL_FORMAT_A_8

Change-Id: I4e409a69c01b95b48f20112084dd927e2d043407
i/PixelFormat.h
87bf0d97be5ef2689546b246dfb6c21c4eec3ce0 16-May-2013 Todd Poynor <toddpoynor@google.com> add libbatteryservice

IBatteryPropertiesListener is used by clients such as BatteryService to
receive notifications of changed battery/power status (from healthd).

IBatteryPropertiesRegistrar manages registrations of
IBatteryPropertiesListener clients.

Add BatteryService native header with defines from BatteryManager, and
class BatteryProperties to pass battery/power status around.

Change-Id: I44e2736e503b586794097b7b9d31d07fefd9b15a
atteryservice/BatteryService.h
atteryservice/IBatteryPropertiesListener.h
atteryservice/IBatteryPropertiesRegistrar.h
194bc4ff7bf90af14771a3a7074c197a871e0127 18-Jul-2013 Alex Ray <aray@google.com> libutils: give BasicHashtableImpl a virtual destructor

Change-Id: I4ec590b060d732af5fe525670becbe778684247b
tils/BasicHashtable.h
ea3d82cfef602dbd5a7adb132678b47b9d6a223a 24-Jul-2013 Alex Ray <aray@google.com> utils: move thread enums to system/core

Change-Id: Ia97963cc9acf8661d01355786f5e7e7bf54581c2
tils/ThreadDefs.h
4ee6cbebfeaae9319660e116ab553732c8c2a3a7 24-Jul-2013 Colin Cross <ccross@android.com> Merge "libbinder: include sys/uio.h instead of cutils/uio.h"
f5f8fa0bbdc4ba8a15a386b66da30e4c1d89ec9d 23-Jul-2013 Colin Cross <ccross@android.com> libbinder: include sys/uio.h instead of cutils/uio.h

libbinder is only built for the target, where bionic will provide
uio, so it does not need to include the libcutils wrapper around
uio for windows.

Change-Id: Ifc2dd353bf7ed51bf08ec0ae91c43b12830f94ba
inder/BufferedTextOutput.h
0415d63b1adf15f6546fea902c66f8bd508afbfc 17-Jul-2013 Michael Wright <michaelwr@google.com> Add controller numbers for gamepads / joysticks

Change-Id: I5294aabbadb836a6a4c7ce76a670abcf50c1f885
nput/InputDevice.h
bdce8170479d0efb548514c1a290e1bfea711cfd 20-Jul-2013 Mathias Agopian <mathias@google.com> Merge changes Ic45929f3,Ic63f4f96,I1e703d36,I691f9507

* changes:
make sure to reset the framenumber when a buffer is marked FREE
Make ANW.setSwapInterval(0) work again
BuffferQueue disconnect is now always asynchrnous
BufferQueue improvements and APIs changes
7cdd786fa80cf03551291ae8feca7b77583be1c5 19-Jul-2013 Mathias Agopian <mathias@google.com> Make ANW.setSwapInterval(0) work again

we can now queue/dequeue a buffer in asynchrnous mode by using the
async parameter to these calls. async mode is only specified
with those calls (it is not modal anymore).

as a consequence it can only be specified when the buffer count
is not overidden, as error is returned otherwise.

Change-Id: Ic63f4f96f671cb9d65c4cecbcc192615e09a8b6b
ui/BufferQueue.h
ui/IGraphicBufferProducer.h
ui/Surface.h
e5bb2a45e0861c7ed953373f86afe44f255f021c 20-Jul-2013 Michael Wright <michaelwr@google.com> Merge "Add input device property for buttons under touchpads"
a3fbda3cef04d51a35a3eb64b2f744a989800856 19-Jul-2013 Mathias Agopian <mathias@google.com> BuffferQueue disconnect is now always asynchrnous

we tag queued buffers with the "bufferqueue cannot block" flag
and use that bit to discard a buffer in the queue by new ones
comming in. this allows us to remove the buffer queue drain in
disconnect while maintaining the right behaviour if it gets
connected again (since each buffer remembers how it was enqueued).

Change-Id: I1e703d363a687b70b19ba49cef32213116e8bd3f
ui/BufferQueue.h
595264f1af12e25dce57d7c5b1d52ed86ac0d0c9 17-Jul-2013 Mathias Agopian <mathias@google.com> BufferQueue improvements and APIs changes

this is the first step of a series of improvements to
BufferQueue. A few things happen in this change:

- setSynchronousMode() goes away as well as the SynchronousModeAllowed flag
- BufferQueue now defaults to (what used to be) synchronous mode
- a new "controlled by app" flag is passed when creating consumers and producers
those flags are used to put the BufferQueue in a mode where it
will never block if both flags are set. This is achieved by:
- returning an error from dequeueBuffer() if it would block
- making sure a buffer is always available by replacing
the previous buffer with the new one in queueBuffer()
(note: this is similar to what asynchrnous mode used to be)

Note: in this change EGL's swap-interval 0 is broken; this will be
fixed in another change.

Change-Id: I691f9507d6e2e158287e3039f2a79a4d4434211d
ui/BufferItemConsumer.h
ui/BufferQueue.h
ui/ConsumerBase.h
ui/CpuConsumer.h
ui/DummyConsumer.h
ui/GLConsumer.h
ui/IGraphicBufferProducer.h
ui/Surface.h
1962f6513732682645f74561c0665e168196056e 18-Jul-2013 Dianne Hackborn <hackbod@google.com> Merge "Follow framework change to track started ops by proc."
913b63d235a982174b66acad95ca2f87ac8a1982 18-Jul-2013 Dianne Hackborn <hackbod@google.com> Follow framework change to track started ops by proc.

Change-Id: Ibbce3bf6556f45751c74bab045b46377e56bff9b
inder/IAppOpsService.h
3ec92e1ad7258a61eb5bfb7f77fe883d23a85884 18-Jul-2013 Lajos Molnar <lajos@google.com> Merge "Clarify some android-specific OMX extensions for native buffers."
5f39f6043da49ca7ab1f682374e055deb73b0c89 17-Jul-2013 Lajos Molnar <lajos@google.com> Clarify some android-specific OMX extensions for native buffers.

Clarify the use of enableAndroidNativeBuffers and
storeMetaDataInBuffers extensions.

Change-Id: Ia1ca4a262525de74f133619f92ef6ba8271a6f72
Signed-off-by: Lajos Molnar <lajos@google.com>
edia/hardware/HardwareAPI.h
b6a0ca7276017ac6d2e846a857d663941a5bd382 16-Jul-2013 Jean-Baptiste Queru <jbq@google.com> Tweaks for forward compatibility

Change-Id: Id6a96521b3fd5bd2a034fe89cfa4d3a179a66328
ui/GLConsumer.h
7f069d79e7f04192610ef93901c89835fea46444 16-Jul-2013 Mathias Agopian <mathias@google.com> Merge "always pass the BufferQueue explicitely to consumers"
7556c37b1c1ddd82801bc9ea4cea1ade4d380a98 16-Jul-2013 Jeff Brown <jeffbrown@google.com> Merge "Completely remove skia dependency from libinput."
313eff7bb7e5eedbdbea805343451fd473241266 16-Jul-2013 Jeff Brown <jeffbrown@google.com> Completely remove skia dependency from libinput.

Including the tests...

Change-Id: I6ec8f1a5ae7e7514831d7e3b430b3b37b0841b92
nput/Input.h
174c26045c79c56acbd95f1644a72ca512c75134 16-Jul-2013 michaelwr <michaelwr@google.com> Merge "Add a keycode to switch audio tracks (2/2)"
5a2f68e5a5526ba80b5192776e2f0e349626777d 16-Jul-2013 Jeff Brown <jeffbrown@google.com> Fix PDK build.

Quick hack to remove Skia dependency from libinput.

Change-Id: Ibaf2e312236f5e3f7251fa903ce381456a77467c
nput/Input.h
40c9e0a3989222b4c27c88f54b6acf67b58a68cf 15-Jul-2013 Jeff Brown <jeffbrown@google.com> Add skeleton of input flinger.

Change-Id: I7f25080e446d4d3d9de9b18fe432a09bc751e0d9
nput/IInputFlinger.h
ada11c5e67cf8587ad3b53dd99c27455ef26291f 13-Jul-2013 Jeff Brown <jeffbrown@google.com> Make getCallingUid/Pid const.

Change-Id: I1853b21eaa45d85274189dfd72f73fec48d0d6b7
inder/IPCThreadState.h
8f938a53385a3c6d1c6aa24b3f38437bb2cc47ae 13-Jul-2013 Mathias Agopian <mathias@google.com> always pass the BufferQueue explicitely to consumers

Change-Id: I883b0a7b19d8e722f9ab714ba6f49e658b02ca86
ui/BufferItemConsumer.h
ui/CpuConsumer.h
ui/GLConsumer.h
8d06dcf9c663cccc44318c01c13f2b3ba0001b4c 08-Jul-2013 Jaekyun Seok <jaekyun@google.com> Add a keycode to switch audio tracks (2/2)

A key to switch audio tracks is general on media devices like blu-ray.

Bug: 9728155
Change-Id: I13ebbc64321f3cf10370f9a605f3d94ea0d16d6d
ndroid/keycodes.h
nput/KeycodeLabels.h
931fd6dee7891e94650353c09956ccf24b4dfff3 11-Jul-2013 Michael Wright <michaelwr@google.com> Add input device property for buttons under touchpads

Bug: 8990644
Change-Id: I6df5fb9e11199173d62523928082db428af55394
nput/InputDevice.h
c33f9a76b5dff1a9b4e4d0c76459c0d5b36a0d74 11-Jul-2013 Andy McFadden <fadden@android.com> Merge "Pay attention to buffer timestamps"
1585c4d9fbbba3ba70ae625923b85cd02cb8a0fd 28-Jun-2013 Andy McFadden <fadden@android.com> Pay attention to buffer timestamps

When acquiring a buffer, SurfaceFlinger now computes the expected
presentation time and passes it to the BufferQueue acquireBuffer()
method. If it's not yet time to display the buffer, acquireBuffer()
returns PRESENT_LATER instead of a buffer.

The current implementation of the expected-present-time computation
uses approximations and guesswork.

Bug 7900302

Change-Id: If9345611c5983a11a811935aaf27d6388a5036f1
ui/BufferItemConsumer.h
ui/BufferQueue.h
ui/ConsumerBase.h
ui/GLConsumer.h
ba02cd2f6cc3f59adf66cb2b9176bfe6c9e382d1 04-Jul-2013 Mathias Agopian <mathias@google.com> improve sensorservice's dumpsys

it now displays the reported trigger mode properly, as well as
the number and type of the last received data

Change-Id: I2ff64b32ab71f1332bc2e09671c8c02bb9550490
ndroid/sensor.h
cf90bad477055fb4f1ff34c0883d744a3dfe94a1 09-Jul-2013 Mathias Agopian <mathias@google.com> Merge "simplify some unnecessary complex code"
7438fd1a0132bc6de101e2a5f75040a119b6f29b 08-Jul-2013 Mathias Agopian <mathias@google.com> simplify some unnecessary complex code

getSensorType() ran in O(n) instead of O(1). fix that.

Change-Id: Idcf29e46fc34db32604a0d8e5a9156486783b74f
ndroid/sensor.h
06b6aed2f158d48ae04c4854d2a8832777ac942e 08-Jul-2013 Glenn Kasten <gkasten@google.com> Merge "mv libcpustats from frameworks/native to frameworks/av"
8d96cab8bfc1b40a8e05c6f43b485750a5ae0a52 26-Jun-2013 Todd Poynor <toddpoynor@google.com> binder: add polling / single-threaded operation

This is currently safe to do only for processes that disallow any binder
threads to be created: setThreadPoolMaxThreadCount(0).

Change-Id: I8a27f3cf26f4d51edb7f222af487ac256cbcab65
inder/IPCThreadState.h
f4f2bd21d5b57f1598172ddbc44817c10785bdb3 02-Jul-2013 Jean-Baptiste Queru <jbq@google.com> Tweak for forward compatibility

Change-Id: I6be78b607789c469f4ffad849a493d78e2539450
nput/KeycodeLabels.h
5912f95d26f77d2b6df13e1f2672e48e3f9b871c 02-Jul-2013 Jeff Brown <jeffbrown@google.com> Move input library code from frameworks/base.

Change-Id: I4983db61b53e28479fc90d9211fafff68f7f49a6
nput/Input.h
nput/InputDevice.h
nput/InputTransport.h
nput/KeyCharacterMap.h
nput/KeyLayoutMap.h
nput/Keyboard.h
nput/KeycodeLabels.h
nput/VelocityControl.h
nput/VelocityTracker.h
nput/VirtualKeyMap.h
bfc41519ce0ee04c7ec2681054d4a0f809ad0893 26-Jun-2013 Lajos Molnar <lajos@google.com> Merge "Add video extension OMX_VIDEO_CodingVP9 to support VP9 decoder."
00e595f10f9a3a009b55c982b4f9fab3d18e5333 25-Jun-2013 Andreas Huber <andih@google.com> Fix includes in HardwareAPI.h to be absolute and not relative

(but using system header syntax)

Change-Id: I504c5c5330ddd1e3b3d2fb4760b0235a4fda84d8
edia/hardware/HardwareAPI.h
5195e0808bbc0438f076c1ca92d3c257d64b7ca1 24-Jun-2013 hkuang <hkuang@google.com> Add video extension OMX_VIDEO_CodingVP9 to support VP9 decoder.

Change OMX_Video_CodingVPX to OMX_VIDEO_CodingVP8 in order
to be consistant with official OMX_VideoExt.h and avoid the
confusion with new extension OMX_VIDEO_CodingVP9.

This change needs to be merged with changes in frameworks/av to
avoid build break due to header change.

Change-Id: Iaa2dbafa76dc24ad3cf52a9bf3dee312e3c64bfa
edia/openmax/OMX_Video.h
edia/openmax/OMX_VideoExt.h
0077db94d5bc579ae46635958fc92cc446edd16d 24-Jun-2013 Lajos Molnar <lajos@google.com> Merge "media/hardware/HardwareAPI.h: Added metadata struct used by video decoder"
07d93d197ab41e60f91954592f6ffcd35ed757a0 03-May-2013 Lajos Molnar <lajos@google.com> media/hardware/HardwareAPI.h: Added metadata struct used by video decoder

This is the metadata layout when used by the video decoder.

Change-Id: I3497305ad23b3fc4e1e8eaaea7b0890bc1ffd5ad
Signed-off-by: Lajos Molnar <lajos@google.com>
Bug: 7093648
edia/hardware/HardwareAPI.h
abd070ee437aebdfeef45c3471a4d107890af95c 18-Jun-2013 Glenn Kasten <gkasten@google.com> mv libcpustats from frameworks/native to frameworks/av

OK to lose history

Change-Id: I18bfd988f19d037e480c27134eea21c8edcbfbf3
pustats/CentralTendencyStatistics.h
pustats/README.txt
pustats/ThreadCpuUsage.h
b4b63704c02319765625de360a140ef8a59ab43b 06-Jun-2013 Zhijun He <zhijunhe@google.com> CpuConsumer: Add set buffer size and format functions.

Add setDefaultBufferSize() and setDefaultBufferFormat(). ImageReader JNI need
them.

Bug: 9254294
Change-Id: I7d2464d43b0ca73fbb834ed22cecbfbb30eef60c
ui/CpuConsumer.h
ae772278fe52335b730442f3d86307787dea807e 03-Jun-2013 Zhijun He <zhijunhe@google.com> CpuConsumer: Remove CpuConsumer JNI ID.

Not used anywhere, and it is pretty confusing to have it here.

Bug: 9254294
Change-Id: I12b761532918b546a0f56c74ccf81b2c119ccd66
ui/CpuConsumer.h
ae4d9dd0dac927c335b5ea88097aa61e8276fcda 31-May-2013 Michael Wright <michaelwr@google.com> Merge "Added bitwise-or and bitwise-and to BitSet"
24beb02a7a6ce11d1805d9142748523ddbcdd0a7 21-May-2013 Michael Wright <michaelwr@google.com> Added bitwise-or and bitwise-and to BitSet

Change-Id: I9bbf41f9d2d4a2593b0e6d7d8be7e283f985bade
tils/BitSet.h
05431a94d4a814fe0cc9e8a0fbd75d51dea1f8df 30-May-2013 Jeff Sharkey <jsharkey@android.com> Merge "Bring back overloading to print String8/16."
fa7d40331cecfd89630440cb2fd20a918dc2d0f5 30-May-2013 Andrew Hsieh <andrewhsieh@google.com> am 75765d3a: am 1c45dc66: Merge "Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event"

* commit '75765d3af58ad7ed97c0d646c936294ba861848f':
Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event
8cb8925921523e701c59f5b1ac1c37825528fec7 30-May-2013 Jeff Sharkey <jsharkey@android.com> Bring back overloading to print String8/16.

Change-Id: Iecab20db2b8574d5f1e6fdefdc2c8d4ce6c37121
inder/TextOutput.h
75765d3af58ad7ed97c0d646c936294ba861848f 30-May-2013 Andrew Hsieh <andrewhsieh@google.com> am 1c45dc66: Merge "Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event"

* commit '1c45dc66c77f0ddb246a55d780206a183740ff7f':
Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event
1c45dc66c77f0ddb246a55d780206a183740ff7f 30-May-2013 Andrew Hsieh <andrewhsieh@google.com> Merge "Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event"
ad8ce823966f985bf8fb0f5c5fe49b27214ed15e 29-May-2013 Jeff Brown <jeffbrown@android.com> am 31ab96fc: am 135e4dbd: Merge "utils: Allow non android namespaces to use ALOGD_IF_SLOW"

* commit '31ab96fcc1810e044f8bdb35d3bfbbba2fa6bafd':
utils: Allow non android namespaces to use ALOGD_IF_SLOW
31ab96fcc1810e044f8bdb35d3bfbbba2fa6bafd 29-May-2013 Jeff Brown <jeffbrown@android.com> am 135e4dbd: Merge "utils: Allow non android namespaces to use ALOGD_IF_SLOW"

* commit '135e4dbd65d49730fbd6f830de7b303e01d20d5f':
utils: Allow non android namespaces to use ALOGD_IF_SLOW
135e4dbd65d49730fbd6f830de7b303e01d20d5f 28-May-2013 Jeff Brown <jeffbrown@android.com> Merge "utils: Allow non android namespaces to use ALOGD_IF_SLOW"
26c24162817a1986c2afbff15dbe896b0cbcc01d 26-May-2013 Andrew Hsieh <andrewhsieh@google.com> Fix AMotionEvent_getHistorical* to take const AInputEvent* motion_event

See b.android.com/55873

Change-Id: I92c549e1a595662d4df8fa0e47675ccb2b8814fd
ndroid/input.h
9e3cb55b8f6f007906872decfe3b8a2541e94dd2 07-May-2013 Lajos Molnar <lajos@google.com> BufferQueue: remove freeAllBuffersExceptHeadLocked()

Now that we are having separate buffer-instances for the buffer-
queue, we can free all buffers; we don't have to keep the head
alive.

Change-Id: I023e9161a2501d99333f8868ce438afa914ec50f
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
ui/BufferQueue.h
c5d7b7d323bba8772a9005f7d300ad983a04733a 03-May-2013 Lajos Molnar <lajos@google.com> BufferQueue: track buffer-queue by instance vs. by reference

Instead of representing the buffer-queue as a vector of buffer
indices, represent them as a vector of BufferItems (copies).
This allows modifying the buffer slots independent of the queued
buffers.

As part of this change, BufferSlot properties that are only
been relevant in the buffer-queue have been removed.

Also, invalid scalingMode in queueBuffer now returns an error.

ConsumerBase has also changed to allow reuse of the same
buffer slots by different buffers.

Change-Id: If2a698fa142b67c69ad41b8eaca6e127eb3ef75b
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
ui/BufferQueue.h
ui/ConsumerBase.h
ui/GLConsumer.h
d837969640efbc97eda2034c7811dda807d4174f 23-May-2013 Tim Murray <timmurray@google.com> Make trace macros slightly more robust

Change-Id: I9544eb7b27fc1a971cabadd8d5b4b4b80678febf
tils/Trace.h
80d7fd86e05e6f14dffc9f0c9bf176a7c8680f8c 20-May-2013 Dianne Hackborn <hackbod@google.com> Power manager now takes calling package name arg.

Change-Id: Iae57b8eb7abe4e66f0d2645db8cdf57acf7dcd3e
owermanager/IPowerManager.h
cb5368356eaa169a79d6c7d315fae8b371a41b50 18-May-2013 Chong Zhang <chz@google.com> Merge "wifi-display: add support for metadata mode on encoder output"
2381033ad001960c606d13e3a4198e5da3672ec7 17-May-2013 Mathias Agopian <mathias@google.com> am e6eef6c1: am ea74d3b7: make the warning timout of Fence::waitForever() implicit and longer

* commit 'e6eef6c136b007f3a7e1e19884875b855c0c5f95':
make the warning timout of Fence::waitForever() implicit and longer
ea74d3b78d607cde17790a7bb83e6f68ffd34cfd 17-May-2013 Mathias Agopian <mathias@google.com> make the warning timout of Fence::waitForever() implicit and longer

- timeout is now 3 seconds instead of 1
- simplifies the API a bit
- allows us to change/tweak this timeout globaly

Bug: 8988871

Change-Id: I8d3c6ec43a372f602fb3f29856710339f86c0ec9
i/Fence.h
685e68130b99d835a8846f6b70520af360213bb0 16-May-2013 Chong Zhang <chz@google.com> wifi-display: add support for metadata mode on encoder output

Bug: 8968123

Change-Id: I3d2b567d4908f5f49c0694589920babe1f6752cd
edia/hardware/HDCPAPI.h
f3e85d432749ca77ad707bec523b67d741d43e6e 11-May-2013 Mathias Agopian <mathias@google.com> take the "transparent region" into account for blending

until now it was only used to discard a layer entirely.
we're now reducing the size of the layer if it is still
visible, if possible.

this works for instance when a surfaceView is used and
only the menu bar is displayed over it.

Change-Id: I3f5527c5cd1e69ecc968272c8948f1513ada8c55
i/Rect.h
6c7f25afb75ac155bad0b3bc17c0089d0337d060 10-May-2013 Mathias Agopian <mathias@google.com> reformat Rect.{cpp|h}

Change-Id: I45b1f6646541a1abacce1e70df00a770e47b820e
i/Rect.h
b6df7d0e4c2117ca476662bd52b6745b3d8a305f 09-May-2013 Mathias Agopian <mathias@google.com> make all libsurfaceflinger and libsensorservice symbols's visibility hidden

we only export the main entry-point.
this saves about 150KB.

Change-Id: I55eb2b6705386fdfa43860deb62f9cdd2a0982aa
inder/BinderService.h
5d85d72a17ab4c87957c2802b92e5b67b5605558 09-May-2013 Mathias Agopian <mathias@google.com> remove unused declarations and reformat

Change-Id: I4e168fb62c275e02621c4b6e0c6000d0f006c327
tils/StrongPointer.h
a6cb0397da63af579bdbf2f0a6c178828a2cb03f 09-May-2013 Mathias Agopian <mathias@google.com> remove reserved virtual slots

these consume small amount of space (plt) in every library that
links against libutils.

Change-Id: I1b6b3dd9098aa5a051243f7a5dbf91cd7dcb8b2c
tils/VectorImpl.h
d487ca1ab331e60956c7819265723676b25b7fba 09-May-2013 Eino-Ville Talvala <etalvala@google.com> am 87ab83d9: am f743e3db: Merge "Add support for HAL_PIXEL_FORMAT_YCbCr_420_888" into jb-mr2-dev

* commit '87ab83d96b9d826e94a7169a6205bcf9c2ee633a':
Add support for HAL_PIXEL_FORMAT_YCbCr_420_888
f743e3db27dd639421913ee5e99d7a13ccc236ea 09-May-2013 Eino-Ville Talvala <etalvala@google.com> Merge "Add support for HAL_PIXEL_FORMAT_YCbCr_420_888" into jb-mr2-dev
57e5144a31208a7f2ca810412c5af5f63b44c4cb 09-May-2013 Mathias Agopian <mathias@google.com> Merge "new String8, String16 ctors to initialize empty static strings with static linkage"
8050299f5b12a8994f323fa5fcfe9199c12e3acf 09-May-2013 Mathias Agopian <mathias@google.com> new String8, String16 ctors to initialize empty static strings with static linkage

when libutils is statically linked, the ordering of the static
initializer is not guaranteed and therefore it's unsafe to use
empty static strings: e.g.:

static String8 sThisStaticStringIsNotSafe;

instead, this new constructor can be used:

static String8 sThisStaticStringIsSafe(kEmptyString);

Change-Id: Ia3daf1cab1c97d021c0ee9c2b394b5e27e8d6c0d
tils/String16.h
tils/String8.h
dc1b01141f9063af6f8b67bfebd8325da1216c1f 09-May-2013 Jeff Tinker <jtinker@google.com> am 2c228354: am b84d1cad: Correct native API documentation related to MediaDrm offline use case

* commit '2c2283549c72184145c9f030bbfe6124ee75d169':
Correct native API documentation related to MediaDrm offline use case
002e1e58dfe19dd3e49a59c6827cbf51573941a2 07-May-2013 Mathias Agopian <mathias@google.com> libutils clean-up

Change-Id: I6ff4cfc736751de2912c697f954e45e275f2d386
inder/BufferedTextOutput.h
inder/Debug.h
inder/TextOutput.h
rivate/binder/Static.h
rivate/utils/Static.h
tils/BufferedTextOutput.h
tils/Debug.h
tils/GenerationCache.h
tils/LruCache.h
tils/String16.h
tils/String8.h
tils/StringArray.h
tils/StrongPointer.h
tils/SystemClock.h
tils/TextOutput.h
tils/Timers.h
tils/WorkQueue.h
tils/ZipFileCRO.h
tils/ZipFileRO.h
tils/ZipUtils.h
tils/misc.h
b84d1cad1d481f75aa03d55ac07e4ff58dbfb84a 07-May-2013 Jeff Tinker <jtinker@google.com> Correct native API documentation related to MediaDrm offline use case

These doc updates were made previously to the java API but some
did not make it into the native API.

Change-Id: I9b7bfcd77bc593685254baca1c148deb7e1f91c7
related-to-bug: 8621588
edia/drm/DrmAPI.h
ffad7d1fdc8297df8285f16592f6f2ec3cab9828 06-May-2013 Dianne Hackborn <hackbod@google.com> Add new Looper API to check whether the looper is idle.

This is just to support the watchdog to give it a faster
way to determine if a thread is deadlocked without having
to post a message to it.

Change-Id: I068dc8b9387caf94fe5811fb4aeb0f9b57b1a080
tils/Looper.h
c43946b931de5dafd28f49963f9af78e05390b26 05-May-2013 Eino-Ville Talvala <etalvala@google.com> Add support for HAL_PIXEL_FORMAT_YCbCr_420_888

- Add fields to CpuConsumer::LockedBuffer for new information
- New lock methods for GraphicBuffer and GraphicBufferMapper for
the format

Bug: 8734880
Change-Id: If31f82c62d64b6942cf4cc6e5715585c03273f12
ui/CpuConsumer.h
i/GraphicBuffer.h
i/GraphicBufferMapper.h
bdcf1fe2ba4f6fe2eb63a5ec8246b1582b638e04 24-Apr-2013 Mathias Agopian <mathias@google.com> Merge changes I0d9f18d1,Ib96c9161

* changes:
Add a --color option to dumpsys SurfaceFlinger
clean-up/simplify all dump() APIs
6bbd8e30b5a740cc75615c8c4cff1767107da240 23-Apr-2013 Mathias Agopian <mathias@google.com> am 3cf76aff: am e692ab9a: fix uninitialized variables in GLConsumer

* commit '3cf76affd3ef28759789622e9e0134bdb045418b':
fix uninitialized variables in GLConsumer
74d211ae26a0257c6075a823812e40b55aa1e653 22-Apr-2013 Mathias Agopian <mathias@google.com> clean-up/simplify all dump() APIs

remove the scratch buffer parameter and use
String8::appendFormat() instead.

Change-Id: Ib96c91617c8e7292de87433d15cf6232b7d591b0
ui/BufferQueue.h
ui/ConsumerBase.h
ui/GLConsumer.h
e692ab9a6be63193c5b52a6562d85d06c40463b8 22-Apr-2013 Mathias Agopian <mathias@google.com> fix uninitialized variables in GLConsumer

mDefaultWidth, mDefaultHeight and mCurrentScallingMode are now
initialized to the same default value that BufferQueue uses.

Change-Id: I0d4da2022b06419d12745716d8ddbd48c8869953
ui/GLConsumer.h
6ca04ca7557b56ebc45a329bb939158d800c2da4 17-Apr-2013 Igor Murashkin <iam@google.com> am f3d93d43: am 187edf93: Merge "BufferItemConsumer: add functions to set default buffer format/size" into jb-mr2-dev

* commit 'f3d93d436373dcc39ff0b7f4aac938f4619421a2':
BufferItemConsumer: add functions to set default buffer format/size
187edf93c6245bb8fb3187c49f2174492ed6e049 17-Apr-2013 Igor Murashkin <iam@google.com> Merge "BufferItemConsumer: add functions to set default buffer format/size" into jb-mr2-dev
87d1e3427b536b5cb1123ddc357539cb4075687a 16-Apr-2013 Igor Murashkin <iam@google.com> BufferItemConsumer: add functions to set default buffer format/size

Bug: 8629088
Change-Id: I06f2e26a70d6dbcfcd70b08b4461e8e401f6e83f
ui/BufferItemConsumer.h
1bc7e2f6dd78499f8ad469c54e200edb654acc67 11-Apr-2013 Rom Lemarchand <romlem@google.com> Add support for OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m color format

Change-Id: I9392eb961ec92d4d778573b7a142344e552c80d6
edia/openmax/OMX_IVCommon.h
53dc9044bfe17039592faf4660c5bf715e8120ad 11-Apr-2013 Andy McFadden <fadden@android.com> Merge "Updated comments" into jb-mr2-dev
8758a3e3941bae9ef11948506950521c4682acf1 09-Apr-2013 Jamie Gennis <jgennis@google.com> Merge changes I82e361a6,I83694682 into jb-mr2-dev

* changes:
libgui_test: increase the tolerance for a YUV test
libgui: fix an EGLImage leak
ad669b04f4633957eea55b8ad2d8253adcefe39b 06-Apr-2013 Jamie Gennis <jgennis@google.com> libgui: fix an EGLImage leak

This moves the call to ConsumerBase::abandon from the ConsumerBase dtor to
ConsumerBase::onLastStrongRef. The abandon call relies on virtual methods to
perform the clean-up, so calling it from the ConsumerBase dtor after the
derived classes dtors ran was skipping some of the clean-up. The
onLastStrongRef method should get called just before the most derived class's
dtor gets called.

Bug: 8349135
Change-Id: I836946826927cc1ed69c049049f525f92b17a269
ui/ConsumerBase.h
753e3415cdaa99f9453d1ea71b163bf1b148e127 05-Apr-2013 Andy McFadden <fadden@android.com> Updated comments

Updated many comments. Added one minor error check.

Change-Id: Ib935dd99d417bada91d2e198008a50dd94269316
ui/BufferQueue.h
18bd1d6d55a275d23188251169dfe3cc74882665 05-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev
7eafcae5ffb7f6f12ee573dea685dc6989a0ee91 02-Apr-2013 Jeff Tinker <jtinker@google.com> Implement async event callout from drm plugin to Java app

Change-Id: I83a7757a7b83676ce1a9ffa6ff0a8e495e31b859
edia/drm/DrmAPI.h
2ca79399b933935eb1b6c0ec1f746f8c4475369c 03-Apr-2013 Mathias Agopian <mathias@google.com> latch transparent region hint only when we get a new frame

since the transparent region hint really depends on the
content of the window containing the SurfaceView
(it's calculated by the view hierarchy based on
overlapping views), it makes sense to latch it only when
the content of the window (the app) changes.

This should help fixing drawing artifacts when changing the
layout of a window containing a SurfaceView.

Bug: 8511430
Change-Id: Ic3aa668495293cb4d82a2cd7dcf3b6a337287678
i/Region.h
263e8cb29ce9b3c02dd417b9ee57d6d64d895e7f 03-Apr-2013 Jeff Tinker <jtinker@google.com> Merge "MediaDrm API update" into jb-mr2-dev
bcbd78bd246f1e68e44b4a6d6257dbfcec8e65b3 31-Mar-2013 Jeff Tinker <jtinker@google.com> MediaDrm API update

Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.

Change-Id: I418ffbb37e3036a2b5eea5a86ac88a5af1a9da07
edia/drm/DrmAPI.h
ca08833d5ea99130797e10ad68a651b50e99da74 29-Mar-2013 Mathias Agopian <mathias@google.com> don't use compile-time configuration of libgui as much as possible

We now detect at runtime which sync features to use, which
allows us to remove a lot of the compile-time configuration
options. There is still one option though, to disable
KHR_fence_sync on some devices (which are more efficient
without it).

- added a backdoor to get the vendor's EGL strings

the new logic is:
- use always ANDROID_native_fence_sync if available
- fallback to KHR_fence_sync if available and not disabled
by the compile-time option
- use KHR_wait_sync if available and either of the above is
enabled

Change-Id: I9c4b49d9ff1151faf902cc93bd53ea5f205aaabf
ui/GLConsumer.h
rivate/gui/SyncFeatures.h
8000d0694bc34bc17d869da546d8ff8790ae7be4 27-Mar-2013 Mathias Agopian <mathias@google.com> make sure to unlock the screenshot's buffer on destruction

this fixes a memory leak on various devices

Bug: 8475134
Change-Id: I25924674c803a0cb22371a95c60664c36acb0340
ui/SurfaceComposerClient.h
13f01cbdbd34779a234bc674df79e23672fd5c0b 20-Mar-2013 Jesse Hall <jessehall@google.com> Pass sp<Fence>s around instead of file descriptors

Change-Id: Iac70584a2207940730e8f803a543e4e9a4000c47
ui/GLConsumer.h
7133f8638e105548f6cca66a0ba9a6951993b7de 22-Mar-2013 Mathias Agopian <mathias@google.com> Merge "improved CallStack a bit" into jb-mr2-dev
cab25d680e644d962041d05a319e485b96136a5d 22-Mar-2013 Mathias Agopian <mathias@google.com> improved CallStack a bit

- added a ctor that updates and dumps the stack immediately
- added a "logtag" parameter to dump()

Change-Id: Ie51c256071d282591752243bdb4f68cf9ff8829d
tils/CallStack.h
aaebffd52f1bfa3d239bba0d60b699c01c6d791c 21-Mar-2013 Eino-Ville Talvala <etalvala@google.com> Merge "CpuConsumer: Properly track acquired buffers" into jb-mr2-dev
ac006439bb635cd99d8dcbefe95fa680e21519b5 21-Mar-2013 Ramanan Rajeswaran <ramanan@google.com> Merge "Revert "Revert "Change SurfaceControl setPosition to take floats""" into jb-mr2-dev
d6480c020b050c777ec1db2dd9c16fccfc47b47b 21-Mar-2013 Ramanan Rajeswaran <ramanan@google.com> Revert "Revert "Change SurfaceControl setPosition to take floats""

This reverts commit bbb57f3331c7182399ed82e9c4f93a965677dde3

Change-Id: Ib8f039f530d6b8175b5205c6c0008b135d4001a2
ui/SurfaceControl.h
ff7c2342e246696defa121a984d9731d000adeaf 20-Mar-2013 Mathias Agopian <mathias@google.com> Merge "rework how we take screenshots for a CPU consumer" into jb-mr2-dev
30041bd3a487c3bfe45a5b802a0d3443cfcc0c51 20-Mar-2013 Jeff Tinker <jtinker@google.com> Merge "Updated MediaDrm API based on review input." into jb-mr2-dev
abe815dd6978b718c04f6e22e1a893d2b51d11a1 20-Mar-2013 Mathias Agopian <mathias@google.com> rework how we take screenshots for a CPU consumer

We're not using IMemoryHeap as a transport anymore,
instead we're providing a CpuConsumer and use the
IGraphicBufferProducer version of the screenshot API.

However, some GPU drivers don't support properly
a GPU to CPU path, to work around this, we use a
temporary BufferQueue on the server side for the
GL rendering, and we use glReadPixels into the
CpuConsumer (we're now using a CPU to CPU path
which is always supported).

Currently this "wrapping" is always performed,
but it can be bypassed on devices that support
the GPU to CPU path.

This also addresses a DoS attack vector on
SurfaceFlinger, where an application could
consume all of SF's filedescriptors by creating
a lot of screenshots in a row.

Bug: 8390553

Change-Id: I9e81514c2a7711b9bb393f74305be7d2abe08f1c
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
4e37ddff43784a5a784beb4b62ea3f3136e1634b 19-Mar-2013 Mathias Agopian <mathias@google.com> Fix a crasher with RefBase debugging and vectors of wp<>

background:
we have some code to fix-up the IDs of references when
using RefBase's DEBUG_REFS when those refs are managed by
arrays wp<> or sp<> (this is because wp<> / sp<> don't have
a trivial ctor when DEBUG_REFS is enabled, and Vector
treats them as trivial for obvious performance reasons)

this is complicated by the fact that we don't want to have
to recompile everything when enabling DEBUG_REFs (i.e.: the
Vector code cannot know wheter it's enabled or not for its
template stuff).

problem:
there was a bug in the fix-up code for wp<> which was trying
to access the weakref_impl from the RefBase* however, this was
moronic since RefBase could have been destroyed if there wasn't
any more strong refs -- and this happned. Instead we need to get
the weakref_impl directly from the wp<>

Change-Id: Ie16e334204205fdbff142acb9faff8479a78450b
tils/RefBase.h
fae23b8757a6e1b70997db28a2eaf34f9ddc9b84 19-Mar-2013 Jesse Hall <jessehall@google.com> Merge changes I61ae54f3,I57cb668e,I7a3f1e1a,Id28a2f9b into jb-mr2-dev

* changes:
Add BufferQueueInterposer and use it for virtual displays
Add DisplaySurface abstraction
Fix argument types in IGraphicBufferProducer methods
Minor cleanups/fixes before virtual display refactoring
4c00cc11141da7d159eb2323b186ed344115c0f1 16-Mar-2013 Jesse Hall <jessehall@google.com> Fix argument types in IGraphicBufferProducer methods

Bug: 8384764
Change-Id: I7a3f1e1a0584a70af04f9eafef900505389d2202
ui/BufferQueue.h
ui/IGraphicBufferProducer.h
7adb0f8a9fdb961692ffd2f0c65cacb155143f64 07-Mar-2013 Jesse Hall <jessehall@google.com> Minor cleanups/fixes before virtual display refactoring

None of these should change behavior, except for removing some
incorrect log messages when using a virtual display.

- HWComposer::getAndResetReleaseFenceFd() checks the HWC version, so
no need to do that in the DisplayDevice::onSwapBuffersCompleted().
However, it should check that mFramebufferSurface is not NULL like
it is for virtual displays.
- Comment that FramebufferSurface::dump() overrides the non-virtual
ConsumerBase::dump(), and fix it so the right thing happens
regardless of the static type of the pointer/reference the callee
has. FramebufferSurface::dump() could be removed right now, but I'd
need to bring it back in a later change.
- Use the right enum for validating display type ids.
- Don't try to send hotplug events for virtual displays.
- Mark virtual displays as connected so HWComposer::prepare() doesn't
think something is wrong when it gets a non-NULL layer list.
- Remove unused FramebufferSurface methods.

Bug: 8384764
Change-Id: Id28a2f9be86b45f4bb7915fdf7752157035f4294
ui/ConsumerBase.h
ce7e278151d268f3cf55bcecd05f6be8c7e82e0f 16-Mar-2013 Jesse Hall <jessehall@google.com> Merge "Add Vector::resize()" into jb-mr2-dev
041a075262ef5fc886e46fd4eec3dd79ee2e60c0 16-Mar-2013 Mathias Agopian <mathias@google.com> don't allow screenshots without the READ_FRAMEBUFFER permission

the recent screenshot rework allowed the older screenshot
interface to work without that permission

Change-Id: I6c4743f4591c81106e3b823d55a055f7b4907de1
ui/ISurfaceComposer.h
e81421e1cbd14876b7e6ce143ff70efb3673be99 11-Mar-2013 Jesse Hall <jessehall@google.com> Add Vector::resize()

Bug: 8384764
Change-Id: Icee83d389f3e555eba7d419b64c8d52a9aa21b8b
tils/Vector.h
tils/VectorImpl.h
c47f0988a36c3032a3c8850c4df3a704dd59e468 14-Mar-2013 Elliott Hughes <enh@google.com> Revert "Add a compatibility symbol for the MemoryBase constructor."

Cherry pick from AOSP to fix the build.
See https://android-review.googlesource.com/#/c/53690/

This reverts commit 7f974ff2f317ffbf9256579109f000ec876c3037

Change-Id: I1b123f446d0ff41e11ff81d4ef5f1472b59cac93
inder/MemoryBase.h
5ca39ea57a4bfa04e90dd2aafc31c8f20bd8bf1c 14-Mar-2013 Elliott Hughes <enh@google.com> am 9b57ad73: am 8facd1b2: Merge "Add a compatibility symbol for the MemoryBase constructor."

* commit '9b57ad737bceba9f8d4f5be303c70fa72be00eaf':
Add a compatibility symbol for the MemoryBase constructor.
6dbf07d7d507ced94b00c73ce5b3c1eb3debc7ad 14-Mar-2013 Elliott Hughes <enh@google.com> Revert "Add a compatibility symbol for the MemoryBase constructor."

This reverts commit 7f974ff2f317ffbf9256579109f000ec876c3037

Change-Id: I28ebfc5ac88bd025471b613aa7958d23749e6991
inder/MemoryBase.h
7f974ff2f317ffbf9256579109f000ec876c3037 13-Mar-2013 Elliott Hughes <enh@google.com> Add a compatibility symbol for the MemoryBase constructor.

Third-party libraries are currently trying to use the
MemoryBase constructor but failing because we fixed the
definition of ssize_t. This is a stop-gap for users of
this private API until we can get them fixed.

Bug: 8253769
Change-Id: I8a19770f3252d88ee87023fde625cc6289924b0d
inder/MemoryBase.h
56c78c47d8c22621a8a23375d8a6c63d99a9335d 08-Feb-2013 Jeff Tinker <jtinker@google.com> Updated MediaDrm API based on review input.

Change-Id: I06716d2616bbe7efaea6cbf9ba7bf303dfae1650
edia/drm/DrmAPI.h
edia/drm/DrmClientAPI.h
edia/drm/DrmEngineAPI.h
35ffa6a868f1aa650c90956a4129bb70f780fc99 13-Mar-2013 Mathias Agopian <mathias@google.com> Surface can now be created only from an IGraphicBufferProducer

it can't write itself to a parcel, nor can it be created from a
parcel.

Change-Id: I69165d5c54d6024b3e546e80d8b57e3dedda7893
ui/Surface.h
4d9b822e2c18142e55fe2611aa6cd7dc7d4a62c6 13-Mar-2013 Mathias Agopian <mathias@google.com> get rid of ISurface

ISurface was only used to get the IGraphicBufferProducer from
a Layer. It's now replaced by a BBinder subclass / IBinder and
is only used as a handle to the surface, to both refer to it
and manage its life-time.

Also cleaned-up a bit the ISurfaceComposer interface and
"create layer" code path.

Change-Id: I68d0e02d57b862cffb31d5168c3bc10cea0906eb
ui/ISurface.h
ui/ISurfaceComposerClient.h
ui/SurfaceControl.h
rivate/gui/LayerState.h
2aee1b01b7f4e1e0849f5653139a995ad6ba877e 12-Mar-2013 Michael Wright <michaelwr@google.com> Merge "Add TOUCH_NAVIGATION input source" into jb-mr2-dev
dbca4a0ee5dac0b2f8d0ed4b1667adbf11363e35 11-Mar-2013 Romain Guy <romainguy@google.com> Merge "Add Thread::isRunning and Condition::signal(WakeUpType)" into jb-mr2-dev
9447be65c34b66b01a19a85f4b07bb9c685e847a 11-Mar-2013 Romain Guy <romainguy@google.com> Add Thread::isRunning and Condition::signal(WakeUpType)

The signal() method is useful to choose whether to wake up one or
all threads.

Change-Id: I062ab6d3ddd306a9fb735549ea140e2a76eed75a
tils/Condition.h
tils/Thread.h
aadaca7169b847d855cf43d94f74800e9faadfc8 11-Mar-2013 Michael Wright <michaelwr@google.com> Add TOUCH_NAVIGATION input source

Change-Id: Id76e2e85246269ba7b16bb9635e41593b45cac1c
ndroid/input.h
e3e43b384e0603e5883b501cdb169641fab8fea2 08-Mar-2013 Mathias Agopian <mathias@google.com> rename binder services main thread to Binder_*

When a binder service's main thread joins the thread pool
it retains its name (whatever the exec name was), which is
very confusing in systrace.

we now rename that thread just like its friends in the
thread pool.

Change-Id: Ibb3b6ff07304b247cfc6fb1694e72350c579513e
inder/BinderService.h
inder/ProcessState.h
tils/AndroidThreads.h
e041716ba17674b9af957f68750ad6b2df376c22 07-Mar-2013 Mathias Agopian <mathias@google.com> Make GraphicBuffer a RefBase

- this gives us access to RefBase's refcounting debugging
- it doesn't cost much because GraphicBuffer already has a vtable

Change-Id: I7f696e421fea14b14bfaeb83880689b83e96af4d
i/GraphicBuffer.h
d82bea798e5996e9cbf4ea4d31ea71f87ad9e952 07-Mar-2013 Jean-Baptiste Queru <jbq@google.com> Tweaks for forward compatibility

Change-Id: I136fcbbc14072ee5f5281d09445f28d083ed3ce1
ui/GLConsumer.h
ui/Surface.h
tils/LinearAllocator.h
089a15298e045598bf15fd2a46284c34dd56384c 05-Mar-2013 Mathias Agopian <mathias@google.com> Remove support for ScreenshotLayer

Change-Id: I5b571a4cf3faa77d2c4aca916fa4bd00a1065bb9
ui/ISurfaceComposerClient.h
042ecee2abf8584585f1f22f661ac6be9689edf4 01-Mar-2013 Eino-Ville Talvala <etalvala@google.com> CpuConsumer: Properly track acquired buffers

CpuConsumer cannot simply assume a slot's buffer is the same buffer
between acquire and release, and therefore it could be possible for
the same slot to get used for a second acquired buffer, if there's a
producer disconnect in between. This would cause a problem when the
first buffer is released by the consumer.

Instead, use an independent list of acquired buffers to properly track
their state.

Bug: 8291751
Change-Id: I0241ad8704e53d47318c7179b13daed8181b1fab
ui/CpuConsumer.h
306f18c5fb15ac05db09ece7241af02b9713a23d 05-Mar-2013 Mathias Agopian <mathias@google.com> Merge "rework screenshot API and implementation" into jb-mr2-dev
2a9fc493dfdba67108e4335bb1fe931bc1e2a025 01-Mar-2013 Mathias Agopian <mathias@google.com> rework screenshot API and implementation

- SurfaceFlinger now supports to take a screenshot
directly into an IGraphicBufferProducer

- reimplement the IMemoryHeap screenshot on top
of the above

- reimplement LayerScreenshot such that its
BufferQueue is directly used as the destination
of the screenshot. LayerScreenshot is now a thin
wrapper around Layer

Bug: 6940974

Change-Id: I69a2096b44b91acbb99eba16f83a9c78d94e0d10
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
bbb57f3331c7182399ed82e9c4f93a965677dde3 01-Mar-2013 Dave Burke <daveburke@google.com> Revert "Change SurfaceControl setPosition to take floats"

Temporary, to fix weekend build, until we get Nvidia code drop.

This reverts commit 9a867a8798fa6ea21f6341db31e38ea64fde6c83

DO NOT MERGE

Change-Id: I7b5dbc4db46ef3d97dc8598057d5487d6971178b
ui/SurfaceControl.h
eb0d12963d271052c24abb025d698504df9e7573 28-Feb-2013 Eino-Ville Talvala <etalvala@google.com> CpuConsumer: Add optional asynchronous mode

Bug: 8290146
Bug: 8291751

Change-Id: I9c8ac4bff38b0411e987a204e540d018dba6d0b4
ui/CpuConsumer.h
64d8b1903e4b5f2838818eedcf4fef748b38709c 28-Feb-2013 Eino-Ville Talvala <etalvala@google.com> CpuConsumer: Don't unlock buffers on producer disconnect

Bug: 8291751

Change-Id: I062a3d34b41183d07fb6b9109cdb6bf0c0c75672
ui/CpuConsumer.h
3e010f3138593cc6953039ee0e3db8ee31881296 26-Feb-2013 Chris Craik <ccraik@google.com> Add createTJunctionFreeRegion

T-junction free regions are useful for rendering regions with various
geometric transformations, and the Region's span-ordered, sorted rect
list supports T-junction free storage without modification.

This approach creates a T-junction free region by splitting each
rectangle that is part of a vertical T-junction. This approach is two
pass (up and down) so that divisions can trickle up/down to other
adjacent spans.

Change-Id: Ifcf5e6fe0034c96b00ef09a4433b2b0fce8f4300
i/Region.h
89592bbede762588248006f20afd8bd9d4bf5a98 26-Feb-2013 Igor Murashkin <iam@google.com> GraphicBuffer.h: Remove redundant friend class declaration causing warnings

Change-Id: I8a4b0e0b4d0a1cf472de820553c31f2d42044543
i/GraphicBuffer.h
9a867a8798fa6ea21f6341db31e38ea64fde6c83 22-Feb-2013 Michael Wright <michaelwr@google.com> Change SurfaceControl setPosition to take floats

Bug: 8153162
Change-Id: If3c4b7a3e124ace25999eb9a569dc9a806a1fbc2
ui/SurfaceControl.h
a7121cf44bba20374a20003e13c4eaeb42871eeb 22-Feb-2013 Mathias Agopian <mathias@google.com> Merge "get rid of Surface::getISurfaceTexture()"
cf0b8c85fb0106751256dba7821f86b5ad03126c 20-Feb-2013 Mathias Agopian <mathias@google.com> get rid of Surface::getISurfaceTexture()

this was there just for legacy reasons.

Change-Id: I0a48d6e04d7efa65033f9f10c91bba557f16ae8b
ui/Surface.h
e88a85e0d0a25c943e974114557770ba10b81847 19-Feb-2013 Eino-Ville Talvala <etalvala@google.com> Fixes to native app ops services

Bug: 8181262
Change-Id: I3d3f20453f6c6f2756c988363c5b5453ef309cb6
inder/AppOpsManager.h
inder/IAppOpsService.h
c4905eb49d20667381f3cda7c6f6894234404bd3 16-Feb-2013 Mathias Agopian <mathias@google.com> fix build: SurfaceTextureClient to Surface rename

Change-Id: I0041e6f49bc637bc52161c83f0bd44101246f480
ui/Surface.h
f25c5086cf46eb029d887f34f25a09220e44958c 15-Feb-2013 Mathias Agopian <mathias@google.com> fix build: SurfaceTextureClient to Surface rename

Change-Id: I54d68241f1080eef640aefe71f33912ad79345ef
ui/Surface.h
30717e043a876a6124967d07649e322768088767 13-Feb-2013 Naseer Ahmed <naseer@codeaurora.org> utils: Allow non android namespaces to use ALOGD_IF_SLOW

Change-Id: I9207b64954fae2f56cc5f6aa5796a2e737400623
tils/Log.h
e3c697fb929c856b59fa56a8e05a2a7eba187c3d 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
ui/IGraphicBufferProducer.h
ui/Surface.h
ui/SurfaceComposerClient.h
ui/SurfaceControl.h
ui/SurfaceTextureClient.h
i/GraphicBuffer.h
6d9b9dfd555ee2bc1dd8381dde95d45f9500b3ca 14-Feb-2013 Mathias Agopian <mathias@google.com> remove access ANDROID_VIEW_SURFACE_JNI_ID

Change-Id: I0ef474ed9be2cd26fa520ef871ffcf21a25e4994
ui/Surface.h
ui/SurfaceComposerClient.h
ac9fa427d4a86745e60a5f7fd8e3ea340c4db907 12-Feb-2013 Mathias Agopian <mathias@google.com> get rid of Surface identity and token

we use the IBinder instead.

Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
ui/ISurface.h
ui/ISurfaceComposerClient.h
ui/Surface.h
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
c8a1e10fd2465509685d382c79d7c059db8491ac 13-Feb-2013 Dianne Hackborn <hackbod@google.com> Merge "Implement issue #6646859: 4K!!!! 4K!!!! 4K!!!!"
6303d06ece8597e7508663b699e614e4ce0d8f9e 13-Feb-2013 Dianne Hackborn <hackbod@google.com> Implement issue #6646859: 4K!!!! 4K!!!! 4K!!!!

Change-Id: I1bb630c58d0d41446b726de1b9d2c3875fcbbceb
ndroid/configuration.h
5da5ca520cca085528588f6067acb1c437001ef2 13-Feb-2013 Dianne Hackborn <hackbod@google.com> App ops: new native access API.

This is to help implementation of bug #8181262 and maybe
bug #8181261

Note the current code has not yet been tested; it is only
known to compile at this point.

Change-Id: I489674c96d0d3fc0ddacc92611931a19a9ee5230
inder/AppOpsManager.h
inder/IAppOpsCallback.h
inder/IAppOpsService.h
203f89a75a28222b1d9940227d266a3bdd7f99b9 06-Feb-2013 Kunter Gultekin <kuntergultekin@google.com> Adds some OpenMAX 1.1.2 IL extension headers.

Includes index and video extension headers
in order to support vpx specific parameters
and enable vpx encoder.

Note that existing (seemingly modified) version
of OMX_Video.h semantically conflicts with
official OMX_VideoExt.h because former includes
OMX_Video_CodingVPX as OMX_VIDEO_CODINGTYPE
whereas official extension headers denote
it as OMX_VIDEO_CodingVP8 within
OMX_VIDEO_CODINGEXTTYPE.

Change-Id: Ibab9663fcbc9c406a2cfb4bf79fe21e3b01a6e66
Signed-off-by: Kunter Gultekin <kuntergultekin@google.com>
edia/openmax/OMX_IndexExt.h
edia/openmax/OMX_VideoExt.h
cf89c76ee02d3c4e629ed4f793ec503b4448de45 01-Feb-2013 Michael Wright <michaelwr@google.com> Merge "Add keycodes for brightness up/down"
e85650d6032c7c66f5c1faf15399a5b7cb59bb63 01-Feb-2013 Michael Wright <michaelwr@google.com> Add keycodes for brightness up/down

Change-Id: I8ed56b510c46f372df0fc71e1735c72058efc677
ndroid/keycodes.h
0dcde5213ba6531f2895f340f523c09895275f51 30-Jan-2013 Andreas Huber <andih@google.com> Extend the HDCP API to also allow for a _decryption_ module, the counterpart

to what we previously defined exclusively.

Change-Id: I774d3cd7146da77675dcb90e33c9552cb7b10ac6
edia/hardware/HDCPAPI.h
62b40b35358910315be9ea44520ad6403d0023f6 17-Jan-2013 Marco Nelissen <marcone@google.com> Add new format constant

Change-Id: I8a53c69c9e44450b7ee3d32750965d53265812bf
edia/openmax/OMX_IVCommon.h
882e3a39ed770b335a203e233b57127fde1c839e 09-Jan-2013 Andy McFadden <fadden@android.com> Add some comments.

Also, minor tweak to SurfaceTextureLayer.

Change-Id: If616d5ee4e8226dd0e16c5dbb0e0f80db553110e
ui/ISurfaceComposer.h
ui/Surface.h
ui/SurfaceTextureClient.h
466a192d2088f9238d34597d1aa28da41367c1ca 08-Jan-2013 Andy McFadden <fadden@android.com> Minor tweaks.

Change-Id: I9f82f574112141b6aa074c42303056cd52d5c478
ui/IGraphicBufferProducer.h
8ab80a2d71d5a61bbf5dfd363a8bdd2e954ce131 29-Nov-2012 Jeff Tinker <jtinker@google.com> Add DRM Client API header files for DASH support

Change-Id: Ia4cdcbe193d087d33e2ee91e6f5364cbcc237554
edia/drm/DrmClientAPI.h
edia/drm/DrmEngineAPI.h
2adaf04fab35cf47c824d74d901b54094e01ccd3 18-Dec-2012 Andy McFadden <fadden@android.com> Rename ISurfaceTexture and SurfaceTexture

The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.

Bug 7736700

Change-Id: Ia03e468888025b5cae3c0ee1995434515dbea387
ui/BufferItemConsumer.h
ui/BufferQueue.h
ui/ConsumerBase.h
ui/CpuConsumer.h
ui/DummyConsumer.h
ui/GLConsumer.h
ui/IGraphicBufferProducer.h
ui/ISurface.h
ui/ISurfaceComposer.h
ui/ISurfaceTexture.h
ui/Surface.h
ui/SurfaceComposerClient.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
rivate/gui/LayerState.h
0273adbf0bc202eda2ca579ae0773464ea9c701f 13-Dec-2012 Andy McFadden <fadden@android.com> Added some comments

Added a quick intro section at the top of the class. Also noted
the proposed new name for the class.

Change-Id: I3f79663527544aa4e910db0e5a1374b54d16ba2f
ui/ISurfaceTexture.h
ui/Surface.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
44615b88184bfb5827789816a115afa5013badd0 17-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> am 8d9f0118: am fdd8551f: Merge "Fix build"

* commit '8d9f0118926d54b5a5fc1508a7c43aa661839f1f':
Fix build
8d9f0118926d54b5a5fc1508a7c43aa661839f1f 17-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> am fdd8551f: Merge "Fix build"

* commit 'fdd8551fe83754846cb91e2d7325ef90d2e0fb28':
Fix build
370980c52867864e1b0acd9f132e527fb6b2adee 17-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> Fix build

Change-Id: Ie011cbf74a08f760ccd93ca37fa2b437b7063462
ndroid/bitmap.h
b41ad7ec0c8ff6f79562254d124e39bf3458ebc1 16-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> am d8f2daad: am acfcd62a: Merge "Revert "Fix typo""

* commit 'd8f2daada3a828c5d9e6dfa29f53ab054618e129':
Revert "Fix typo"
d8f2daada3a828c5d9e6dfa29f53ab054618e129 16-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> am acfcd62a: Merge "Revert "Fix typo""

* commit 'acfcd62aa9300087d3e8cca79e59b0abdcaaee35':
Revert "Fix typo"
4bb20303d95e7d6242e648ce506ab939420dbe71 16-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> am 670c570e: Merge "Fix typo"

* commit '670c570e75e399432e96c9fd1dfa3fb92869f10c':
Fix typo
c7d5fa98b5a349d6fbba85a285c3f3e16aee4315 16-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> Revert "Fix typo"

This reverts commit c118edfc1ab9a608537ebc2f2ec936216f15a36c

Need to go together with https://android-review.googlesource.com/#/c/48117/

Change-Id: Ib413be1035cfb1d18cc9cf4099694a308dadf8f5
ndroid/bitmap.h
c118edfc1ab9a608537ebc2f2ec936216f15a36c 12-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> Fix typo

Changed ANDROID_BITMAP_RESUT_SUCCESS -> ANDROID_BITMAP_RESULT_SUCCESS

Change-Id: I4e15e946107ea6f3d0955f72e97894512743c6ca
ndroid/bitmap.h
1aa652807b5135d7cf9c5f6eed2268c9aa4984e0 14-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> Merge "Fix typo"
0859b78db2b094d20efb7b3e725c4732fcdeb4d5 12-Dec-2012 Igor Murashkin <iam@google.com> Merge "utils: fix warnings for unused parameters"
3c1ada982202d97ecd0a9a542b5373e2d78658fb 12-Dec-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceTextureClient: remove a deprecated ctor"
4def8600305bc2b7f947c9fc0811095b7c17c8e2 12-Dec-2012 Jamie Gennis <jgennis@google.com> SurfaceTextureClient: remove a deprecated ctor

Change-Id: Ibf2746fdca26851677cd90199c60eab80f6d0c73
ui/SurfaceTextureClient.h
c6f04666c205a72add3c856455bf212f0c84d6fc 12-Dec-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceFlinger: Move GraphicBufferAlloc to libgui"
31e575b4a93596d0b76059eae5e9464aed2d17ec 12-Dec-2012 Andrew Hsieh <andrewhsieh@google.com> Fix typo

Changed ANDROID_BITMAP_RESUT_SUCCESS -> ANDROID_BITMAP_RESULT_SUCCESS

Change-Id: I4e15e946107ea6f3d0955f72e97894512743c6ca
ndroid/bitmap.h
392edd88cb63d71a21a86a02cf9c56ac97637128 30-Nov-2012 Jamie Gennis <jgennis@google.com> SurfaceFlinger: Move GraphicBufferAlloc to libgui

This change moves the GraphicBufferAlloc class from SurfaceFlinger to libgui.

Change-Id: Idf31d2004efa2651b60590733f73c4a7b831e8a9
ui/GraphicBufferAlloc.h
97eba8904c2f221c42a9473407223a4c3a213f75 12-Dec-2012 Andy McFadden <fadden@android.com> Avoid unnecessary texture bind

In SurfaceFlingerConsumer, check to see if native fence sync is
enabled. If so, defer the texture binding step to Layer::onDraw.

Change-Id: I7d4034a31c0143207eea2509dfa13ef3820f9b8c
ui/SurfaceTexture.h
bf974abe92f7495529916fe0f483f3b56e7c30e3 05-Dec-2012 Andy McFadden <fadden@android.com> Refactor SurfaceTexture a bit.

Rearranges updateTexImage() so that the SurfaceFlinger-specific
behavior is in a new SurfaceFlingerConsumer subclass.

SurfaceTexture behavior should not be altered. Instead of
acquire-bind-release we now do acquire-release-bind, but since
it's all done with the lock held there shouldn't be any
externally-visible change.

Change-Id: Ia566e4727945e2cfb9359fc6d2a8f8af64d7b7b7
ui/BufferQueue.h
ui/SurfaceTexture.h
7df16644c4e5fbb30d011b9098d9c8833f89f0aa 07-Dec-2012 Jamie Gennis <jgennis@google.com> am 2d659286: am 2e59d2c3: DO NOT MERGE GraphicBufferAllocator: make frees async

* commit '2d659286b59dc7ff7378fe967f1c425e92155995':
DO NOT MERGE GraphicBufferAllocator: make frees async
2d659286b59dc7ff7378fe967f1c425e92155995 07-Dec-2012 Jamie Gennis <jgennis@google.com> am 2e59d2c3: DO NOT MERGE GraphicBufferAllocator: make frees async

* commit '2e59d2c3fdc0bcfedbe9c5d04d7acadc3eff8887':
DO NOT MERGE GraphicBufferAllocator: make frees async
2e59d2c3fdc0bcfedbe9c5d04d7acadc3eff8887 07-Dec-2012 Jamie Gennis <jgennis@google.com> DO NOT MERGE GraphicBufferAllocator: make frees async

This change makes GraphicBufferAllocator::free queue a job to another thread to
perform the actual free operation. This prevents potentially slow free
operations from blocking rendering.

Bug: 7675940
Change-Id: Id61099d66bb4c3949d04184e0d7f192ac18076b4
i/GraphicBufferAllocator.h
0a73f822b1da82663a00d0ab977058a0dc40c50d 05-Dec-2012 Chris Craik <ccraik@google.com> Add LinearAllocator

Moving from external/webkit/Source/WebCore/platform/graphics/android/utils/

Change-Id: If91830aa9b207dbc8692b2ca7c4a0b76778addd5
tils/LinearAllocator.h
6dbe6d4d0fb437e15ef578653950c8422741bdf3 06-Dec-2012 Igor Murashkin <iam@google.com> utils: fix warnings for unused parameters

Change-Id: Ibfb755a30ba2923669060fe0aed019beecbe38a1
tils/Mutex.h
tils/RWLock.h
tils/RefBase.h
653078f652a7945756c2b02e294155a8345a5a1c 01-Dec-2012 Alex Ray <aray@google.com> utils: clarify scoped tracing functionality

ScopedTrace objects were being used in place of ATRACE_NAME because of a
misunderstanding of it's function. Cleared up documentation for usage.

Also explicitly use global namespace for sysprop callback.

Change-Id: I7c248b486b614ccdb841659ca0dcfc644fda670a
tils/Trace.h
72f320195ce1dd03036d2452f405ef3c9bc4e21e 29-Nov-2012 Alex Ray <aray@google.com> Merge "utils: Use cutils tracing functionality."
b7e06477f0356574c625cb97660e4f8b092d9c5e 15-Nov-2012 Alex Ray <aray@google.com> utils: Use cutils tracing functionality.

Tracing functionality has moved to cutils.

Change-Id: Ie78ccc1d59dd5178f5058fbc3858a37f9adce552
tils/Trace.h
f1951df8a13e8ed7a8041b815bf7c476991adfc2 29-Nov-2012 Romain Guy <romainguy@google.com> Add LruCache::Iterator

Required by libhwui

Change-Id: I164b9a4a82d89d132da01a56535c0df084de86f7
tils/LruCache.h
e402f1fde2deca0b1120e6d582ab9dce59879ae1 29-Nov-2012 Romain Guy <romainguy@google.com> Add another ifndef and a couple of methods to LruCache

The new methods on LruCache are needed by libhwui to manage
the cache of paths.

Change-Id: If54fa325c54e2b04e7fe5dfe6dad66066c40127c
tils/JenkinsHash.h
tils/LruCache.h
98fc88d3ce6c8e177afd91d4a80ad71a9f9af2af 28-Nov-2012 Romain Guy <romainguy@google.com> Add #ifndef to prevent multiple definitions

Change-Id: Ib861eee0f333fe29290437b7e67623622d8dabd0
tils/LruCache.h
82dbc7429f5f9f2b303b31dc5b9f2bfd1bbe6add 09-Nov-2012 Jamie Gennis <jgennis@google.com> SurfaceFlinger: refactor frame time tracking

This change moves the frame time history tracking code out of Layer and into a
new class called FrameTracker. It also changes the tracking to use signal
timestamps from fences when available for more accurate results.

Change-Id: I323c5f075c58bf86ce363b52af885ad0f6365f2b
i/Fence.h
2bdd8fd65a8fa4b48db26d3873010608d154666f 10-Nov-2012 Andy McFadden <fadden@android.com> am 41f7736a: am 434e21bf: am 3fdeb48e: Reduce emulator logspam

* commit '41f7736ad1e72df8796416a82ce3cede6193d1eb':
Reduce emulator logspam
41f7736ad1e72df8796416a82ce3cede6193d1eb 10-Nov-2012 Andy McFadden <fadden@android.com> am 434e21bf: am 3fdeb48e: Reduce emulator logspam

* commit '434e21bfd6b14f8d99b9bcdb829e7252edd574f3':
Reduce emulator logspam
434e21bfd6b14f8d99b9bcdb829e7252edd574f3 10-Nov-2012 Andy McFadden <fadden@android.com> am 3fdeb48e: Reduce emulator logspam

* commit '3fdeb48e3c89be15fe3b539a26ec9a3cf28c898c':
Reduce emulator logspam
3fdeb48e3c89be15fe3b539a26ec9a3cf28c898c 30-Oct-2012 Andy McFadden <fadden@android.com> Reduce emulator logspam

The emulator doesn't support systrace, but we should point that out
at most once per process.

Bug 7436352

Change-Id: I06b2c1ea0df6c02c11cd2496423c337f8d7c62a1
tils/Trace.h
a4a3149a36bc69a06e4824aeae909ab910661070 29-Oct-2012 Igor Murashkin <iam@google.com> Change ConsumerBase's FrameAvailableListener to be a weak pointer

This prevents strong reference cycles when the listener implementation also
holds a strong pointer to the ConsumerBase

Bug: 7425644
Change-Id: I1514b13a32b18d421c902dddebec0765a989c55c
ui/ConsumerBase.h
ui/SurfaceTexture.h
3bc7b2757125b511377ed918f83f5918d382c514 29-Oct-2012 Raph Levien <raph@google.com> Merge "Add an LRU cache plus hashing primitives"
8185e47822465a5c7a9cc6e56a11f16996855d79 26-Oct-2012 Raph Levien <raph@google.com> Add an LRU cache plus hashing primitives

This patch adds a hashtable-based LRU cache. This should be
significantly higher performance than the GenerationCache it is intended
to replace. It is a large part of the fix for bug 7271109
TextLayoutCache low-level performance issues.

We added a new method to BasicHashtable to detect when rehashing is
needed, because the internal linked list pointers would get invalidated
by that rehashing.

Also, the hash_type specialized to pointers had a small flaw.

Change-Id: I950c2083f96519777b851dbe157100e0a334caec
tils/BasicHashtable.h
tils/JenkinsHash.h
tils/LruCache.h
tils/TypeHelpers.h
7e4eb72ad883b5182130a31962d23b5afdf1c261 26-Oct-2012 Jason Simmons <jsimmons@google.com> am 40cd4515: am 78b4977e: Merge "Ensure that Vector::erase() returns a valid iterator" into jb-mr1-aah-dev

* commit '40cd45151513ecc02c95e0cc1b40480dd816cdd4':
Ensure that Vector::erase() returns a valid iterator
40cd45151513ecc02c95e0cc1b40480dd816cdd4 26-Oct-2012 Jason Simmons <jsimmons@google.com> am 78b4977e: Merge "Ensure that Vector::erase() returns a valid iterator" into jb-mr1-aah-dev

* commit '78b4977efd365d2ad7c9227c3a89e65ab60c3260':
Ensure that Vector::erase() returns a valid iterator
78b4977efd365d2ad7c9227c3a89e65ab60c3260 26-Oct-2012 Jason Simmons <jsimmons@google.com> Merge "Ensure that Vector::erase() returns a valid iterator" into jb-mr1-aah-dev
689925caf4b94d40d74e0a9be517e2cbd13586ab 26-Oct-2012 Jason Simmons <jsimmons@google.com> Ensure that Vector::erase() returns a valid iterator

Vector::erase may reallocate the Vector's storage while removing an element.
However, erase() calls begin() before calling removeItemsAt(), thus caching
a pointer the the Vector's old storage. If the storage is reallocated,
the iterator returned by erase() will be based on the old storage pointer
and will thus be invalid.

Change-Id: I2450c55fd418e6b1c558a4ca7c024573abbaa098
tils/Vector.h
0491524f83cbf7ce18ce7a4d28ae89ddab2df77f 25-Oct-2012 Dave Burke <daveburke@google.com> am 296cd1cb: am 04075569: Revert "Revert "put back the unused virtuals in Vector<>""

* commit '296cd1cb9ac7b7ea201662860347755d0349a7de':
Revert "Revert "put back the unused virtuals in Vector<>""
296cd1cb9ac7b7ea201662860347755d0349a7de 25-Oct-2012 Dave Burke <daveburke@google.com> am 04075569: Revert "Revert "put back the unused virtuals in Vector<>""

* commit '04075569b565c949a6db8b4e8a9f10d281de4d9c':
Revert "Revert "put back the unused virtuals in Vector<>""
04075569b565c949a6db8b4e8a9f10d281de4d9c 25-Oct-2012 Dave Burke <daveburke@google.com> Revert "Revert "put back the unused virtuals in Vector<>""

This reverts commit 225c66a48cdc3acef21ee380dc134449749d3cb3

Change-Id: If31a04b81052cbc7dd7bf237c07107c33066d03d
tils/VectorImpl.h
126d215667ea6e17226ef3020ef10973bcf5d59c 24-Oct-2012 Mike Lockwood <lockwood@google.com> More changes to fix PDK build:

move screencap back to frameworks/base
move libdiskusage over from frameworks/base

Change-Id: I8415716634a4cb5b0fae15ef15ff21ee0a08906a
iskusage/dirsize.h
3b6055a7184a2da7bbdd94118a8c6af875bb28b1 22-Oct-2012 Jamie Gennis <jgennis@google.com> am ba7dc2db: Merge "SurfaceFlinger: add support for secure displays" into jb-mr1-dev

* commit 'ba7dc2db6e93a2407c8c328f2838591b7b760658':
SurfaceFlinger: add support for secure displays
dd3cb84cfbe8068790c6233b5829fae9c4a0ee93 20-Oct-2012 Jamie Gennis <jgennis@google.com> SurfaceFlinger: add support for secure displays

This change adds support for displays that are not allowed to display surfaces
with the eSecure flag set. All non-virtual displays are considered secure,
while virtual displays have their secure-ness specified at creation time.

Bug: 7368436
Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
i/DisplayInfo.h
f58475b5ae4ccb3a31c05c79da8b2914c62a3510 19-Oct-2012 Romain Guy <romainguy@google.com> am 60393d45: Merge "Add runtime debugging capabilities to OpenGL" into jb-mr1-dev

* commit '60393d45207b6548e1f61ca104fa59aecee87d30':
Add runtime debugging capabilities to OpenGL
16928bfeca8858a0acae6942fc68c14a040b92ff 19-Oct-2012 Romain Guy <romainguy@google.com> Add runtime debugging capabilities to OpenGL

The shell property debug.egl.trace can now be set to:

0
disables tracing
1
logs all GL calls
error
checks glGetError after every GL call, logs a stack trace on error
systrace
logs each GL call to systrace

Change-Id: I34a2a2d4e19c373fd9eaa1b0cd93e67c87378996
tils/Trace.h
3fe50abbfd12a8d98717bdaba2f9af30f39affbf 17-Oct-2012 Kenny Root <kroot@google.com> am 125becee: am 7abbbc68: Merge "Add TEMP_FAILURE_RETRY to ZipUtils"

* commit '125beceefd44f6abd17ff336bb989e1850965bd8':
Add TEMP_FAILURE_RETRY to ZipUtils
d611117f246213ee4bb183a3015c1fd79593074b 16-Oct-2012 Kenny Root <kroot@google.com> Add TEMP_FAILURE_RETRY to ZipUtils

Change-Id: I275c415f14eeffaf9a58d45f3ea014d766441ec3
tils/Compat.h
2d5e230292c27d59f4c096bc742a0a19abf811c1 16-Oct-2012 Jamie Gennis <jgennis@google.com> SurfaceFlinger: add animation transactions

This change adds a transaction flag for WindowManager to indicate that a
transaction is being used to animate windows around the screen. SurfaceFlinger
will not allow more than one of these transactions to be outstanding at a time
to prevent the animation "frames" from being dropped.

Bug: 7353840
Change-Id: I6488a6e0e1ed13d27356d2203c9dc766dc6b1759
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
45778999c705683ec0fcca3e90c7e9969e081d93 10-Oct-2012 Mathias Agopian <mathias@google.com> Merge "Fence didn't manager sync_wait error codes properly" into jb-mr1-dev
b5c9dcdf3bdab1862047060b8e18c9d1831db8bb 09-Oct-2012 Mathias Agopian <mathias@google.com> Fence didn't manager sync_wait error codes properly

error codes are returned in errno, this caused ::waitForwever()
to only wait for 1 second and return improper error code (-1).

needed to help debugging 7316632

Bug: 7316632
Change-Id: Ie144f614a88393393972a3a770c6b4b0581f961a
i/Fence.h
2a09bb321930e1f782599ec902bca1db58b9af77 09-Oct-2012 Jeff Brown <jeffbrown@google.com> Add blankDisplay/unblankDisplay to SurfaceComposerClient.

Bug: 7309812
Change-Id: Ia401d642094a46c62f0d26c65da1d11341e203a1
ui/SurfaceComposerClient.h
9504eb915c9628e130f45019bdefda0168089886 05-Oct-2012 Jesse Hall <jessehall@google.com> Fix race condition in ConsumerBase::addReleaseFence()

This needs the ConsumerBase mutex locked, but wasn't locking it. Two
of the four places that called it already held the lock so were fine.
Now addReleaseFence() takes the lock itself, and I added
addReleaseFenceLocked() for the two already-locked callers, since in
one of them dropping the lock would be inconvenient.

Bug: 7289269
Change-Id: I7a5628adb516f8eec782aa6c14128202f96d7b0a
ui/ConsumerBase.h
ba607d53c6a94ea8c4c12571980c4ad159af308b 01-Oct-2012 Jesse Hall <jessehall@google.com> Add Fence::waitForever which logs a warning timeout, and use it

Bug: 7217641
Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
i/Fence.h
c01a79d77b829e7de86ef137694e8ad708470ca1 28-Sep-2012 Andy McFadden <fadden@android.com> Pass display arg to blank/unblank

This allows us to blank and unblank displays other than the built-in
display (e.g. HDMI).

Bug: 7240511
Change-Id: I89ea13f9e497be74c3e1231d0c62fb558e93e0f8
ui/ISurfaceComposer.h
7682a9c35a5e9acae738974ea3a73a4ca7796323 28-Sep-2012 Andreas Huber <andih@google.com> Add a way to configure an OMX encoder to emit SPS/PPS before IDR frames.

Change-Id: I71ce254533c8e99bc54d199d8a9828397fe3d99d
related-to-bug: 7245308
edia/hardware/HardwareAPI.h
38b657265ccc5ae45bd7860a68b0d9373b47a2f3 28-Sep-2012 Iliyan Malchev <malchev@google.com> Revert "Compatibility work around for bad graphics driver dependency."

This reverts commit a50b51c03aca449920fc8581a738032a7bce7150

Change-Id: Ibdcd776a7f241dbb2475403ea04f939249774c41
ui/SurfaceComposerClient.h
7b1905113712281c777b230648d3fbb69ae4f42c 26-Sep-2012 Mathias Agopian <mathias@google.com> fix a crasher when running out of memory

MemoryHeapBase::getBase() returns MAP_FAILED in case or
OOM, not null which is what SF was checking against.

This addresses one of the issues of bug 7230543.

Bug: 7230543
Change-Id: I763a88f64a2f9ff75eb139cfbaf9a1a9746c5577
inder/MemoryHeapBase.h
4803b74e2a12a508f7bbfde6f6a962fe3299c61c 25-Sep-2012 Andy McFadden <fadden@android.com> Show build config in dumpsys SurfaceFlinger

This adds a line to the "dumpsys SurfaceFlinger" output that shows
build-time configuration values.

Example:
Build configuration: [sf HAS_CONTEXT_PRIORITY] [libui] \
[libgui USE_FENCE_SYNC]

Bug 7206633

Change-Id: Ibe1856b459d34a4be6ee83a4ebfd2807e6cc68a0
ui/GuiConfig.h
i/UiConfig.h
e96e9e1093b5700e9f403a6e2479da7dc36d3b71 25-Sep-2012 Mathias Agopian <mathias@google.com> fix a crasher in SurfaceTexture's setFilteringEnabled

bug: 7211067
Change-Id: Id8658a8df429d76c20ab9112858b38e52343dc9c
ui/SurfaceTexture.h
ff28e201ec0c6d620eaaa29814ab52958487dc31 21-Sep-2012 Mathias Agopian <mathias@google.com> Display events now always carry the display id they happened on

Change-Id: I12de1d883c23927722bc3a71b782f0079de4e831
ui/DisplayEventReceiver.h
148994e5f33ce240ff24ceb5bc0500b7f2001959 20-Sep-2012 Mathias Agopian <mathias@google.com> We now report hotplug events to the framework

Change-Id: I2d6b7787d39e5929485a551e4982498c5053c211
ui/DisplayEventReceiver.h
dbaaa38882b8f13c1ff3a0ea352584cdbbbcba72 19-Sep-2012 Deva Ramasubramanian <dramasub@codeaurora.org> frameworks/native: Amend HDCP API

- Allow caller to set the observer and cookie.
- Add more notifications that the HDCPModule can send to its Observer.

Change-Id: I8bf9cc02a029cd38bbd25d9f0a634452173f4d26
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
edia/hardware/HDCPAPI.h
3941cb240d438bfdebe24920bb2ada86456a0bf9 18-Sep-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: default to doing GL sync

This change makes updateTexImage default to performing the necessary
synchronization and adds an argument for SurfaceFlinger to disable that
synchronization so that it can be performed lazily.

Change-Id: I7c20923cc786634126fbf7021c9d2541aa77be5d
Bug: 6991805
ui/SurfaceTexture.h
8dfa92fef9759a881e96ee58d59875d35023aab9 18-Sep-2012 Andy McFadden <fadden@android.com> Plumb display name into SurfaceFlinger

The Surface createDisplay() call takes a display name for debugging.
This change carries it through SurfaceFlinger and displays it in
the "dumpsys SurfaceFlinger" output.

Bug 7058158

Change-Id: I79f3474a8656ff1beb7b478e0dbf2c5de666118a
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
6905205c8d130b6ea3a813c1b9283492ed183367 15-Sep-2012 Andy McFadden <fadden@android.com> Fix transform hints

The hints were being set a little too late, so the pre-rotation stuff
wasn't quite working.

Bug 7054997

Change-Id: Id8d5c626db7a76f768ba762a145b315878ee08e6
ui/BufferQueue.h
068d47f29dfead847999a7b33b4217ee9514152b 12-Sep-2012 Mathias Agopian <mathias@google.com> strengthen region validation

Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
rivate/ui/RegionHelper.h
i/Region.h
c272430960047de4e9b2f169fb053bd0aedce3b1 12-Sep-2012 Andy McFadden <fadden@android.com> Merge "Watch for SurfaceFlinger death" into jb-mr1-dev
61e04b92bdeafc6fca89052d14dab1bd0c384a71 10-Sep-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: use eglWaitSync

This change adds a compile-option to use eglWaitSyncANDROID to ensure that
texturing operations that access the current buffer of a SurfaceTexture do not
occur until the buffer is completely written. It also moves this
synchronization into a new SurfaceTexture method called doGLFenceWait and
changes SurfaceFlinger's Layer class to use that method rather than performing
its own wait on the fence.

Change-Id: I70afa88086ca7ff49a80e3cd03d423767db7cb88
ui/SurfaceTexture.h
6652b3edcb7ef5402c05db12f477ceb23c27d6ec 07-Sep-2012 Andy McFadden <fadden@android.com> Watch for SurfaceFlinger death

The ComposerService object wasn't watching for SurfaceFlinger
restarts, which doesn't usually matter because the app framework
restarts when SurfaceFlinger dies. However, mediaserver continues
to run, which means its ComposerService object was trying to use
a dead handle, and playback of DRM movies was failing.

This adds a DeathRecipient listener and some logic to re-establish
the SurfaceFlinger connection.

Bug 6645813

Change-Id: I07581b881d3835601aa57d5358c8259d93bc4515
rivate/gui/ComposerService.h
b27254154642575dfb4bbfa79fbedde7d7ee23dd 06-Sep-2012 Jamie Gennis <jgennis@google.com> libgui: move fence handling into ConsumerBase

This change moves some common fence handling code into the base class for
BufferQueue consumer classes. It also makes the ConsumerBase class initialize
a buffer slot's fence with the acquire fence every time a buffer is acquired.

Change-Id: I0bd88bc269e919653b659bfb3ebfb04dd61692a0
ui/ConsumerBase.h
ui/SurfaceTexture.h
00e8c7a88a5b9c4104a71013a713acd3e4d3b77b 05-Sep-2012 Mathias Agopian <mathias@google.com> display projection API now has a single function instead of 3

Change-Id: I9bf46d372b77d547486d4bbe6f1953ec8c65e98f
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
493db47929cdd805339e453062fef265d8985692 04-Sep-2012 Jamie Gennis <jgennis@google.com> Merge "BufferQueue: add a setMaxAcquiredBufferCount check" into jb-mr1-dev
e84ec393bb48e4817eaa280ee51c099af041b14c 04-Sep-2012 Jamie Gennis <jgennis@google.com> Merge "libgui: add BufferQueue test infrastructure" into jb-mr1-dev
13e12578385fdbfa78b19dfa052ffaed4a68234b 04-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add support for "-rtl" in resources" into jb-mr1-dev
c68f2ecfa02037144d1a3856f637a77f523cf416 31-Aug-2012 Jamie Gennis <jgennis@google.com> BufferQueue: add a setMaxAcquiredBufferCount check

This change adds a check to verify the validity of the value passed to
setMaxAcquiredBufferCount.

Change-Id: I39730557aa58261e678bd6e4fce11bab78e98362
ui/BufferQueue.h
50f262fe569b52bb4d44c96de0d296188ce3885e 01-Sep-2012 Mathias Agopian <mathias@google.com> minor SharedBuffer clean-up

Change-Id: If38b7ce85806ae628c00f2c938de4e3f75142543
tils/SharedBuffer.h
2401ead70099c982796ecc3ec63ec8a5570948fc 01-Sep-2012 Mathias Agopian <mathias@google.com> Add a way to retrieve a Region as a SharedBuffer

Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
i/Region.h
tils/SharedBuffer.h
3ab68558fa5a4b8f792a54965a010f03385bd271 31-Aug-2012 Mathias Agopian <mathias@google.com> change how we store Region data internally

We used to keep the bounds of the region as a
separate rectangle. Instead we now store it as the last
element of the Vector<> of Rects.

This has the benefit of being slightly more efficient when
copying regions and reduces the overhead of small regions,
but more importantly will allow us to export the underlaying
SharedBuffer (eventually).

Change-Id: I80790e4fb1a09a747a5616000cfef852ac4ce9e9
i/Region.h
2098517e3e12a401005d7a7510d6c4943707b98d 31-Aug-2012 Mathias Agopian <mathias@google.com> make sure Parcel handles 0-sized LightFlatenables

Change-Id: Ib30a1c0228f8a938abaa0c7c8a6ba32ffd971121
inder/Parcel.h
9e75ddda93888755d0b14144b62e896cd9f78f3a 01-Sep-2012 Jamie Gennis <jgennis@google.com> libgui: add BufferQueue test infrastructure

This change adds some infrastructure for testing the BufferQueue class. It
also includes a test that tests the new check in BufferQueue::acquireBuffer
that prevents the consumer from acquiring more than one buffer beyond the max
acquired buffer count that was set.

Change-Id: I38554ad3f9a53d2ddeba7ef0deee35ec2e2f9775
ui/ISurfaceTexture.h
8210185fe337ca9d5b01f2bff8590ea60984c31e 31-Aug-2012 Dianne Hackborn <hackbod@google.com> No longer need "original calling uid".

Change-Id: Ifc4a89dd088609a5a8553f6ac6553174e09e8222
inder/IPCThreadState.h
72f096fb1ad0a0deadbfac5f88627461905d38e8 28-Aug-2012 Jamie Gennis <jgennis@google.com> BufferQueue: use max acquired buffer count

This change makes BufferQueue derive the min undequeued buffer count from a max
acquired buffer count that is set by the consumer. This value may be set at
any time that a producer is not connected to the BufferQueue rather than at
BufferQueue construction time.

Change-Id: Icf9f1d91ec612a079968ba0a4621deffe48f4e22
ui/BufferQueue.h
1847f7fd799f92300b3786e49f5883eaa03f4507 31-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "BufferQueue: simplify max buffer count handling" into jb-mr1-dev
2b9776982360a234803665cb79e8abcfeb0e3c79 31-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "BufferQueue: clean up buffer counting" into jb-mr1-dev
f196b56d70df6af753cb08bbb68e52498f0f37f1 31-Aug-2012 Wink Saville <wink@google.com> Merge "Revert "A vendor ril depends on a native screen shot code."" into jb-mr1-dev
94f261556cc5f4aa628cd5b71bf923b583f6e3c3 30-Aug-2012 Wink Saville <wink@google.com> Revert "A vendor ril depends on a native screen shot code."

This reverts commit 9b5782baf0a8a2d7afc7129453beb5df7abe7650.

A new ril for toro, hack no longer needed.
ui/SurfaceComposerClient.h
e191e6c34829aec406a9cfe3e95211f884a311ff 25-Aug-2012 Jamie Gennis <jgennis@google.com> BufferQueue: simplify max buffer count handling

This change reworks how the maximum buffer count is computed.

Change-Id: I7d3745814b9bd6f6f447f86bfea8eb7729914ebf
ui/BufferQueue.h
31a353da225af5329735451c761b430d82dfda1b 25-Aug-2012 Jamie Gennis <jgennis@google.com> BufferQueue: clean up buffer counting

This change is a clean up of some of the handling of the maximum number of
buffers that are allowed at once. It mostly renames a few member variables and
methods, but it includes a couple small refactorings.

Change-Id: I9959310f563d09583548d4291e1050a7bbc7d87d
ui/BufferQueue.h
ui/SurfaceTexture.h
c1396dd14506d29e92fc047141d62b3d9246a72d 29-Aug-2012 Andreas Huber <andih@google.com> Merge "initial checkin of a preliminary HDCP API for vendors to implement." into jb-mr1-dev
a8fc772b5b13e359fa73d5867c0f617b8eae4a41 29-Aug-2012 Andreas Huber <andih@google.com> initial checkin of a preliminary HDCP API for vendors to implement.

Change-Id: If98277efdec1bc8f1e9f4af1ca73324e4c3d469b
edia/hardware/HDCPAPI.h
9b5782baf0a8a2d7afc7129453beb5df7abe7650 29-Aug-2012 Wink Saville <wink@google.com> A vendor ril depends on a native screen shot code.

Add a temporary shim until the vendor fixes the ril.

Bug: 7073467
Change-Id: Ia95a58bd90677c03406c988d1c29ae785f8662f2
ui/SurfaceComposerClient.h
f456d32d3c3aea966b5fba43e6d34f72df06c60d 28-Aug-2012 Jeff Brown <jeffbrown@android.com> am d7007cd4: Merge "Forward compatibility patch."

* commit 'd7007cd4bb2016a09ae8e8f746118f81fdd27f02':
Forward compatibility patch.
3ee454a7bef8bd3d1c9cdd9d17108eb80ebadf2a 28-Aug-2012 Mathias Agopian <mathias@google.com> Eradicate DisplayID.

DisplayDevices are now keyed of the wp<IBinder> the client uses.
DisplayID has now become DisplayType which is just used to identify
physical displays (as opposed to virtual displays such as wifi displays).

Change-Id: I0c5968f2c902dcd699a7e0afacf833ff070c12ea
ui/ISurfaceComposerClient.h
a50b51c03aca449920fc8581a738032a7bce7150 28-Aug-2012 Jeff Brown <jeffbrown@google.com> Compatibility work around for bad graphics driver dependency.

This is a compatibility shim for one product whose drivers
are depending on SurfaceComposerClient::getDisplayInfo(
int, DisplayInfo*) when it really shouldn't.

Revert this patch when the problem has been resolved.

Bug: 7065398
Change-Id: I6542691b81fd1b1e1d79500a62e82d40a3d51db7
ui/SurfaceComposerClient.h
1ae49e3fef34ee38f8dfeb08b5914e3362af3b2f 28-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove unused "layer" argument from show()." into jb-mr1-dev
e310c3949f7de7183ef43e751526a5dc4cf0d74c 28-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Banish DisplayID from the SurfaceFlinger API." into jb-mr1-dev
52142828eeb3e3f752e09039fd052b119718aa2f 28-Aug-2012 Jeff Brown <jeffbrown@android.com> Forward compatibility patch.

Change-Id: I8e8af0c6035aaac5e5097f1cfb198250475627ee
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
380223bf1b340e7503177254a60d5982f95ab793 27-Aug-2012 Jeff Brown <jeffbrown@google.com> Remove unused "layer" argument from show().

Change-Id: I8944a9f4a27c330b11e5e837c69b88c8f84145ba
ui/Surface.h
ui/SurfaceComposerClient.h
9d4e3d2f42e93e2d12bacabe97d307d30c3c20dd 25-Aug-2012 Jeff Brown <jeffbrown@google.com> Banish DisplayID from the SurfaceFlinger API.

Use only display tokens in the API to refer to new displays.

Don't require the caller to specify the display when creating
a surface (since in general a surface could be shown on
any display).

This is intended to be a minimum change just to update the API.
Note that SurfaceFlinger still uses DisplayID in a few places
internally that might cause some features not to work properly
when there are multiple displays (LayerScreenshot, for example).

Change-Id: I3d91eec2da406eefd97bcd53655d403ad865a7e6
ui/ISurfaceComposer.h
ui/ISurfaceComposerClient.h
ui/Surface.h
ui/SurfaceComposerClient.h
f671385e71644b6f34a06f425aff8dd16ffc0105 27-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 9801575a: am 908c8ff5: Merge "Fixed clang build error for libgui"

* commit '9801575a65f2f9d0bdc924ec0a4bbfb6ef071bbe':
Fixed clang build error for libgui
9801575a65f2f9d0bdc924ec0a4bbfb6ef071bbe 27-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am 908c8ff5: Merge "Fixed clang build error for libgui"

* commit '908c8ff55482b723eddec54c6308e54a136a3e49':
Fixed clang build error for libgui
225c66a48cdc3acef21ee380dc134449749d3cb3 25-Aug-2012 Mathias Agopian <mathias@google.com> Revert "put back the unused virtuals in Vector<>"

This reverts commit 1648d4c13ba2eff3ea14cd87ee94028458a39f97.

Bug: 6977192

Change-Id: Idbb6b239aaed4fb1c054ce943f6ba06ede3492bb
tils/VectorImpl.h
490aee0fc5012acf2bf0b1dfe9c09e6fcca606fc 24-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: inherit from ConsumerBase (try 2)" into jb-mr1-dev
114e968482a02b9153d9a236376efb5cd43f4a9a 26-Jul-2012 Tareq A. Siraj <tareq.a.siraj@intel.com> Fixed clang build error for libgui

Fixed the order of the statements in ANDROID_SINGLETON_STATIC_INSTANCE
macro so that the templated static member variable initialization
comes before the instantiation of the Singleton class. This
fixes the clang compile error.

Change-Id: Ic47d17e152b657f2dff3191ccc3770753fdf002b
Author: Tareq A. Siraj <tareq.a.siraj@intel.com>
Reviewed-by: Edwin Vane <edwin.vane@intel.com>
tils/Singleton.h
9f54ac38860761ef62d9bb8282d54ff51a1a68a3 22-Aug-2012 Jamie Gennis <jgennis@google.com> ui/Fence: change the TIMEOUT_NEVER value to -1

Change-Id: I3ef0a4c06f80990b53a8bf2eda6edbfcbefd0f34
i/Fence.h
04930445031c5f41707806182bb7a152e64ddede 22-Aug-2012 Eino-Ville Talvala <etalvala@google.com> Merge "Add BufferItemConsumer, a simple BufferQueue consumer." into jb-mr1-dev
9fea3421ffddf6480f57f55a25936a886043d909 08-Aug-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: inherit from ConsumerBase (try 2)

This change makes SurfaceTexture inherit from ConsumerBase. It removes all of
the functionality from SurfaceTexture that is now provided by the base class.
This includes fixes for two bugs that were found after checking this change in
the first time and then reverting it.

Change-Id: Ie2d9f4f27cfef26fdac341de3152e842b01a58d2
ui/ConsumerBase.h
ui/SurfaceTexture.h
e232fdca2a62dc5e81b550f5be8710e36174e7a6 21-Aug-2012 Eino-Ville Talvala <etalvala@google.com> Add BufferItemConsumer, a simple BufferQueue consumer.

BufferItemConsumer allows for acquiring BufferQueue's BufferItems,
which contain all the data and metadata the BufferQueue has for a
given graphics buffer.

This consumer is useful when direct access to the native buffer_handles
is needed by the client.

Also includes a minor cleanup of CpuConsumer's use of 'virtual'.

Bug: 6243944
Change-Id: If7dc4192b15ac499555f1eda42a85140f2434795
ui/BufferItemConsumer.h
ui/CpuConsumer.h
1648d4c13ba2eff3ea14cd87ee94028458a39f97 21-Aug-2012 Mathias Agopian <mathias@google.com> put back the unused virtuals in Vector<>

some binaries are using these private APIs and broke
(as they should!) with this change. Temporarily restore the
virtuals to work around this.

Bug: 6977550
Change-Id: I7c37f24b16e4d586b89205c493db5169cf87e024
tils/VectorImpl.h
317357fdf7a2b542dfdaa06f42ff7f5f0153f9a3 21-Aug-2012 Mathias Agopian <mathias@google.com> Merge "get rid of mirrorItemAt() which isn't used anywhere" into jb-mr1-dev
84a9a3c0ec35915d3cc40e9e889d4032e189894a 21-Aug-2012 Eino-Ville Talvala <etalvala@google.com> Merge "CpuConsumer: inherit from ConsumerBase" into jb-mr1-dev
f57e7540d4cf799f18fe87d3536c55f1e0064931 21-Aug-2012 Eino-Ville Talvala <etalvala@google.com> CpuConsumer: inherit from ConsumerBase

Change-Id: I55178b1d673ffa0fbc6e63ef47642c64d4d03228
ui/CpuConsumer.h
f4ce7803fe71c9a9433ff1ba2e79db13a7e46290 20-Aug-2012 Mathias Agopian <mathias@google.com> get rid of mirrorItemAt() which isn't used anywhere

Change-Id: Id6f2dbeed21cabc127d39538c0ff464077ada83f
tils/SortedVector.h
tils/Vector.h
729f48082e2c7660e94830e52006f7af4efb747a 20-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "Revert "SurfaceTexture: inherit from ConsumerBase"" into jb-mr1-dev
ce7a6c0fc9d75b80da030d1790321e84475f956a 20-Aug-2012 Jamie Gennis <jgennis@google.com> Revert "SurfaceTexture: inherit from ConsumerBase"

This reverts commit ed059a8d754770c3cf28b78dba30f7a6ba475dbe

Change-Id: I72542c2595771a40c2c88251e0d6eb54e305b99b
ui/ConsumerBase.h
ui/SurfaceTexture.h
483bccd0d9f7e5e7aa452e9e3e53056387f4b25c 20-Aug-2012 Jamie Gennis <jgennis@google.com> Revert "SurfaceTexture: call ConsumerBase::freeBufferLocked"

This reverts commit f8d33c652b930abbfb0722f3a2928cbc2ea71078

Change-Id: I1ff2e1cc85824a8fac1051f573d2931db81af511
ui/SurfaceTexture.h
f8d33c652b930abbfb0722f3a2928cbc2ea71078 20-Aug-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: call ConsumerBase::freeBufferLocked

This change fixes SurfaceTexture::freeBufferLocked so that it calls the base
class implementation.

Change-Id: I45d76fb2eb02c1fa6e4e917823ead83e2086bd15
ui/SurfaceTexture.h
2c7eb92b6394427bfe81962668d46194959bc722 18-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: inherit from ConsumerBase" into jb-mr1-dev
818b46058aa3006e1d3c178abd36d4f10823f5d9 17-Aug-2012 Mathias Agopian <mathias@google.com> display states can't share the dirty flags

Change-Id: Ifade9f2f1a0df9a36aede77a6cf5eee4be534f98
rivate/gui/LayerState.h
ed059a8d754770c3cf28b78dba30f7a6ba475dbe 08-Aug-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: inherit from ConsumerBase

This change makes SurfaceTexture inherit from ConsumerBase. It removes all of
the functionality from SurfaceTexture that is now provided by the base class.

Change-Id: I4a881df42810a14ee32d4ef7c8772a8f2510f4c7
ui/ConsumerBase.h
ui/SurfaceTexture.h
8855e6f1c59954ef8de651987fec0cbba0394e9b 21-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Add support for "-rtl" in resources

Change-Id: I0aaf10caf7b6a6d9e76b67dcabf01e4267b407bb
ndroid/configuration.h
f0083bf5288e0d430b0dc5cbc4b4852bce2ff1af 14-Aug-2012 Jeff Brown <jeffbrown@google.com> Merge "Add a very simple helper function to log slow functions." into jb-mr1-dev
8683fca395d01734ec7946e9f0595ec5d7b754c6 13-Aug-2012 Mathias Agopian <mathias@google.com> improve [un]marshalling of non-binder objects

this change introduces a new class LightFlattenable<> which is
a protocol to flatten simple objects that don't require
binders or file descriptors; the benefit of this protocol is that
it doesn't require the objects to have a virtual table and give us
a consitant way of doing this.

we also introduce an implementation of this protocol for
POD structures, LightFlattenablePod<>.

Parcel has been update to handle this protocol automatically.

Sensor, Rect, Point and Region now use this new protocol.

Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
inder/Parcel.h
ui/Sensor.h
i/Point.h
i/Rect.h
i/Region.h
tils/Flattenable.h
6f12d573251528086636707dde2fb01a8b7199b8 11-Aug-2012 Jeff Brown <jeffbrown@google.com> Add a very simple helper function to log slow functions.

Change-Id: I2e2e072206d02b572a330dd25857c161b5b563bf
tils/Log.h
e57f292595bec48f65c8088b00ff6beea01217e9 10-Aug-2012 Mathias Agopian <mathias@google.com> make multi-display more real

- displays are represented by a binder on the client side
- c++ clients can now create and modify displays

Change-Id: I203ea5b4beae0819d742ec5171c27568f4e8354b
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
3165cc21cfea781988407b19bd83292b19f05f55 09-Aug-2012 Mathias Agopian <mathias@google.com> libgui includes refactoring

Change-Id: I1d24ec17f5003ec2abab5f7472daaff4cc4cc2d3
ui/ISurfaceComposer.h
ui/ISurfaceComposerClient.h
rivate/gui/LayerState.h
69973992d531ae7df20916c6fb3034b08a6d53c4 10-Aug-2012 Mathias Agopian <mathias@google.com> improve Vector<> safety checks

- make errors that will always cause a memory corruption always fatal
(for eg: KeyedVector<>::editValue{For|At}() failure)
- make other errors fatal in debug mode, those that can be caught by
the caller.
- fix typos

Change-Id: I65cc7d81035c37ce2906fc4500c50e5d5b5c49eb
tils/KeyedVector.h
tils/SortedVector.h
tils/Vector.h
tils/VectorImpl.h
14bd369e4b711bfb267279c2161358542ed75b29 07-Aug-2012 Jamie Gennis <jgennis@google.com> Merge changes Ic3d35a93,I46ec942d into jb-mr1-dev

* changes:
SurfaceTexture: fix an out of bounds array access
surfaceflinger: refactor FrambufferSurface
1a4d883dcc1725892bfb5c28dec255a233186524 03-Aug-2012 Jamie Gennis <jgennis@google.com> surfaceflinger: refactor FrambufferSurface

This change refactors the FramebufferSurface class to inherit from the new
ConsumerBase class.

Bug: 6620200
Change-Id: I46ec942ddb019658e3c5e79465548b171b2261f2
ui/BufferQueue.h
ui/ConsumerBase.h
53095e25d69206bea1ac15a7382ab8b61155c0c1 05-Aug-2012 Mathias Agopian <mathias@google.com> libutils cleanup: remove unused or seldom used code from misc.{cpp|h}

Change-Id: I72206f16619d81887e3b85603494563faab3b445
tils/misc.h
92efd84f37ce5a8aae74dc9086f825a67b6894e9 03-Aug-2012 Mathias Agopian <mathias@google.com> screen-off animation won't be handled by SF anymore

Change-Id: Idc41386804ae7d7eb981c36e1bc55c270870c8d0
ui/ISurfaceComposer.h
92a979a92c34b7de609ce2b1662c73bb8a2728b9 03-Aug-2012 Mathias Agopian <mathias@google.com> We now have a real list of displays.

displays can be dynamically added or removed, and the
list is part of the SF's transaction.

Change-Id: I4186ea39f1317c0e7c044f869004017738968fab
tils/KeyedVector.h
747c480b0e3cf9401ff53421be6a82b23fdc04c2 28-Jul-2012 Ed Heyl <ed@google.com> Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev

Conflicts:
include/media/hardware/CryptoAPI.h

Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
c666cae2d5995097ec49a87e375e2afdd92802b7 26-Jul-2012 Mathias Agopian <mathias@google.com> get rid of the shared-memory control block

Change-Id: If814060aca1d2ff2619d4adcd57296983d207f7f
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
rivate/gui/ComposerService.h
rivate/gui/SharedBufferStack.h
i/DisplayInfo.h
8785578391eacd4192333d7b0ce3afedd7d163e6 25-Jul-2012 Mathias Agopian <mathias@google.com> add a layerStack attribute to Layers.

this attribute can be set through a regular transaction using
SurfaceComposerClient (just like any other attribute, eg: position or size)

Change-Id: I701a47c677ea6442ca713728a93335328cd2b172
ui/ISurfaceComposer.h
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
8b33f032327f8de0dcc0e6d0d43ed80f834b51f6 25-Jul-2012 Mathias Agopian <mathias@google.com> update SF binder protocol to support setting display attributes

no change of functionality -- the old behavior is implemented
on top of this new protocol.
this new protocol will allow, eventually, to pass informations
about displays and layer stacks.

Change-Id: Ic6c2295e61ec8ecbc8ce01ab7664e35d928202fc
ui/ISurfaceComposer.h
rivate/gui/LayerState.h
074cd0c0765d1aec5a4ff5ac460f0685ae067fb1 19-Jul-2012 Nick Pelly <npelly@google.com> Add elapsedRealtimeNano(), and use CLOCK_BOOTTIME where possible.

Change-Id: I4231c8ca32663e6e2cb5b7c126d091f837373807
tils/SystemClock.h
tils/Timers.h
e64a4035523aa5e15091a4b6b15612a5bcd1ad01 17-Jul-2012 Edwin Wong <edwinwong@google.com> Merge from jb-dev for "sample video corruption in MediaCodec mode." DO NOT MERGE

jb-dev commit: fa2b8f243eb048fb2b8e5a14356190f69eb31a36

Change-Id: Ic2a28663d25e3007c95e15ecbb0d44b820045f85
related-to-bug: 6732061
edia/hardware/CryptoAPI.h
3ad182ff6343cf3fa997038163fac3e9957d0368 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove unused layer flags."
6d7e32c672189ef2b900fc5467dbf603f84dce54 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove unused layer flags.

Change-Id: Ia85365f18770a9a2c0a0e30ae56b6c2226d41be6
ui/ISurfaceComposer.h
fefad4367476aeda48970843f1741938a850e4cb 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove freeze(), unfreeze() and setFreezeTint()."
74bf0721471accbf604143e000f6c444d63d376b 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove freezeDisplay(), which is no-op."
6501e9944df131b3b7e293007084735dfa217f24 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove freeze(), unfreeze() and setFreezeTint().

This is all dead code.

Change-Id: I646673aac793a6ec45021c370a2450f0ea4fbcce
ui/ISurfaceComposer.h
ui/Surface.h
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
f9176a93a5c9061fe001c91bca50dd0a58d54f10 16-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove freezeDisplay(), which is no-op.

Change-Id: I2b70249a1545636fd6d98b58057b22f9529cad21
ui/SurfaceComposerClient.h
85324d954674a556927f6afb2fc5827979d4d63e 14-Jul-2012 Edwin Wong <edwinwong@google.com> am 647336c7: am e0daeb39: Fixed sample video corrupted in MediaCodec mode.

* commit '647336c76e8da68fb44ca52ec14a8a2c6d5735bb':
Fixed sample video corrupted in MediaCodec mode.
e0daeb3933e034f037630715e4cd2ecb3880498b 11-Jul-2012 Edwin Wong <edwinwong@google.com> Fixed sample video corrupted in MediaCodec mode.

Change-Id: Ibe11a83199f3db1ba6266a1a9e11c7fc24ceb554
related-to-bug: 6732061
edia/hardware/CryptoAPI.h
4fec873a98f7b4380720cd1ad006f74c8cdc73da 29-Jun-2012 Mathias Agopian <mathias@google.com> one more step towards multiple display support

- remove dependency on cached state in validateVisibility
- get rid of mVertices and mTransformedBounds
- get rid of validateVisibility
- get rid of unlockPageFlip
- handleTransaction now returns a dirty region
- computevisibileregion now uses window-manager space
tils/Vector.h
0bc64be3f5198f8dda1ced21bbc957a1d76efbb7 29-Jun-2012 Naseer Ahmed <naseer@codeaurora.org> libs/ui: Add support for triple framebuffers

Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
i/FramebufferNativeWindow.h
dc5b485f74edf2d2f31c62054eb6c180421a3ade 30-Jun-2012 Jesse Hall <jessehall@google.com> Pass fence to HWC on first use of buffer

Also do a CPU-wait on the fence before using it for GL composition.

Change-Id: I0f645a42a44803276cae11b904e5a26d65871562
ui/SurfaceTexture.h
b42b1ac1587aebda5e2f334d95b620271fafba4e 28-Jun-2012 Jesse Hall <jessehall@google.com> Return fence from acquireBuffer

Change-Id: Iab22054c1dc4fd84affab3cc5bbdcd5a1e689666
ui/BufferQueue.h
c777b0b3b9b0ea5d8e378fccde6935765e28e329 28-Jun-2012 Jesse Hall <jessehall@google.com> Pass fences with buffers from SurfaceTextureClient

Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
ui/BufferQueue.h
ui/ISurfaceTexture.h
i/Fence.h
962174da0303d94180af7648faf90e112b851192 29-Jun-2012 Jesse Hall <jessehall@google.com> Merge "Return fence to client in dequeuBuffer"
f9783af225aa3b41ec0af36f90941a714269abb7 25-Jun-2012 Jesse Hall <jessehall@google.com> Return fence to client in dequeuBuffer

Change-Id: Ic19750793ad993f0e85391f3cabd743ba565d4c9
i/Fence.h
3094df359d1e6e2ae8ca4e935cc093f563804c96 19-Jun-2012 Mathias Agopian <mathias@google.com> First prototype atttempting to support an external display

both API and implementation will change, this is just a prototype
intended to show feasability.

SurfaceFlinger is passed an ISurfaceTexture through a new
callback, it is in turn used to create an EGLSurface which
surfaceflinger will draw into in addition to the main screen.

Change-Id: Id0bbb0b854bb7bae44d57246a90b65d4567f9a21
ui/ISurfaceComposer.h
f78575400977f644cf0b12beb2fa5fc278b6ed4c 15-Jun-2012 Jesse Hall <jessehall@google.com> Pass fences from BufferQueue to SurfaceTextureClient

ISurfaceTexture::dequeueBuffer now returns the buffer's fence for the
client to wait on. For BufferQueue, this means passing it through
Binder so it can be returned to the SurfaceTextureClient. Now
SurfaceTextureClient is responsible for waiting on the fence in
dequeueBuffer instead of BufferQueue: one step closer to the goal.

Change-Id: I677ae758bcd23acee2d784b8cec11b32cccc196d
ui/BufferQueue.h
ui/ISurfaceTexture.h
ef19414bd8b77a26f5751f3845be79025a8263fe 14-Jun-2012 Jesse Hall <jessehall@google.com> Transfer HWC release fences to BufferQueue

After a HWC set, each SurfaceFlinger Layer retrieves the release fence
HWC returned and gives it to the layer's SurfaceTexture. The
SurfaceTexture accumulates the fences into a merged fence until the
next updateTexImage, then passes the merged fence to the BufferQueue
in releaseBuffer.

In a follow-on change, BufferQueue will return the fence along with
the buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the
fence to signal before returning.

The releaseFence default value for BufferQueue::releaseBuffer() is
temporary to avoid transient build breaks with a multi-project
checkin. It'll disappear in the next change.

Change-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9
ui/BufferQueue.h
ui/SurfaceTexture.h
i/Fence.h
07912f50930cf8cea2bc5f8f94e014c31af583b6 21-Jun-2012 Haynes Mathew George <hgeorge@codeaurora.org> Add vendor specific color format to OMX_IVCommon.h

- Add Qualcomm specific color format to OMX_IVCommon.h

Change-Id: I77a7196307d079348a50d7bb67c80cd2642a72df
edia/openmax/OMX_IVCommon.h
d8e812ce6fe9ae0388e98b08456e1d18b9498239 14-Jun-2012 Jamie Gennis <jgennis@google.com> Update ANativeWindow clients for sync

This change updates the uses of ANativeWindow to use the new ANW functions that
accept and return Sync HAL fence file descriptors.

Change-Id: I3ca648b6ac33f7360e86754f924aa072f95242f6
ui/SurfaceTextureClient.h
i/FramebufferNativeWindow.h
f25e183a70bd631f75dce51e85b7d568472a0cdb 14-Jun-2012 Jamie Gennis <jgennis@google.com> libui: add the Fence class

This change adds the Fence class to libui for to wrap the libsync
functionality.

Change-Id: I93a31baeee608b93c14da807a32013dabf783f84
i/Fence.h
db403e8ff0d7727015e1a5009bab20eb7ec205bc 19-Jun-2012 Mathias Agopian <mathias@google.com> split-up Client.h out of SurfaceFlinger.h

Change-Id: I1993bf23e417163749d886283563a93d50b361b4
inder/PermissionCache.h
d3076aca0f6106dbc6c5a1588f560c62567752a4 16-Jun-2012 Mathias Agopian <mathias@google.com> Merge "Implement SurfaceFlinger's ANW on top of BufferQueue"
b6d00dcf3e0c65b1642ad0011c1b4605b80a56e1 15-Jun-2012 Jeff Brown <jeffbrown@google.com> am 0512af11: am 16272efb: Add ASSIST keycode.

* commit '0512af11f4b790fb032dc7c344dcdac527faf8ad':
Add ASSIST keycode.
16272efb7af0692266fecdc53b2c6d995bf397b7 15-Jun-2012 Jeff Brown <jeffbrown@google.com> Add ASSIST keycode.

Bug: 6594275
Change-Id: I032b055207d16bfff93ee8a350c0dc52b9102926
ndroid/keycodes.h
3e87601170141229d661df93e2f59e1ced73474b 08-Jun-2012 Mathias Agopian <mathias@google.com> Implement SurfaceFlinger's ANW on top of BufferQueue

SF now has its own implementation of ANW for the
framebuffer and it uses BufferQueue. FramebufferNativeWindow
is now only used by stand-alone apps.

Change-Id: Iddeb24087df62bd92b0f78e391dda9b97ddc859c
ui/BufferQueue.h
8e533069e5721e55cb9768e140e16546c3a4a8b6 07-Jun-2012 Colin Cross <ccross@android.com> surfaceflinger: replace early suspend with binder call from PowerManager

SurfaceFlinger will no longer directly synchronize with early suspend.
Instead, PowerManagerService will synchronize with SurfaceFlinger to
ensure that a black frame has been drawn on the display, and then
trigger all early suspend handlers.

Change-Id: I07acdd628440d23fdb69db94319ec5d65d3f4919
ui/ISurfaceComposer.h
9a6b4c73face8005352fc0db1ecf09b2b8bdedcb 01-Jun-2012 Jeff Brown <jeffbrown@google.com> am d5085da3: am 4467bba7: Merge "Support looper callbacks based on smart pointers." into jb-dev

* commit 'd5085da3c0c103bba0c2c927382f7d414275b661':
Support looper callbacks based on smart pointers.
ad7b3760ced1c5ca40b3641e97911803810a839b 01-Jun-2012 Jeff Brown <jeffbrown@google.com> am 80586761: am dad23789: Merge "Delete unused poll() code." into jb-dev

* commit '805867612c0c11d3bb494cbf454cbb2de21a1b75':
Delete unused poll() code.
27d928474d05c8cf976d9da88be876feda7e10f3 01-Jun-2012 Jeff Brown <jeffbrown@google.com> am dce1547d: am 9e2e781a: Merge "Remove unused statistics code." into jb-dev

* commit 'dce1547d65877b89cec4e52ee8e5b39830911d00':
Remove unused statistics code.
4467bba73a91161da01d5d969cf7ba3e2309d989 01-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Support looper callbacks based on smart pointers." into jb-dev
dad2378911a244607afa3899928c429b340031cb 01-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Delete unused poll() code." into jb-dev
9e2e781acaead54d0fb095d55a1c44b32563248f 01-Jun-2012 Jeff Brown <jeffbrown@google.com> Merge "Remove unused statistics code." into jb-dev
af567f73ac828b9c319c12fd92760c4c92f0dfa4 01-Jun-2012 Jeff Brown <jeffbrown@google.com> Support looper callbacks based on smart pointers.

Bug: 6559630
Change-Id: I5a667f219f431838638acefbc9fa6afa610971bd
tils/Looper.h
1737e57a861326e96f3de19090975564f98a8fda 01-Jun-2012 Eino-Ville Talvala <etalvala@google.com> Add camera as an ATRACE tag

Change-Id: Ib4f22d593836c4b973d122efa114d359f1529914
tils/Trace.h
588d5c8280c89c646aa7c8c54900225ee04176ea 31-May-2012 Jeff Brown <jeffbrown@google.com> Delete unused poll() code.

We don't need this code anymore and it is just in the way.

Bug: 6559630
Change-Id: I1dc9decf85d5ea1feab159c2985da6c20baffdd5
tils/Looper.h
1ea51bf519bdfc0e04daa88b8788f06105c5599b 31-May-2012 Jeff Brown <jeffbrown@google.com> Remove unused statistics code.

Bug: 6559630
Change-Id: Iacdf4bb4c1c125c09305cbd8cb443c7c80cfc010
tils/Looper.h
2466e402a054669ecda0d2b0dcb9cc08c4a9559a 30-May-2012 Mathias Agopian <mathias@google.com> am 584fcb32: am 2c8207e9: add the ability to reject buffers in SurfaceTexture::updateTexImage

* commit '584fcb3218e07d7b4cc0aeaef41faa4e891b45a4':
add the ability to reject buffers in SurfaceTexture::updateTexImage
2c8207e9627fe6c7a90e31fae8d71ae49df56845 24-May-2012 Mathias Agopian <mathias@google.com> add the ability to reject buffers in SurfaceTexture::updateTexImage

SurfaceFlinger is using this new feature to reject buffers that
don't have the right size.

Bug: 6498869
Change-Id: I8a7250a47db6c082a357b703feb3b9d0fc8d3443
ui/SurfaceTexture.h
a07d473c11da1389d4b5989577488f11f6d7cd61 16-May-2012 Eino-Ville Talvala <etalvala@google.com> am e804aa48: Merge "Move CameraParameters header to join rest of camera library." into jb-dev

* commit 'e804aa4819a764e1f3929f4c578e9a44593a1467':
Move CameraParameters header to join rest of camera library.
e804aa4819a764e1f3929f4c578e9a44593a1467 16-May-2012 Eino-Ville Talvala <etalvala@google.com> Merge "Move CameraParameters header to join rest of camera library." into jb-dev
41caf6dff296488cbfedbf49f0a133ac4cf958b3 16-May-2012 Eino-Ville Talvala <etalvala@google.com> Move CameraParameters header to join rest of camera library.

CameraParameters was moved over to frameworks/native before
frameworks/av was created, since it is referenced by HAL
implementations. Move it to frameworks/av to keep it together with its
implementation.

Bug: 6500863
Change-Id: Iffd890c861a334930da71a2722553572bad1cb54
amera/CameraParameters.h
a74eb25cbc42a9dde0df6b2303fda9027f77f393 15-May-2012 Jamie Gennis <jgennis@google.com> am dd739965: Merge changes I32fbc2b6,Ifd0ed05b into jb-dev

* commit 'dd73996552938ac5165a35f09d389abedcf421ef':
SurfaceFlinger: recompute visible regions less
libgui: remove setPostTransformCrop
8d057994a0061f56614ff020a2af1d59c894a7d0 15-May-2012 Glenn Kasten <gkasten@google.com> am bd113224: Merge "Fix log spam about CPU frequency on one device" into jb-dev

* commit 'bd1132249479e52ddd128171da24327358e2191c':
Fix log spam about CPU frequency on one device
15e23859ba8dc3d64eb384b72521a834c86648dd 15-May-2012 Mathias Agopian <mathias@google.com> am 9cab4ca1: Merge "minor Rect.h cleanup" into jb-dev

* commit '9cab4ca1ca74068e50192296badd0ae7a61f3927':
minor Rect.h cleanup
dd73996552938ac5165a35f09d389abedcf421ef 15-May-2012 Jamie Gennis <jgennis@google.com> Merge changes I32fbc2b6,Ifd0ed05b into jb-dev

* changes:
SurfaceFlinger: recompute visible regions less
libgui: remove setPostTransformCrop
e41b318bc4708e1dee9364e73215ff0d51fb76a1 17-Apr-2012 Eino-Ville Talvala <etalvala@google.com> Add a BufferQueue CPU consumer.

Aimed for use cases where gralloc buffers need to be consumed by CPU
users, such as camera image data streams.

The CpuConsumer is a synchronous queue, which exposes raw pointers to
the underlying graphics buffers to applications. Multiple buffers may
be acquired at once, up to the limit set at time of construction.

Change-Id: If1d99f12471438e95a69696e40685948778055fd
ui/BufferQueue.h
ui/CpuConsumer.h
bd1132249479e52ddd128171da24327358e2191c 15-May-2012 Glenn Kasten <gkasten@google.com> Merge "Fix log spam about CPU frequency on one device" into jb-dev
542af12d10e5923a6e811c72e2bbe4e7507b6448 14-May-2012 Glenn Kasten <gkasten@google.com> Fix log spam about CPU frequency on one device

Previous kernels have allowed opening the CPU frequency file regardless
whether the CPU is up or not. This fixes some log spam on one device
with dynamic hot plug CPU feature, which does not allow opening the CPU
frequency file if CPU is down.

Also, since the file descriptors are global and have long lives, add
the close-on-exec flag.

Change-Id: Ia14a2b9e20038dfb96a573920176a47a96bd3f5a
pustats/ThreadCpuUsage.h
b7a6b96301c00c630610df4cb55a45d666200817 14-May-2012 Jamie Gennis <jgennis@google.com> libgui: remove setPostTransformCrop

This change removes the setPostTransformCrop function from
SurfaceTextureClient. It also includes a small logging fix in BufferQueue.

Bug: 6299171
Change-Id: Ifd0ed05b95dad6085e7a8267fda4d69b76ea3bad
ui/SurfaceTextureClient.h
b82203a6601728a507bc3e7d5b2b042356004aae 14-May-2012 Mathias Agopian <mathias@google.com> minor Rect.h cleanup

add getBounds(), getWidth(), getHeight(), width() and height()
are kept for backward compatibility.

Change-Id: I83837abf17dc2f8bded1beff73430e8c7d9bbdb3
i/Rect.h
b194ec926bf3fb3c546244b135f602ceb3a0a6b0 11-May-2012 Jamie Gennis <jgennis@google.com> libutils: add a tracing tag for video

Change-Id: Icbecc7184844e95ee81a558b0a54d5513d5cf59f
tils/Trace.h
f15a83f5814219c167f87cb8aaea622fc8493499 11-May-2012 Jamie Gennis <jgennis@google.com> SurfaceFlinger: add a crop to the layer state

This change adds a crop rectangle specified in window coordinates to the layer
state. The all window pixels outside this crop rectangle are treated as though
they were fully transparent. This change also adds the plumbing necessary for
WindowManager to set that crop.

Change-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081
ui/ISurfaceComposer.h
ui/Surface.h
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
i/Rect.h
3c32e5da5b3f12bd498ae7016604b20ba61f5756 10-May-2012 Jean-Michel Trivi <jmtrivi@google.com> Merge "OMX IL header additions for FLAC" into jb-dev
224c78405f14b95416d2278e317b98cdb97497cc 30-Apr-2012 Jean-Michel Trivi <jmtrivi@google.com> OMX IL header additions for FLAC

Bug 5525503

Change-Id: I8d305d5351d3780f8ca933b8e602f2bf88e9ac78
edia/openmax/OMX_Audio.h
edia/openmax/OMX_Index.h
555f89d8df316cdc5a25dbedb8614c2ac7a5e0a9 09-May-2012 Dianne Hackborn <hackbod@google.com> Add callback hack to find out when to reload system properties.

Every IBinder object can accept a new transaction to tell it that
it might want to reload system properties, and in the process
anyone can register a callback to be executed when this happens.

Use this to reload the trace property.

This is very much ONLY for debugging.

Change-Id: I55c67c46f8f3fa9073bef0dfaab4577ed1d47eb4
inder/IBinder.h
tils/Trace.h
tils/misc.h
82c53806ada5c314124431ec0a49fa15a6b5f1d6 09-May-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: improve texture matrix computation" into jb-dev
cae7c0b955efba6986d9e1fe5a68e48e7a2f806b 09-May-2012 Jamie Gennis <jgennis@google.com> Merge "libgui: Add support for post-xform crops." into jb-dev
59df82f355ac4bb3c08f678432a38c3ef29b3637 09-May-2012 Jamie Gennis <jgennis@google.com> Merge "libui: add the Rect::transform method" into jb-dev
5c1139fea3cc0fd9847a6594d853a458152b2fbc 09-May-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: improve texture matrix computation

This change reduces the shrinking of the crop rectangle in some cases. It adds
a way to inform the SurfaceTexture that its texture will be used without
bilinear interpolation, and uses knowledge of the pixel format to avoid
shrinking unecessarily.

Change-Id: I72365f39f74ecb7fcc51b4cf42f2d0fa97727212
ui/SurfaceTexture.h
d72f233ffa125856a44976a50a66ceb669f49ab2 07-May-2012 Jamie Gennis <jgennis@google.com> libgui: Add support for post-xform crops.

This change adds support for specifying a crop rectangle to a
SurfaceTextureClient that is in post-transformed coordinate space.

Change-Id: I247901de343e71b32850f7ae3bac62dfa612ad3d
Bug: 6299171
ui/BufferQueue.h
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
59332804306c054082a39e9b004146bd03ae1d30 07-May-2012 Jamie Gennis <jgennis@google.com> libui: add the Rect::transform method

This change adds a method to Rect to transform a rectangle by a graphics HAL
transform.

Change-Id: Ic0d0988e731bdb5662faee41a5927b1242891658
Bug: 6299171
i/Rect.h
5b38a1dfe8e90734fc878ef47df1bd967480a946 07-May-2012 Glenn Kasten <gkasten@google.com> Add audio tag to systrace

Change-Id: I4a558c43e4ccd81a4ed94684c5fad6b3c486bd14
tils/Trace.h
081c80c2e0f97fb50595b138271d14892aea1b4a 04-May-2012 Andy Stadler <stadler@google.com> Add System Tracing capability to Sync Manager

See also: Change-Id: Ia8bc01adbba345a568405b0ac8ade96e56b40cc1

Change-Id: I2678974cf85464fbc09072b06f647a0787e6e23f
tils/Trace.h
627f471812871d4a3d02abe87e190ffe24e0ff41 27-Apr-2012 Dianne Hackborn <hackbod@google.com> Merge "Add traces for window manager and activity manager." into jb-dev
1cb93ba130241dbb70b81a1fa4d2704386c6dae8 26-Apr-2012 Dianne Hackborn <hackbod@google.com> Add traces for window manager and activity manager.

Change-Id: I6677ca64164f234efc7856ddd173ad6989b4f59e
tils/Trace.h
8e846fd6b3e09f5a52f47311e97b8d8f683833d4 25-Apr-2012 Dave Burke <daveburke@google.com> Define OMX_AUDIO_AACObjectELD

Change-Id: Icfbcbddb46fc0bf185e00b193462bc9e035c222b
edia/openmax/OMX_Audio.h
efc7ab6dcea8c22ddd7c0259ef4ab4bbf1e93044 18-Apr-2012 Jamie Gennis <jgennis@google.com> libgui: Add plumbing for active rectangle

This change adds the plumbing to SurfaceTextureClient, BufferQueue, and
SurfaceTexture to get the active rectangle passed to the ANativeWindow to
the buffer consumer.

Change-Id: I35da0889b266327ebb079b6a7136fa3e2e8b00e6
ui/BufferQueue.h
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
2488b20aec097accb20a853d9876bb0a5dc04636 21-Apr-2012 Mathias Agopian <mathias@google.com> add a way to query whether an ANativeWindow consumer is running ahead of the producer

Change-Id: Ibccfa1feb56db2ab11f0c0934ce2d570a2b65ae2
ui/ISurfaceTexture.h
ui/SurfaceTextureClient.h
24202f5676c32edeef6544cf36e06b9fc970dbde 23-Apr-2012 Mathias Agopian <mathias@google.com> update the binder protocol for connect to match that of queueBuffer

indeed, connect and queueBuffer return the same data, so it's
easier to have them use the same protocol.

Change-Id: I4f9fa3be0a80c9ab0a7a4039b282ae843aab02e1
ui/BufferQueue.h
ui/ISurfaceTexture.h
a0db308c3d62301ae41b2e2bcf295c4ee4c7b08e 23-Apr-2012 Mathias Agopian <mathias@google.com> remove SurfaceTexture::connect()

use BufferQueue::connect() instead

Change-Id: I04aab7cf11304bf962cde38470747f3b19ddba42
ui/SurfaceTexture.h
0f00cca1681c6fab9ad2ac9d93536213ba36e399 24-Apr-2012 Glenn Kasten <gkasten@google.com> Merge "Scheduling group cleanup"
64a1e08b86d72cb375f9dfdf4eb6307f71817350 20-Apr-2012 Mathias Agopian <mathias@google.com> SF doesn't need more than a few binder threads

Change-Id: Ic4659fb81f9990cc7caf84a496a8ae659a1d16a9
inder/BinderService.h
383190e475d7bdbe90359dbb99721041773a8646 19-Apr-2012 Andreas Huber <andih@google.com> Allow the crypto plugin to specify error detail if it returns an error

in the range ERROR_DRM_VENDOR_MIN..ERROR_DRM_VENDOR_MAX.

Change-Id: Ic5d53e98cf6d98d92ad305d51f848e03d0bf3a84
related-to-bug: 6365261
edia/hardware/CryptoAPI.h
a26e1cfbbcb7dc5e0b1cd79a815362d6a048ef26 16-Mar-2012 Glenn Kasten <gkasten@google.com> Scheduling group cleanup

Remove C++ APIs androidSetThreadSchedulingGroup and
androidGetThreadSchedulingGroup, and the ANDROID_TGROUP_* constants.

Former callers of these should now use the C APIs set_sched_policy and
get_sched_policy, and the SP_* constants.

Note: debug.sys.noschedgroups is not supported by the C APIs,
this needs to be discussed.

Change-Id: I32bbfc539ef4090faf9ef0320380e8cca9eae07c
tils/AndroidThreads.h
tils/ThreadDefs.h
9798ff28b80051185e432230000eb663d3cc8453 19-Apr-2012 Mathias Agopian <mathias@google.com> Merge "add set thread count"
1b80f793d2328dd94a151411a1cc3a676121ffc7 18-Apr-2012 Mathias Agopian <mathias@google.com> add set thread count

Change-Id: I70f02908d8362a465eb8a2a24356f6989847f7ba
inder/ProcessState.h
85b217668d6840c8e6a109adfb99461313676f8d 14-Apr-2012 Eino-Ville Talvala <etalvala@google.com> Remove fixed USAGE_HW_TEXTURE flag from BufferQueue.

USAGE_HW_TEXTURE applies to SurfaceTexture, not to all uses of
BufferQueue. Refactor accordingly.

Change-Id: Ic7add5e1f2bbec3d3e796ba7f15eaa0633945d8f
ui/SurfaceTexture.h
992b4c556b111fac50cd07f0f0e06fedfb0301e5 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Merge "Support tokenizing arbitrary content."
a8be8fa0966521afe78324351e805b4a8351dbd9 18-Apr-2012 Jeff Brown <jeffbrown@google.com> Support tokenizing arbitrary content.

Bug: 6110399
Change-Id: I37be63b68934fd451e6dffbf7d6079553619c0a3
tils/Tokenizer.h
4851e21d2ae4bbb2cdb0873c0e91e8e0bf7a81a8 17-Apr-2012 Chris Craik <ccraik@google.com> Merge "Add webview tracing bit"
3aecbb0715cb6928e0530ff1e4caa9c0993cc371 17-Apr-2012 Mathias Agopian <mathias@google.com> fix Region const_iterator.

- it returned an empty rect when the region was empty, instead
of returning an empty list of rect.

- also fixed an infinite loop when boolean_operation was given
an empty list of rects

Change-Id: I62225c7dcd2832025bb8f12e6cb3762f2a7b36cb
rivate/ui/RegionHelper.h
6acafadea0ef48acff794d12f5a64a81bcd7ef7c 17-Apr-2012 Chris Craik <ccraik@google.com> Add webview tracing bit

Change-Id: I82e54f5eeb2666a255e372fd3bfcc54c1b3d76a0
tils/Trace.h
ac6035a12aec38eeb14d0c13636ec980066d9a8f 13-Apr-2012 Mathias Agopian <mathias@google.com> s/w rendered apps can now use n-buffering (n>2)

Bug: 6311881
Change-Id: I6e52e281e8d432430aad011f6d9dcf35d7b4ac7d
ui/SurfaceTextureClient.h
016c8cbce4dde21f2703b9865f52d16b8d5d5ae2 04-Apr-2012 Daniel Lam <dalam@google.com> Enabled cropping support in SurfaceTexture

SurfaceTexture will modify the crop rect so it matches
the desired output aspect ratio when the scaling
mode is NATIVE_WINDOW_SCALING_MODE_CROP. Added a test
for this new scaling mode.

Change-Id: I60f24dcbc294b65cd10a393d9e27d40f07d27bb6
ui/SurfaceTexture.h
55a701459de964ae3504264a6b8c4dc37f54a9e8 10-Apr-2012 Michael I. Gold <gold@nvidia.com> SurfaceTextureClient: support for application buffer dimensions

Add a new API native_window_set_buffers_user_dimensions to allow native
applications to override the native window size for the default buffer size.
This has lower precedence than the existing
native_window_set_buffers_dimensions and allows the two to co-exist.

Change-Id: Ie73590e1c94ef0dadbce500bd0941dfabbcace3c
ui/SurfaceTextureClient.h
f0bc2f1d8d37977bd3aef3d3326a70e9e69d4246 10-Apr-2012 Mathias Agopian <mathias@google.com> use in/out structures for queueBuffer() IPC

Change-Id: Ie125df2444b62a9a2200586a717dca268852afc9
ui/BufferQueue.h
ui/ISurfaceTexture.h
fbcda930dd8b2823cfeb160fd0131f5897b7522f 10-Apr-2012 Daniel Lam <dalam@google.com> BufferQueue returns proper code on acquire

Also removed unnecessary debug messages from
SurfaceTextureClient.

Change-Id: I291897a44170142f9d42a007b008823fad4683e0
ui/BufferQueue.h
abe61bfda4938abd932465e27c29ba9e41aea606 27-Mar-2012 Daniel Lam <dalam@google.com> BufferQueue no longer hardcodes buffer counts

BufferQueue is now more flexible as it can be used
by SurfaceMediaSource in addition to SurfaceTexture.

Change-Id: I4222be8918d63372c44fcd412d9ad241c6a3eeb9
ui/BufferQueue.h
ui/SurfaceTextureClient.h
8cce8a9a75d172e0077960223ac5f2d06df33892 06-Apr-2012 Jamie Gennis <jgennis@google.com> Merge "Fixed disconnect bug in SurfaceTexture"
9b71221171774cc37b35bfd861cb4082d7f021ab 04-Apr-2012 Mathias Agopian <mathias@google.com> Merge "use a socketpair instead of a pipe in BitTube"
cf0db31c323676ba9cfab81c7032a37c09256e48 03-Apr-2012 Andreas Huber <andih@google.com> New Crypto "HAL" API.

Change-Id: I225cdfeffb7663a2d639a01cfe704aa12f9014b8
related-to-bug: 6275919
edia/hardware/CryptoAPI.h
7b5be95cb3903087742f1079fe89cddd8abe3696 03-Apr-2012 Mathias Agopian <mathias@google.com> use a socketpair instead of a pipe in BitTube

Bug: 6252830
Change-Id: Ia7a7b08409517214136261c05569dc5959a597ab
ui/BitTube.h
ui/DisplayEventReceiver.h
ui/SensorEventQueue.h
a1ec30ef2647fb7ee7ca1e0b8e089c42a082370c 10-Feb-2012 Yang Chuang <Yang_Chuang@asus.com> Add Japanese specific key codes

These keys are specific to Japanese hardware keyboard which can be
used by input method.

Patch ported from AOSP, with the addition of KANA.

Change-Id: I1474f0eb8971ed5d632822b1f9825c426f4817eb
ndroid/keycodes.h
9abe1ebc9575dc5a19bf1dfce6e9b02e03374457 27-Mar-2012 Daniel Lam <dalam@google.com> Fixed disconnect bug in SurfaceTexture

BufferQueue's disconnect could race with updateTexImage
where invalid buffers could be released. Additionally
fixed similar bug with setBufferCount. Tests were added
to stress the disconnect mechanism.

Change-Id: I9afa4c64f3e025984e8a9e8d924852a71d044716
ui/BufferQueue.h
ui/SurfaceTexture.h
0e1080f887bcd80c75910cabe7b2eca224bf739c 02-Apr-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: add context attach & detach"
74bed55fff0132be319bcd1703970516ae28b3a9 29-Mar-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: add context attach & detach

This change adds the detachFromContext and attachToContext methods to
SurfaceTexture. These methods allow the SurfaceTexture to switch from
one consumer GLES context to another. This change also includes a few
cleanups to the error return codes in updateTexImage.

Change-Id: I0df1eb599aa7b6f58f07431f242f8f09269559ed
ui/SurfaceTexture.h
851ef8f1bfbb164d61b1528a529a464f0a60dbaf 30-Mar-2012 Mathias Agopian <mathias@google.com> reduce IPC with BufferQueue

collapse setCrop, setTransform and setScalingMode to queueBuffer()
this ends up simplifying things quite a bit and reducing the numnber
of IPC needed per frame.

Change-Id: I3a13c07603abe4e76b8251e6380b107fde22e6d9
ui/BufferQueue.h
ui/ISurfaceTexture.h
ui/SurfaceTextureClient.h
9285a16450323d0e91513e2c270c2ac03c8b940c 29-Mar-2012 Jamie Gennis <jgennis@google.com> Merge "Refactored DummyConsumer"
b731ae01b15682a3326dc4145f614f919b2789b5 28-Mar-2012 Colin Cross <ccross@android.com> Move services/powermanager from frameworks/base to frameworks/native

Move services/powermanager into frameworks/native so audioflinger can
use it. Note that this is not the same as a PowerManagerService,
which is part of systemserver and handles turning the screen on and
off, etc. This is just a binder interface to allow taking wakelocks.

Change-Id: I6b6a8b41cdbad17e826fda45aab5f059f22fc64e
owermanager/IPowerManager.h
owermanager/PowerManager.h
9d61a28d72d85ac0460fb7fba9f85f8a955354c7 27-Mar-2012 Daniel Lam <dalam@google.com> Refactored DummyConsumer

DummyConsumer no longer uses a ProxyConsumerListener

Change-Id: I0a99428b3f9dae82cb47d5da3589de77653f3d7c
ui/DummyConsumer.h
87579669e088950692280f677a929b7652e350d1 27-Mar-2012 Jamie Gennis <jgennis@google.com> Merge "Added a DummyConsumer for use with BufferQueue."
f71c4ae136f7749b9dfdaa2dd64d771868eeeb2d 24-Mar-2012 Daniel Lam <dalam@google.com> Added a DummyConsumer for use with BufferQueue.

The DummyConsumer is a consumer that can connect to BufferQueue
that does nothing. It is required as BufferQueue checks
if a consumer is connected. Also fixes a bug where SurfaceTexture
was reusing old texture slots.

Bug: 6172739
Change-Id: I5e7a118dd4d07807ba4c763200242b5ee7d3412b
ui/BufferQueue.h
ui/DummyConsumer.h
0b94dcd03d8764eab7f1fb00f0f1f37904732aa1 26-Mar-2012 Glenn Kasten <gkasten@google.com> mv libcpustats from frameworks/base to /native

OK to lose history

Change-Id: I563fec271e0bc240e4a09a8b9647c7439badd85b
pustats/CentralTendencyStatistics.h
pustats/README.txt
pustats/ThreadCpuUsage.h
e1c61d3cc8458ce9a15d8109f728e60f5248939d 23-Mar-2012 Mathias Agopian <mathias@google.com> move ndk headers to frameworks/native

Change-Id: Ib740333753818ff8f8230ed009211b447e30cbee
ndroid/asset_manager.h
ndroid/asset_manager_jni.h
ndroid/bitmap.h
ndroid/configuration.h
ndroid/input.h
ndroid/keycodes.h
ndroid/looper.h
ndroid/native_activity.h
ndroid/native_window.h
ndroid/native_window_jni.h
ndroid/obb.h
ndroid/rect.h
ndroid/sensor.h
ndroid/storage_manager.h
ndroid/window.h
b0e76f456afaada43ddb0968bb37145219f90cd3 23-Mar-2012 Mathias Agopian <mathias@google.com> remove dependency of EGL on ndk header

Change-Id: Ia6e489b5b4f028864bdf54923e81f604710dd8ad
ui/SurfaceTextureClient.h
163d5a9fa742e6a39f058fb9ed726fc31f4ecb28 23-Mar-2012 Colin Cross <ccross@android.com> frameworks/native: move Zip* from libandroidfw to libutils

ZipUtils is needed by build/tools, move it from libandroidfw
(frameworks/base) to libutils (frameworks/native).

Change-Id: Ib8c41134ccdec6d6aa8d49860f8dddef49a24783
tils/ZipFileCRO.h
tils/ZipFileRO.h
tils/ZipUtils.h
4639dcfb2a348ef3f627e7aa1fba07bb75d126e9 23-Mar-2012 Kenny Root <kroot@google.com> Add UniquePtr.h to frameworks/native

This is a copy of libcore's UniquePtr.h header which is used until we
get C++11 which has std::unique_ptr which is essentially the same.

Taken from libcore project at commit
3e6dd45baa0d7f9b4fa06f4ade76e088b59cc7bf

Change-Id: I7537b016f9eae33bfc4c57b24f86260909719ab8
tils/UniquePtr.h
de3b072b124110f0ed4ea5c1ffe4039cb8aee281 20-Mar-2012 Jamie Gennis <jgennis@google.com> Merge "libgui: have ST::updateTexImage check the GL ctx"
782cb13c12ea597288e60d6e90e6548c9b6237aa 20-Mar-2012 Jamie Gennis <jgennis@google.com> Merge "libgui: add BQ consumer buffer free notifications"
ce561372186c7549a8a5fe996ac5965cda087007 20-Mar-2012 Jamie Gennis <jgennis@google.com> libgui: have ST::updateTexImage check the GL ctx

This change adds a check to SurfaceTexture::updateTexImage to verify
that the current GL context is the same as the one that was used for
previous updateTexImage calls.

Change-Id: If02d2f787bcfdb528046dc9ddf6665f8a90e1bf4
ui/SurfaceTexture.h
fa5b40ebb8923133df12dc70591bfe35b3f1c9b3 15-Mar-2012 Jamie Gennis <jgennis@google.com> libgui: add BQ consumer buffer free notifications

This change adds a new callback for BufferQueue consumers to be notified
when the BufferQueue frees some or all of its buffers. This is needed
to retain SurfaceTexture behavior where all buffers would be freed when
the producer disconnects. This change also modifies the
SurfaceTextureGLToGLTest.EglDestroySurfaceUnrefsBuffers test to catch
when the buffers are not freed.

The implementation is a little complicated because it needs to avoid
circular sp<> references across what will be a binder interface (so wp<>
can't be used directly). It also needs to avoid the possibility of
locking the BufferQueue and consumer (e.g. SurfaceTexture) mutexes in
the wrong order.

This change also includes a few additional fixes and test cleanups.

Change-Id: I27b77d0af15cb4b135f4b63573f634f5f0da2182
ui/BufferQueue.h
ui/SurfaceTexture.h
0818b0921ef6cda07f41b56d2ef19b2849dfefd1 17-Mar-2012 Jeff Brown <jeffbrown@google.com> Add a simple work queue abstraction.

Makes it easy to schedule a bunch of work to happen in parallel.

Change-Id: Id9c0e52fc8b6d78d2b9ed4c2ee47abce0a01775c
tils/AndroidThreads.h
tils/WorkQueue.h
e6d77c593d1a25b45c23bf9292ec7ee09fc14b6e 16-Mar-2012 Jeff Brown <jeffbrown@google.com> Add traits to common utils data structures.

Many of our basic data structures are trivially movable using
memcpy() even if they are not trivially constructable, destructable
or copyable. It's worth taking advantage of this *ahem* trait.

Adding trivial_move_trait to String16 reduces appt running
time on frameworks/base/core/res by 40%!

Change-Id: I630a1a027e2d0ded96856e4ca042ea82906289fe
tils/BitSet.h
tils/KeyedVector.h
tils/RefBase.h
tils/SortedVector.h
tils/String16.h
tils/String8.h
tils/TypeHelpers.h
tils/Vector.h
599ebfd48d43933e2edcfd4f18a0b1a9a9d7ff38 16-Mar-2012 Andreas Huber <andih@google.com> Remove all traces of long obsolete OMXComponentBase class.

Change-Id: I749994fe1560363afc95beae45b66ea56a20caa8
edia/hardware/OMXPluginBase.h
642b9e58a3d2a41a5684ffd4c202b56355ce5843 15-Mar-2012 Eino-Ville Talvala <etalvala@google.com> Merge "Move CameraParameters.h to frameworks/native."
8c511a9d0c1b3228c1be49ed2f4c42eb29eb9193 15-Mar-2012 Eino-Ville Talvala <etalvala@google.com> Move CameraParameters.h to frameworks/native.

CameraParameters.h is indirectly required to implement the Camera
HAL. Move it to frameworks/native.

Bug: 6171735
Change-Id: If4ccb273ea7ca79f54402ebc00febf1c3e59799f
amera/CameraParameters.h
b267579ba8dfe3f47d2a481c5a3c2254e3d565a1 23-Feb-2012 Daniel Lam <dalam@google.com> SurfaceTexture: Fully refactored from BufferQueue

SurfaceTexture and BufferQueue are separate objects.

Change-Id: I230bc0ae6f78d0f9b2b5df902f40ab443ed5a055
ui/BufferQueue.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
9f70b92f1bca0e09fdfdeec7be053f41271478ed 13-Mar-2012 James Dong <jdong@google.com> Copy one more file to /frameworks/native

o related-to-bug: 6044887

Change-Id: I920c487089eb258ada87603134f2597db6fe14e9
edia/hardware/MetadataBufferType.h
e56a5852713776c16a0a3d75f6e7c18abd94688d 12-Mar-2012 James Dong <jdong@google.com> Merge "Copied some headers from /frameworks/base to /frameworks/native to support PDK effort"
4d0f9674842e12311aa188254e2b6350d1540518 12-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Expose the set of enabled tags."
334de520b0369215b7931fefa424fb92d295f0eb 12-Mar-2012 James Dong <jdong@google.com> Copied some headers from /frameworks/base to /frameworks/native to support PDK effort

o added some minor header include changes
o related-to-bug: 6044887

Change-Id: Ia8e7ba861c509a4fb688ab2ed1e81151a708861a
edia/hardware/HardwareAPI.h
edia/hardware/OMXPluginBase.h
edia/openmax/OMX_Audio.h
edia/openmax/OMX_Component.h
edia/openmax/OMX_ContentPipe.h
edia/openmax/OMX_Core.h
edia/openmax/OMX_IVCommon.h
edia/openmax/OMX_Image.h
edia/openmax/OMX_Index.h
edia/openmax/OMX_Other.h
edia/openmax/OMX_Types.h
edia/openmax/OMX_Video.h
e936584ac1216e4d23dc9edd963f9785a77bf6b0 12-Mar-2012 James Dong <jdong@google.com> Move II420ColorConverter.h to /frameworks/native/include/media/editor

o related-to-bug: 6044894

Change-Id: Ib8f5406e32bd6c190d65e4a2e014f73e759d4415
edia/editor/II420ColorConverter.h
45b80c69ad8057fde0c0a76f7da3a2183a2aab96 09-Mar-2012 Jeff Brown <jeffbrown@google.com> Expose the set of enabled tags.

This is used by the Java trace wrappers to avoid JNI overhead
when trace tags are disabled.

Also added a new tag for the input subsystem and view hierarchy.

Change-Id: Ia04a507e42a37b1d3bbb19859e6c07a92f4fe9aa
tils/Trace.h
bc48ce68e6d17bbf78ac44645808a432110d9a37 01-Mar-2012 Andreas Huber <andih@google.com> Instead of hardcoding OMX component names in our code, support

a config file instead.

Change-Id: I5835903ab9f1c4a22ccc605ca99ed966767adf57
tils/Vector.h
7a7524810a0950c1c2b18014a8f1c637275165c4 28-Feb-2012 Mathias Agopian <mathias@google.com> get rid of MemoryHeapPmem

MemoryHeapPmem is not used any longer. PMEM is not a supported
type of memory by the system anymore. a particular device might
use PMEM and need something like MemoryHeapPmem, in this case this
should be implemented in device specific code (HAL).

This will most likely break older no longer supported targets.

Change-Id: I434e4291219950018de8b793b0403bb2d92dd5cc
inder/MemoryHeapPmem.h
89d353a4c52197695f06e37267ade99dc627e7e0 28-Feb-2012 Mathias Agopian <mathias@google.com> move CursorWindow from libbinder to libandroidfw

Change-Id: I3b304e4f74e0d0ec8b20c57296c62449c9a0f792
inder/CursorWindow.h
eae59d2ea77ef57aab203fb185a880ce37ac38d6 23-Jan-2012 Daniel Lam <dalam@google.com> Removed dependecies between BufferQueue and SurfaceTexture

Refactored SurfaceTexture and BufferQueue such that share
no protected members. Created an consumer facing interface
for BufferQueue in preparation of connecting SurfaceTexture
and BufferQueue through a binder.

Change-Id: I938e63e085128148c58d0e26c7213b30145c109f
ui/BufferQueue.h
ui/SurfaceTexture.h
015b8420414f3eb516b105103eccba8cdb448d79 27-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "libutils: add a system-wide tracing utility"
fbb16559168b88e30ffbe6d466f4c044366f503c 27-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Revert "Removed dependecies between BufferQueue and SurfaceTexture""
90ac799241f077a7b7e6c1875fd933864c8dd2a7 26-Feb-2012 Mathias Agopian <mathias@google.com> fix libgui header location

Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
ui/BufferQueue.h
ui/IGraphicBufferAlloc.h
ui/ISurface.h
ui/ISurfaceComposer.h
ui/ISurfaceComposerClient.h
ui/Surface.h
ui/SurfaceComposerClient.h
rivate/gui/LayerState.h
rivate/gui/SharedBufferStack.h
rivate/surfaceflinger/LayerState.h
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/IGraphicBufferAlloc.h
urfaceflinger/ISurface.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
f91bb05132dccbb61a69351752d9ae47cc31f30d 26-Feb-2012 Mathias Agopian <mathias@google.com> split utils/threads.h into multiple headers

AndroidDefs.h - C/C++ enums and types
Mutex.h - Mutex class declaration
Condition.h - Condition class declaration
RWLock.h - RWLock class declaration
Thread.h - Thread class declaration
AndroidThreads.h - low-level thread creation functions
threads.h - includes all the above for backward source compatibility

Change-Id: Ia2f80c175333b59a41d1720985810bb2346e94cb
Note: implementations are still in Threads.cpp
tils/AndroidThreads.h
tils/Condition.h
tils/Mutex.h
tils/RWLock.h
tils/Thread.h
tils/ThreadDefs.h
tils/threads.h
864d2afbb3b8ffa17b408660624b384b518ef752 26-Feb-2012 Mathias Agopian <mathias@google.com> libagl shouldn't export anything

Change-Id: Ia823dbc56aab2a0b8a6063df4348fe6baac124c6
rivate/opengles/gl_context.h
9b10c47e112afc3600380895046a4a56e34cf6a8 27-Feb-2012 Daniel Lam <dalam@google.com> Revert "Removed dependecies between BufferQueue and SurfaceTexture"

This reverts commit a631399f71dbc7659d2f241968f85d337726ae61
ui/BufferQueue.h
ui/SurfaceTexture.h
32167056348f55609b896a5f6b15bd1dd42d8d19 27-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Removed dependecies between BufferQueue and SurfaceTexture"
f64b1ca000e0a5bb176f4e53f568e48dd1ecc71a 23-Feb-2012 Jamie Gennis <jgennis@google.com> libutils: add a system-wide tracing utility

This change adds some utility functionality for doing userland tracing
into the kernel trace log.

Change-Id: Id0a8cee9ea515b1d8765afd1cecf472a88b4b9e8
tils/Trace.h
5f2165f9455d4893b581b73a67c5431f4344b47e 25-Feb-2012 Mathias Agopian <mathias@google.com> remove dependency on android_native{s_priv|buffer}.h

Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
ui/SurfaceTextureClient.h
rivate/ui/android_natives_priv.h
urfaceflinger/Surface.h
i/ANativeObjectBase.h
i/EGLNativeSurface.h
i/FramebufferNativeWindow.h
i/GraphicBuffer.h
i/android_native_buffer.h
i/egl/android_natives.h
870b8aa15cb5c722b5d8eb7726eaa5f1a7c23d69 25-Feb-2012 Mathias Agopian <mathias@google.com> remove libui dependency on libEGL

Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
i/EGLUtils.h
ff615cc7a1cceedd705b0623b058c54669b29596 24-Feb-2012 Mathias Agopian <mathias@google.com> deprecate L_8, LA_88 and RGB_332 in sdk

re-add support for pixelformats L_8, LA_88 and RGB_332 in libui
for backward compatibility.

This may or may not fix 6058926

Bug: 6049685
Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53
i/PixelFormat.h
bd16dd1b3839ce39997020afa89f1aef6cda8c5f 23-Feb-2012 Jean-Baptiste Queru <jbq@google.com> am 32916f7a: am fc4215ee: am 2d03a93e: Merge "Xcode 4.3 compatibility checkin"

* commit '32916f7a22f2abf5c1e7021f44c2337ca172f2e5':
Xcode 4.3 compatibility checkin
333023884112259f145bb23c41a05211198d9792 23-Jan-2012 Daniel Lam <dalam@google.com> Removed dependecies between BufferQueue and SurfaceTexture

Refactored SurfaceTexture and BufferQueue such that share
no protected members. Created an consumer facing interface
for BufferQueue in preparation of connecting SurfaceTexture
and BufferQueue through a binder.

Change-Id: Iff55e740e36a7f70c9f7a17ee7a5af38e3d21f0f
ui/BufferQueue.h
ui/SurfaceTexture.h
42e2458144778596281ea2c4a98ad671053234e0 22-Feb-2012 Mathias Agopian <mathias@google.com> remove libui's dependency on libpixelflinger

this also remove support for unused pixelformats.

Change-Id: I2c759a6d2daa740f3786ed62095def8047ae933d
i/PixelFormat.h
579c2b4dc12543f53cf3c885b4a8525cfe4a533d 19-Feb-2012 Al Sutton <al@funkyandroid.com> Xcode 4.3 compatibility checkin

The update compiler in Xcode 4.3 (and 4.4) requires lookups into dependant
bases of class templates to be qualified. This checkin fixes the issues
raised by the compiler by implementing the this-> recommendation from
the llvm page at http://clang.llvm.org/compatibility.html#dep_lookup_bases

Signed-off-by: Al Sutton <al@funkyandroid.com>
tils/KeyedVector.h
a3a38812087f7ac19bb5cc79ceb7b80384d6bd2e 18-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring.

step 2: move libutils headers to their new home: androidfw

Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
tils/Asset.h
tils/AssetDir.h
tils/AssetManager.h
tils/BackupHelpers.h
tils/ObbFile.h
tils/ResourceTypes.h
tils/StreamingZipInflater.h
tils/ZipFileCRO.h
tils/ZipFileRO.h
tils/ZipUtils.h
80c39180425d6053ca536f68351bee3c5a351cc4 18-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring.

First step. Move libui includes to their new home: androidfw.

Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
i/Input.h
i/InputTransport.h
i/KeyCharacterMap.h
i/KeyLayoutMap.h
i/Keyboard.h
i/KeycodeLabels.h
i/PowerManager.h
i/VirtualKeyMap.h
94d0070b96f8635428bf1ee9d74bbe87fea59e3e 15-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "Clean up InputChannel file descriptor data type."
1eea29f48dd63dcfee106ae5fabe5740bf766c6e 15-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Refactored query function from SurfaceTexture into BufferQueue"
9491e81ff6a3e29ea31c9582ee1c6ab23c0e3e54 15-Feb-2012 Jeff Brown <jeffbrown@google.com> Clean up InputChannel file descriptor data type.

File descriptors are ints.

Change-Id: Ie36733bf36ddfeaa9a09ef6ebd7bd2f1788f5d27
i/InputTransport.h
87548ee2b380c1e76086d21047854fa3425a8f06 19-Jan-2012 Glenn Kasten <gkasten@google.com> Update comments

We no longer put the filename at start of file.

Change-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e
tils/KeyedVector.h
a18829ab231384858456a8a67b06a3f1e37d2794 13-Feb-2012 Jeff Brown <jeffbrown@google.com> Accurately track the sequence numbers of batched events.

Instead of sending finished signals immediately when appending to
a batch, record the chain of sequence numbers that were part of
the batch and then send finished signals all at once when done.
This change helps the dispatcher keep track of the true state
of the application and can improve ANR detection slightly.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420
Change-Id: I463c2221e2aa8fdf1c3d670c18e39e59ab69b0db
i/InputTransport.h
0a63adaff2ffa945f5e105ee39aec9dcf22954e7 13-Feb-2012 Jeff Brown <jeffbrown@google.com> Enable deferred input messages to be batched.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420
Change-Id: I6874d2128e880a35c6c33890c858cc6ee22af0fd
i/InputTransport.h
f0490c94d01aa7536e4fd3bdf6a888099ba9a5c6 07-Feb-2012 Jeff Brown <jeffbrown@google.com> Implement batching of input events on the consumer side.

To support this feature, the input dispatcher now allows input
events to be acknowledged out-of-order. As a result, the
consumer can choose to defer handling an input event from one
device (because it is building a big batch) while continuing
to handle input events from other devices.

The InputEventReceiver now sends a notification when a batch
is pending. The ViewRoot handles this notification by scheduling
a draw on the next sync. When the draw happens, the InputEventReceiver
is instructed to consume all pending batched input events, the
input event queue is fully processed (as much as possible),
and then the ViewRoot performs traversals as usual.

With these changes in place, the input dispatch latency is
consistently less than one frame as long as the application itself
isn't stalled. Input events are delivered to the application
as soon as possible and are handled as soon as possible. In practice,
it is no longer possible for an application to build up a huge
backlog of touch events.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d
i/InputTransport.h
6cdee9831d8d2bf8393c2d130cbdc2eced125e15 04-Feb-2012 Jeff Brown <jeffbrown@google.com> Rewrite input transport using sockets.

Since we will not longer be modifying events in place, we don't need
to use an ashmem region for input. Simplified the code to instead
use a socket of type SOCK_SEQPACKET.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420

Change-Id: I05909075ed8b61b93900913e44c6db84857340d8
i/InputTransport.h
a94f129a7bbaa8ea45c50e49ba3e6127ca2a15ec 10-Feb-2012 Dianne Hackborn <hackbod@google.com> Some hardening of isolated processes by restricting access to services.

Services now must explicitly opt in to being accessed by isolated
processes. Currently only the activity manager and surface flinger
allow this. Activity manager is needed so that we can actually
bring up the process; SurfaceFlinger is needed to be able to get the
display information for creating the Configuration. The SurfaceFlinger
should be safe because the app doesn't have access to the window
manager so can't actually get a surface to do anything with.

The activity manager now protects most of its entry points against
isolated processes.

Change-Id: I0dad8cb2c873575c4c7659c3c2a7eda8e98f46b0
inder/BinderService.h
inder/IServiceManager.h
b856052c00dfef70d0957482c72c2979ffc4733a 31-Jan-2012 Daniel Lam <dalam@google.com> Refactored query function from SurfaceTexture into BufferQueue

Change-Id: Id1cb6cc38d01edb4fcfcad867c5a7693bdcc3ab1
ui/BufferQueue.h
ui/SurfaceTexture.h
d94bb5c8834d134adaa0bf382fb7bf84e918e8f7 09-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue."
b8a2e98cd7edbe7513543670c94f6b5efa74462f 08-Feb-2012 Romain Guy <romainguy@google.com> Preliminary support for clipRect(Rect, Op)

This adds basic support for clip regions. It is currently disabled at compile
time. Enabling clip regions will require setting up a stencil buffer.

Change-Id: I638616a972276e38737f8ac0633692c3845eaa74
i/Region.h
6b091c53000c843211c218ce40287a7edca9bc63 23-Jan-2012 Daniel Lam <dalam@google.com> Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue.

Change-Id: I514f6b802f6b49c9ae27bed37bf0b9d23da03c9a
ui/BufferQueue.h
ui/SurfaceTexture.h
a11edd8dc179e9e20a80c18b6a28b44973dadcd0 03-Feb-2012 Amith Yamasani <yamasani@google.com> Merge "Multi-user - 1st major checkin"
4e975bb488bb3947703e95cb33a4838adda680f7 04-May-2011 Amith Yamasani <yamasani@google.com> Multi-user - 1st major checkin

Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)

Added ServiceMap for separating services by user
Launch PendingIntents on the correct user's uid
Fix task switching from Recents list
AppWidgetService is mostly working.

Commands added to pm and am to allow creating and switching profiles.

Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
inder/IPCThreadState.h
064b68d1bc6eaef1722fb0fe033a762e439365fa 03-Feb-2012 Mathias Agopian <mathias@google.com> Merge "separate transactions from updates"
a1eee39f581249ae137ce3cb372fbf92ed1344bf 02-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Thread::getTid returns pid_t gettid() after run"
99ce5cdeb383216dee95af4d90e47406b0948ea1 01-Feb-2012 Mathias Agopian <mathias@google.com> separate transactions from updates

with this changes, SF transactions are handled as soon as possible
but do not trigger updates. the update is delayed until the next
vsync.

this allows us to work much better without requiring triple-buffering.

Change-Id: I1fa10794d0cf742129f0877698b7b1e1f2ec7401
ui/DisplayEventReceiver.h
baf1c68c749e872a1278bcb2f401f7a0a3025841 01-Feb-2012 Mathias Agopian <mathias@google.com> Merge "fix an issue with vsync event delivery"
3cf199aef6250552555344944c3e3a6e4ab05f92 01-Feb-2012 Mathias Agopian <mathias@google.com> fix an issue with vsync event delivery

vsync events were sometimes delivered to connected
client who didn't request them. this happened if
another client requested the delivery and that client
was first in the client list.

also fix the vsync test which didn't request any events as
well as DisplayEventReveiver documentation which was misleading
about the necessity to request vsync events.

Change-Id: Ie990fda3f337f8f0042745c4b2cde67936c45686
ui/DisplayEventReceiver.h
60b133efc357df4da1a1ec55a4a83241a6635f46 31-Jan-2012 Dianne Hackborn <hackbod@google.com> aapt now sorts the strings in the resource string pool.

In our current environment with very many translations, this can
save a lot of RAM -- for example over 200K in Gmail just by sorting
the strings in the Gmail .apk (not the framework).

Also add a new aapt command to print the contents of the resource
table string pool.

Change-Id: I1da037b3e2c377b890833ff57ab158965314ac48
tils/ResourceTypes.h
907e08f2de1e904b74806338ea299c6f38b54848 26-Jan-2012 Dianne Hackborn <hackbod@google.com> Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.

Change-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598
tils/ResourceTypes.h
5b11920b1ac845fa6d5890e0e107c576b57a4c4a 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)

Change-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a
tils/ResourceTypes.h
00469f19408b3af36c3bf0fc0d2c07157f546bb9 12-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOG() to (IF_)ALOG()

Change-Id: If49c81a2793182771c6160fbca93905daa6f44c1
inder/CursorWindow.h
ba699cb0f7f95f665593541d2b37e12fb10b85f1 12-Jul-2011 Glenn Kasten <gkasten@google.com> Thread::getTid returns pid_t gettid() after run

This is needed when the parent or any other thread besides the child
needs access to the child's kernel tid.

Change-Id: Ib148505913eb78314cfd76657c30d7b20663dffd
tils/threads.h
fcc24a5b4de5cd53e77bba75db2f87f7c5d2448e 14-Jan-2012 Jeff Brown <jeffbrown@google.com> Merge "Fix compilation with Clang."
97470659e99ea0edb7154a6f0730c786bc881762 13-Jan-2012 Evgeniy Stepanov <eugenis@google.com> Fix compilation with Clang.

warning: extraneous template parameter list in template specialization
template<>

Change-Id: If3e3e1d06a018343b40ac0984dfd9ecc12629f8d
tils/TypeHelpers.h
55ef343331f5efbfe3e01bc9993d94faea236048 07-Jan-2012 Mathias Agopian <mathias@google.com> remove dead/usnused code

Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
i/GraphicLog.h
e6f43ddce78d6846af12550ff9193c5c6fe5844b 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
tils/GenerationCache.h
a19954ab377b46dbcb9cbe8a6ab6d458f2e32bca 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
tils/ResourceTypes.h
99c520a069c4afceac4676279e5d658e49a4cb52 15-Dec-2011 Joe Onorato <joeo@google.com> Add a new ui mode for "appliance"

The idea is that this is a device which is more-or-less headless. It
might have some limited interaction capabilities, but it's not something
that you want to rely on having.

Change-Id: Ib92f53a120bf83de781728011721a4859def7d9f
tils/ResourceTypes.h
b634cd3f138bf4df6895cb91edf0aefd120e5521 09-Dec-2011 Romain Guy <romainguy@google.com> Merge "GenerationCache::get would return a random value instead of NULL Bug #5401917"
870165d2a20d9be2fd7d8420ae2dbdcecda3c666 09-Dec-2011 Romain Guy <romainguy@google.com> GenerationCache::get would return a random value instead of NULL
Bug #5401917

This was causing a ton of random crashes in apps.

Change-Id: I9069a060824ec89115cd3bcd38beaeb9ecc4488e
tils/GenerationCache.h
478ae5eb5a0047e1b2988c896cff6363b455ee50 07-Dec-2011 Mathias Agopian <mathias@google.com> Improve the VSYNC api a bit.

- add the ability to set the vsync delivery rate, when the rate is
set to N>1 (ie: receive every N vsync), SF process' is woken up for
all of vsync, but clients only see the every N events.

- add the concept of one-shot vsync events, with a call-back
to request the next one. currently the call-back is a binder IPC.

Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
ui/DisplayEventReceiver.h
ui/IDisplayEventConnection.h
a4fbecd1198899a3a4e55795406a06e7c111b13e 30-Nov-2011 Mathias Agopian <mathias@google.com> am 55d3880e: am bb1e7d43: Merge changes I7e973a35,Ib3386fcc into ics-mr1

* commit '55d3880eed3450748eb7b97281e030902ee29c2a':
SurfaceTexture: add EGL_KHR_fence_sync option
SurfaceTexture: add a blit-to-FBO test
27d22dc8625d4ccc2304a125de320f7ac49e2552 30-Nov-2011 Jamie Gennis <jgennis@google.com> am c040e1e7: am 6f1dd757: Merge "SurfaceMediaSource: use the vid enc usage bit" into ics-mr1

* commit 'c040e1e77923d81050f2d3dbdac5d07e01be72f6':
SurfaceMediaSource: use the vid enc usage bit
0c740a46d2877cedc3315e57ab967019240f5a15 30-Nov-2011 Mathias Agopian <mathias@google.com> Merge changes I7e973a35,Ib3386fcc into ics-mr1

* changes:
SurfaceTexture: add EGL_KHR_fence_sync option
SurfaceTexture: add a blit-to-FBO test
e06a1748a48317adfb1bbe4ae4f49164cba03268 30-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceMediaSource: use the vid enc usage bit" into ics-mr1
86edf4f6470ee0f108bf40d3c1d23bf0a78c9c38 14-Nov-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add EGL_KHR_fence_sync option

This change adds a compile-time option for SurfaceTexture to use the
EGL_KHR_fence_sync extension to synchronize access to Gralloc buffers.

Bug: 5122031
Change-Id: I7e973a358631fff5308acf377581b811911fe790
ui/SurfaceTexture.h
47c70d98d42d3cfe3cdf07ee6b3c405e7d2408b3 29-Nov-2011 Jeff Brown <jeffbrown@google.com> am c339fe30: am be6ab576: Merge "Fix application launch shortcuts." into ics-mr1

* commit 'c339fe302bc5083f0a110569eec06676be511088':
Fix application launch shortcuts.
d0566bc26fcf6ca396118701fa11900b627f2c09 18-Nov-2011 Mathias Agopian <mathias@google.com> Add support for sending VSYNC events to the framework

use gui/DisplayEvent to receive the events. Events are
dispatched through a unix pipe, so the API is compatible
with utils/Looper. see gui/DisplayEvent.h for more info.

Bug: 1475048
Change-Id: Ia720f64d1b950328b47b22c6a86042e481d35f09
ui/DisplayEventReceiver.h
ui/IDisplayEventConnection.h
urfaceflinger/ISurfaceComposer.h
439cf8576d3b846c0aa0944d84372259bf075d51 29-Nov-2011 Mathias Agopian <mathias@google.com> Fix build.

Revert "Add support for sending VSYNC events to the framework"

This reverts commit f3918c5bd4bc9f02f74da42995564150ca2dd382.

Change-Id: I998e3e1aa3fa310829ae973b64fe11b01f6f468f
urfaceflinger/ISurfaceComposer.h
9ee44c8f9456a9fc49d78b24e8cdeb9efa632c41 28-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix application launch shortcuts.

Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.

Added a set of Intent categories for typical applications on the
platform.

Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys. Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos. The goal is to encourage them
to stop doing this by implementing more of HID.

Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
i/KeycodeLabels.h
461afeb9fde149f9455acbadf1257d08d33e8eb3 18-Nov-2011 Mathias Agopian <mathias@google.com> Add support for sending VSYNC events to the framework

use gui/DisplayEvent to receive the events. Events are
dispatched through a unix pipe, so the API is compatible
with utils/Looper. see gui/DisplayEvent.h for more info.

Bug: 1475048
Change-Id: If4126023fc9c067e56087ec7d16a8fd542ce1794
urfaceflinger/ISurfaceComposer.h
41f673c9b3aac0d96e41c928845c39186d565212 18-Nov-2011 Mathias Agopian <mathias@google.com> split ComposerService out of SurfaceComposerClient.h

Change-Id: I1eb691f7ca263d5895d871ab675bb5826e0323c6
rivate/gui/ComposerService.h
urfaceflinger/SurfaceComposerClient.h
48585f35c7f0ef0dbe7eb67bed90b79e5fd426f6 24-Nov-2011 Jeff Brown <jeffbrown@google.com> Use sized integer typedefs in hash_type specializations.

Change-Id: I3f9e004db2f3be1cb43a885c3ae142f251fd6845
tils/TypeHelpers.h
66fbde305047b7a606d083a9ec8994fa693cc7d7 15-Nov-2011 Jeff Brown <jeffbrown@google.com> Add a basic hashtable data structure, with tests!

The basic hashtable is intended to be used to support a variety
of different datastructures such as map, set, multimap,
multiset, linkedmap, generationcache, etc.

Consequently its interface is fairly primitive.

The basic hashtable supports copy-on-write style functionality
using SharedBuffer.

The change introduces a simple generic function in TypeHelpers for
specifying hash functions. The idea is to add template
specializations of hash_type<T> next to the relevant data structures
such as String8, String16, sp<T>, etc.

Change-Id: I2c479229e9d4527b4fbfe3b8b04776a2fd32c973
tils/BasicHashtable.h
tils/TypeHelpers.h
185a0a0420f54f9588ec1c7230313023a7a2259b 22-Nov-2011 Jamie Gennis <jgennis@google.com> am c2597295: am 53cf2020: Merge changes I37fd43b5,I91eb29db,I0491ce35 into ics-mr1

* commit 'c25972950c2ea62fb085524dbe737c2bf0f08f4a':
SurfaceTexture: fix a couple tests
EGL: default to swap interval 1
SurfaceTexture: clean up some tests
b7d87c40ef3f922fb10f6a4f24e6e1437ab3c7ae 22-Nov-2011 Jamie Gennis <jgennis@google.com> SurfaceMediaSource: use the vid enc usage bit

This change makes SurfaceMediaSource add the VIDEO_ENC usage bit when
allocating its GraphicBuffers rather than the HW_TEXTURE bit.

Change-Id: Ie20e225c894fdbc31cad6bb82b3b64c7e98074eb
i/GraphicBuffer.h
59769469e4b9b2d8b12c020eb44b030b3927a50b 20-Nov-2011 Jamie Gennis <jgennis@google.com> EGL: default to swap interval 1

This change explicitly sets swap interval 1 on the window when an
EGLSurface is created to render to it.

Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
ui/SurfaceTexture.h
8bee68fac2dba0a72a58a243601d5d7d12e116e6 19-Nov-2011 Mathias Agopian <mathias@google.com> am d0df44b5: am 4d71053b: Merge "attempt to fix bug 5313580" into ics-mr1

* commit 'd0df44b5c979e00a19187cea35768ba26557e447':
attempt to fix bug 5313580
a36bcd53ac075054bb39ef506687f4daaf9bac6b 18-Nov-2011 Mathias Agopian <mathias@google.com> attempt to fix bug 5313580

the working theory here is that a Surface object has become non-promotable
because it lost its last reference; later Surface::readFromParcel is called
the previous surface is found in the cache, but can't be promoted. this causes
a new Surface object to be created which will promptly try to connect to the
CPU_API -- this in turn will fail because the previous (now dead) surface is
still connected.

To fix this, we make sure to disconnect from the SurfaceTexture when
Surface[TextureClient] is destroyed.

Change-Id: I422234868a05d7b7d283e9d5a85f7ab79e65d8a9
ui/SurfaceTextureClient.h
ccf5b9febc9486c67ace40fbfc53b49eadf2c159 17-Nov-2011 Jamie Gennis <jgennis@google.com> am 7765fc65: am fd6b64f6: Merge "SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call" into ics-mr1

* commit '7765fc651a9519dd2f0ac9d3374a50e9865c5c99':
SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call
c1ef3c4d7d008b04331c56490ec755f040b3e57a 16-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call" into ics-mr1
0c5ccc081a0214074a2aac886aa1581faab51f08 16-Nov-2011 Jeff Brown <jeffbrown@google.com> am 4c0e0dd2: am 3e7497b4: Merge "Eliminate hw.keyboards system properties." into ics-mr1

* commit '4c0e0dd29dcce33e7521b11d01d21d9431f3b264':
Eliminate hw.keyboards system properties.
882b0a59d834be5b595713079f31a2389c32fdda 16-Nov-2011 Jeff Brown <jeffbrown@google.com> Eliminate hw.keyboards system properties.

Stop using system properties to publish information about
the key character map path. Instead, we can retrieve it
on demand by asking the window manager.

It was possible to exhaust the supply of system properties
when repeatedly adding and removing input devices.

Bug: 5532806
Change-Id: Idd361a24ad7db2edc185c8546db7fb05f9c28669
i/Input.h
i/KeyCharacterMap.h
i/Keyboard.h
a929748ddb67cbece3337c7fda7877fdeb973aa4 10-Nov-2011 Sunita Nadampalli <sunitan@ti.com> SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call

Surface Texture dequeue logic is modified to return the oldest of the
free buffers to Client on dequeue call.

Currently dequeue method is returning the first buffer index which is free.
The parsing is done in ascending order of the buffer slot indices.
This leads to returning the buffer which has been just queued to composer,
and hence display, and this defeats the purpose of having minimum dequeue count
as 2 in asynchrnouse mode.

This is fixed by checking all the free slots and returning the oldest buffer.

Change-Id: Ibbac10593c3994c278c601af0480b171635ecdd4
Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
ui/SurfaceTexture.h
4e8650d546ea05395c12655b77d180c85a5b56b2 15-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Clean up GenerationCache."
8c11963dda80d4add300520a8863bed39231825d 14-Nov-2011 Mathias Agopian <mathias@google.com> am 738d8cae: am c93a151f: Merge "Define, document, and test the behavior of very large SurfaceTextures" into ics-mr1

* commit '738d8cae2239d194429676f2889cfae3c8f7ba08':
Define, document, and test the behavior of very large SurfaceTextures
b4293fe4081d899446cf0b782da041d4af55d2f9 12-Nov-2011 Jeff Brown <jeffbrown@google.com> Clean up GenerationCache.

Use const references to keys and values where appropriate to avoid
copying them unnecessarily.

Deleted some dead code.

Simplified a few pieces that were doing unnecessary redundant work.

Change-Id: Ib2145b7094a40db2d679e05dafe050fe1e87b846
tils/GenerationCache.h
194c76c0477189700fda068e19b953b1d9af201a 10-Nov-2011 Mathias Agopian <mathias@google.com> Define, document, and test the behavior of very large SurfaceTextures

updateTexImage() now throws a runtime exception when its native
counterpart fails

Bug: 5506633

Change-Id: I151a6f685d465966e7df4df624412ab2da62e95f
ui/SurfaceTexture.h
c17f56fdf11d5c5207d02d457692a40252aa3f34 07-Nov-2011 Jeff Brown <jeffbrown@google.com> am 88061d6b: am 5462bc63: Fix a leak in Parcel::writeBlob.

* commit '88061d6b38cfb4bf374039846b753a3b21ac61e1':
Fix a leak in Parcel::writeBlob.
efd912c05c0ef550a1c5ba7a14281261f6a0f9f4 05-Nov-2011 Jeff Brown <jeffbrown@google.com> am 5462bc63: Fix a leak in Parcel::writeBlob.

* commit '5462bc6318b4b70e7a58c66994e2bd79f59d9739':
Fix a leak in Parcel::writeBlob.
93ff1f985e233fe04412a65041e977c9f0c21f5b 05-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix a leak in Parcel::writeBlob.

Was mistakenly assuming that Parcel::writeFileDescriptor took
ownership of the fd that was passed in. It does not!
Added some comments and a default parameter to allow the caller
to specify whether it wishes the Parcel to take ownership.

Bug: 5563374
Change-Id: I5a12f51d582bf246ce90133cce7690bb9bca93f6
inder/Parcel.h
7fbb39960e5af2319aeed653ee07751762d6bd8a 03-Nov-2011 Jamie Gennis <jgennis@google.com> am 236aea35: Merge changes Ibc99cb1c,Ie1f4f6f8 into ics-mr1

* commit '236aea3579787961fdd41d87574760b63323c0c1':
BlobCache: implement cache serialization
BlobCache: remove the mutex locking
0e1bc174293d4802f06641187dc5bf632f4e938a 13-May-2011 Jamie Gennis <jgennis@google.com> BlobCache: implement cache serialization

This change adds serialization and deserialization functionality to
BlobCache, conforming to the Flattenable interface.

Change-Id: Ibc99cb1c3d015f363d57d0713eabccec07ff975e
tils/BlobCache.h
93ca6fb91c613c7dfa287571f32c5c44a797961f 31-Oct-2011 Jamie Gennis <jgennis@google.com> BlobCache: remove the mutex locking

This change removes the mutex from the BlobCache class. The caller must
be responsible for thread synchronization in order to properly implement
the Flattenable interface, which is coming soon. Otherwise would be the
potential for the cache contents to change between the call to the
getFlattenedSize and flatten methods. Because the caller must do this
synchronization anyway there's no reason to also some synchronization
inside BlobCache.

Change-Id: Ie1f4f6f82b78744f46a41ce863cac0cad276a20e
tils/BlobCache.h
7796e962da502e0adaff0d407023f731a83a422f 26-Oct-2011 Mathias Agopian <mathias@google.com> Merge "Rename SensorChannel to BitTube"
9f760150f6e0f39b9923cfdc875373606839ee00 12-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOG() to (IF_)ALOG() DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/141576

Bug: 5449033
Change-Id: I42575e7c29cf1c0f465c357a5c97ab118df6f473
inder/CursorWindow.h
e27d62bbf24272d72fcbad5e6f8b69608151205b 20-Oct-2011 Jeff Brown <jeffbrown@google.com> Use libcorkscrew for stack unwinding.

Change-Id: Iee1ee5a2018ab8cfc1ce12ec2a124809245eaa02
tils/CallStack.h
5cae0d0699a169e468fff3e21165f35db12f2cde 21-Oct-2011 Mathias Agopian <mathias@google.com> Rename SensorChannel to BitTube
ui/BitTube.h
ui/ISensorEventConnection.h
ui/SensorChannel.h
ui/SensorEventQueue.h
818fb243572f8e1f408ba9fc35ef61bbedbd9ce1 19-Oct-2011 Dave Burke <daveburke@google.com> am 70ac412b: Merge "Add a LayerScreenshot" into ics-mr0

* commit '70ac412b2fe7be2507189a9fdfb30c43b36d56ac':
Add a LayerScreenshot
118d0245ee0a3b107055782aa8b555404b6f0280 14-Oct-2011 Mathias Agopian <mathias@google.com> Add a LayerScreenshot

A LayerScreenshot is a special type of layer that contains a screenshot of
the screen acquired when its created. It works just like LayerDim.

Make sure to call compositionComplete() after rendering into a FBO.

Bug: 5446982, 5467587, 5466259
Change-Id: I5d8a1b4c327f9973d950cd4f4c0bca7f62825cd4
urfaceflinger/ISurfaceComposer.h
7731f4eb63a128b31484d4014c18e74c6a32c18a 18-Oct-2011 Mathias Agopian <mathias@google.com> am 9a0732af: Merge "SensorManager reconnects to sensor service when the later dies" into ics-mr0

* commit '9a0732af1bd96a7d8247dee124a7da389137a52f':
SensorManager reconnects to sensor service when the later dies
0ee55fd4e51bb340587730a68f4b52cce288d97b 18-Oct-2011 Mathias Agopian <mathias@google.com> Merge "SensorManager reconnects to sensor service when the later dies" into ics-mr0
cdec8f01aae14ed59fbc57cb2ce97a6602f4b9a1 17-Oct-2011 Mathias Agopian <mathias@google.com> am 840b8a67: Revert "Add a LayerScreenshot"

* commit '840b8a678537519c27ddf2f818494eaa20a135d4':
Revert "Add a LayerScreenshot"
090cb44b945bfe2711344a5331814bd6412ab437 17-Oct-2011 Elliott Hughes <enh@google.com> Merge branch 'master' of ssh://android-git:29418/platform/frameworks/base
cb2de7182ee689cdb77242474def26938e852bf3 17-Oct-2011 Jamie Gennis <jgennis@google.com> Merge changes I4e5ff00c,Id5e3ca1d,I97cbba61

* changes:
SurfaceFlinger: Remove display freezing code
SurfaceFlinger: add some layer update tests
SurfaceFlinger: make sync transactions explicit
c33f784c4b5f4a30049cda99a23c9aefb8b9c49e 17-Oct-2011 Mathias Agopian <mathias@google.com> am 57337eb7: Merge "Add a LayerScreenshot" into ics-mr0

* commit '57337eb78e65c160fb9c46a01e04c476d1bfdca1':
Add a LayerScreenshot
e9800c83114988b6f8cc25bb9d508ebb322f9903 17-Oct-2011 Mathias Agopian <mathias@google.com> Revert "Add a LayerScreenshot"

This reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.
urfaceflinger/ISurfaceComposer.h
1a2b83a17d3bdb2440b8b5b96136f7916a5528b5 17-Oct-2011 Mathias Agopian <mathias@google.com> SensorManager reconnects to sensor service when the later dies

if system process ever restarted, processes using a SensorManager
would loose the ability to use it, resulting to a crash.
we now listen for sensor service death and reconnected if necessary.

Bug: 5445240
Change-Id: Ia47f8b26cdcecb729fa22bf11d55e10fcaef8cfc
ui/SensorManager.h
a402c4c9913cfbc6c3da21719c57a93a11f091f0 15-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: Remove display freezing code

This change removes the dead code from SurfaceFlinger that resulted from
disabling support for freezing the display.

Change-Id: I4e5ff00c94b4c7a79af2f65c9850c135210068ed
urfaceflinger/ISurfaceComposer.h
28378392fd5aa3e0a392c9eb64634055678c3987 13-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: make sync transactions explicit

This change enables a layer or orientation update transaction sent to
SurfaceFlinger to explicitly request a synchronous transaction.

Change-Id: I97cbba610c13679849f66114b216fa6dbf12f2a9
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
f171ab6da9cf9793093e50947aacdab8f2b0c9b2 14-Oct-2011 Mathias Agopian <mathias@google.com> Add a LayerScreenshot

A LayerScreenshot is a special type of layer that contains a screenshot of
the screen acquired when its created. It works just like LayerDim.

Bug: 5446982
Change-Id: I7814aff2380e7e146937f2b641907be2a30c76cc
urfaceflinger/ISurfaceComposer.h
3e2fb7056ab4f459c63c6204d60abd537adf8442 13-Oct-2011 Jeff Brown <jeffbrown@google.com> Deprecate local-only CursorWindows.

There is no difference and has never really been a difference
between local-only and remotable CursorWindows. By removing the
distinction officially in the API, we will make it easier to
implement CrossProcessCursor correctly. CrossProcessCursor
is problematic currently because it's not clear whether a call
to getWindow() will return a local-only window or a remotable window.
As a result, the bulk cursor adaptor has special case handling
for AbstractWindowedCursors vs. ordinary CrossProcessCursors
so that it can set a remotable window before the cursor fills it.
All these problems go away if we just forget about local-only
windows being special in any way.

Change-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376
inder/CursorWindow.h
0d602e072cdc03b08d8472e84536bc277a62c01f 12-Oct-2011 Romain Guy <romainguy@google.com> Merge "Reduce the size of libhwui by 50%"
5c78b6861fd4c9246cc88d37178a5567fb668f5b 12-Oct-2011 Romain Guy <romainguy@google.com> Reduce the size of libhwui by 50%

This change removes unnessary symbols. All symbols are hidden by
default, public APIs with exported symbols are explicitly marked
with ANDROID_API.

Change-Id: I692fde432a86c12108de1cfd1f6504919a7d5f3f
tils/Singleton.h
a799380eea309d85a68836a1e947f45636c2cfd4 12-Oct-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceFlinger: update orientation via transactions" into ics-mr0
b8d69a55f1c187a35ac41e69de63251f5501b6f4 11-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: update orientation via transactions

This change merges the ISurfaceComposer::setOrientation functionality
into ISurfaceComposer::setTransactionState. It enables the window
manager to atomically update both the display orientation and the
position and size of the windows in a single transaction with
SurfaceFlinger.

Bug: 5439574
Change-Id: I18a8ccc564d7d760ef8afb2d015ccdb7a7963900
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
ec4e0063a1c5cc6e01472cc2a9d27609ce3827d7 10-Oct-2011 Jeff Brown <jeffbrown@google.com> Use ashmem for CursorWindows.
Bug: 5332296

The memory dealer introduces additional delays for reclaiming
the memory owned by CursorWindows because the Binder object must
be finalized. Using ashmem instead gives CursorWindow more
direct control over the lifetime of the shared memory region.

The provider now allocates the CursorWindows and returns them
to clients with a read-only protection bit set on the ashmem
region.

Improved the encapsulation of CursorWindow. Callers shouldn't
need to care about details like how string fields are allocated.

Removed the compile-time configuration of string and numeric
storage modes to remove some dead weight.

Change-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd
inder/CursorWindow.h
de27227026e01c26a9debef77e4e268f242e713e 07-Oct-2011 Jeff Brown <jeffbrown@google.com> Fix regression in CursorWindow.copyStingToBuffer.
Bug: 5332296

Change-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99
tils/Unicode.h
cc0bf53f214d8c9029ce27ac3985dc5c18d5130a 06-Oct-2011 Jeff Brown <jeffbrown@google.com> Clean up CursorWindow code.
Bug: 5332296

The code is functionally equivalent, but a little more efficient
and much easier to maintain.

Change-Id: I90670a13799df05831843a5137ab234929281b7c
inder/CursorWindow.h
7746cc318829358bb2c4dc0a03d40a7856a6d13e 04-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix handling of "allow fds" state.

Didn't take into account nesting of bundles. Boo.

Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
inder/Parcel.h
5707dbf15d0b44c88fbaa6dd271097f2d42932e0 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Transfer large bitmaps using ashmem.
Bug: 5224703

Change-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808
inder/Parcel.h
8938ed2c8e906fc332301b64787728d4d34da571 29-Sep-2011 Dianne Hackborn <hackbod@google.com> Add mechanism for Parcel to not allow FDs to be written to it.

This is to help implement issue #5224703.

Change-Id: I026a5890495537d15b57fe61227a640aac806d46
inder/Parcel.h
tils/Errors.h
fb1b5a2f333800574b0da435d1200cf9b13d723f 28-Sep-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: parameterize the texture target

This change adds a hack to allow Android Browser to use a SurfaceTexture
to stream RGBA images to a GL_TEXTURE_2D texture object.

Change-Id: Idb90064d5d4b920959ef3be7451362ac5012460e
ui/SurfaceTexture.h
fa28c35c21d1bf8b38f541758c291bc17a2d7270 17-Sep-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add name support

This change adds support for setting a string that can be used to
identify a SurfaceTexture object in log messages.

Change-Id: Ib4ee085f36c8830dc964c05ef1654f5a55dfcd60
ui/SurfaceTexture.h
21230c6410bdab13cd2bd274da54b1e4061b6035 21-Sep-2011 Jeff Brown <jeffbrown@google.com> Handle orientation changes more systematically.
Bug: 4981385

Simplify the orientation changing code path in the
WindowManager. Instead of the policy calling setRotation()
when the sensor determined orientation changes, it calls
updateRotation(), which figures everything out. For the most
part, the rotation actually passed to setRotation() was
more or less ignored and just added confusion, particularly
when handling deferred orientation changes.

Ensure that 180 degree rotations are disallowed even when
the application specifies SCREEN_ORIENTATION_SENSOR_*.
These rotations are only enabled when docked upside-down for
some reason or when the application specifies
SCREEN_ORIENTATION_FULL_SENSOR.

Ensure that special modes like HDMI connected, lid switch,
dock and rotation lock all cause the sensor to be ignored
even when the application asks for sensor-based orientation
changes. The sensor is not relevant in these modes because
some external factor (or the user) is determining the
preferred rotation.

Currently, applications can still override the preferred
rotation even when there are special modes in play that
might say otherwise. We could tweak this so that some
special modes trump application choices completely
(resulting in a letter-boxed application, perhaps).
I tested this sort of tweak (not included in the patch)
and it seems to work fine, including transitions between
applications with varying orientation.

Delete dead code related to animFlags.

Handle pausing/resuming orientation changes more precisely.
Ensure that a deferred orientation change is performed when
a drag completes, even if endDragLw() is not called because the
drag was aborted before the drop happened. We pause
the orientation change in register() and resume in unregister()
because those methods appear to always be called as needed.

Change-Id: If0a31de3d057251e581fdee64819f2b19e676e9a
urfaceflinger/ISurfaceComposer.h
000e95e7ebf1a60bbb7fda604b54092f45c87f89 20-Sep-2011 Mathias Agopian <mathias@google.com> fix the float Rect in OpenGLRenderer to handle NANs

- we want functions like isEmpty() to return true if NANs are
involved in the Rect

- also clean-up the intersect familly of calls

- minor cleanup in the int32_t Rect as well

These played a role in http://b/5331198.

Bug: 5331198

Change-Id: I5369725ab482e4b83da9f1bd4cee5256e5de75b2
i/Rect.h
1d60b9629c022811e5efca71eb4d03f8b16a4cb0 15-Sep-2011 Andreas Huber <andih@google.com> A new API "androidGetThreadPriority"

Change-Id: I6baeead8c70460863343fd557250635fb1e6a170
tils/threads.h
73aaf0d8d22fa18e9336bdfcb97a01a242d17a23 14-Sep-2011 Jeff Brown <jeffbrown@google.com> Velocity Tracker II: The Revenge of Velocity Tracker
Bug: 5265529

Rewrote the velocity tracker to fit a polynomial curve
to pointer movements using least squares linear regression.
The velocity is simply the first derivative of this polynomial.

Clients can also obtain an Estimator that describes the
complete terms of the estimating polynomial including
the coefficient of determination which provides a measure
of the quality of the fit (confidence).

Enhanced PointerLocation to display the movement curve predicted
by the estimator in addition to the velocity vector.

By default, the algorithm computes a 2nd degree (quadratic)
polynomial based on a 100ms recent history horizon.

Change-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1
i/Input.h
137c3c549504a1bf52b85aa983c97f10533c7083 10-Sep-2011 Jeff Brown <jeffbrown@google.com> Tweak VelocityTracker.
Bug: 5265529

Calculate the velocity using the most recent touch sample as the
point of reference instead of the oldest. This change more heavily
weights recent touch samples and reduces the sample time window
used for calculation. This significantly improves the accuracy
of fling gesture detection.

Change-Id: Ib1940933e786e5f6a731552a99bcd9400741d55f
i/Input.h
41b6aabf356d8a505da37b1d046bc9010028fe8b 31-Aug-2011 Mathias Agopian <mathias@google.com> fix Surface positions are not floats

Added Surface.setPosition(float, float) which allows to set a surface's
position in float.

Bug: 5239859
Change-Id: I903aef4ad5b5999142202fb8ea30fe216d805711
rivate/surfaceflinger/LayerState.h
urfaceflinger/SurfaceComposerClient.h
940673f92ed8a0f4e6448b86ec08cee91ef3fc45 29-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Add C++ thread API androidGetThreadSchedulingGroup"
3599bf2c0727bc33e8136f5163eee6f398545e05 10-Aug-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: use the HWC gralloc usage bit

This change makes SurfaceFlinger always use the
GRALLOC_USAGE_HW_COMPOSER usage bit when allocating buffers that may be
passed to the HWComposer.

Change-Id: I70362a8ede2b359fb2046853f85149d597465817
i/GraphicBuffer.h
ecc7adef2ef88428bd493ca1b21fc42a26b0fdb8 18-Aug-2011 Jeff Brown <jeffbrown@google.com> Input system bug fixes, particularly for stylus.
Bug: 5049148

Finished stylus support, including support for indirect stylus
and mouse tools.

Added TILT axis. When stylus tilt X/Y is available, it is transformed
into an orientation and tilt inclination which is a more convenient
representation and a simpler extension to the exiting API.

Touch devices now only report touch data using a single input
source. Previously touch devices in pointer mode would report
both absolute touch pad data and cooked pointer gestures.
Now we just pick one. The touch device switches modes as needed
when the focused application enables/disables pointer gestures.
This change greatly simplifies the code and reduces the load
on the input dispatcher.

Fixed an incorrect assumption that the value of ABS_(MT_)DISTANCE
would be zero whenever the stylus was in direct contact. It appears
that the correct way to determine whether the stylus is in direct
contact (rather than hovering) is by checking for a non-zero
reported pressure.

Added code to read the initial state of tool buttons and axis values
when the input devices are initialized or reset. This fixes
problems where the input mapper state might have the wrong initial
state.

Moved responsibility for cancelling pending inputs (keys down,
touches, etc.) to the InputDispatcher by sending it a device reset
notification. This frees the InputReader from having to synthesize
events during reset, which was cumbersome and somewhat brittle
to begin with.

Consolidated more of the common accumulator logic from
SingleTouchInputMapper and MultiTouchInputMapper into
TouchInputMapper.

Improved the PointerLocation output.

Change-Id: I595d3647f7fd7cb1e3eff8b3c76b85043b5fe2f0
i/KeycodeLabels.h
7f7e85898f6dd9325418a2d2a30a8df48e52b66d 18-Aug-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: fix queues-to-composer"
582270d69db94286a248bd829f1ae6f910d45124 18-Aug-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix queues-to-composer

This change fixes the NATIVE_WINDOW_QUEUES_TO_WINDOW_COMPOSER query of
Surface and SurfaceTextureClient. Surface now uses the inherited
SurfaceTextureClient implementation of this query. SurfaceTextureClient
now queries SurfaceFlinger to determine whether buffers that are queued
to its ISurfaceTexture will be sent to SurfaceFlinger (as opposed to
some other process).

Change-Id: Iff187e72f30d454229f07f896b438198978270a8
urfaceflinger/ISurfaceComposer.h
9a6e71d14f1f8122aa63a89d0372fccd396600f4 18-Aug-2011 Mathias Agopian <mathias@google.com> Merge "don't return the current buffer from dequeueBuffer"
29b5762efc359022168e5099c1d17925444d3147 18-Aug-2011 Mathias Agopian <mathias@google.com> don't return the current buffer from dequeueBuffer

we were not reseting mCurrentTexture in some situations
which in turn caused dequeueBuffers() return a
"FREE" buffer that was also current.
Very often it was harmless, but it created a race with
updateTexImage() which could cause the following
queueBuffers() to fail.

Bug: 5156325
Change-Id: If15a31dc869117543d220d6e5562c57116cbabdb
ui/SurfaceTexture.h
de16a5a62ba218efaf829e9fed0cdf4b175c343b 17-Aug-2011 Xavier Ducrohet <xav@android.com> am ddf155b8: am 5dcda1fd: am 88512f59: am a8313e71: Merge "Fix String16 operator+ to actually work"

* commit 'ddf155b8338eb894a97612e4cb21257c11d8434a':
Fix String16 operator+ to actually work
754b249bcd2d72b90b4fbe82d0d9b636790717df 17-Aug-2011 Xavier Ducrohet <xav@android.com> am 5dcda1fd: am 88512f59: am a8313e71: Merge "Fix String16 operator+ to actually work"

* commit '5dcda1fda53bdc6dfe80cf37e62cacdc216224b1':
Fix String16 operator+ to actually work
242915f3d017582186eeebd8bd341a4290e31ff8 17-Aug-2011 Xavier Ducrohet <xav@android.com> am 88512f59: am a8313e71: Merge "Fix String16 operator+ to actually work"

* commit '88512f59bc051a42f4dd70acc8af5622f7e99db6':
Fix String16 operator+ to actually work
35302266fa2cadb23e2b5005943b6f63372b7ab8 17-Aug-2011 Xavier Ducrohet <xav@android.com> am a8313e71: Merge "Fix String16 operator+ to actually work"

* commit 'a8313e71fe8b483448d14e22610101c5f3672744':
Fix String16 operator+ to actually work
37bf88e54743640d29e99095bead3d8fd52af15c 17-Aug-2011 Josiah Gaskin <josiahgaskin@google.com> Fix String16 operator+ to actually work

This change fixes the String16 utility's operator+ function.

Change-Id: Ibed7b07277b50bf178febc72b6ce497893e66f17
tils/String16.h
cbe527884acf0f8f8c550c54f99b4dd864ac1e70 11-Aug-2011 Mathias Agopian <mathias@google.com> fix a memory leak and memory corruption in RefBase

we would leak a weakref_impl if a RefBase was never incWeak()'ed.
there was also a dangling pointer that would cause memory corruption
and double-delete when a custom destroyer was used to delay the
execution of ~RefBase.

it turns out that the custom destroyer feature caused most of the
problems, so it's now gone. The only client was SurfaceFlinger
who now handles things on its own.

RefBase is essentially back its "gingerbread" state, but the
code was slightly cleaned-up.

Bug: 5151207, 5084978
Change-Id: Id6ef1d707f96d96366f75068f77b30e0ce2722a5
tils/RefBase.h
37717b58dc012f934c09d90e166106728dd9b431 12-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am b654e6e5: am d144748d: Merge "Add missing include"

* commit 'b654e6e55a3e8d7e8c2e0b8b1ff4bb4f76c10e05':
Add missing include
e636a8ad44d5b3cb5ff174bc0ec20a352c4e83b3 12-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am d144748d: Merge "Add missing include"

* commit 'd144748d4767b2ccfb13857e23f78bc944e9531d':
Add missing include
2327ffac7dd70dcfc4b5d1a7ea68afd91941a9e1 11-Aug-2011 Jean-Baptiste Queru <jbq@google.com> Add missing include

Change-Id: I00181029e80a2ba75320550c14e950fadbab8a64
ui/SurfaceTexture.h
65adf39c3850c198f3ceac147e8ea717610f9f6c 11-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am 44874c23: am c962512c: Merge "added stub for getting buffer from surface texture"

* commit '44874c236de282b0d898f179fc9fdafa84aae40d':
added stub for getting buffer from surface texture
9f3a33a671bfbd13f27cdfc96b0e53cd3199b857 11-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am c962512c: Merge "added stub for getting buffer from surface texture"

* commit 'c962512cac19e2bb1103c0c1a5f739d40d4d7740':
added stub for getting buffer from surface texture
f81c168a7aac86af5e4741ea4c81b3ceba8d719e 11-Aug-2011 Chris Craik <ccraik@google.com> added stub for getting buffer from surface texture

Change-Id: If61153cacdd8027848f40f8d9035f7c4aead0a98
ui/SurfaceTexture.h
f440f670a4448a9b9aec96b53c94aeee7bb4602e 11-Aug-2011 Mathias Agopian <mathias@google.com> Merge changes I5174a6ec,I1f8538b6,Idb71fdcf

* changes:
fix a crasher in SurfaceTexture::updateTexImage()
rework dequeueBuffer()'s main loop.
error out when SurfaceTexture APIs are called while not connected
8e19c2e97e11505ee2ecf336275fd956f2ccfa22 11-Aug-2011 Mathias Agopian <mathias@google.com> fix a crasher in SurfaceTexture::updateTexImage()

we now make sure to drain the buffer queue on disconnect.
this happens only when in synchrnous mode. in async mode
we clear all buffers except the head of the queue.

for extra safety we also catch the null pointer
in updateTexImage (which should never happen) and return
an error.

Bug: 5111008

Change-Id: I5174a6ecbb0de641c6510ef56a611cbb4e9e1f59
ui/SurfaceTexture.h
2560d14ce8e38984032d999e3fdf8da9a47baf3c 11-Aug-2011 Mathias Agopian <mathias@google.com> rework dequeueBuffer()'s main loop.

this simplifies the code a bit and also makes sure
we reevaluate mAbandoned and mConnectedApi each time
we come back from waiting on mDequeueCondition

Change-Id: I1f8538b62ad321b51ed79d953b700036daba796d
ui/SurfaceTexture.h
ef51b992192adf4fc432686ab346f5fc7a13bc95 11-Aug-2011 Mathias Agopian <mathias@google.com> error out when SurfaceTexture APIs are called while not connected

- also log a warning when freeAllBuffers is called with a non empty buffer queue
- rename freeAllBuffers to freeAllBuffersLocked

Change-Id: Idb71fdcf233b9ccae62d5a2a7c3c4bad2501d877
ui/SurfaceTexture.h
9f213739b9bd1aea8a65b51cb56186e0e6557cca 10-Aug-2011 Jeff Brown <jeffbrown@android.com> am ca97671e: am 6f5a837c: Merge "Fix getSwitchState according to device capabilities."

* commit 'ca97671e2b74ed31b5bef6fd0b39e489f1ec5f51':
Fix getSwitchState according to device capabilities.
38b77d4373cbf56cf501eaa78b488c7cb3961a05 10-Aug-2011 Jeff Brown <jeffbrown@android.com> am 6f5a837c: Merge "Fix getSwitchState according to device capabilities."

* commit '6f5a837c9c4a55c82111c6cd5af6055b63fcb5a9':
Fix getSwitchState according to device capabilities.
c6d6863c9b0177096d355035d7609ca8c8e4799c 10-Aug-2011 Jeff Brown <jeffbrown@android.com> Merge "Fix getSwitchState according to device capabilities."
a11499a0266687a8d7281f29db84a62a93004f21 10-Aug-2011 Mathias Agopian <mathias@google.com> Fix typos and use new HAL_PRIORITY_URGENT_DISPLAY constant

Change-Id: I703f8a96dd0dfec427e74363ad95729bfefc95c7
tils/threads.h
5bfc24515bb5c8ea7975f72d538df37753733a2f 09-Aug-2011 Mathias Agopian <mathias@google.com> return correct value from query after connecting a surface

the first time a surface was connected, the values returned
by query NATIVE_WINDOW_DEFAULT_{WIDTH|HEIGHT} and
NATIVE_WINDOW_TRANSFORM_HINT were wrong until a call
to queueBuffer was performed.

Bug: 5137366, 5121607
Change-Id: I7ac6b5b0daa876638f6bed7c20f286a6e6d984f6
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
6b115451bfe4ec933cb9be96752d0077bb660161 03-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am 98c531dc: am 9b0c6bee: Merge "Fix a compiling error when trying to use setBufferCount"

* commit '98c531dca9e52af280ca002658bbe38775b3f6ae':
Fix a compiling error when trying to use setBufferCount
8fdbdf461a35048569c1af3d4cb99ddd6abb9e63 03-Aug-2011 Jean-Baptiste Queru <jbq@google.com> am 9b0c6bee: Merge "Fix a compiling error when trying to use setBufferCount"

* commit '9b0c6beed2cd5463655712ad80ed160c08611ff8':
Fix a compiling error when trying to use setBufferCount
697bce061c1b9bd76fa7f1998ab66ade331029db 03-Aug-2011 Teng-Hui Zhu <ztenghui@google.com> Fix a compiling error when trying to use setBufferCount

Change-Id: I1aefaf7ec111340a584e0beeeea60b845e16bb1f
ui/SurfaceTexture.h
5873ce46adc9e98efd6e5acbe21639a0a4d25c69 28-Jul-2011 Jeff Brown <jeffbrown@google.com> Refactor input reader to add stylus support.
Bug: 5064702

Introduced the concept of an InputListener to further decouple
the InputReader from the InputDispatcher. The InputListener
exposes just the minimum interface that the InputReader needs
to communicate with the outside world. The InputReader
passes arguments to the InputListener by reference, which makes
it easy to queue them up.

Consolidated all of the InputReader locks into one simple global
Mutex. The reason this wasn't done before was due to potential
re-entrance in outbound calls to the InputDispatcher. To fix this,
the InputReader now queues up all of the events it wants to send
using a QueuedInputListener, then flushes them outside of the
critical section after all of the event processing is finished.
Removing all of the InputMapper locks greatly simplifies the
implementation.

Added tests for new stylus features such as buttons, tool types,
and hovering.

Added some helpers to BitSet32 to handle common code patterns
like finding the first marked bit and clearing it.

Fixed a bug in VelocityTracker where the wrong pointer trace
could get cleared when handling ACTION_POINTER_DOWN. Oops.

Changed PointerCoords so it no longer stores useless zero
axis values. Removed editAxisValue because it is not very
useful when all zero value axes are absent and therefore
cannot be edited in place.

Added dispatch of stylus hover events.

Added support for distance and tool types.

Change-Id: I4cf14d134fcb1db7d10be5f2af7b37deef8f8468
i/Input.h
tils/BitSet.h
33e86c7a9143f89ae932034bbfe4c3a9f71114fd 29-Jul-2011 Derek Sollenberger <djsollen@google.com> resolved conflicts for merge of b7f09f28 to honeycomb-plus-aosp

Change-Id: Iebde13c41a2adf4e693d87e808cb0659f913e4e6
bbfbd30383bb8410604f257512a206c2d672776b 29-Jul-2011 Derek Sollenberger <djsollen@google.com> am b7ed8471: am 01caec8c: Merge "Adding an optional param to the SurfaceTexture constructor."

* commit 'b7ed8471f1b96aff901149cf9ac29e4b32672f93':
Adding an optional param to the SurfaceTexture constructor.
adbba1fda08cd19355a11857f06be0c3e10e7532 29-Jul-2011 Derek Sollenberger <djsollen@google.com> am 01caec8c: Merge "Adding an optional param to the SurfaceTexture constructor."

* commit '01caec8c4165a6cce2f276f8016b9eadab966944':
Adding an optional param to the SurfaceTexture constructor.
77c988cf4e01cce948c25e09986aa05ed9bf6816 29-Jul-2011 Derek Sollenberger <djsollen@google.com> Adding an optional param to the SurfaceTexture constructor.

Change-Id: I0fdbccf483a16af8039b85c0562f19a34ebce536
ui/SurfaceTexture.h
5aa3d79025c6565ee274945a032a269fc86db85f 29-Jul-2011 Michaël Burtin <mburtin@gmail.com> Fix getSwitchState according to device capabilities.

When querying switch state for a given device id, ensure that the device
exposes the given switch in its capabilities, report AKEY_STATE_UNKNOWN
otherwise.
This fix a bug in InputManager that reports an incorrect switch state
(down) when a device exposes at least one switch in its capabilites and
another switch is queried. For example, this can leads in always
reporting LID state open (SW_LID down) if only SW_HEADPHONE_INSERT is
exposed in capabilities.

Change-Id: I4e5265ec02af918c317673789e7948529842aa2d
Signed-off-by: Michaël Burtin <mburtin@gmail.com>
i/EventHub.h
b313559b212f6c22bb414c14937fb6a6d4b6c45a 28-Jul-2011 Kenny Root <kroot@google.com> Merge "Move extract native libraries to JNI code"
aa599086f84ec35d11cf5dce2e012845fb0636d7 14-Jun-2011 Mathias Agopian <mathias@google.com> DO NOT MERGE. may fix build on some version of gcc

Change-Id: Id99d390862731fd3fbc009dbffdf1d2a59dbe348
tils/RefBase.h
96e108271bb5da44a130c8b5976fc63879403735 26-Jul-2011 Mathias Agopian <mathias@google.com> Merge "remove dead code and member variables."
49a65e5526ed3a5353765b3e429c49543d1f3b8c 12-Jul-2011 Kenny Root <kroot@google.com> Move extract native libraries to JNI code

The built-in ZipFile class was quite a long time to find an unpack
libraries. Move everything to using the libutils ZipFileRO class that
goes quite a bit faster. Initial measurements are 6 times faster than
the Java code.

Also, read files off the disk and compare their CRC against the APK's
CRC to see if we need to write the new file to disk. This also cuts down
the bootup time by up to a second per APK that has native files.

Change-Id: Ic464a7969a17368fb6a6b81d026888c4136c7603
tils/ZipFileRO.h
3fbce7c56082e4e0d23f1c1c89983d3841853ed7 26-Jul-2011 Mathias Agopian <mathias@google.com> remove dead code and member variables.

also fix some comments and improve debugging logs.

Change-Id: I83e55309f306332b59e1ec46104c4a7fffbf3c97
ui/SurfaceTextureClient.h
fa1e002cec5dc33ebe52685dc81d644f783811a8 25-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: enable RGB external textures"
8d14330bd7c8ce855efb2284b306a314759ac4df 25-Jul-2011 Ted Bonkenburg <tedbo@google.com> Merge "Add support for creating a Surface from a a SurfaceTexture."
bd050ab2af1421d527d1a80ce59dd8d9940a838c 16-Jul-2011 Ted Bonkenburg <tedbo@google.com> Add support for creating a Surface from a a SurfaceTexture.

The Surface is already using SurfaceTexture internally and it is parcelable. This
is intended to replace and phase out ParcelSurfaceTexture in favor of creating a
new Surface.java object from an existing SurfaceTexture.

Change-Id: I8e2dd86614523da6abed6403e1d705a68fa19fdf
urfaceflinger/Surface.h
1f8e09f40d16ae377164d86e91385ad3d8e78e82 20-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: enable RGB external textures

This change removes support for conditionally using the GL_TEXTURE_2D
target for SurfaceTexture textures with RGB buffers. It also enables
and fixes the RGB-based SurfaceTexture tests.

Change-Id: I9a251a981cf66af6b048b2e4c3fe7231e4774f4d
ui/SurfaceTexture.h
7b305fffc39d0fe0926e7fd2d7f6a524fbce62b7 19-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add the abandon method.

This change adds the 'abandon' method to the SurfaceTexture C++ class.
This method may be used to put the SurfaceTexture in an abandoned state,
causing all ISurfaceTexture methods to fail.

Change-Id: Ibd261f7b73f44e2bec36a8508bf92113cfb7cf95
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
1259e9d6ac474f3e9dec8569fb694c61eeeef4d3 22-Jul-2011 Jamie Gennis <jgennis@google.com> Merge changes I799532f7,I5cffa6eb

* changes:
SurfaceTexture: fix a comment
SurfaceTexture: remove getAllocator
acb7b5dfc804d2e6b2e75b688f536fd38d75641a 11-Jun-2011 Pannag Sanketi <psanketi@google.com> Adding SurfaceEncoder for encoding FilterFrames

Adding SurfaceEncoder which can be used to encode
custom frame data. In a sense, it is reverse
of what SurfaceTexture does.

SurfaceEncoder takes in frames from a native window and
passes them to an encoder, thus acting like a MediaSource.
It uses GRAlloc buffers underneath for passing data.
The client side sets the geometry, format in the beginning,
which cannot be changed while the recording is going on.

Currently, there is no common pixel format that both
GRAlloc and HAL understand.
Also, the encoder cannot encode using the data from the GRAlloc
buffers.

The SurfaceEncoder_test examines mainly the buffer passage
since true encoding cannot be done at this point.
SimpleDummyRecorder 'reads' the frames in the same thread
as the start(), whereas DummyRecorder 'reads' in a separate
thread much like the MPEG4Writer. The test with DummyRecorder
is much closer to the real encoding implementation.

Related to bug id: 4529323

Change-Id: I58ec19a150f8fe4d6195196dc44f55002b46c7c8
i/PixelFormat.h
29c870271e8d3f8c40c356283650ba54fe71a16b 19-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a comment

Change-Id: I799532f77f8fbb6b8ee6888fdd8852b6f28e8c33
ui/SurfaceTexture.h
976f494d53cb239307fd810ce592b5b5de1cbc41 19-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: remove getAllocator

This change removes the SurfaceTexture::getAllocator method, as it's no
longer needed. Proper refcounting of the Gralloc buffers is now handled
by the IGraphicBufferAlloc binder marshalling code.

Change-Id: I5cffa6ebfc1bc5828fb7ce0e0a5b2f55cd8479da
ui/ISurfaceTexture.h
ui/SurfaceTextureClient.h
aa5e67192120306d716ec991eedaef5aa2c776c9 21-Jul-2011 Mathias Agopian <mathias@google.com> Merge "clean-up. get rid ofunused code and members in Surface[Control].cpp"
c10d9d90b2088a3304076e0dc4bf05cdbb5d45ab 21-Jul-2011 Mathias Agopian <mathias@google.com> clean-up. get rid ofunused code and members in Surface[Control].cpp

Change-Id: Ia7790ae28af2c2ac99eae01c2c5044ace4a490a4
ui/ISurfaceTexture.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/Surface.h
585ef1e14a31bfdc83ec40f3362dc1d92c8de977 21-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove unimplemented memory pool.

dlmalloc does such a great job that we don't need a pool anyways.

Change-Id: I105b28c4a5c491543959190c7c0a9de75a5b8052
tils/Pool.h
97c602c5af5f3ffd69009bf496d86347b71a2b4c 20-Jul-2011 Mathias Agopian <mathias@google.com> implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation"

Bug: 4487161
Change-Id: I883f34efe542c2a566d04966f873374f40c50092
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
7734ebfe47f42f980c1b44c1f284a91d8ad1d6c7 14-Jul-2011 Mathias Agopian <mathias@google.com> Add set_scaling_mode() to ANativeWindow.

This allows to specify the scaling mode independently from
the buffer size.

Change-Id: Iaa2baa660445531a97d3fac192e580f4929c5d3b
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
8f9dbf9e13b927de2524116c30544f7dfbbbf56c 14-Jul-2011 Mathias Agopian <mathias@google.com> move lock/unlock implementaion outside of Surface into SurfaceTextureClient

This makes ANativeWindow_lock/ANativeWindow_unlockAndPost work
with ANativeWindows implemented by Surface and SurfaceTextureClient.

Also, Surface now inherits directly from SurfaceTextureClient.

Bug: 5003724
Change-Id: I9f285877c7bae9a262e9a7af91c2bae78804b2ef
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
677517ae3f380e701a47abe4738b748fb3ca161d 15-Jul-2011 Jamie Gennis <jgennis@google.com> Merge changes Id9aa1003,I8c154189

* changes:
SurfaceTexture: make (dis)connect into an IPC
SurfaceTexture: add support for new connect values
fe0a87b54654a1392650e7f1862df473287d8332 14-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: make (dis)connect into an IPC

This change makes the ANativeWindow connect and disconnect calls result
in an IPC to the SurfaceTexture object. This will allow us to prevent
multiple simultaneous connections from different processes.

Change-Id: Id9aa1003b1335b96ca6bd4a1f5a67aa433d42efb
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
c2be743a9c366a17d64c6afb5a299664ddfcd32f 13-Jul-2011 Mike Lockwood <lockwood@android.com> Remove some #ifdef HAVE_ANDROID_OS that were needed for the simulator build

Change-Id: I13d9f251f86c05ae5405f37adbf6b8e9660935ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
rivate/binder/binder_module.h
0d0c5a6d6b434d3d7890f4bd9eca90084ba4e780 12-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "EGL: fix the ANativeWindow size/fmt override"
bee205fd58a27c10a0895de5339e76025d429d2b 01-Jul-2011 Jamie Gennis <jgennis@google.com> EGL: fix the ANativeWindow size/fmt override

This change fixes how the Android EGL layer overrides the size and
format of an ANativeWindow in eglCreateWindowSurface. The new behavior
is to leave the size untouched when overriding the format. The previous
behavior was to reset the ANativeWindow to use the default size set by
the ANativeWindow implementation.

It also adds two new 'perform' methods to the ANativeWindow interface:
set_buffers_dimensions and set_buffers_format, and redefines the
behavior of set_buffers_geometry to be the combination of these two new
methods.

Additionally, this change adds an error check for the return value of
the new native_window_set_buffers_format call, which required adding a
(stub) handler for to FramebufferNativeWindow.

Change-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1
ui/SurfaceTextureClient.h
e16986cae281f118ecd563c384b7f6e5a4b937b5 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
inder/ProcessState.h
4fb24275919aab88d0ce346f530c9911d6c08422 23-Jun-2011 Glenn Kasten <gkasten@google.com> Add C++ thread API androidGetThreadSchedulingGroup

This API is intended for applications that need to read a thread's
scheduling group, while using the higher-level (C++) family of thread APIs.

Change-Id: I5e58017f74c3989b20b5b1cc2bc4483c95720520
tils/threads.h
be3c018f8b00738cd7e884058966f82597b8e370 06-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Add Thread::join"
7946e416b67d95cc9d0c6a4bd4a6d1311c19ca77 06-Jul-2011 Mathias Agopian <mathias@google.com> Merge "return an error code with gralloc buffer allocation failures"
f44c896b091cbbea4a96a6c47ddd65f77ba54b32 06-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Thread ID zero for androidSetThreadSchedulingGroup"
2e0b543c09fad0f588b2eb65863ff881efa31546 02-Jul-2011 Jeff Brown <jeffbrown@google.com> Workaround apps that make assumptions about pointer ids.

Modified the touch input mapper to assign pointer ids sequentially
starting from 0 instead of using the tracking id or slot index
supplied by the driver. Applications should not depend on this
ordering but some do. (sigh)

Bug: 4980884
Change-Id: I0dfeb3ac27c57a7102a13c960c760e2a02eb7669
tils/BitSet.h
d9e8c64c3dce1612eb948a5c16ba4ff62202b423 01-Jul-2011 Mathias Agopian <mathias@google.com> return an error code with gralloc buffer allocation failures

Change-Id: I471e5d37ea7a42fc8a0f93446ee3b4229da37807
urfaceflinger/IGraphicBufferAlloc.h
19e0a8bfe9a15543b0bd7991cce08e5362e9f5cd 01-Jul-2011 Pannag Sanketi <psanketi@google.com> Merge "Minor fix in SurfaceTexture"
292a31a4c2ae2f6faf134e8e4a726583017dad06 24-Jun-2011 Pannag Sanketi <psanketi@google.com> Minor fix in SurfaceTexture

Change-Id: Ic859715becf3e6d5107bd8beb8c577034d00ec52
ui/SurfaceTexture.h
e6786c92d7d839ac238fc741f3a1a2906199a9a0 30-Jun-2011 Mathias Agopian <mathias@google.com> Merge "SF transactions are now O(1) wrt IPC instead of O(N)."
698c0873cf2e07bdc7fd1e72169aee2a19fa40d7 29-Jun-2011 Mathias Agopian <mathias@google.com> SF transactions are now O(1) wrt IPC instead of O(N).

Change-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43
rivate/surfaceflinger/LayerState.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/SurfaceComposerClient.h
tils/SortedVector.h
tils/Vector.h
acfc4829e4c67cc3acfcff1a6b4dd0752b6097a7 29-Jun-2011 Jason Simmons <jsimmons@google.com> Merge "Add a linear transform library to libutils"
73b607f9ce5c91fed6709495c31a5a7878732205 29-Jun-2011 Xavier Ducrohet <xav@google.com> am 54146a63: Merge "DO NOT MERGE. may fix build on some version of gcc" into gingerbread

* commit '54146a634e0e66a5e4732ba1a80079a1e93bdd8a':
DO NOT MERGE. may fix build on some version of gcc
c18d4da5e4d2d41fd5423c10da993d70c2b1b9e0 29-Jun-2011 Jason Simmons <jsimmons@google.com> Add a linear transform library to libutils

Change-Id: Icdec5a6bebd9d8f24b3f335f8ec8b09a5810a774
tils/LinearTransform.h
67b4cff399eef982a831dbe9c63e43e9846473a5 28-Jun-2011 Jamie Gennis <jgennis@google.com> Merge changes I9fb59763,I8b2c6e00

* changes:
SurfaceTexture: consume buffers after err checks
SurfaceTexture: change onFrameAvailable behavior
bae6579eb2690498528dfbc9381419badc8be733 27-Jun-2011 Andy McFadden <fadden@android.com> Remove native EventRecurrence parser

Switch over to the new parser.

Bug 4575374

Change-Id: If78d8042fb266182900398f7fc464a048c779966
im/EventRecurrence.h
99b49840d309727678b77403d6cc9f920111623f 28-Jun-2011 Mathias Agopian <mathias@google.com> PermissionCache caches permission checks

This is intended to absorb the cost of the IPC
to the permission controller.
Cached permission checks cost about 3us, while
full blown ones are two orders of magnitude slower.

CAVEAT: PermissionCache can only handle system
permissions safely for now, because the cache is
not purged upon global permission changes.

Change-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e
inder/Permission.h
inder/PermissionCache.h
3d8063b02e06020c8062addcc9ec49048d3bdb9a 27-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: change onFrameAvailable behavior

This change alters the conditions under which the onFrameAvailable
callback gets called by the C++ SurfaceTexture class. The new behavior
is to call the callback whenever a frame gets queued that will be
visible to the buffer consumer. This means that buffers queued in
synchronous mode always trigger the callback, as those buffers will
remain pending until they are consumed. Buffers queued in asynchronous
mode will only trigger the callback if there was not previously an
unconsumed buffer pending.

The new behavior means that a consumer should perform a draw operation
exactly once for every onFrameAvailable call that it recieves. This
change also modifies SurfaceFlinger and the SurfaceTexture JNI to
support of the new behavior.

Change-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40
ui/SurfaceTexture.h
5728a92e29c1c9729017a82c5d0bc18fc1069923 22-Jun-2011 Anu Sundararajan <sanuradha@ti.com> MemoryHeapBase: Save and binderize the offset

The offset that is used in the creation of the MemoryHeapBase must be saved, so
that it can be used to recreate the Heap when an IMemory object is passed
across process boundary through the binder.

Change-Id: Ie618fb5c0718e6711f55ed9235616fd801e648dc
Signed-off-by: Anu Sundararajan <sanuradha@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
inder/IMemory.h
inder/MemoryHeapBase.h
cf949e64a9e0ad2ecceb860de03d891d8120b7cf 24-Jun-2011 Jean-Baptiste Queru <jbq@google.com> am f458d5fd: Merge "Tweak for forward-compatibility"

* commit 'f458d5fdb8a48747d6fdd5fd0d0a44a6a8ed89e9':
Tweak for forward-compatibility
a614150d74f37ccd05483e81d2fc37460fe20384 24-Jun-2011 Jean-Baptiste Queru <jbq@google.com> Tweak for forward-compatibility

Change-Id: Ic5e4d949c1c80a2ebdc2ec802c35b5d3d7f9661d
ui/SurfaceTexture.h
14a0e58074f2698829b6554f578e6762c377caa3 24-Jun-2011 Grace Kloba <klobag@google.com> Add allowSynchronousMode to SurfaceTexture constructor.

Change-Id: I54f30a3c16bbe6b813f3bcd1d389da5627531304
ui/SurfaceTexture.h
58e012d1e37e1272d43c9ff0f56c9b236dd1d7f1 23-Jun-2011 Glenn Kasten <gkasten@google.com> Add Thread::join

This new API will be used by applications that previously used the
lower-level pthread APIs (including pthread_join). Centralizing on the
Thread class instead of pthread will permit additional functionality to
be added later in only one location.

Change-Id: I8460169ac9c61ac9f85752405ed54c94651058d7
tils/threads.h
ce63396effb32212501658c25f2ec6d1bd8b0307 23-Jun-2011 Glenn Kasten <gkasten@google.com> Thread ID zero for androidSetThreadSchedulingGroup

Already implemented by androidSetThreadPriority but not documented

Change-Id: I85302b17092952065f3f3a4214d8d8abdd465dbd
tils/threads.h
1e7fa9e945d98eab76ff92f37c25040429a6c0a0 23-Jun-2011 tedbo <tedbo@google.com> Add method to create a ParcelSurfaceTexture from android.view.Surface.

Change-Id: I05e343ab7e327478f60322af9373574b70c148f5
urfaceflinger/Surface.h
b36bb97ae37a0fbcb6a35770eb86ac5931409d0d 21-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: fix a NULL ptr dereference."
1c4414091cfb93206067fb64eba445653739d40f 20-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a NULL ptr dereference.

This change adds a NULL check when searching the slot list in
SurfaceTextureClient for the slot corresponding to a buffer being
queued or canceled.

Bug: 4645023
Change-Id: I806cbc1e34da118ea33a83c4f25ce8193ba1c3ad
ui/SurfaceTextureClient.h
75e3e4936bdcc9f7e717e14f530b9ac74ad81bd7 20-Jun-2011 Jean-Baptiste Queru <jbq@google.com> am e3b05d09: Merge "Tweaks for forward-compatibility"

* commit 'e3b05d09163257b888c86f2a560e10c48f4cf029':
Tweaks for forward-compatibility
3f3f5af40e409fe5d2f2af2c4906dbb28a982f43 18-Jun-2011 Jean-Baptiste Queru <jbq@google.com> Tweaks for forward-compatibility

Change-Id: Iec525edc186e78d5d865f82dd5b1f56263c22e86
ui/SurfaceTexture.h
i/GraphicBuffer.h
i/android_native_buffer.h
66ff46b366eb4df531d0a25104d7cea3b28bbcc4 14-Jun-2011 Mathias Agopian <mathias@google.com> DO NOT MERGE. may fix build on some version of gcc

Change-Id: Id99d390862731fd3fbc009dbffdf1d2a59dbe348
tils/RefBase.h
e2fc756f7d946da72991feeb8b569258f0b203eb 17-Jun-2011 Mathias Agopian <mathias@google.com> am 48294b0d: am e7d3ee9d: Revert "merge various SF fixes from gingerbread to honeycomb-mr2" (DO NOT MERGE)

* commit '48294b0d9388cff632f0e6ae5220305d342c76fb':
Revert "merge various SF fixes from gingerbread to honeycomb-mr2" (DO NOT MERGE)
debc234c242cfe30f9447f017d13bb4da89527c3 17-Jun-2011 Mathias Agopian <mathias@google.com> Revert "merge various SF fixes from gingerbread to honeycomb-mr2" (DO NOT MERGE)

Also revert all dependent changes:
This reverts commit 8e18668d14adf601cbe5973030c310ec23d88461.
This reverts commit 69b4587bfbb3e98f793959d9123340360fa233a2.
This reverts commit a9c9a4baf24700e8817d47d8ea8da1742caea0b5.
This reverts commit 2c0042b666a969091c931614f2fc0dce2f1cfac8.
This reverts commit f6c8206735e7e078461e5f2aef6e1a1446fdd075.
This reverts commit 24855c09173a6caaec7dcedd0c2d7ce15121d39b.

Change-Id: I33e699640f3f59e42fa03c99a9a1b7af0d27d4d8
tils/RefBase.h
e397ce2880020b7c04a711e481fc6faf8b52cecd 16-Jun-2011 Mathias Agopian <mathias@google.com> am 0887b8c2: am 8e18668d: revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)

* commit '0887b8c2e583e682cd2c1bc909cb3fdbec704004':
revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)
dbe60ddd85abf4b18f3b9a97b33e0efa95b0dd8e 16-Jun-2011 Mathias Agopian <mathias@google.com> am d5244e0a: am 52a43990: Revert "revert surfaceflinger leak fix as it uncovered a crasher on xoom"

* commit 'd5244e0a88ed2f843651aa5ffdc71a45c968e0f3':
Revert "revert surfaceflinger leak fix as it uncovered a crasher on xoom"
111280a8de1700f718744f48d163789473b9da30 16-Jun-2011 Kenny Root <kroot@google.com> Use rand() for MinGW

The version of MinGW we use doesn't have nrand48() which is really lame,
but we need to use libutils in the Windows SDK.

Change-Id: If854c03dbf02bc29e79f49e4539f08c2bf057517
tils/BlobCache.h
1b2c2a9ea0108cd182a56c47997ec68ee8de02b3 16-Jun-2011 Mathias Agopian <mathias@google.com> revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)

This reverts commit 52a43990880b27808bcf562afcc4209d34728e6e.

Change-Id: I1856a48f863b051395b8091ddfd1e01292fa1b1e
tils/RefBase.h
63ad28fb53a1b3b652495e57eb5fe52eb2a0ec80 16-Jun-2011 Mathias Agopian <mathias@google.com> Revert "revert surfaceflinger leak fix as it uncovered a crasher on xoom"

This reverts commit af6edba59e250adbdfa5b3c3be134f70d8c38a16.

Change-Id: I7793d3ca8a4d20a2b188364f47854328ab5f586d
tils/RefBase.h
e776586a081bddb734441a64f62ea28bee05a96f 16-Jun-2011 Mathias Agopian <mathias@google.com> am 7ecdeb6e: am d20d72d1: Merge "revert surfaceflinger leak fix as it uncovered a crasher on xoom" into honeycomb-mr2

* commit '7ecdeb6e548ff71d4f70b343e30136e89eaa3e33':
revert surfaceflinger leak fix as it uncovered a crasher on xoom
3790e7997a9a4444ef95c862046cf0053ab4703f 16-Jun-2011 Mathias Agopian <mathias@google.com> revert surfaceflinger leak fix as it uncovered a crasher on xoom

Bug: 4600244
Change-Id: Ia68ebf0f243a051ff6a21b3863e3e5d259bbf7ac
tils/RefBase.h
35cc0fcd51cb8c5580c516247407623e4e8e0cfa 15-Jun-2011 Mathias Agopian <mathias@google.com> am afffa8fa: fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)

* commit 'afffa8fa9f82a7343e1158bf921931fd3e3df615':
fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)
fbb8272db3eaf332671f1e558b0b55aeb16e532f 14-Jun-2011 Mathias Agopian <mathias@google.com> am a9007fbd: am 69b4587b: DO NOT MERGE. may fix build on some version of gcc

* commit 'a9007fbdae6671f66535da4b9dad04b19aaf9186':
DO NOT MERGE. may fix build on some version of gcc
7b1ef58d56eb97032a0d3a6aef1dcf4894391868 14-Jun-2011 Mathias Agopian <mathias@google.com> DO NOT MERGE. may fix build on some version of gcc

Change-Id: Iff6d9ab3a7caf58f65fc3f60633a3bd577b7af25
tils/RefBase.h
7a87ec7115882134a00ed04792b488e53172e707 14-Jun-2011 Mathias Agopian <mathias@google.com> may fix build on some version of gcc

Change-Id: Ia88787c0432ec84d51fe505fd6a2b6f98ebe8f33
tils/RefBase.h
ddc31c3e2bc6ffe66695c385d23e8ccc3c6dad06 13-Jun-2011 Mathias Agopian <mathias@google.com> fix RefBase so it retains binary-compatibility with gingerbread

Bug: 4595257
Change-Id: I0d5e10f497e3f39868bff58f6ded510c38b44b12
tils/RefBase.h
a67932fe6864ac346e7f78b86df11cf6c5344137 20-Apr-2011 Mathias Agopian <mathias@google.com> unify SurfaceTexture and Surface

Add the concept of synchronous dequeueBuffer in SurfaceTexture
Implement {Surface|SurfaceTextureClient}::setSwapInterval()
Add SurfaceTexture logging
fix onFrameAvailable
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/IGraphicBufferAlloc.h
urfaceflinger/ISurface.h
urfaceflinger/ISurfaceComposer.h
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/Surface.h
urfaceflinger/SurfaceComposerClient.h
7794b30589786098756e4734794f0cca30109557 13-Jun-2011 Mathias Agopian <mathias@google.com> am 77079399: am a9c9a4ba: fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)

* commit '77079399fca3e9c71e2ac06f3da26934e1c278b9':
fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)
76feee7a58af9626371a3540e6acc936662faabe 13-Jun-2011 Mathias Agopian <mathias@google.com> fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)

Bug: 4595257
Change-Id: I4773cf4fe59b2509db0ed733739eb6961d473b25
tils/RefBase.h
867740df0509e1f9b44f16187d1428ba8f351811 13-Jun-2011 Mathias Agopian <mathias@google.com> fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)

Bug: 4595257
Change-Id: I1db83149107d7dab1f0b7e73c684e0ff82e17e62
tils/RefBase.h
ac642349ba89c8839c421502fb779bee5cebfee3 13-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "libutils: add a binary blob cache implementation."
72f6af86305cd7fa1db6ebedff10a28c3c4f26f4 13-Jun-2011 Jamie Gennis <jgennis@google.com> Merge changes I56779420,I044e44e1,Ic5adfa29,Ied541ab8

* changes:
SurfaceTexture: add some GL->GL tests.
SurfaceTexture: fix up a comment.
SurfaceTexture: add getTransformMatrix tests.
SurfaceTexture: fix a getTransformMatrix crash.
ae468f43418c3cbae74c7f546283f6bb4e4df690 12-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix up a comment.

Change-Id: I044e44e17319e08af657a7ec9fa39100876fe862
ui/SurfaceTexture.h
736aa9573bb7b78f9c315f396c104491b3639426 13-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a getTransformMatrix crash.

This change moves the computation of the transform matrix out of
getTransformMatrix and instead performs the computation when
updateTexImage gets called. This is needed in order for
getTransformMatrix to succeed even if the buffers have been freed (e.g.
by changing the buffer count) because the computation depends upon the
properties of the current GraphicBuffer.

Change-Id: Ied541ab8747b7ad604f862717135f9a16a816be9
Bug: 4490420
ui/SurfaceTexture.h
c4a0feaaf4dbf8052ee2c231a522a5f596dec42f 13-Jun-2011 Glenn Kasten <gkasten@google.com> Merge "Remove redundant memory barrier"
d9e1bb76fe1e01fb79bb65959b92051aa18fddbe 02-Jun-2011 Glenn Kasten <gkasten@google.com> Remove redundant memory barrier

pthread_create already includes the necessary memory barriers:
- parent at pthread_create : pthread_mutex_unlock(start_mutex)
- child at __thread_entry : pthread_mutex_lock(start_mutex)

Add lock around uses of mThread.

Added comments:
- uses of mThread require lock
- androidCreateRawThreadEtc returned ID is not safe for direct use from non-parent threads.

Change-Id: I18cb296b41ddaf64cf127b57aab31154319b5970
tils/threads.h
66168d4bb452492907765084de886b8cff2fd5b1 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of f51ded0f to master

Change-Id: Ida356524a68aeb2b9b0013dfbb6ab4bd11e616e2
199512446d07e15797d1ae8b21b92ae61a372352 10-Jun-2011 Dianne Hackborn <hackbod@google.com> am a8d7ea06: am 220cd77d: Merge "Enforce public resource restriction on bag parents." into honeycomb-mr2

* commit 'a8d7ea067cf22baeee2ff0a33e5a8c5a35936942':
Enforce public resource restriction on bag parents.
d4bfc93113bd1a73145935dbf13e1560d151ae17 09-Jun-2011 Dianne Hackborn <hackbod@google.com> Enforce public resource restriction on bag parents.

Need to put some more styles in the SDK to avoid breaking apps.

Also, welcome Android 3.2.

Change-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d
tils/ResourceTypes.h
5d99f17e827a927938e450076857f4cf145074c2 08-Jun-2011 Jeff Brown <jeffbrown@android.com> am 61220e88: am bbbab26e: am 2c180499: Merge "Revert velocity damping. Bug: 4364920" into honeycomb-mr2

* commit '61220e880ac4d9d76b7fd50744439e68e929c697':
Revert velocity damping. Bug: 4364920
b7edd04f7adc8ed8c0c22a3c6601c22d355fc4da 07-Jun-2011 Jeff Brown <jeffbrown@android.com> am bbbab26e: am 2c180499: Merge "Revert velocity damping. Bug: 4364920" into honeycomb-mr2

* commit 'bbbab26ebe9bc789ba9abac757895a6c31de7cc5':
Revert velocity damping. Bug: 4364920
1d3a7130f957b0234ab24e9ea544e847869ce9af 07-Jun-2011 Jeff Brown <jeffbrown@android.com> Merge "Revert velocity damping. Bug: 4364920" into honeycomb-mr2
7ca7ba2064d4be0989b310907f5ddca218b58556 07-Jun-2011 Jeff Brown <jeffbrown@android.com> Revert velocity damping.
Bug: 4364920

Velocity damping proved to be a bad idea because it would
cause a significant ramp in velocity at the beginning of
a gesture, instead of the desired smooth behavior. Oh well.

Change-Id: Ie631946f47ef2492bd71fbed1ab44bbb39a875a8
i/Input.h
f3d939c5e5c2fa9b1ffea817fde3eece869e2bec 06-Jun-2011 Mathias Agopian <mathias@google.com> merge various SF fixes from gingerbread to honeycomb-mr2 (DO NOT MERGE)

Fix a race that could cause GL commands to be executed from the wrong thread.
RefBase subclasses can now decide how they want to be destroyed.
Fix a race in SurfaceFlinger that could cause layers to be leaked forever.
Fix a race-condtion in SurfaceFlinger that could lead to a crash.

initial cherry-pick:
resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp

Change-Id: I2a335e03fff219e35c18a7b0089b3a11d636576f
tils/RefBase.h
0129f1a27f13e175c9055e6f169096e5ac40602d 06-Jun-2011 Marco Nelissen <marcone@google.com> resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp

Change-Id: I1d86ea56b3d1d1b69f6671e5b0df0ca3f0c79643
36f49c133ec0d9d14ba3a06039f9db435e4731ea 04-Jun-2011 Jeff Brown <jeffbrown@android.com> am 56503b8d: am 8186a5f0: am 10c3f367: Merge "Implement pointer acceleration." into honeycomb-mr2

* commit '56503b8ddfe5c82407da32e18061e725f668432d':
Implement pointer acceleration.
576768ca0d7acf79a86b2662ce4f4f31c3e72f7e 03-Jun-2011 Jeff Brown <jeffbrown@android.com> am 8186a5f0: am 10c3f367: Merge "Implement pointer acceleration." into honeycomb-mr2

* commit '8186a5f065fac2b82c90cd18d79cd234bc221402':
Implement pointer acceleration.
b18d467bbc0f3325d6239a9741df3b2073e4ec82 03-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 54cb63e2 to master

Change-Id: I5b741a1781e3f76c03fc1534ffce871117effd10
dccd0899927c7a146e1523319f069b918f3211ea 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am da9837fb: am c058d386: am ff762299: Merge "Small fixes and cleanup of resource config handling." into honeycomb-mr2

* commit 'da9837fb61c8aa53c67921682016d97655332089':
Small fixes and cleanup of resource config handling.
adab62038365be512aa9c21cf64df642dd075704 01-Jun-2011 Jeff Brown <jeffbrown@android.com> Implement pointer acceleration.

Bug: 4124987
Change-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50
i/Input.h
b62013f6aafee08cfad25a2712dc32264e44f783 18-May-2011 Mathias Agopian <mathias@google.com> 9-axis sensor fusion with Kalman filter

Add support for 9-axis gravity and linear-acceleration sensors
virtual orientation sensor using 9-axis fusion

Change-Id: I6717539373fce781c10e97b6fa59f68a831a592f
ui/Sensor.h
caf5f71308b627c109ed11905f3dd3b7967bb07c 27-May-2011 Dianne Hackborn <hackbod@google.com> am 528c49f1: am b96cbbd1: Add "tv" density for 720p screens.

* commit '528c49f112dce5f9687f30a9751e783196eca0c6':
Add "tv" density for 720p screens.
c6291e0ff45375176d8cceb1a3aad2fd9ec13101 27-May-2011 Dianne Hackborn <hackbod@google.com> Add "tv" density for 720p screens.

Change-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630
tils/ResourceTypes.h
fff4e3f140e8353045538341f5427f225a69a50f 27-May-2011 Dianne Hackborn <hackbod@google.com> am c058d386: am ff762299: Merge "Small fixes and cleanup of resource config handling." into honeycomb-mr2

* commit 'c058d38602a1ffe00e14b4ab32c876c252eabe6d':
Small fixes and cleanup of resource config handling.
c3f07924a55dc5ed8d0451219b20d0cc60e83bcf 27-May-2011 Dianne Hackborn <hackbod@google.com> Small fixes and cleanup of resource config handling.

Change-Id: I402c31b68f2b4825cb4c610a65ee8e1da471c7bb
tils/ResourceTypes.h
98d1f99704b78cd17c7cdaa5d4898d3547428a28 25-May-2011 Jeff Brown <jeffbrown@google.com> am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)

* commit '8148cc3e47e50c916066e2fed562618b5827188f':
Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
9a2c1ca2dd96c30a7bd2242cf08e9f4ba80cc31c 25-May-2011 Jeff Brown <jeffbrown@google.com> am af685f3b: am 85a7f99c: Merge "Refactor how timeouts are calculated. (DO NOT MERGE)" into honeycomb-mr2

* commit 'af685f3bb566f297deee1615d55d4f33d5580ba3':
Refactor how timeouts are calculated. (DO NOT MERGE)
689e53cc822f0dc543d3728559a6ed8cea60cf57 25-May-2011 Jeff Brown <jeffbrown@google.com> am 16330e24: am 94e838f6: Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2

* commit '16330e249663fed890df0e95fce4016c2971120a':
Improve VelocityTracker numerical stability. (DO NOT MERGE)
446b40091002bc2fa8dc98071f2ec8c39e30bce1 25-May-2011 Jeff Brown <jeffbrown@google.com> am 4bd89fb0: am 82e4373e: Merge "Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)" into honeycomb-mr2

* commit '4bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1':
Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)
d3e6d3e763544511a870b354f657600d25c42b91 13-Apr-2011 Jeff Brown <jeffbrown@google.com> Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)

Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements. The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e
i/Input.h
8cd5ba4b7f01d3a54a8f8bc6d1793aa5fc8e09ef 19-May-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: clean up some comments, tests, etc.

This change fixes up some stale comments, member variable names, log
messages and disables a failing test.

Change-Id: Ic1d3344b18066cf710e4a42838b2417c6b1f2f6c
ui/SurfaceTexture.h
be93983384d967d981e2ca4ca21e5916c93c270d 25-May-2011 Simon Wilson <simonwilson@google.com> am c9cd2387: Merge changes I37f0f315,I8cbf6044,Ibb598931,I5262bf11 into gingerbread

* commit 'c9cd2387b6938a6fbefc731d2177902266f2a130':
Fix a race that could cause GL commands to be executed from the wrong thread.
RefBase subclasses can now decide how they want to be destroyed.
Fix a race in SurfaceFlinger that could cause layers to be leaked forever.
Fix a race-condtion in SurfaceFlinger that could lead to a crash.
3ae00fabc7c4508007e23b189bcfec4cd67f56eb 24-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of bbca8133 to master

Change-Id: I81493674dceab848e41d380a77a37e5a9be06db6
1eb42cf6dbe457a5173193eb0276f8c703003db5 17-Mar-2011 Jeff Brown <jeffbrown@google.com> Refactor how timeouts are calculated. (DO NOT MERGE)

Added a timeout mechanism to EventHub and InputReader so that
InputMappers can request timeouts to perform delayed processing of
input when needed.

Change-Id: I89c1171c9326c6e413042e3ee13aa9f7f1fc0454
tils/Timers.h
c5982b7bee75467f50d681ad54120eadc7a8d88e 15-Mar-2011 Jeff Brown <jeffbrown@google.com> Improve VelocityTracker numerical stability. (DO NOT MERGE)

Replaced VelocityTracker with a faster and more accurate
native implementation. This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation. This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces. The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920
i/Input.h
tils/BitSet.h
247da72a5bb1e762c73723fd2d495c9a6c4f1c68 10-Mar-2011 Jeff Brown <jeffbrown@google.com> Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)

1. Single finger tap performs a click.
2. Single finger movement moves the pointer (hovers).
3. Button press plus movement performs click or drag.
While dragging, the pointer follows the finger that is moving
fastest. This is important if there are additional fingers
down on the touch pad for the purpose of applying force
to an integrated button underneath.
4. Two fingers near each other moving in the same direction
are coalesced as a swipe gesture under the pointer.
5. Two or more fingers moving in arbitrary directions are
transformed into touches in the vicinity of the pointer.
This makes scale/zoom and rotate gestures possible.

Added a native VelocityTracker implementation to enable intelligent
switching of the active pointer during drags.

Change-Id: I7b7ddacc724fb1306e1590dbaebb740d3130d7cd
i/Input.h
tils/BitSet.h
2f118cd350513991f400d7f887c0e8345cba6a20 24-May-2011 Dianne Hackborn <hackbod@google.com> am 4bb78889: am 40277df7: Merge "Add "television" mode." into honeycomb-mr2

* commit '4bb78889d04594c01a6af7f6d38c1764e9f575f9':
Add "television" mode.
3d6881f3940dd19268006e71dd2ed9896588dfb6 20-May-2011 Mathias Agopian <mathias@google.com> RefBase subclasses can now decide how they want to be destroyed.

This adds a destroy() virtual on RefBase which
sublasses can implement. destroy() is called
in lieu of the destructor whenthe last strong
ref goes away.

Bug: 4483050
Change-Id: I8cbf6044a6fd3f01043a45592b5a60fa1e5fade2
tils/RefBase.h
a6b34ef26aba54e88b79b3e1550464960ee628d1 21-May-2011 Dianne Hackborn <hackbod@google.com> Add "television" mode.

Change-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b
tils/ResourceTypes.h
79ba9b5e39bfcbc6775bca56de139cf0fc5c914f 20-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 06a8ceac to master

Change-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69
20aeb1caa4e2232153d3a59923722c19a3563a78 20-May-2011 Mathias Agopian <mathias@google.com> RefBase subclasses can now decide how they want to be destroyed.

This adds a destroy() virtual on RefBase which
sublasses can implement. destroy() is called
in lieu of the destructor whenthe last strong
ref goes away.
tils/RefBase.h
7583282db6783a7550b70d5b8bfbe613d0480de2 20-May-2011 Dianne Hackborn <hackbod@google.com> am c851ea56: am 69cb8757: Add new "-swNNNdp" resource qualifier.

* commit 'c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a':
Add new "-swNNNdp" resource qualifier.
22585947ff9d5b4cd4235b399be5c2de2338e68b 20-May-2011 Dianne Hackborn <hackbod@google.com> Add new "-swNNNdp" resource qualifier.

Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
tils/ResourceTypes.h
58c8dd2aa9a8931a53923054679fb31fecc696c9 29-Apr-2011 Jamie Gennis <jgennis@google.com> libutils: add a binary blob cache implementation.

This change adds an implementation of a cache that stores key/value
pairs of unstructured binary blobs.

Change-Id: Idd01fdabedfa3aed6d359a6efb0592967af52651
tils/BlobCache.h
e959ed2533bdc37da99fd34dafa26d1967a6b4c9 07-May-2011 Jeff Brown <jeffbrown@google.com> Add initial API for stylus and mouse buttons.

Added the concept of pointer properties in a MotionEvent.
This is currently used to track the pointer tool type to enable
applications to distinguish finger touches from a stylus.

Button states are also reported to application as part of touch events.

There are no new actions for detecting changes in button states.
The application should instead query the button state from the
MotionEvent and take appropriate action as needed.

A good time to check the button state is on ACTION_DOWN.

As a side-effect, applications that do not support multiple buttons
will treat primary, secondary and tertiary buttons identically
for all touch events.

The back button on the mouse is mapped to KEYCODE_BACK
and the forward button is mapped to KEYCODE_FORWARD.

Added basic plumbing for the secondary mouse button to invoke
the context menu, particularly in lists.

Added clamp and split methods on MotionEvent to take care of
common filtering operations so we don't have them scattered
in multiple places across the framework.

Bug: 4260011
Change-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83
i/Input.h
i/InputTransport.h
89178d4de2964538c8a754df94c0911abe53c171 13-May-2011 Dianne Hackborn <hackbod@google.com> am 46a282f3: am 0ed2e845: Merge "DO NOT MERGE. Integrate add new screen width/height in "dp" configs." into honeycomb-mr2

* commit '46a282f323bc05606e4fe1eba795bd9ac7c99819':
DO NOT MERGE. Integrate add new screen width/height in "dp" configs.
88c0d696cc25defc021ae885811d1d52c482ebcf 13-May-2011 Dianne Hackborn <hackbod@google.com> DO NOT MERGE. Integrate add new screen width/height in "dp" configs.

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4
tils/ResourceTypes.h
cf46eb9817dfbfc020720d1e45b5c085252500fb 12-May-2011 Mathias Agopian <mathias@google.com> fix onFrameAvailable

Change-Id: I391fe9f6684ac9fd4f91416ce18b583f7087d966
ui/SurfaceTexture.h
68c7794183a7dbfe3b20d4ce832f8eb79c2c619a 10-May-2011 Mathias Agopian <mathias@google.com> Add SurfaceTexture logging

Change-Id: If1b74be5230813fb76429935d88b9d4a7c41700c
ui/SurfaceTexture.h
8072711307aa98ee5ee6f7369860ae38c3e19656 03-May-2011 Mathias Agopian <mathias@google.com> Implement {Surface|SurfaceTextureClient}::setSwapInterval()

Change-Id: I8382e346ddaa2c4c8ff56ac3ffd7f0109572f188
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
b3e518c820c7dbe35587bd45c510e4e5e7cfd9c9 22-Apr-2011 Mathias Agopian <mathias@google.com> Add the concept of synchronous dequeueBuffer in SurfaceTexture

Change-Id: Ic94cbab092953243a0746e04bbe1b2eb0cc930ef
ui/SurfaceTexture.h
eafabcdc1639fb96062d9e3c39b0ae27b0238ae1 20-Apr-2011 Mathias Agopian <mathias@google.com> unify SurfaceTexture and Surface

Change-Id: I49da2f5d8408e4cd7e148cfb777bb4ff68cd8f37
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
c04f153353cdb0d291297d10452239f791d3fd2b 26-Apr-2011 Mathias Agopian <mathias@google.com> Fix a bug where setgeometry couldn't be undone

This change the binder protocol between SurfaceTextureClient
and SurfaceTexture. dequeueBuffer() now takes the requested
parameters for the buffer. SurfaceTexture decides if the
buffer needs to be reallocated and does the allocation
if needed. In that case it returns BUFFER_NEEDS_REALLOCATION
to tell SurfaceTextureClient that it needs to call
requestBuffer (which all parameters have been removed) to
acquire a pointer to the buffer.

dequeueBuffer and requestBuffer could be folded into a single
IPC call, but we chose to optimize the case where buffers are
not created and avoid some complexity in the marshalling code.

Change-Id: I097a7f6f40a3491e10f3f3742eab33999286c304
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
d78797f6e69485f37dae9cb255f5287a06b65599 01-Apr-2011 Christopher Tate <ctate@google.com> Full local backup infrastructure

This is the basic infrastructure for pulling a full(*) backup of the
device's data over an adb(**) connection to the local device. The
basic process consists of these interacting pieces:

1. The framework's BackupManagerService, which coordinates the
collection of app data and routing to the destination.

2. A new framework-provided BackupAgent implementation called
FullBackupAgent, which is instantiated in the target applications'
processes in turn, and knows how to emit a datastream that contains
all of the app's saved data files.

3. A new shell-level program called "bu" that is used to bridge from
adb to the framework's Backup Manager.

4. adb itself, which now knows how to use 'bu' to kick off a backup
operation and pull the resulting data stream to the desktop host.

5. A system-provided application that verifies with the user that
an attempted backup/restore operation is in fact expected and to
be allowed.

The full agent implementation is not used during normal operation of
the delta-based app-customized remote backup process. Instead it's
used during user-confirmed *full* backup of applications and all their
data to a local destination, e.g. via the adb connection.

The output format is 'tar'. This makes it very easy for the end
user to examine the resulting dataset, e.g. for purpose of extracting
files for debug purposes; as well as making it easy to contemplate
adding things like a direct gzip stage to the data pipeline during
backup/restore. It also makes it convenient to construct and maintain
synthetic backup datasets for testing purposes.

Within the tar format, certain artificial conventions are used.
All files are stored within top-level directories according to
their semantic origin:

apps/pkgname/a/ : Application .apk file itself
apps/pkgname/obb/: The application's associated .obb containers
apps/pkgname/f/ : The subtree rooted at the getFilesDir() location
apps/pkgname/db/ : The subtree rooted at the getDatabasePath() parent
apps/pkgname/sp/ : The subtree rooted at the getSharedPrefsFile() parent
apps/pkgname/r/ : Files stored relative to the root of the app's file tree
apps/pkgname/c/ : Reserved for the app's getCacheDir() tree; not stored.

For each package, the first entry in the tar stream is a file called
"_manifest", nominally rooted at apps/pkgname. This file contains some
metadata about the package whose data is stored in the archive.

The contents of shared storage can optionally be included in the tar
stream. It is placed in the synthetic location:

shared/...

uid/gid are ignored; app uids are assigned at install time, and the
app's data is handled from within its own execution environment, so
will automatically have the app's correct uid.

Forward-locked .apk files are never backed up. System-partition
.apk files are not backed up unless they have been overridden by a
post-factory upgrade, in which case the current .apk *is* backed up --
i.e. the .apk that matches the on-disk data. The manifest preceding
each application's portion of the tar stream provides version numbers
and signature blocks for version checking, as well as an indication
of whether the restore logic should expect to install the .apk before
extracting the data.

System packages can designate their own full backup agents. This is
to manage things like the settings provider which (a) cannot be shut
down on the fly in order to do a clean snapshot of their file trees,
and (b) manage data that is not only irrelevant but actively hostile
to non-identical devices -- CDMA telephony settings would seriously
mess up a GSM device if emplaced there blind, for example.

When a full backup or restore is initiated from adb, the system will
present a confirmation UI that the user must explicitly respond to
within a short [~ 30 seconds] timeout. This is to avoid the
possibility of malicious desktop-side software secretly grabbing a copy
of all the user's data for nefarious purposes.

(*) The backup is not strictly a full mirror. In particular, the
settings database is not cloned; it is handled the same way that
it is in cloud backup/restore. This is because some settings
are actively destructive if cloned onto a different (or
especially a different-model) device: telephony settings and
AndroidID are good examples of this.

(**) On the framework side it doesn't care that it's adb; it just
sends the tar stream to a file descriptor. This can easily be
retargeted around whatever transport we might decide to use
in the future.

KNOWN ISSUES:

* the security UI is desperately ugly; no proper designs have yet
been done for it
* restore is not yet implemented
* shared storage backup is not yet implemented
* symlinks aren't yet handled, though some infrastructure for
dealing with them has been put in place.

Change-Id: Ia8347611e23b398af36ea22c36dff0a276b1ce91
tils/BackupHelpers.h
db05e228a4d170e644f27adc2d946558db53eb4e 10-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 05be6d6f to master

Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
d97f6b4ef9676a6ecc3d8a67f364687c885a9eaa 10-May-2011 Dianne Hackborn <hackbod@google.com> am 4907d1d5: am 0c6cbf41: Merge "Better compat mode part one: start scaling windows." into honeycomb-mr2

* commit '4907d1d5e2c7d244b07579b8c52153df69754e85':
Better compat mode part one: start scaling windows.
16fe3c2c1fac36507ec7190537c95944943b0cb2 28-Apr-2011 Dianne Hackborn <hackbod@google.com> Better compat mode part one: start scaling windows.

First step of improving app screen size compatibility mode. When
running in compat mode, an application's windows are scaled up on
the screen rather than being small with 1:1 pixels.

Currently we scale the application to fill the entire screen, so
don't use an even pixel scaling. Though this may have some
negative impact on the appearance (it looks okay to me), it has a
big benefit of allowing us to now treat these apps as normal
full-screens apps and do the normal transition animations as you
move in and out and around in them.

This introduces fun stuff in the input system to take care of
modifying pointer coordinates to account for the app window
surface scaling. The input dispatcher is told about the scale
that is being applied to each window and, when there is one,
adjusts pointer events appropriately as they are being sent
to the transport.

Also modified is CompatibilityInfo, which has been greatly
simplified to not be so insane and incomprehendible. It is
now simple -- when constructed it determines if the given app
is compatible with the current screen size and density, and
that is that.

There are new APIs on ActivityManagerService to put applications
that we would traditionally consider compatible with larger screens
in compatibility mode. This is the start of a facility to have
a UI affordance for a user to switch apps in and out of
compatibility.

To test switching of modes, there is a new variation of the "am"
command to do this: am screen-compat [on|off] [package]

This mode switching has the fundamentals of restarting activities
when it is changed, though the state still needs to be persisted
and the overall mode switch cleaned up.

For the few small apps I have tested, things mostly seem to be
working well. I know of one problem with the text selection
handles being drawn at the wrong position because at some point
the window offset is being scaled incorrectly. There are
probably other similar issues around the interaction between
two windows because the different window coordinate spaces are
done in a hacky way instead of being formally integrated into
the window manager layout process.

Change-Id: Ie038e3746b448135117bd860859d74e360938557
i/Input.h
697526bc9e44ce61c88614f98387ae8bbf0a187e 01-May-2011 Iliyan Malchev <malchev@google.com> frameworks/base: android_native_buffer_t -> ANativeWindowBuffer

Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417
Signed-off-by: Iliyan Malchev <malchev@google.com>
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
i/FramebufferNativeWindow.h
i/GraphicBuffer.h
ec10d231c0eaadbcb143932e5c1bb7c1953125a7 02-May-2011 Iliyan Malchev <malchev@google.com> frameworks/base: move ANativeWindow/android_native_buffer_t out

These definitions have been moved to system/core.

Change-Id: I021b6b5f2fd72d538b5ccdcb33860ebd3004d9ad
Signed-off-by: Iliyan Malchev <malchev@google.com>
i/android_native_buffer.h
i/egl/android_natives.h
41abd67302b52aefadc2b3dea42226f16bf6d9ba 15-Apr-2011 Iliyan Malchev <malchev@google.com> frameworks/base: make the ANativeWindow query() method const

query() does not modify the object's data, so it needs to be a const method

Change-Id: I67c40a3c865461e6f1cc2193fd2d74286ff6ac8f
Signed-off-by: Iliyan Malchev <malchev@google.com>
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
i/FramebufferNativeWindow.h
i/egl/android_natives.h
75c1535eb3bde60dfa3438083540afddc01e1cec 03-May-2011 Mathias Agopian <mathias@google.com> remove last traces of copybit

Change-Id: Ia0f13a0ee6f702256482b5eb29d7fa2aa840bfc7
rivate/opengles/gl_context.h
9cdb01da71934e98b6732db0f5758ea4edd5d5c7 29-Apr-2011 Mathias Agopian <mathias@google.com> get rid of dependency on copybit HAL module

Change-Id: Ia608099a2426c11a91d33063ba53c93e1eccb428
rivate/opengles/gl_context.h
i/Region.h
d5b421aaa7fcab4329cdfe5d8b37fce7e8f39fa6 26-Apr-2011 Mathias Agopian <mathias@google.com> fix typo in Vector<>:: push_back and push_front

parameter were inverted.

Change-Id: I867b01de5f58354bb9668fa662dd2a7d78dd3b37
tils/Vector.h
e60e1fd23d8d12fc46fd867c8bc837fc581ffa1d 26-Apr-2011 Mathias Agopian <mathias@google.com> Add some basic STL compatibility to Vector<>

Change-Id: Iaf72623170ee415372c7989d7ba9ff627167449e
tils/Vector.h
0ef4e15a6c12778daf464a4953d7e15e651f49ac 20-Apr-2011 Mathias Agopian <mathias@google.com> Get rid of the "pid" parameter from createSurface

Change-Id: I28635e3f803e6abe965d79998e305f54a202465d
urfaceflinger/ISurfaceComposerClient.h
urfaceflinger/SurfaceComposerClient.h
96dfedc55cab10922c677e3c8da11dc51e80b30c 20-Apr-2011 Jeff Brown <jeffbrown@google.com> Merge "Initial checkin of spot presentation for touchpad gestures."
4815f2a6ada7941680b29581d5cf5a5ed168f618 13-Apr-2011 Jeff Brown <jeffbrown@google.com> Initial checkin of spot presentation for touchpad gestures.

Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements. The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: I5126b1e69d95252fda7f2a684c9287e239a57163
i/Input.h
7e3d7f341ab3789fe25064670374159a35e35ed3 19-Apr-2011 Mathias Agopian <mathias@google.com> Merge "changes to SurfaceTexture needed for unification with SF"
6e9eb7453fe81fd0bb06eaa263c1767765ef5a78 18-Apr-2011 Andreas Huber <andih@google.com> Merge "Parcel::appendFrom({const } Parcel *parcel, size_t, size_t)"
a36a302e92f4b6367663dec4ead42b67be4f9a5c 16-Apr-2011 Mathias Agopian <mathias@google.com> Merge "Fix a GraphicBuffer leak in SurfaceTexture"
a2ad6b74a30ab40dc62a668d8a54923984db514e 08-Mar-2011 Bjorn Bringert <bringert@android.com> Add Java API for writing TTS engines

This removes the old non-public C++ API for TTS
engines and replaces it with a Java API.

The new API is still @hidden, until it has been approved.

Bug: 4148636
Change-Id: I7614ff788e11f897e87052f684f1b4938d539fb7
ts/TtsEngine.h
51faf46e2958c57dab46d9420e585319125c7c42 13-Apr-2011 Andreas Huber <andih@google.com> Parcel::appendFrom({const } Parcel *parcel, size_t, size_t)

As far as I can tell "parcel" isn't actually modified by the implementation.

Change-Id: Ib806eefdc13c97b932773e1dc9ca3a4aad4422b2
inder/Parcel.h
81bc5677452b5433d5214e7976224c8d0f29fbcb 12-Apr-2011 Kenny Root <kroot@google.com> resolved conflicts for merge of 18490fb9 to master

Change-Id: I6c68e6fb0f9c1182a955689bbffc161a8f30bd37
f6bbefd581a28c2b3c8db74efe66eabdc23ab0b3 12-Apr-2011 Kenny Root <kroot@google.com> resolved conflicts for merge of 87b3c0dc to honeycomb-plus-aosp

Change-Id: Ia1a0024aabf531438203eb9fea3a10dd15eabe53
7a042bf324fe3f3d5d4085fda21fe50dc0c362b4 12-Apr-2011 Mathias Agopian <mathias@google.com> changes to SurfaceTexture needed for unification with SF

- implement connect/disconnect
- implement missing query
- handle texture_2d in addition to texture_external_oes

Change-Id: I971a70821f00f22b01f5337de4a7d451177fec4d
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
8a1a61517645ea989b9045eb209ba1d6fdc23cd8 12-Apr-2011 Kenny Root <kroot@android.com> am 08d9d9a4: Merge "Runtime resource overlay, iteration 1."

* commit '08d9d9a46250c4fad66e9b637e8898a3524c4286':
Runtime resource overlay, iteration 1.
4cb18881b55b82a24873ccd8e298bc2d5a9c17e5 09-Apr-2011 Mathias Agopian <mathias@google.com> Fix a GraphicBuffer leak in SurfaceTexture

This leak was intentional, it was there to deal with the fact that
some gralloc implementations don't track buffer handles with
file-descriptors so buffers needed to stay alive until there were
registered, which is not guaranteed by binder transactions.

In this new implementation, we use a small BBinder holding a
reference to the buffer, which with tuck into the parcel. This forces
the reference to stay alive until the parcel is destroyed, which
is guaranteed (by construction) to happen after the buffer is
registered.

this allows the public facing API to not expose the previous hack.

Change-Id: I1dd6cd83679a2b7457ad628169e2851acc027143
ui/SurfaceTexture.h
urfaceflinger/IGraphicBufferAlloc.h
b561dd29b554d7af4ee207ef29c0a7cbcc0b5e17 06-Apr-2011 Mathias Agopian <mathias@google.com> Merge "remove more unused references to ISurface"
592e3fc1509793e592ba99725736ce4995af8cb3 31-Mar-2011 Dianne Hackborn <hackbod@google.com> Add new resource configurations for screen width/height in "dp".

You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.

This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.

Change-Id: I22f8afa136b4f274423978c570fa7c9855040496
tils/ResourceTypes.h
47d8730a2463f38a695ab95b533b0d9728f266a3 06-Apr-2011 Mathias Agopian <mathias@google.com> remove more unused references to ISurface

Change-Id: I2201f1ca2bb8f203a081d94a0134f798778dfbef
urfaceflinger/Surface.h
27fd410be493f2d09c1ec5c4a9f19ad2b2fe4012 01-Apr-2011 Mathias Agopian <mathias@google.com> Merge "SurfaceTexture can now force the client to request a buffer"
a5c75c01620179ce00812354778a29a80d76e71f 01-Apr-2011 Mathias Agopian <mathias@google.com> SurfaceTexture can now force the client to request a buffer

SurfaceTexture now has the concept of default size a new method,
setDefaultBufferSize() to set it. When the default size is
changed, dequeueBuffer() will return a value telling the
client that it must ask for a new buffer.

The above only applies if the client has not
overriden the buffer size with setGeometry.

Change-Id: I520dc40363054b7e37fdb67d6a2e7bce70326e81
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
02988ec716897ac6d501e732fc7cbef612d5fab6 01-Apr-2011 Jeff Brown <jeffbrown@google.com> Merge "Add a little input event consistency verifier."
5f29c87ef2ed197e19b614d306dbbd24a283305d 17-Mar-2011 Mårten Kongstad <marten.kongstad@sonyericsson.com> Runtime resource overlay, iteration 1.

Runtime resource overlay allows unmodified applications to appear
as if they had been compiled with additional resources defined. See
libs/utils/README for more information.

This commit is the first iteration of runtime resource overlay. It
provides the actual overlay modifications and loading of trusted overlay
packages (ie residing in /vendor) targeting framework-res.apk.

This commit loads exactly one overlay package. The overlay,
if present, must target framework-res.apk and be located at
/vendor/overlay/framework/framework-res.apk.

Change-Id: If26ee7754813004a96c043dba37fbe99fa3919db
tils/AssetManager.h
tils/ResourceTypes.h
3847f62209bef63735e8f72d04af1d845f67301c 01-Mar-2011 Jeff Brown <jeffbrown@google.com> Add a little input event consistency verifier.

The idea is to assist with debugging by identifying cases in which
the input event stream is corrupted.

Change-Id: I0a00e52bbe2716be1b3dfc7c02a754492d8e7f1f
i/Input.h
7faee43a9dd6efbb2a4d8e495024eb5b833e1871 01-Apr-2011 Russell Brenner <russellbrenner@google.com> am c6b22e27: Updated JBQ\'s original SurfaceTexture stubs to make webkit MR1 buildable

* commit 'c6b22e2727bd3730edd5ad72831a9bb4670d00f3':
Updated JBQ's original SurfaceTexture stubs to make webkit MR1 buildable
0686717d7968719a85bfbf841052066a3a182e65 01-Apr-2011 Russell Brenner <russellbrenner@google.com> Updated JBQ's original SurfaceTexture stubs to make webkit MR1 buildable

Change-Id: If1c1610efcc0e0bc6de88c75712baed91624b1a7
ui/SurfaceTexture.h
8f2fff35b01f704ac7999220d16e15e950230049 31-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Add input filter mechanism for accessibility."
37159af66d7c594f4f1494d4112d087bd03e328e 30-Mar-2011 Jeff Brown <jeffbrown@google.com> Add input filter mechanism for accessibility.

This patch adds a mechanism for capturing, filtering, transforming
and injecting input events at a very low level before the input
dispatcher attempts to deliver them to applications. At this time,
the mechanism is only intended to be used by the accessibility
system to implement built-in system-level accessibility affordances.

The accessibility input filter is currently just a stub.
It logs the input events receives and reinjects them unchanged,
except that it transforms KEYCODE_Q into KEYCODE_Z.

Currently, the accessibility input filter is installed whenever
accessibility is enabled. We'll probably want to change that
so it only enables the input filter when a screen reader is
installed and we want touch exploration.

Change-Id: I35764fdf75522b69d09ebd78c9766eb7593c1afe
i/Input.h
1cd921eab3f7feb2391a22c374c408564779cc6e 31-Mar-2011 Mathias Agopian <mathias@google.com> Revert "retire android_native_window_t"

this type is still used by partner's source trees.
we will get rid of it in next release's timeframe.

This reverts commit 7b49b976277cb3538242151e7dbd24681ddec73e.
i/egl/android_natives.h
5cfbdc87d631cd2c885a365177ab44b38fa55186 24-Mar-2011 Iliyan Malchev <malchev@google.com> retire android_native_window_t

Change-Id: I232c526168e1a93977d1c2d0fa74c8937cdeb23b
Signed-off-by: Iliyan Malchev <malchev@google.com>
i/egl/android_natives.h
f98f1364f802d7637b0304722f38efdfed758e6e 18-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Refactor how timeouts are calculated."
c0a5e8df03d949cb307a0eb98f0222086c0434c1 17-Mar-2011 Jeff Brown <jeffbrown@google.com> Refactor how timeouts are calculated.

Added a timeout mechanism to EventHub and InputReader so that
InputMappers can request timeouts to perform delayed processing of
input when needed.

Change-Id: Iec2045baaf4e67690b15eef3c09a58d5cac76897
tils/Timers.h
edc5ac145b136fe15203996b2c4b7a54c6f574b0 17-Mar-2011 Eino-Ville Talvala <etalvala@google.com> Merge "Add support for timestamps into SurfaceTexture."
1d01a12e7150be569557b64da9b8663c62c13594 18-Feb-2011 Eino-Ville Talvala <etalvala@google.com> Add support for timestamps into SurfaceTexture.

API addition: The timestamps are represented as nanoseconds from some
arbitrary time point. Like the SurfaceTexture transform matrix, the
timestamp retrieved by getTimestamp is for the last frame sent to the
GL texture using updateTexImage().

Camera HAL change: Expect vendors to set these timestamps using
native_window_set_buffers_timestamp(). For now, they are
autogenerated by SurfaceTextureClient if set_buffers_timestamp() is
never called, but such timing is likely not accurate enough to pass a
CTS test.

bug:3300707

Change-Id: Ife131a0c2a826ac27342e11b8a6c42ff49e1bea7
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
i/egl/android_natives.h
939fee8819ac714af6f99b1d8e0bd2ff6626a356 17-Mar-2011 Mathias Agopian <mathias@google.com> am e22aa623: am 25594e19: am f40e638e: fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out

* commit 'e22aa62362a3007ee59ac62d4b5969e216987995':
fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out
d0b55c011a311b677493ba72804bf1bc4df68224 17-Mar-2011 Mathias Agopian <mathias@google.com> fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out

a memory corruption happned when the buffer pool was resized
(like when playing a video or using camera) and there was
no current active buffer. In this case, the faulty code
would index into an array at position -1 which corrupted
24 bytes of data.

also improved region validation code (ifdef'ed out by default)

Bug: 4093196
Change-Id: I915c581d131148959d720e00e3892e9186ab733d
tils/Vector.h
043e3d42f1e3e420ecdc6b44ba3809bad52a6763 17-Mar-2011 Romain Guy <romainguy@google.com> am 72064c66: am b0204d0a: am c2b91a61: Merge "Modify the GL renderer\'s functor to pass the clip to WebView" into honeycomb-mr1

* commit '72064c66e20b9cc86900a9d833c228c345a2b2a4':
Modify the GL renderer's functor to pass the clip to WebView
a08152f43c01035373fd56500e40d5bf7996a689 16-Mar-2011 Romain Guy <romainguy@google.com> Modify the GL renderer's functor to pass the clip to WebView

Change-Id: If5efe399ca58f3000b2883e24e9f3736a2025184
tils/Functor.h
5aaab9c6d865044aacbcfa22f4b00f9c2b715c3c 08-Mar-2011 Jeff Brown <jeffbrown@google.com> Add 3D mode key and others.

Related to an AOSP change request.

Change-Id: I3f4f84b56a1af626a8783f5ecbb823eb12ba9fbe
i/KeycodeLabels.h
e3d4a68f2d09098bda8c6ca6c3826877365c7267 16-Mar-2011 Jeff Brown <jeffbrown@google.com> Merge "Improve VelocityTracker numerical stability."
1593354388f622f189063314e97389f148a30b7f 15-Mar-2011 Jeff Brown <jeffbrown@google.com> Improve VelocityTracker numerical stability.

Replaced VelocityTracker with a faster and more accurate
native implementation. This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation. This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces. The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I2632321232c64d6b8faacdb929e33f60e64dcdd3
i/Input.h
tils/BitSet.h
77b6f0a9ede757388e799e71b6ea5006479900f9 15-Mar-2011 Glenn Kasten <gkasten@google.com> am 7d7dcb5e: am 4528a7db: Merge "Bug 4016329 do full string comparisons" into honeycomb-mr1

* commit '7d7dcb5ea891ad4c3252ed832ebd06accc96153d':
Bug 4016329 do full string comparisons
ad4c66d8bbeaed8e6be3a57e2b45976af30866fc 15-Mar-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4016329 do full string comparisons" into honeycomb-mr1
3f13cf1be5b649b1d6ce8912ace80aa8aa58880b 15-Mar-2011 Jamie Gennis <jgennis@google.com> am c570ee21: am 41a894ad: am 75597105: Merge "SurfaceTextureClient: Add ISurfaceTexture getter." into honeycomb-mr1

* commit 'c570ee21e2c2b9802c9d1f58dba024e884b225e6':
SurfaceTextureClient: Add ISurfaceTexture getter.
cefc876234dcbbc3f973862c8c8bbdf4dc18296e 15-Mar-2011 Jamie Gennis <jgennis@google.com> am ceb7cb14: am 02805a40: Merge "ANativeWindow: add query for the concrete type." into honeycomb-mr1

* commit 'ceb7cb1460484eda1a3cb9cd271d7caf3a3dcbd1':
ANativeWindow: add query for the concrete type.
bb959f5b10374fdc6665b2ac1c18a07cea6effb7 14-Mar-2011 Glenn Kasten <gkasten@google.com> Bug 4016329 do full string comparisons

Use full string comparisons instead of partial for
file extension and MIME type.
Do case-insensitive comparison of MIME type and file extensions.
Fix error in comment for String8::getPathExtension.
Remove dead code -- StringTokenizer is unused.

Change-Id: I322be6235abbdaab5f7eafa48926dbb2cf46dc29
tils/String8.h
bae774eb20bebd409441b93386b51bccda75f546 14-Mar-2011 Jamie Gennis <jgennis@google.com> SurfaceTextureClient: Add ISurfaceTexture getter.

This change adds a getter method to SurfaceTextureClient to get the
ISurfaceTexture object with which the SurfaceTextureClient is
communicating.

Bug: 4086509
Change-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd
ui/SurfaceTextureClient.h
391bbe2246a7547dbf3460c231b3c5ba691d4eb1 14-Mar-2011 Jamie Gennis <jgennis@google.com> ANativeWindow: add query for the concrete type.

This change adds a query to the ANativeWindow interface for getting the
concrete type of the ANativeWindow.

Bug: 4086509
Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
i/egl/android_natives.h
fa773aa745325263745202f822335dfeec0e4c67 10-Mar-2011 Jeff Brown <jeffbrown@google.com> Use touch pad gestures to manipulate the pointer.

1. Single finger tap performs a click.
2. Single finger movement moves the pointer (hovers).
3. Button press plus movement performs click or drag.
While dragging, the pointer follows the finger that is moving
fastest. This is important if there are additional fingers
down on the touch pad for the purpose of applying force
to an integrated button underneath.
4. Two fingers near each other moving in the same direction
are coalesced as a swipe gesture under the pointer.
5. Two or more fingers moving in arbitrary directions are
transformed into touches in the vicinity of the pointer.
This makes scale/zoom and rotate gestures possible.

Added a native VelocityTracker implementation to enable intelligent
switching of the active pointer during drags.

Change-Id: I5ada57e7f2bdb9b0a791843eb354a8c706b365dc
i/Input.h
tils/BitSet.h
15a4fd40c776f02e3e4580224dacc8f62d6b366c 10-Mar-2011 Jeff Brown <jeffbrown@google.com> am e6f0ae12: am efd3266b: Input improvements and bug fixes.

* commit 'e6f0ae12b18819424dd8395b433a8fc9caefa77b':
Input improvements and bug fixes.
46689da7ee29902f2ebebd6224f566c4deccc274 09-Mar-2011 Jeff Brown <jeffbrown@google.com> Input improvements and bug fixes.

Associate each motion axis with the source from which it comes.
It is possible for multiple sources of the same device to define
the same axis. This fixes new API that was introduced in MR1.
(Bug: 4066146)

Fixed a bug that might cause a segfault when using a trackball.

Only fade out the mouse pointer when touching the touch screen,
ignore other touch pads.

Changed the plural "sources" to "source" in several places in
the InputReader where we intend to refer to a particular source
rather than to a combination of sources.

Improved the batching code to support batching events from different
sources of the same device in parallel. (Bug: 3391564)

Change-Id: I0189e18e464338f126f7bf94370b928e1b1695f2
i/Input.h
748824428224f81214b601278ceee70c71ccfa14 10-Mar-2011 Jamie Gennis <jgennis@google.com> am 7b13e27e: am 6167a390: Merge "ANativeWindow: add queues-to-window-composer check." into honeycomb-mr1

* commit '7b13e27ee4a42c205b4a20d145610e8c912e7b0c':
ANativeWindow: add queues-to-window-composer check.
ec8a5ef78dc356fdfa3313e6e54c7074ecc9ea42 09-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "ANativeWindow: add queues-to-window-composer check." into honeycomb-mr1
134f0422866e8985188ed10dfbdcb8e6c34b87f7 08-Mar-2011 Jamie Gennis <jgennis@google.com> ANativeWindow: add queues-to-window-composer check.

This change adds a new 'method' to the ANativeWindow interface to check
whether buffers queued to the window will be sent directly to the system
window compositor.

Change-Id: I4d4b199e328c110b68b250029aea650f03c8724d
Bug: 3495535
urfaceflinger/ISurfaceComposer.h
i/egl/android_natives.h
8c5cffc2e5c0d48ebf10c4da9a382cf4b1159891 08-Mar-2011 Romain Guy <romainguy@google.com> am d00353fe: am bc8a8e8c: Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1

* commit 'd00353fe3191571a6773ef2d11921cfcff260bc4':
Add support for partial invalidates in WebView Bug #3461349
8a2a2f46895ddd38e346c9c0a8d47aaa2f54f52b 08-Mar-2011 Romain Guy <romainguy@google.com> Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1
9fb2277f39ddd2575fc55b450d440087e1ddcac0 08-Mar-2011 Romain Guy <romainguy@google.com> Add support for partial invalidates in WebView
Bug #3461349

This change also fixes two bugs that prevented partial invalidates
from working with other views. Both bugs were in our EGL implementation:
they were preventing the caller from comparing the current context/surface
with another context/surface. This was causing HardwareRenderer to always
redraw the entire screen.

Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
tils/Functor.h
5f1e78d7301c2a14c83de068f61e13aaed9494a8 08-Mar-2011 Mathias Agopian <mathias@google.com> am df6410dc: Merge "Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only" into gingerbread

* commit 'df6410dce3dae0bdb7e13118b3878079a1dcce03':
Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only
ee65ac8a71c24fc154b513faa13d24b4d4dfee4f 10-Feb-2011 Mathias Agopian <mathias@google.com> Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only

37c2a37 fix [3408713] Dialog window invisible sometimes
d35c666 fix [3385504] Surface flinger hang when adding dim surface
1723b04 fix [3389263] OMX.Nvidia.h264.decode fails to shutdown
1b0114f fix a surface leak in SurfaceFlinger

Bug: 3513017

Change-Id: Ia13ed8c9cdcb1f484e177cdcaff687e7c88a10c3
tils/RefBase.h
e89d1041ddc81a85c73f00f94a978e32597afa68 04-Mar-2011 Jeff Brown <jeffbrown@google.com> Joystick tweaks. (DO NOT MERGE)

Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions
even when noise filtering is applied. (Bug: 3514510)

Add support for a few more standard axes.

Add additional mapping modes for axes.
Some axes are inverted from standard interpretation
or are actually intended to be split into two distict axes
such as left/right trigger controls or accelerator/brake.

Add key layout file for a G25 racing wheel and XBox 360 controller
to tweak behavior. They work fine without them but the axis mappings
are not ideal.

Change-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7
i/KeyLayoutMap.h
i/KeycodeLabels.h
8bb99ad892a7e64e0d1b55c1c7aaf8147bf4bfc6 04-Mar-2011 Jeff Brown <jeffbrown@google.com> Joystick tweaks.

Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions
even when noise filtering is applied. (Bug: 3514510)

Add support for a few more standard axes.

Add additional mapping modes for axes.
Some axes are inverted from standard interpretation
or are actually intended to be split into two distict axes
such as left/right trigger controls or accelerator/brake.

Add key layout file for a G25 racing wheel and XBox 360 controller
to tweak behavior. They work fine without them but the axis mappings
are not ideal.

Change-Id: Id4c86a0a272331c680039a9bde6815bb7eba44ab
i/KeyLayoutMap.h
i/KeycodeLabels.h
b83025cf804c9a7725549e22e89cf78f99ca91f2 03-Mar-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add TextLayout Cache"
d5ed285606a9f28d2102e086aaee5c9d1cb819b9 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Wake screen from external HID peripherals.

Added some plumbing to enable the policy to intercept motion
events when the screen is off to handle wakeup if needed.

Added a basic concept of an external device to limit the scope
of the wakeup policy to external devices only. The wakeup policy
for internal devices should be based on explicit rules such as
policy flags in key layout files.

Moved isTouchEvent to native.

Ensure the dispatcher sends the right event type to userActivity
for non-touch pointer events like HOVER_MOVE and SCROLL.

Bug: 3193114
Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
i/Input.h
80f3e7cc1506bbb4bec458e15629805a7c1df7ee 02-Mar-2011 Jeff Brown <jeffbrown@google.com> Fade out the mouse pointer after inactivity or other events.

Fades out the mouse pointer:
- after 15 seconds of inactivity normally
- after 3 seconds of inactivity in lights out mode
- after a non-modifier key down
- after a touch down

Extended the native Looper to support enqueuing time delayed
messages. This is used by the PointerController to control
pointer fade timing.

Change-Id: I87792fea7dbe2d9376c78cf354fe3189a484d9da
i/Input.h
i/Keyboard.h
tils/Looper.h
e88a9a42cadc75caa070ce6be1858f52973e5acd 25-Feb-2011 Fabrice Di Meglio <fdimeglio@google.com> Add TextLayout Cache

- use GenerationCache for caching
- move GenerationCache.h from libs/hwui/utils to include/utils
- add #define for cache activation / deactivation

Change-Id: Ifaf519f0b5e33b087a453e4aa6430162d8438f20
tils/GenerationCache.h
17290c55839aef269b59fc3ac83a165e3e519884 02-Mar-2011 Mathias Agopian <mathias@google.com> Merge "Add support for up to 32 buffers per Surface"
ea72db37375bf5ca8302d442c78dc691368ba6a6 01-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "Add the MIN_UNDEQUEUED_BUFFERS query to ANW."
acd116daeae2b30f0a221658cb367a9831351af1 01-Mar-2011 Mathias Agopian <mathias@google.com> Add support for up to 32 buffers per Surface

Bug: 3488016

Change-Id: Ie5536ad77d42a4d0e8270e0fd87ecb73471bcbbc
rivate/surfaceflinger/SharedBufferStack.h
b1586e69a15639f26a1bbeada0b4a88977d44204 28-Feb-2011 Christopher Tate <ctate@google.com> Merge "Binder linkage no longer depends on JNI objrefs as persistent tokens"
9d4d6c101d90d4a1d1ca9413cf3eb89d1f1898d6 27-Feb-2011 Jamie Gennis <jgennis@google.com> Add the MIN_UNDEQUEUED_BUFFERS query to ANW.

This change adds a new query to ANativeWindow for getting the minimum
number of buffers that must be left un-dequeued during the steady-state
operation of the ANativeWindow.

Change-Id: Ie8c461fc26b02ecde02ddb4f95bf763662cf1551
Related-Bug: 3356050
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
urfaceflinger/Surface.h
i/egl/android_natives.h
71f64dd876262407ff2636827de64ccde9c2088b 17-Feb-2011 Christopher Tate <ctate@google.com> Binder linkage no longer depends on JNI objrefs as persistent tokens

There are two areas that have changed to eliminate the assumption that
local jobject references are both canonical and persistent:

1. JavaBBinderHolder no longer holds onto and reuses it parent object
reference per se. Since the underlying JavaBBinder object holds a
real global ref, this was redundant anyway. Now, for purposes of its
transient need to perform JNI operations, it simply uses the current
jobject ref(s) passed during method invocation, and no longer attempts
to hold these refs beyond the scope of a single invocation.

2. Binder obituaries no longer assume that a jobject reference to a
recipient will always compare == as a 32-bit value with any future
reference to the same object. The implementation now asks Dalvik
whether object references match.

This amended patch fixes the earlier bug around races between
remote binder death cleanup and local explicit unregistration of
VM-side death recipients.

Bug 2090115

Change-Id: I70bd788a80ea953632b1f466f385ab6b78ef2913
inder/IBinder.h
32bebb0a58dd9c699aed8045ca2e752f681e5a0f 26-Feb-2011 Mathias Agopian <mathias@google.com> Fix sp<> conversion operator / constructor

some of the conversion operators were not using the proper
pointer type when calling incStrong/decStrong, usually it
has no bad consequences, but for some implementation
of the ref-counted object it could lead to recording the wrong
owner id.

Change-Id: If574b9069b8a4cf6e0911a992c8f095aba799995
tils/StrongPointer.h
9f5b53d4b09e6e835828d46f3a505ba877b230a3 25-Feb-2011 Christopher Tate <ctate@google.com> Revert "Binder linkage no longer depends on JNI objrefs as persistent tokens"

This reverts commit c2d55dd89743c8a38deb809f3cdf1ad2d1dbac2b.
inder/IBinder.h
d4e5832b694614990f24ab107df65ff2d17a0292 25-Feb-2011 Mathias Agopian <mathias@google.com> Merge "Fix a wp<> bug where the owner ID would be wrong"
d005004f1419e51680ea69a78e6835a7d1b71aac 25-Feb-2011 Mathias Agopian <mathias@google.com> Fix a wp<> bug where the owner ID would be wrong

this was introduced recently. we make sure to use
the correct owner id (the sp) instead of the wp.

Change-Id: I78fdc6ec0c2d3e687278b70442d74d1924b512a2
tils/RefBase.h
tils/StrongPointer.h
da26c6662db6ad76f214df0e7ebe9fe3b211c0fe 25-Feb-2011 Mathias Agopian <mathias@google.com> Merge "Fix some issues with RefBase debugging."
5a5ca785e281427fee7ed7f028658ee173e3c26d 24-Feb-2011 Christopher Tate <ctate@google.com> Merge "Binder linkage no longer depends on JNI objrefs as persistent tokens"
c811e7a77594329871183411ce03420882d5e000 17-Feb-2011 Christopher Tate <ctate@google.com> Binder linkage no longer depends on JNI objrefs as persistent tokens

There are two areas that have changed to eliminate the assumption that
local jobject references are both canonical and persistent:

1. JavaBBinderHolder no longer holds onto and reuses it parent object
reference per se. Since the underlying JavaBBinder object holds a
real global ref, this was redundant anyway. Now, for purposes of its
transient need to perform JNI operations, it simply uses the current
jobject ref(s) passed during method invocation, and no longer attempts
to hold these refs beyond the scope of a single invocation.

2. Binder obituaries no longer assume that a jobject reference to a
recipient will always compare == as a 32-bit value with any future
reference to the same object. The implementation now asks Dalvik
whether object references match.

Bug 2090115

Change-Id: If62edd554d0a9fbb2d2977b0cbf8ad7cc8e2e68d
inder/IBinder.h
3477a8cff2cf0eb5fcec03b0dc8ef9dcf64c0eb4 24-Feb-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 3362814 Fix SMP race in access to mRequestExit"
f14a1046e7242222300bbe88d530c3b531fc7678 17-Feb-2011 Mathias Agopian <mathias@google.com> Fix some issues with RefBase debugging.

First slipt sp<> out of RefBase into StrongPointer.h so it can be reused
more easily and to make it clear that it doesn't require RefBase.

Note: the rest of the change only affects the system when DEBUG_REFS is enabled.

The main problem we fix here is that the owner id associated with each
reference could get out of date when a sp<> or wp<> was moved, for
instance when they're used in a Vector< >.

We fix this issue by calling into RefBase::moveReferences from
a template specialization for sp<TYPE> and wp<TYPE> of the
type helpers. RefBase::moveReferences() has then a chance to
update the owner ids.

There is a little bit of trickery to implement this generically in
RefBase, where we need to use a templatized functor that can turn
a sp<TYPE>* casted to a void* into a RefBase*.

Introduced a new debug option DEBUG_REFS_FATAL_SANITY_CHECKS
currently set to 0 by default as there seem to be an issue
with sp<ANativeWindow> which trips the sanity checks.

Change-Id: I4825b21c8ec47d4a0ef35d760760ae0c9cdfbd7f
tils/RefBase.h
tils/StrongPointer.h
tils/TypeHelpers.h
7e453a51a5436c6c8c49c1e37cea5077bce09405 01-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3362814 Fix SMP race in access to mRequestExit

Also fix an unlikely SMP race in access to mHoldSelf on entry to _threadLoop.

Change-Id: I6cbc0b94739c7dd5e77e8a5ba0da22cdc0b1a4db
tils/threads.h
a08ef4932fc6dcb812a7ceb5a87e8d144a6adda4 17-Feb-2011 Mathias Agopian <mathias@google.com> Remove RefBase.h dependency on TextOutput.h

Change-Id: I72cd6b98ef82b4868fe1c8ec87862cf43fb4ee73
tils/RefBase.h
3ea4de826d95c580c28d854c677ded0d15d220a8 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new axes for joysticks and mouse wheels.

Added API on InputDevice to query the set of axes available.
Added API on KeyEvent and MotionEvent to convert keycodes and axes
to symbolic name strings for diagnostic purposes.
Added API on KeyEvent to query if a given key code is a gamepad button.
Added a new "axis" element to key layout files to specify the
mapping between raw absolute axis values and motion axis ids.
Expanded the axis bitfield to 64bits to allow for future growth.
Modified the Makefile for keyboard prebuilts to run the keymap
validation tool during the build.
Added layouts for two game controllers.
Added default actions for game pad button keys.
Added more tests.
Fixed a bunch of bugs.

Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
i/Input.h
i/KeyLayoutMap.h
i/Keyboard.h
i/KeycodeLabels.h
b2d4435dfa44531ee6025563571cfd77cd1b4f97 17-Feb-2011 Jeff Brown <jeffbrown@google.com> Fix a regression with MotionEvent parceling.

Also added some more unit tests.

Change-Id: I413654294d1a998eec056884e6df5eaa50f3daf4
i/Input.h
3e3414636c71948e3f4b162b4e5b773c77d37098 15-Feb-2011 Jeff Brown <jeffbrown@google.com> Add support for arbitrary axes in MotionEvents.

This change makes it possible to extend the set of axes that
are reported in MotionEvents by defining new axis constants.

The MotionEvent object is now backed by its C++ counterpart
to avoid having to maintain multiple representations of the
same data.

Change-Id: Ibe93c90d4b390d43c176cce48d558d20869ee608
i/Input.h
a240734bae673378ed331da9edf8d0eea654654d 11-Feb-2011 Jean-Baptiste Queru <jbq@google.com> am 93552de8: Merge "stubs"

* commit '93552de8e305027fb003401e347b9493c64c981f':
stubs
58c40337d0b2b9af6ea2357ab6122ba23590c649 11-Feb-2011 Steve Block <steveblock@google.com> stubs

Change-Id: I6bc0b8e9d4412a0b60c6226fbd2b7a6d15aceb22
ui/SurfaceTexture.h
51625d69a093bab608c6c09a03597b59c6807598 11-Feb-2011 Mathias Agopian <mathias@google.com> am c6c3e77d: am b66b7a2c: Merge "fix [3408713] Dialog window invisible sometimes" into honeycomb

* commit 'c6c3e77d4d5cd8de3b1a56bdffdfd42774849512':
fix [3408713] Dialog window invisible sometimes
a878ce287d0fc0555c15a3f11c2f04569318e799 11-Feb-2011 Mathias Agopian <mathias@google.com> am b66b7a2c: Merge "fix [3408713] Dialog window invisible sometimes" into honeycomb

* commit 'b66b7a2c183a1423ea629d4f73ed95f9b87d54b7':
fix [3408713] Dialog window invisible sometimes
7802bbd20fc54f255f3ad83fb31993129078c69f 10-Feb-2011 Mathias Agopian <mathias@google.com> fix [3408713] Dialog window invisible sometimes

weak pointer comparison operators were implemented wrong,
they were using the internal "unsafe" pointer. We could end up
with two "equal" weak pointer pointing to different objects.

this caused KeyedVector keyed by weak pointer to work incorrectly, in
turn causing a window that just got added to a list to be immediately
removed.

Change-Id: Ib191010c39aafa9229109e4211f6c3b2b2f9696d
tils/RefBase.h
08b4ea31a8e265025066ed94b02f08819fac46e5 03-Feb-2011 Jamie Gennis <jgennis@google.com> am 421d94c2: am ecb4b3f0: Merge "Pass the IGraphicBufferAlloc to SurfaceTextureClient." into honeycomb

* commit '421d94c20321e1de528416b279bf148baba47b39':
Pass the IGraphicBufferAlloc to SurfaceTextureClient.
d7a3ebe031daa250e9987760aeee0384649a9c01 03-Feb-2011 Jamie Gennis <jgennis@google.com> am ecb4b3f0: Merge "Pass the IGraphicBufferAlloc to SurfaceTextureClient." into honeycomb

* commit 'ecb4b3f02340e21eefabbea78559e85ec7ee0089':
Pass the IGraphicBufferAlloc to SurfaceTextureClient.
1b20cde313b5ef8acdace742328df867956d24cb 03-Feb-2011 Jamie Gennis <jgennis@google.com> Pass the IGraphicBufferAlloc to SurfaceTextureClient.

This change passes a reference to the IGraphicBufferAlloc binder object
to SurfaceTextureClient objects. When STC objects are created they
query their associated ISurfaceTexture object for the
IGraphicBufferAlloc that the SurfaceTexture uses to allocate buffers.
Having the SurfaceTextureClient hold this reference prevents the
GraphicBufferAlloc in SurfaceFlinger from freeing the allocated buffers
before the SurfaceTextureClient is done with them.

Change-Id: Ib8e30e8b37fdd60438cbb4cb7e9174d0ba6d661c
related-bug: 3362519
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
9d0925821778bd4f91d1c5eb187bb9a62fc84891 31-Jan-2011 Jean-Baptiste Queru <jbq@google.com> am a6fb375c: am 056340ac: Merge "stubs"

* commit 'a6fb375cf727b6ded057110875fe49a9b3f230a3':
stubs
65881cf8b0e697465dd5493130f4a00b31924814 31-Jan-2011 Jean-Baptiste Queru <jbq@google.com> Merge "stubs"
79676ac8e6a95fd1b1fad2b1032f01d582614055 31-Jan-2011 Jamie Gennis <jgennis@google.com> am 09443aeb: am 62884505: Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb

* commit '09443aeb6470d66f5bc1938b70d74b3e2f9bbbb9':
Reset ANativeWindow crop on buffer geometry changes.
c043fa28b907613b7ddf67b622a804b3c8ac2185 31-Jan-2011 Jamie Gennis <jgennis@google.com> am 62884505: Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb

* commit '628845056282a0c5b1a212ce5aeeaac092b91ec8':
Reset ANativeWindow crop on buffer geometry changes.
36373fcf1503963dd5b17cd2281bb163e4b4993e 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am 371de969: am a1f5e82f: am a30063d8: am 25eb0464: Merge "Normalize output from aapt d"

* commit '371de9695508073fbbde8181eb230e99cb045206':
Normalize output from aapt d
402960177f9539e4e66623c82f0d123c9b4ba5a1 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am a1f5e82f: am a30063d8: am 25eb0464: Merge "Normalize output from aapt d"

* commit 'a1f5e82f37c77af7b1d630b5bca715d1742f1234':
Normalize output from aapt d
a8eea2f3d98fb510803085635ba331e7026902b5 30-Jan-2011 Dianne Hackborn <hackbod@android.com> am a30063d8: am 25eb0464: Merge "Normalize output from aapt d"

* commit 'a30063d80c08434ac3c7316f338c6d54110449ab':
Normalize output from aapt d
73431999abce9b5b5e5797af9af9a884f10f6770 30-Jan-2011 Dianne Hackborn <hackbod@android.com> Merge "Normalize output from aapt d"
8e543c60f5541ed7ae2f12ef3965bb3efa6ea5ed 29-Jan-2011 Jean-Baptiste Queru <jbq@google.com> stubs

Change-Id: I829039f3817a172e66eeb9df397e896a488a259d
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
tils/Functor.h
68f9127e88ca6fd849d0f28bcd8776e04aab22e6 29-Jan-2011 Jamie Gennis <jgennis@google.com> Reset ANativeWindow crop on buffer geometry changes.

This changes the ANativeWindow API and the two implementations to reset
the window's crop rectangle to be uncropped when the window's buffer
geometry is changed.

Bug: 3359604
Change-Id: I64283dc8382ae687787ec0bebe6a5d5b4a0dcd6b
i/egl/android_natives.h
16f0453fee84c6aad59fe0d1c7d36f061d46cffc 20-Jan-2011 Glenn Kasten <gkasten@google.com> Protected surface API

To be used by DRM framework, implemented by display HAL

Change-Id: I054a07a94f4d5dbe792f3a597e2e49a100d90eb2
urfaceflinger/ISurfaceComposer.h
i/GraphicBuffer.h
ae1d9d7412ff03d76641b75cfa8c7ddecf123b55 26-Jan-2011 Jeff Brown <jeffbrown@google.com> am 12b2dc90: am b1e0a870: Merge "Fix crashes caused by some input devices." into honeycomb

* commit '12b2dc90883ef4f930a17907acdef3677b0598a5':
Fix crashes caused by some input devices.
eb8b9d8a22f521816ce691077ae625eeb9dbb6e0 26-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix crashes caused by some input devices.

The touch screen sometimes reports more than 10 pointers even though that's
all we asked for. When this happens, we start dropping events with more
than 10 pointers. This confuses applications and causes them to crash.
Raised the limit to 16 pointers.
Bug: 3331247

The default behavior was to identify all touch devices as touch screens.
External devices that are plugged in are more likely to be touch pads
not attached to a screen. Changed the default to be a touch pad
and renamed some internal constants to avoid confusion.

A certain mouse happens to also behave like a touch pad. That caused
problems because we would see multiple concurrent traces of motion events
coming from the same input device so we would batch them up.
Added code to ensure that we don't batch events unless they come from
the same *source* in addition to coming from the same *device*.

Due to batching or misbehaving drivers, it's possible for the set of
pointer ids to be different from what we expect when it comes time to
split motion events across windows. As a result, we can generate motion
events with 0 pointers. When we try to deliver those events, we cause
an error in the InputTransport so we tear down the InputChannel and kill
the application.
Added code to check out assumption about pointer ids and drop the
event gracefully instead.

Patched up the tests to take into account the change in default behavior
for identifying touch screens and touch pads.

Change-Id: Ic364bd4cb4cc6335d4a1213a26d6bdadc7e33505
i/Input.h
275e627ef6c9db2c4d4efa1edbac4d7b68859ce8 25-Jan-2011 Mathias Agopian <mathias@google.com> am 239fd805: Merge "fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)" into gingerbread

* commit '239fd805ef7c0e4116b0a89e20caaf287e91f017':
fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)
59f71e7feb9034c61cf531031063396d0fb97176 25-Jan-2011 Mathias Agopian <mathias@google.com> am d3fcd0a1: Merge "minor clean-up. SurfaceFlinger doesn\'t need libpixelflinger.so. (DO NOT MERGE)" into gingerbread

* commit 'd3fcd0a1c923498921107bb44fbc8b24582a170a':
minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE)
d1a99ec6b2f23db5662e6d2ccf7b40d96869eccb 19-Jan-2011 Mathias Agopian <mathias@google.com> fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE)

Generally we never want to lock a buffer for write access if it is at
the "head" on the surfaceflinger side. The only exception (1) is when
the buffer is not currently in use AND there is at least one queued
buffer -- in which case, SurfaceFlinger will never use said buffer
anymore, because on the next composition around, it will be able to
retire the first queued buffer.

The logic above relies on SurfaceFlinger always retiring
and locking a buffer before composition -- unfortunately this
didn't happen during a screenshot.

This could leave us in a situation where a buffer is locked by the
application for write, and used by SurfaceFlinger for texturing,
causing a hang.

Here, we fix this issue by never assuming the exception (1), it was
intended as an optimization allowing ANativeWindow::lockBuffer() to
return sooner and was justified when most of SF composition was
done in software. The actual buffer locking is now ensured by
gralloc. We could have handled screenshots in a similar way to
a regular composition, but it could have caused glitches on screen,
essentially, taking a screenshot could cause to skip a frame.

now that we removed the notion of a "inUse" buffer in surfaceflinger
a lot of code can be simplified / removed.

noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete"
is also gone.
rivate/surfaceflinger/SharedBufferStack.h
a0c6b761738ff98682e281571a0ff91c2230e7ee 14-Dec-2010 Mathias Agopian <mathias@google.com> minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so. (DO NOT MERGE)

Change-Id: I1ddbbbec4fa5b2521ef3787bc28efe1bc90d0060
urfaceflinger/Surface.h
66b3d15912dc7f09b6300648f04693e1454f8e48 24-Jan-2011 Chet Haase <chet@google.com> am 2acb67ec: am 67005b05: Merge "Use optimized display lists for all hwaccelerated rendering" into honeycomb

* commit '2acb67ec9fe34316231519373f59dfb76c03d57b':
Use optimized display lists for all hwaccelerated rendering
47ab362e8d7ac1b2f72a4e16b00bb8b56e8ac68a 10-Jan-2011 Chet Haase <chet@google.com> Use optimized display lists for all hwaccelerated rendering

Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.

In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.

This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.

This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.

Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
tils/Functor.h
d1de37fdabf68765fe8a92a40195ac45dd61744b 23-Jan-2011 Jeff Brown <jeffbrown@android.com> am 265cf2e7: Merge "Fix getSwitchState."

* commit '265cf2e76bef9ee369a7d43d567a22a0c39355ef':
Fix getSwitchState.
3205864ed80719561fa2f0a6820a5d464872ed60 21-Jan-2011 Mathias Agopian <mathias@google.com> am 612d7f3c: am a423d868: Merge "clean-up unneeded code" into honeycomb

* commit '612d7f3c092ec2c4a2ae44cb09d6dfb4e525a659':
clean-up unneeded code
78efe9773e137f64968e76d36e63baf0c1893a2c 20-Jan-2011 Mathias Agopian <mathias@google.com> Merge "clean-up unneeded code" into honeycomb
2bd1d95efecffad447afd682ffe605bbf8c79d62 20-Jan-2011 Mathias Agopian <mathias@google.com> clean-up unneeded code

now that we removed the notion of a "inUse" buffer in surfaceflinger
a lot of code can be simplified / removed.

noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete"
is also gone.

Change-Id: I210413d4c8c0998dae05c8620ebfc895d3e6233d
rivate/surfaceflinger/SharedBufferStack.h
cb203b228b360d827aa4b170d898e12a2c3f406c 20-Jan-2011 Jeff Brown <jeffbrown@android.com> Fix getSwitchState.

InputReader::getSwitchState always returns AKEY_STATE_UNKNOWN
because SwitchInputMapper::getSources() returns 0 which cannot
match any source mask including AINPUT_SOURCE_ANY. As a result
initial lid switch detection is broken.

This change adds a new source constant AINPUT_SOURCE_SWITCH
that indicates that the source has switches.

Change-Id: I5321ecf0ce84f1c2b4535f6c163d3f4dcf9b7a9b
i/Input.h
6453b75d38b4f11e6efcb4c765e9e98248bd2b7e 20-Jan-2011 Jeff Brown <jeffbrown@google.com> am 5f668c6e: am 8b9df978: Merge "Fix getSwitchState." into honeycomb

* commit '5f668c6e6bb2515325632691a804a7c8f24ebb09':
Fix getSwitchState.
430c21ea871436df1ac5687f1fb19908667b1a10 20-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix getSwitchState.

InputReader::getSwitchState always returns AKEY_STATE_UNKNOWN
because SwitchInputMapper::getSources() returns 0 which cannot
match any source mask including AINPUT_SOURCE_ANY. As a result
initial lid switch detection is broken.

This change adds a new source constant AINPUT_SOURCE_SWITCH
that indicates that the source has switches.

Change-Id: I5321ecf0ce84f1c2b4535f6c163d3f4dcf9b7a9b
i/Input.h
98e88a7d7a7295ddcd02d062f2ed84179a49e852 18-Jan-2011 Jeff Brown <jeffbrown@google.com> am 41395459: Merge "Filter virtual keys after touches. (DO NOT MERGE)" into gingerbread

* commit '41395459e676cf9ab4059e08446656f145662c2d':
Filter virtual keys after touches. (DO NOT MERGE)
37f7abd457a3d1bc0c7a128969b2f55487e49256 18-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Add joystick support to framework."
218e7c74e62b1fbc0984c468ceec2fb5f7c328ce 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Add joystick support to framework.

Change-Id: I95374436708752e1a9cff3f85c5b9bc3e0987961
i/KeycodeLabels.h
f47c93b79c8eb0eb60ad3fb540c92d67f817ef24 17-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> Merge "integrate videoeditor preview player." into honeycomb
c4d4aeab52435c177ded6abdd578fec8191f0f5d 13-Jan-2011 Jamie Gennis <jgennis@google.com> Implement SurfaceTexture frame-available callback.

This change implements the onFrameAvailable callback for the
SurfaceTexture java class. It includes the C++ SurfaceTexture code as
well as the JNI and Java code to enable the callback.

Change-Id: Ifd8b8e7ad46ee70cba6da1c2e96dab8045d1ea30
ui/SurfaceTexture.h
b6783164e89690209084766a363450987e87c74e 17-Jan-2011 Dharmaray Kundargi <dharmaray@google.com> integrate videoeditor preview player.

Change-Id: I83084f494605c8e6f4d198afa8c36f9e29579667
urfaceflinger/Surface.h
b353fd9746bc7d5d438bad47a0ad08f6a11d8d40 15-Jan-2011 Mathias Agopian <mathias@google.com> Merge "Fix error reporting in Surface::cancelBuffer()" into honeycomb
a317f1ba7f71fe04d524f46dbdc6e2419b7f75a3 14-Jan-2011 Mathias Agopian <mathias@google.com> Fix error reporting in Surface::cancelBuffer()

when we validate the surface there, most errors are in fact allowed
because it is legal to cancel a buffer after a surface has been
destroyed (for instance). in that case make sure to not log
error messages as they are very confusing.

Change-Id: Iecdfbaf6d9ee5da54d56cd7ea7a0d430c30934b0
urfaceflinger/Surface.h
9a78c90cd46b2a3bd637b056873149d3b94384b4 13-Jan-2011 Jamie Gennis <jgennis@google.com> Fix remote GraphicBuffer allocation in SurfaceFlinger.

This change fixes a horrible hack that I did to allow application
processes to create GraphicBuffer objects by making a binder call to
SurfaceFlinger. This change introduces a new binder interface
specifically for doing this, and does it in such a way that
SurfaceFlinger will maintain a reference to the buffers until the app is
done with them.

Change-Id: Icb240397c6c206d7f69124c1497a829f051cb49b
ui/SurfaceTexture.h
urfaceflinger/IGraphicBufferAlloc.h
urfaceflinger/ISurfaceComposer.h
f238e28500ca756fbd9e323f728ce7c8dda59475 10-Jan-2011 Jamie Gennis <jgennis@google.com> Implement crop & transform for SurfaceTexture.

This change adds support for the setCrop and setTransform methods of the
SurfaceTexture C++ class. The crop and transform for the current
texture will be accessed by applications as a single texture coordinate
transform matrix.

Change-Id: I6482bf96f680e5c175364e848936db3908d6c8f8
ui/SurfaceTexture.h
7bfdb29e53a0c7dacf093af8145434e2fbf5d047 24-Oct-2010 Jeff Brown <jeffbrown@google.com> Filter virtual keys after touches. (DO NOT MERGE)

Adds a new virtualKeyQuietTimeMillis configuration resource that sets
the duration for which virtual keys will be dropped after recent touches
on screen. The default value is 0; it is intended to be overridden
per device using a resource overlay.

This change is designed to help in two cases:

1. Swipes from touchscreen into virtual key area.
2. Accidental taps in virtual key area while using on-screen keyboard.

Bug: 3089163
Change-Id: Id6733c83c2e2bc8d9553aa0e5c1fd74b741bec6e
i/InputReader.h
67eedd74ab78c2bfed9fcdc74947b97289254ca4 09-Jan-2011 Jamie Gennis <jgennis@google.com> Fix a bug in SurfaceTexture::setBufferCount.

We need to reset mCurrentTexture and mLastQueued in setBufferCount
because it frees all of the buffers associated with the buffer slots.

Change-Id: Ie2f834ec1c07ce7a4ab9b2b5fc5fe8c294010c60
ui/SurfaceTexture.h
8ba32fade11abb73f3fd47ea0953c9528eb5b91f 20-Dec-2010 Jamie Gennis <jgennis@google.com> Add the SurfaceTexture C++ implementation.

This change adds the C++ implementation of SurfaceTexture and related
classes. The goal of this is for a SurfaceTexture to be passed to
camera service or Stagefright in place of a Surface to allow camera
preview or decoded video frames to be streamed to an OpenGL ES texture
that an application can use.

Change-Id: I55c83a7017f1ecb81c9c9e3252cbd118b914296c
ui/ISurfaceTexture.h
ui/SurfaceTexture.h
ui/SurfaceTextureClient.h
i/GraphicBuffer.h
495633406580685dfaa41979bbae47fc5f77fefe 20-Dec-2010 Jamie Gennis <jgennis@google.com> Add the ISurfaceComposer::createGraphicBuffer IPC.

This change adds a new binder method to the ISurfaceComposer interface.
This IPC is intended to allow SurfaceFlinger clients to allocate gralloc
buffers using SurfaceFlinger as a proxy to gralloc.

Change-Id: Ide9fc283aec5da6268ba62cfed0c3319a50b640d
urfaceflinger/ISurfaceComposer.h
41250361577ce85d30b29ef530cfb7bea7d0604d 03-Jan-2011 Jeff Brown <jeffbrown@google.com> Mouse pointer integration.

Added support for loading the pointer icon from a resource.

Moved the system server related bits of the input manager out
of libui and into libinput since they do not need to be linked into
applications.

Change-Id: Iec11e0725b3add2b905c51f8ea2c3b4b0d1a2d67
i/DisplayInfo.h
i/EventHub.h
i/InputDispatcher.h
i/InputManager.h
i/InputReader.h
i/PointerController.h
ca6fca93fc3a6587d6569c37069966152131a9b2 20-Dec-2010 Shachar Shemesh <lingnu@gmail.com> Normalize output from aapt d

Make the output from aapt dump --values resources and aapt dump xmltree normalized, so that it is unambigously displayed
regardless of the content of the strings.

Change-Id: Ia3bff36c4ee1e9a44f474534e154830948beabdf
tils/ResourceTypes.h
4c501a42173bfc0c7c9ee32312db392c59b67e13 24-Dec-2010 Jeff Brown <jeffbrown@google.com> Add initial support for cursor-based pointing devices.

Some parts stubbed out but you can plug in a mouse and move
a green cursor around to interact with the UI.

Change-Id: I80d597a7f11d3bd92041890f74b3c77326975e6e
i/EventHub.h
i/InputReader.h
i/PointerController.h
tils/PropertyMap.h
11dde1100dd44bf4426fbc52e1f709dc08a926ec 21-Dec-2010 Vasu Nori <vnori@google.com> resubmitting Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9

Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9 was reverted
due to a bug. fixed the bug and resubmitting it here
inder/CursorWindow.h
204249bcbe2e45be4a8fc2635a0293d93f7ab67d 20-Dec-2010 Vasu Nori <vnori@google.com> Revert "bug:2448371 cursorwindow size moved to resource xml file."

This reverts commit 2594bae1f551d758c5c88771310d1ee3dc2c71ac.
inder/CursorWindow.h
bd57473e9056373acab98ae24d80858dfe774fcd 19-Dec-2010 Vasu Nori <vnori@google.com> bug:2448371 cursorwindow size moved to resource xml file.

let cursor window size be set per device in device resources file.
default is 1MB.
for SR, it is 2MB.
it can be set to any value (in kB) in the device resource
strings.xml file

Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9
inder/CursorWindow.h
5eee3d2b13880c9a486be8fca20128660a19b7f7 15-Dec-2010 Mathias Agopian <mathias@google.com> Merge "minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so."
90f96b838320011901976b6a7180aeb6b461d7e2 15-Dec-2010 Mathias Agopian <mathias@google.com> Merge "dump callstack on Surface use error"
1b6084354710ca52c04ea361d751d19174802d57 14-Dec-2010 Brad Fitzpatrick <bradfitz@android.com> Framework-side support for Dalvik "isSensitiveThread" hook.

Used in lock contention stats.

Bug: 3226270
Change-Id: Ie6f58d130a29079a59bdefad40b80304d9bc3623
inder/IPCThreadState.h
455d18d4c26a823bff62ca14771986cca52d3462 14-Dec-2010 Mathias Agopian <mathias@google.com> minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so.

Change-Id: I3bdca74351c8e480a05084bc412a96c5f685221d
urfaceflinger/Surface.h
bf2c6a6c8f1df40ac94e28b948754bb9739daaca 11-Dec-2010 Mathias Agopian <mathias@google.com> [3258939] Need snapshot to limit which layers are included

Change-Id: Id7351a0e3f53dde99b291cffba553d89fd4d7ca9
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
e6f096a4cde5161e9e8432a6f6f2008e6bc710f4 11-Dec-2010 Mathias Agopian <mathias@google.com> dump callstack on Surface use error

Change-Id: I38e260dd47349b9af3a999dda683a083a94be16d
tils/CallStack.h
0a757814f3e4ca4db772144e85b687fe89a7fba5 09-Dec-2010 Mathias Agopian <mathias@google.com> fix [3259708] Graphic Buffer Mapper does not support YV12

remove a bunch of a code that was there only to support broken gralloc implementations

Change-Id: I3c1a9172224cbcc283601abfbbd695a20815451f
rivate/ui/sw_gralloc_handle.h
a5529c8778c2f407f482fc12165aeb76c0f505c2 08-Dec-2010 Mathias Agopian <mathias@google.com> remove support for PUSH_BUFFER surfaces and overlays

the same functionality is now supported through
the h/w composer HAL, and YUV support in the GPU.

Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
urfaceflinger/ISurface.h
urfaceflinger/ISurfaceComposer.h
i/IOverlay.h
i/Overlay.h
1d21a9cafc534c34a2f28c985c4c7aa176d0e67b 02-Dec-2010 Erik Gilling <konkers@android.com> surfaceflinger: add support for gralloc dump hooks

Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
i/FramebufferNativeWindow.h
a15e3f5a926c7c91c96c145378551a11afe97cb0 08-Dec-2010 Kenny Root <kroot@google.com> Merge "Change assets to use 64-bit API"
18092ddc866425598abf4521d9ed4eda9573fdaa 24-Nov-2010 Kenny Root <kroot@google.com> Change assets to use 64-bit API

The asset system and supporting libraries were using off_t instead of
off64_t to access files larger than 2GB (32-bit signed). This change
replaces all off_t with off64_t and lseek64.

There is a new utils/Compat.h added for Mac OS compatibility.

Also fixed some size-related compiler warnings.

Bug: 3205336
Change-Id: I9097b3cb7a602e811fe52f245939d8975da55e9e
tils/Asset.h
tils/Compat.h
tils/FileMap.h
tils/StreamingZipInflater.h
tils/ZipFileCRO.h
tils/ZipFileRO.h
02d85b5021dc3e9c042e1e3426fae2f0a903595b 07-Dec-2010 Jeff Brown <jeffbrown@google.com> Add support for fallback keycodes.

This change enables the framework to synthesize key events to implement
default behavior when an application does not handle a key.
For example, this change enables numeric keypad keys to perform
their associated special function when numlock is off.

The application is informed that it is processing a fallback keypress
so it can choose to ignore it.

Added a new keycode for switching applications.

Added ALT key deadkeys.

New default key mappings:
- ESC -> BACK
- Meta+ESC -> HOME
- Alt+ESC -> MENU
- Meta+Space -> SEARCH
- Meta+Tab -> APP_SWITCH

Fixed some comments.
Fixed some tests.

Change-Id: Id7f3b6645f3a350275e624547822f72652f3defe
i/InputDispatcher.h
i/InputReader.h
i/InputTransport.h
i/KeyCharacterMap.h
i/KeycodeLabels.h
b5a00fcb71426492f248ed49a0514a9b8d385065 08-Dec-2010 Mathias Agopian <mathias@google.com> am 48f42f8c: am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread

* commit '48f42f8c3fbd33b2f46c6290ff5963dd58938cf9':
[3171580] don't automatically log GraphicBuffer allocation failures
e4f81090c27d22b418d2cbe874fc28cbcf810167 07-Dec-2010 Mathias Agopian <mathias@google.com> am a2977c38: Merge changes Ie03796ae,Ide3e980a into gingerbread

* commit 'a2977c383d363e1e88a5b36230b1fa4c312807d2':
[3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE)
[3171580] Add transform field to native buffers. (DO NOT MERGE)
372c56e98b93647b7050e518c285057a8a72bc74 07-Dec-2010 Mathias Agopian <mathias@google.com> am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread

* commit '4153bf3a259624a2f2dc497b77b225a1fb517abc':
[3171580] don't automatically log GraphicBuffer allocation failures
30eb1b1803b590cf08cbf425dbdda4d330044f77 03-Nov-2010 Mathias Agopian <mathias@google.com> [3171580] Add transform field to native buffers. (DO NOT MERGE)

This field indicate how the content of the buffer
needs to be transformed.

Change-Id: Ide3e980a90599e931406135693231276626adbbb
i/GraphicBuffer.h
i/android_native_buffer.h
678bdd6349344df254cc0c3377a40fd99e216635 04-Dec-2010 Mathias Agopian <mathias@google.com> [3171580] don't automatically log GraphicBuffer allocation failures

some of these failures are not fatal and even expected in some cases
so they should not emit a dump in the log in those cases.

Change-Id: Idcfa252e3bfa9d74e27fe4ad8f8623aa01aa9c5e
i/GraphicBuffer.h
i/GraphicBufferAllocator.h
db360642ed7a48eb3b3607a791bbe449cc6529bb 02-Dec-2010 Jeff Brown <jeffbrown@google.com> Improve support for external keyboards.

Use Vendor ID, Product ID and optionally the Version to
locate keymaps and configuration files for external devices.

Moved virtual key definition parsing to native code so that
EventHub can identify touch screens with virtual keys and load
the appropriate key layout file.

Cleaned up a lot of old code in EventHub.

Fixed a regression in ViewRoot's fallback event handling.

Fixed a minor bug in FileMap that caused it to try to munmap
or close invalid handled when released if the attempt to map
the file failed.

Added a couple of new String8 conveniences for formatting strings.

Modified Tokenizer to fall back to open+read when mmap fails since
we can't mmap sysfs files as needed to open the virtual key
definition files in /sys/board_properties/.

Change-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6
i/EventHub.h
i/Input.h
i/InputReader.h
i/Keyboard.h
i/VirtualKeyMap.h
tils/String8.h
tils/Tokenizer.h
53c16642e2f8176b26f61b98328051f6dd1234ae 19-Nov-2010 Jeff Brown <jeffbrown@google.com> Ensure the ShortcutManager uses the correct key character map.

The ShortcutManager used to only receive the key code of the key event
that triggered the shortcut. This change now provides the shortcut
manager with the whole key event so it can look up the associated
character using the correct key character map.

To make this more efficient, added a mechanism for recycling
key events. At the moment it is only used by key events owned by the
system process, since clients of the existing API (such as Views)
might continue to hold on to key events after dispatch has finished so
they would break if the key event were recycled by the framework.

Deprecated KeyCharacterMap.BUILT_IN_KEYBOARD.

Change-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8
i/Input.h
i/InputDispatcher.h
6688837ff6a959b4f59d9a4249aac1504f590a4b 30-Nov-2010 Jeff Brown <jeffbrown@google.com> Support non-orientation aware keyboards and other devices.

Fixed a bug with dpad keys on external keyboards being rotated
according to the display orientation by adding a new input device
configuration property called "keyboard.orientationAware".

Added a mechanism for overriding the key layout and key character
map in the input device configuration file using the new
"keyboard.layout" and "keyboard.characterMap" properties.

Also added "trackball.orientationAware", "touch.orientationAware" and
"touch.deviceType" configuration properties.

Rewrote the configuration property reading code in native code
so that it can be used by EventHub and other components.

Added basic support for installable idc, kl, and kcm files
in /data/system/devices. However, there is no provision for
copying files there yet.

Disabled long-press character pickers on full keyboards so that
key repeating works as expected.

Change-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791
i/EventHub.h
i/Input.h
i/InputReader.h
i/Keyboard.h
tils/PropertyMap.h
ad1894d8dfcb56d04e7c7e80bcaa018bf4ec203f 24-Nov-2010 Joe Onorato <joeo@google.com> Allow status bar panels to be on top of the status bar.

Change-Id: I3c74ece5f7042e6302717f4263746d59d5447ec9
i/InputDispatcher.h
9ee93d18edb42d55441b636aa7e001260f1b758d 19-Nov-2010 Jeff Brown <jeffbrown@google.com> Fix SDK build on Windows due to use of mmap.

Change-Id: Id4bd9a6f932285c93c5853e540efc20b99876564
tils/Tokenizer.h
a3477c862a5debcac7dfb076749059406ec59512 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Added support for full PC-style keyboards.

BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
i/EventHub.h
i/KeyCharacterMap.h
i/KeyLayoutMap.h
i/Keyboard.h
tils/String8.h
tils/Tokenizer.h
3f02b88af646eb950edb44e584b6a82be06c709a 18-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 5e069074: am a15e4886: Merge "Framebuffer: Support variable number of framebuffers in the UI"

* commit '5e0690745a45f99d12d940dd4aaae814b00a429e':
Framebuffer: Support variable number of framebuffers in the UI
af1097658321bfdfaf0cc65214a94bfcdee372ce 18-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am a15e4886: Merge "Framebuffer: Support variable number of framebuffers in the UI"

* commit 'a15e4886de8f75f3cb137f51743d330414c910e8':
Framebuffer: Support variable number of framebuffers in the UI
7986fe503522d17a5a640e0c6b0a3bb564a753bf 15-Nov-2010 Kenny Root <kroot@google.com> Merge "Split UTF functions from String8/16"
c412dcb3eb259458905aae9a2f5109c59c9548c0 09-Nov-2010 Kenny Root <kroot@google.com> Split UTF functions from String8/16

Split out all the UTF-8/16/32 handling code from String8/16 to its own
file to allow better reuse of code.

Change-Id: If9ce63920edc75472c38da4adce0d13cda9ad2f7
tils/String16.h
tils/String8.h
tils/Unicode.h
e33a9ecc25b91d98ea75e3c14fd24c0c7fce5089 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Enable touch splitting for all windows by default.

New default only applies to applications with targetSdkVersion >=
HONEYCOMB. Old applications default to no touch splitting for
their windows.

In addition, enabled split touch for various system windows.

Bug: 3049580
Change-Id: Idc8da9baa2cd8e1e4e76af8967d7b6a5ccb94427
i/InputDispatcher.h
af34db4dcb7dac2f69753f76c438e4a47eda93ef 09-Nov-2010 Jason Bayer <bayer@google.com> Add new keycodes initially used for GoogleTV devices.

Change-Id: I1b901037d6d401931dd3ec6f7d5e1e6ad165d1c9
i/KeycodeLabels.h
54cc83e8a48c57307cdd40fe4b7e296020490095 02-Nov-2010 Jamie Gennis <jgennis@google.com> Implement reducing the buffer count of a Surface.

Change-Id: I7f979c60c06d654aa8265002836277434bc1a64f
Bug: 3095167
rivate/surfaceflinger/SharedBufferStack.h
d94206c41dfbac8340b86864d9e05cdc3a3a87ba 08-Nov-2010 Joe Onorato <joeo@google.com> The CHEEK_TOUCH stuff never worked. Remove it.

Bug: 3104906
Change-Id: Ia37236ba1775fc3ec8c111e2e0b85b105e0dea6a
i/PowerManager.h
81499912348194a9432841398a0d337fa4079c98 05-Nov-2010 Jeff Brown <jeffbrown@google.com> Tell system server whether the app handled input events.

Refactored ViewRoot, NativeActivity and related classes to tell the
dispatcher whether an input event was actually handled by the application.

This will be used to move more of the global default key processing
into the system server instead of the application.

Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
i/InputDispatcher.h
i/InputTransport.h
71484f2f76457287a1fbf5791f530c2b2459aa0c 03-Nov-2010 Rodrigo Obregon <robregon@ti.com> Framebuffer: Support variable number of framebuffers in the UI

This change defines a macro NUM_FRAME_BUFFERS to set
the desired number of framebuffers to be used by the UI,
instead of hard-coding 2 framebuffers.

Aditional logic has been added to handle the initialization
and destruction of NUM_FRAME_BUFFERS buffers.

Change-Id: I3a4bfec3e0f453432f2ffebf084c00f574d3be46
Signed-off-by: Rodrigo Obregon <robregon@ti.com>
i/FramebufferNativeWindow.h
7e5660f3e28b4a8321745e013a6a66db95c2bb3e 01-Nov-2010 Jeff Brown <jeffbrown@google.com> Add plumbing for volume mute key.

Full support for the volume mute key will be implemented in a
later change.

Bug: 2912307
Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
i/KeycodeLabels.h
133cde5805067d7bc7f123e1b3154816fa5eef37 28-Oct-2010 Kenny Root <kroot@google.com> Add path to get different DPI drawables

Allow a caller to request a different density than their current display
allows. This can mean a device displaying mdpi can get a resource that's
in hdpi and have it pretend to be in mdpi resolution. If a drawable
that's returned is not in the requested density, it will set it at the
appropriate density to be scaled up later on.

The API for this is hidden currently.

Bug: 3134688
Change-Id: I6c3908cbdef4907b8d3f1576df9e3b0e7af1755a
tils/ResourceTypes.h
4c766ccea57ebc82ce08d66bc7c5e2ee871e88ea 28-Oct-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of df3cccf3 to master

Change-Id: I425496a9fc4e9cbc50ad6938e9dccb14827d9558
fef5b04203b0efcbd6dc5d279083d57b77f3391b 28-Oct-2010 Jeff Brown <jeffbrown@google.com> Drop all dispatcher state when dispatcher is disabled.

This patch makes the dispatcher drop all of its state when it is
disabled (when the screen turns off). This ensures that the dispatcher
does not get stuck thinking a pointer is still down if the screen
turned off while the user was touching the display (such as a fat touch
while hitting the power button).

Bug: 3098344
Change-Id: If50ef5804870aa1acd3179fd4b40e3cda58dd39d
i/InputDispatcher.h
bc9f0531564e3c090ae14175d77091820945aa8b 24-Oct-2010 Jeff Brown <jeffbrown@google.com> am 2ef36763: am 860c2df4: Merge "Add unit tests for native input and fix bugs identified." into gingerbread

Merge commit '2ef36763700eff5679d6012e7f078c57f1a4c465'

* commit '2ef36763700eff5679d6012e7f078c57f1a4c465':
Add unit tests for native input and fix bugs identified.
3c3cc62e243a7796f5c1e88773d34e2054cc26c6 21-Oct-2010 Jeff Brown <jeffbrown@google.com> Add unit tests for native input and fix bugs identified.

Fixed a bug where we would lose the first touch point when swiping out of
the virtual key area.

Fixed a bug where we would not send an ACTION_MOVE event in cases where
individual pointers went down/up and the remaining pointers actually moved.
This is important since many applications do not handle pointer movements
during ACTION_POINTER_DOWN or ACTION_POINTER_UP. In the case of
ACTION_POINTER_UP the movement was completely lost since all pointers were
dispatched using their old location rather than the new location.

Improved motion event validation to check for duplicate pointer ids.

Added an input source constant that was missing from the NDK api but
defined in the framework api.

Added a timestamp when reporting added/removed devices in EventHub.

Bug: 3070082
Change-Id: I3206a030f43b7616e2f48006e5a9d522c4d92e56
i/InputReader.h
e22d21412fd8c5ac3f7a8b704ed69c1b5651454e 21-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Revert "Add length-equality test in String operator== checks."

This reverts commit e28210d401ae4ed1258b84c9b17a172a757190e8.
tils/String16.h
tils/String8.h
075e7503305dcba310024e6b6912dde3d31e1f7f 20-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> Add length-equality test in String operator== checks.

Change-Id: I6ebc6ef85aac4539269f137c1f29f95b9828d4f9
tils/String16.h
tils/String8.h
2659f40403a7927ff421cf084f3b8e8b3e763ce9 19-Oct-2010 Jeff Brown <jeffbrown@google.com> am f2c40603: am 7689dd49: Merge "Fix bug where home presses were not poking user activity." into gingerbread

Merge commit 'f2c406030874b355ca9e4e67cc0e3aff6103c23e'

* commit 'f2c406030874b355ca9e4e67cc0e3aff6103c23e':
Fix bug where home presses were not poking user activity.
60b5776c8795b6f52d1dddf89453c42c085da50f 18-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for calibrating touch position.

Useful for tweaking touch screen alignment without having to modify the
kernel device driver x/y axis bounds.

Change-Id: I6ca43d3c138548f9dfb76aa33150a0c853698fb6
i/InputReader.h
ef3a8234824cc9f7c3464dd05f9aeca8ea77ebd9 18-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix bug where home presses were not poking user activity.

We now poke user activity twice: once upon dequeueing an event
for dispatch and then again just before we dispatch it. The second
poke is to compensate for the fact that it can take a few seconds to
identify the dispatch target (if the application is responding slowly)
but we want to keep the display from going to sleep for X amount of time
after the app gets a chance to actually receive the event. This mirrors
pre-Gingerbread behavior.

Removed some unnecessary code that filters user activity pokes when sending
events to KeyGuard. We don't need this because KeyGuard already tells the
power manager to disable user activity.

Bug: 3101397
Change-Id: I8c3a77601fdef8f584e84cfdd11aa79da0ff51db
i/InputDispatcher.h
7d8733fc7a100c6bcb1d5375e0ea067d907955d2 16-Oct-2010 Jeff Brown <jeffbrown@google.com> am 5f0cbfce: am c1e7b218: Merge "Improve input device calibration format." into gingerbread

Merge commit '5f0cbfcecc4db20f897507c826296b3aac70c592'

* commit '5f0cbfcecc4db20f897507c826296b3aac70c592':
Improve input device calibration format.
83cd39ee1118287c955b533568be38aa2f0a6e3d 16-Oct-2010 Jeff Brown <jeffbrown@google.com> am dc3ad87c: am 78a76fea: Merge "Revert to using epoll_wait()." into gingerbread

Merge commit 'dc3ad87c04348c925aa86863ed6d25f18a8c6c36'

* commit 'dc3ad87c04348c925aa86863ed6d25f18a8c6c36':
Revert to using epoll_wait().
fb3051b15e15b0f57196e0f2bc6ba8570f7ffe5e 16-Oct-2010 Mathias Agopian <mathias@google.com> am 7e9a54d4: am d4e03f37: addresses parts of 3096779 and 3097475

Merge commit '7e9a54d460030a871a4f05e61e943c6a694e9ef8'

* commit '7e9a54d460030a871a4f05e61e943c6a694e9ef8':
addresses parts of 3096779 and 3097475
e68d9e0be41ac93bd802579c012aca22086f6f9e 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for secure system overlays.

Manual merge from Gingerbread.

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: Id876736fd8bf332ff9a5428bde59f5268aa49c3a
i/InputDispatcher.h
d9dd44d867315478bbebfbe69bb952ea8138ac4e 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Add support for secure system overlays. (DO NOT MERGE)

This change adds a new window type for secure system overlays
created by the system itself from non-secure system overlays that
might be created by applications that have the system alert permission.
Secure views ignore the presence of secure system overlays.

Bug: 3098519
Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07
i/InputDispatcher.h
6a817e22e4b09a982ba17c1aff57f9fcb735c950 13-Sep-2010 Jeff Brown <jeffbrown@google.com> Add keycodes and meta-key modifiers to support external keyboards.

Added new key maps for external keyboards. These maps are intended to
be shared across devices by inheriting the "keyboards.mk" product
makefile as part of the device's product definition.

One of the trickier changes here was to unwind some code in
MetaKeyKeyListener that assumed that only the low 8 bits of the meta key
state were actually used. The new code abandons bitshifts in favor
of simple conditionals that are probably easier to read anyways.
The special meta key state constants used by MetaKeyKeyListener
are now (@hide) defined in KeyEvent now so as to make it clearer that they
share the same code space even if those codes are not valid for KeyEvents.

The EventHub now takes care of detecting the appropriate key layout
map and key character map when the device is added and sets system
properties accordingly. This avoids having duplicate code in
KeyCharacterMap to probe for the appropriate key character map
although the current probing mechanism has been preserved for legacy
reasons just in case.

Added support for tracking caps lock, num lock and scroll lock and
turning their corresponding LEDs on and off as needed.

The key character map format will need to be updated to correctly support
PC style external keyboard semantics related to modifier keys.
That will come in a later change so caps lock doesn't actually do
anything right now except turn the shiny LEDs on and off...

Added a list of symbolic key names to KeyEvent and improved the toString()
output for debug diagnosis. Having this list in a central place in the
framework also allows us to remove it from Monkey so there is one less
thing to maintain when we add new keycodes.

Bug: 2912307
Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
i/EventHub.h
i/Input.h
i/InputReader.h
i/KeycodeLabels.h
tils/String8.h
d72b033033381c878322ff6761438d8d2d91b589 15-Oct-2010 Kenny Root <kroot@google.com> am 8fda1636: am bdf8034c: Merge "OBB: use PBKDF2 for key generation." into gingerbread

Merge commit '8fda1636e3e35f060b9046294efd3c062a1fdb84'

* commit '8fda1636e3e35f060b9046294efd3c062a1fdb84':
OBB: use PBKDF2 for key generation.
e33a35f02576b482a5ac4891a78f6e72fb4c0dea 15-Oct-2010 Mathias Agopian <mathias@google.com> am 5bfa3a34: am 011b5bcc: Merge "implement part of [3094280] New animation for screen on and screen off add support for screen on animation" into gingerbread

Merge commit '5bfa3a34eaef759c3ec4def76f646eb1c0bf997f'

* commit '5bfa3a34eaef759c3ec4def76f646eb1c0bf997f':
implement part of [3094280] New animation for screen on and screen off
d055ca828af1ff0f8b4a6764beca09c36e9ad836 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Merge "Improve input device calibration format." into gingerbread
1ec7a1d547d8998badef243a136878b199992219 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Merge "Revert to using epoll_wait()." into gingerbread
6b337e74f024fdd9e8ed3fdd3414bde3e1a3306e 15-Oct-2010 Jeff Brown <jeffbrown@google.com> Improve input device calibration format.

Added support for calibrating touch size for devices that report
size as an area measurement rather than as a width.
Fixed some bugs.

Bug: 3096045
Change-Id: I30a12e73752883516ed054f8af407204bca45814
i/InputReader.h
abd671a08a41519a7ab3d438a500efe0ef0bfc1d 14-Oct-2010 Mathias Agopian <mathias@google.com> addresses parts of 3096779 and 3097475

3097475: Animation setting should control the screen on animation
3096779: CRT power-on animation can briefly show the top app instead of lockscreen

There is now a parameter that controls wether the ON and/or OFF animation are
performed. we also always clear the screen to black on power off, to make
sure it won't briefly appear on power on.
HOWEVER, 3096779 is not 100% fixed in the case where we're doing the animation
because there is a race, where SF doesn't wait (b/c it doesn't know) for the
framework to have redrawn the lockscreen.

Change-Id: Ie0f02c9225fcdf24b1e8907e268eb7da2c5b0a03
urfaceflinger/ISurfaceComposer.h
503d2d4a08370209dc83330bd00997ba9512f46f 14-Oct-2010 Joe Onorato <joeo@google.com> am 9a12a3c8: am ba799098: Merge changes I76513387,I335fb671 into gingerbread

Merge commit '9a12a3c8d4bb20042cf69e07d268e3a04ac71f96'

* commit '9a12a3c8d4bb20042cf69e07d268e3a04ac71f96':
Remove dead code, and make the animation a setting.
turn off the electron beam
7f7c9a24b66277312c5e0426731598b8bfd11a14 14-Oct-2010 Kenny Root <kroot@google.com> Merge "OBB: use PBKDF2 for key generation." into gingerbread
95a68893125105f131ee1b4eaef1dc16da1ef789 14-Oct-2010 Kenny Root <kroot@google.com> OBB: use PBKDF2 for key generation.

Switch to using PBKDF2 for the key generation for OBBs. Any previously
generated OBBs will stop being read correctly. A small pbkdf2gen program
is available to allow generation of appropriate keys with the salts.

Bug: 3059950
Change-Id: If4305c989fd692fd1150eb270dbf751e09c37295
tils/ObbFile.h
9daa5c9b9dd286cbbf5d43f7e45a5e9e4048e855 13-Oct-2010 Mathias Agopian <mathias@google.com> implement part of [3094280] New animation for screen on and screen off
add support for screen on animation

Change-Id: If50cf52ae04b95b42da7d74cf7fa96d5cb54d238
urfaceflinger/ISurfaceComposer.h
59119e658a12279e8fff508f8773843de2d90917 11-Oct-2010 Mathias Agopian <mathias@google.com> turn off the electron beam

Change-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6
urfaceflinger/ISurfaceComposer.h
3b996c96e4cd1057cb6b9531eaf8c01f934d2b2a 10-Oct-2010 Romain Guy <romainguy@google.com> Always create OpenGL accelerated windows in RGBA 8888.

Bug #3081600

The OpenGL renderer in libhwui uses a single EGL context per process and
thus create it with an RGBA 8888 EGL configuration. To ensure that all
windows are compatible with this configuration, this change modifies
the window manager and SurfaceFlinger.

The window manager now checks the window's flags and if the window is
hardware accelerated, it forces the window's pixel format to be
translucent when creating the surface. The window itself is still
marked as opaque if we know that the window will be opaque on screen.
This keeps existing optimizations in place.

Similarly in SurfaceFlinger, a translucent Surface can now be created
with the Surface.OPAQUE flag, indicating SurfaceFlinger that the surface
does not require blending, despite its RGBA 8888 configuration.

Change-Id: Ic747b6b12564ba064412d842117880fcc199eb7c
urfaceflinger/ISurfaceComposer.h
b6702e59726d7719d9bc644834938c180797deee 12-Oct-2010 Jeff Brown <jeffbrown@google.com> Track input state when transferring touch focus.

Copies the input state to the destination window and sends synthesic
cancelation events to the source window.

Change-Id: Ia75820b0d756ed5d6cd22dce7830251ac85141ed
i/InputDispatcher.h
33d54ce97d4ac84ce0e1a84e2710b45de5e1d41d 11-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix an event injection bug when the policy is bypassed.

Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Cherry pick of b931a1b4 from gingerbread into master.

Change-Id: I700a5f07b8b227878cea9437a289a45a245c0424
i/Input.h
i/InputDispatcher.h
d129348647325c2040190f88378c1ac39cc3151c 12-Oct-2010 Jeff Brown <jeffbrown@google.com> am 41aabeb5: am 1e6a3a53: Merge "Added more robust tracking and cancelation of events." into gingerbread

Merge commit '41aabeb51305d19747687f246080f44fc2a74435'

* commit '41aabeb51305d19747687f246080f44fc2a74435':
Added more robust tracking and cancelation of events.
1fe6dec0975d0cf7faf367f6bcb30c67d2025a47 11-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix an event injection bug when the policy is bypassed.

Added the concept of a "trusted" event to distinguish between events from
attached input devices or trusted injectors vs. other applications.
This change enables us to move certain policy decisions out of the
dispatcher and into the policy itself where they can be handled more
systematically.

Change-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970
i/Input.h
i/InputDispatcher.h
90f0cee685f9b13e6bac7793717a9d15de8eafe8 09-Oct-2010 Jeff Brown <jeffbrown@google.com> Added more robust tracking and cancelation of events.

This change fixes several issues where events would be dropped in the
input dispatch pipeline in such a way that the dispatcher could not
accurately track the state of the input device.

Given more robust tracking, we can now also provide robust cancelation
of input events in cases where an application might otherwise become
out of sync with the event stream due to ANR, app switch, policy decisions,
or forced focus transitions.

Pruned some of the input dispatcher log output.

Moved the responsibility for calling intercept*BeforeQueueing into
the input dispatcher instead of the input reader and added support for
early interception of injected events for events coming from trusted
sources. This enables behaviors like injection of media keys while
the screen is off, haptic feedback of injected virtual keys, so injected
events become more "first class" in a way.

Change-Id: Iec6ff1dd21e5f3c7feb80ea4feb5382bd090dbd9
i/Input.h
i/InputDispatcher.h
i/InputReader.h
fe2987d865bd59114c2ddabbcc82f6225e7165fe 10-Oct-2010 Jamie Gennis <jgennis@google.com> Merge "Move binder magic from the Surface class to GraphicBuffer."
309d3bb2f902163356f9d40b6d45c11b435d77a9 07-Oct-2010 Jamie Gennis <jgennis@google.com> Move binder magic from the Surface class to GraphicBuffer.

- Register buffers with Gralloc when unflattening a GraphicBuffer (rather than
doing it in the Surface class).
- Add support for a GraphicBuffer that wraps an android_native_window_t*.

Change-Id: I029ac086111bbac800e5ca37eb505f558b718cd8
i/GraphicBuffer.h
2eb1995a5dfdc19f47580cd091a67994bd5f4b62 10-Oct-2010 Jeff Brown <jeffbrown@google.com> am 22cb4ef8: am d577cfd7: Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread

Merge commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5'

* commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5':
Switch Looper back to using poll() instead of epoll().
dc4c5bf55ae7a7022cedb5ea46621c9f574a597e 08-Oct-2010 Jeff Brown <jeffbrown@google.com> Revert to using epoll_wait().

This change depends on the kernel having been patched to use hrtimers
instead of jiffies for scheduling epoll timeouts.

Change-Id: I216bc1c4f565e67ebcb3d2ba4280cb615932bb9e
tils/Looper.h
54e1cdacd2b132997fdca5e5b90e45855c7a2a95 06-Oct-2010 Jeff Brown <jeffbrown@google.com> Switch Looper back to using poll() instead of epoll().

Added a couple of micro-optimizations to avoid calling wake() unnecessarily
and reduce JNI overhead slightly.

Fixed a minor issue where we were not clearing the "next" field of Messages
returned by the MessageQueue so the Message would hold on to its successor
and potentially prevent the GC from collecting it if the message were leaked
somehow.

Change-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c
tils/Looper.h
6d462b1221e98a9203d84bc33b402e4fcd3f4b94 07-Oct-2010 Jeff Brown <jeffbrown@google.com> am 56364bcd: am 78d15acf: Merge "Make secure views tolerate IME overlays." into gingerbread

Merge commit '56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7'

* commit '56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7':
Make secure views tolerate IME overlays.
e1c290b97d4e34a4f1938ebee30eab6678b06c2a 07-Oct-2010 Mathias Agopian <mathias@google.com> am ff04e97f: am f4619308: Merge "fix [2835280] Add support for cancelling buffers to ANativeWindow" into gingerbread

Merge commit 'ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb'

* commit 'ff04e97faf75c435e453d4c1caf7eeac8b9c1ceb':
fix [2835280] Add support for cancelling buffers to ANativeWindow
8c4edc02d5fae7ea01f1c5e5316d4058935d695c 06-Oct-2010 Kenny Root <kroot@google.com> am bfa33b94: am f84a5918: Merge "Use pread() in ZipFileRO for Linux" into gingerbread

Merge commit 'bfa33b9484e2c0a019ab81f30261b9696df23a9b'

* commit 'bfa33b9484e2c0a019ab81f30261b9696df23a9b':
Use pread() in ZipFileRO for Linux
35cf0e9854886c7d1a76be7c64ba9d78dfca649c 05-Oct-2010 Jeff Brown <jeffbrown@google.com> Make secure views tolerate IME overlays.

Change-Id: I3cf09b9d91045f4d9c558b4aace482a7b0bbd3d8
i/InputDispatcher.h
19957553cbda9134f542e3374c28710d3556d1ce 02-Oct-2010 Mathias Agopian <mathias@google.com> fix [2835280] Add support for cancelling buffers to ANativeWindow

There is a new ANativeWindow::cancelBuffer() API that can be used to
cancel any dequeued buffer, BEFORE it's been enqueued. The buffer is
returned to the list of availlable buffers. dequeue and cancel are not
mutually thread safe, they must be called from the same thread or
external synchronization must be used.

Change-Id: I86cc7985bace8b6a93ad2c75d2bef5c3c2cb4d61
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/Surface.h
i/egl/android_natives.h
566b728c933c0fe7d333d426bc420fcd363aa3d1 05-Oct-2010 Mathias Agopian <mathias@google.com> Merge "refactored screenshot code" into gingerbread
df85c455c34a920d22a8e3f7459a1cc615efcd27 29-Sep-2010 Mathias Agopian <mathias@google.com> refactored screenshot code

the core screenshot function now can capture the screen at any lower resolution
performing bilinear filtering.

we also now have some client code to interface with the screenshot service.

it's now possible to request a screenshot at a lower resolution.

Change-Id: I33689bba98507ab928d0898b21596d0d2fe4b953
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
61ef747e0e1b3980fbb10ce48de575caa69a6a74 04-Oct-2010 Kenny Root <kroot@google.com> Use pread() in ZipFileRO for Linux

AssetManager instances are created by zygote and passed to all its
children so that they don't have to individually open
frameworks-res.apk. This creates a problem for determining the current
file offset when using lseek() on those files, because you can't
guarantee the cross-process locking of a mutex. Luckily, Linux
implements pread() to get around this suckiness.

The problem is that only Linux implements this, so we have to keep the
old locking for use on host builds with aapt and friends. aapt doesn't
have this same problem of sharing file descriptors across forked
processes, so we can keep the local AutoMutex to protect accesses of
those files.

Change-Id: Ibe9f11499a53fe345f50fbaea438815ec0fd363e
tils/ZipFileRO.h
3d20bc9ff602a2f81a4570d15b5e1f3cff80af29 04-Oct-2010 Kenny Root <kroot@google.com> am ac754073: am b58b2714: Merge "ZipFileRO: moar logging and wrap close" into gingerbread

Merge commit 'ac7540733cafcca5bdb1842e1ebcb396ba064583'

* commit 'ac7540733cafcca5bdb1842e1ebcb396ba064583':
ZipFileRO: moar logging and wrap close
a2b0e612284b05b121daaf0a33e3c6698b874741 04-Oct-2010 Kenny Root <kroot@google.com> Merge "ZipFileRO: moar logging and wrap close" into gingerbread
c0242197eab18a837c374b152a7450f26c22f974 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am ea58d1ba: am e951ef07: Merge "Wait for initial device scan to finish before updating config." into gingerbread

Merge commit 'ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1'

* commit 'ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1':
Wait for initial device scan to finish before updating config.
76025e44e45881a089a853dbb08b1f09abb30fb1 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am e11b76d3: am f6295b35: Merge "Minor logging changes to input dispatcher to help with debugging." into gingerbread

Merge commit 'e11b76d3efb056edea301d53a354d0730adf3520'

* commit 'e11b76d3efb056edea301d53a354d0730adf3520':
Minor logging changes to input dispatcher to help with debugging.
1ad00e96fe0d10c4fa9b870b42f3ea90b17a2d7f 02-Oct-2010 Jeff Brown <jeffbrown@google.com> Wait for initial device scan to finish before updating config.

This change narrows the opportunity for a race condition setting the
resource Configuration while devices are being updated.

Change-Id: I58efa563f4129ab0fce7108511d16a99dff7e451
i/EventHub.h
i/InputReader.h
dbf6f272a2cad97f7ce7fa600ffd2220483c80d1 02-Oct-2010 Kenny Root <kroot@google.com> ZipFileRO: moar logging and wrap close

There is apparently still a race upon reading the entry Local File
Header that can't be tracked down, so move the LFH check inside the
mutex-protected block so we can call lseek again to see where we are
when we log an error.

Also, close() can fail so use TEMP_FAILURE_RETRY on it so we don't
unwittingly leak file descriptors when Mean Mr. EINTR comes a-knocking.

Change-Id: I753abad0bd882fe28f7281c406fa76f64393ef4c
tils/ZipFileRO.h
2806e381cf08ef3073634b1fdd1f656c1750a7eb 02-Oct-2010 Jeff Brown <jeffbrown@google.com> Minor logging changes to input dispatcher to help with debugging.

Added dumpsys reporting to EventHub.
Made the formatting a bit clearer.
Added 'Locked' suffix to some internal methods of EventHub.

Change-Id: Ic449560bcce378f6361895d27c66854e9724abb0
i/EventHub.h
4adce423e481c50b0dad1d1e2bb52c909bb5bd89 02-Oct-2010 Jeff Brown <jeffbrown@google.com> am 57fa3e8b: am 9e32a438: Merge "Support haptic feedback for virtual keys defined in key layout." into gingerbread

Merge commit '57fa3e8b4c94125ddb5be015dd7fbde4a458894f'

* commit '57fa3e8b4c94125ddb5be015dd7fbde4a458894f':
Support haptic feedback for virtual keys defined in key layout.
956c0fb2386cb0cf92e08b199c706ed3a044ad1b 01-Oct-2010 Jeff Brown <jeffbrown@google.com> Support haptic feedback for virtual keys defined in key layout.

Change-Id: I83e4108a87332692e03791dc066206becbc7941f
i/Input.h
i/InputReader.h
i/KeycodeLabels.h
84ac949b0e2e63809ed25829e891ed0b784a358d 01-Oct-2010 Mathias Agopian <mathias@google.com> Merge "refactored screenshot code"
3f0fd1897cf93dcdc910003bba613a8f02a3cd58 01-Oct-2010 Jeff Brown <jeffbrown@google.com> am 5d3cef8a: am e0c12c88: Merge "Move verbose logging of device capabilities to dumpsys." into gingerbread

Merge commit '5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe'

* commit '5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe':
Move verbose logging of device capabilities to dumpsys.
26c94ff615ffceee586c52f33954122d877f6c85 30-Sep-2010 Jeff Brown <jeffbrown@google.com> Move verbose logging of device capabilities to dumpsys.

Change-Id: I5d55eaebfdf049bd1ac1e7bab2758886cfefc9d7
i/InputReader.h
74c40c0a273dbfd7d10617c4cc1b0c066bfc812e 29-Sep-2010 Mathias Agopian <mathias@google.com> refactored screenshot code

the core screenshot function now can capture the screen at any lower resolution
performing bilinear filtering.

we also now have some client code to interface with the screenshot service.

it's now possible to request a screenshot at a lower resolution.

Change-Id: I5a3b0e431421800e3aad601d9af8f94adffbc71f
urfaceflinger/ISurfaceComposer.h
urfaceflinger/SurfaceComposerClient.h
744c559ac78ecfa62d8809915a816bdbf3f87a09 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Add support for transferring touch focus.

Prerequisite for drag and drop.

Change-Id: Iedbe93ed0f3e1c4083130fe66b4ba06d416afce0
i/InputDispatcher.h
e457038905e8deb3b1a0b9fa898ce0a9c1993772 27-Sep-2010 Jeff Brown <jeffbrown@google.com> am 9785bf0f: am 14a288da: Merge "Add suuport for splitting touch events across windows." into gingerbread

Merge commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919'

* commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919':
Add suuport for splitting touch events across windows.
6949f5da669d6ec6db24da0b561ad3466aece60d 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Add suuport for splitting touch events across windows." into gingerbread
d1b0a2bfe50e61241fab6a571941c207232d9212 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Add suuport for splitting touch events across windows.

This feature is currently used to enable dragging the start and end
selection handles of a TextView at the same time. Could be used for
other things later.

Deleted some dead code in ArrowKeyMovementMethod and CursorControllers.

Change-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409
i/Input.h
i/InputDispatcher.h
i/InputReader.h
tils/BitSet.h
a3aefeb1c31618dcc897da22d2d2f741104e3fe3 25-Sep-2010 Mathias Agopian <mathias@google.com> am 495ad4f2: am beabe75a: Merge changes I1f7c4535,I741c68a2 into gingerbread

Merge commit '495ad4f22096aa172d025c16c25497e7dad8f2bd'

* commit '495ad4f22096aa172d025c16c25497e7dad8f2bd':
simple test app for screen capture API
add support for [1974164] Be able to take a screen shot on the device
8405dff685a804f39f1b7fccc79d28dac9b457c3 25-Sep-2010 Mathias Agopian <mathias@google.com> Merge changes I1f7c4535,I741c68a2 into gingerbread

* changes:
simple test app for screen capture API
add support for [1974164] Be able to take a screen shot on the device
d6d93dbb86909747a5c7a8f363b28901dbb7422f 25-Sep-2010 Kenny Root <kroot@google.com> am 3e07c000: am 74865ef6: Merge "Add locking around ZIP seeking" into gingerbread

Merge commit '3e07c0007b10fbda945516acaf6b2a8787a6ca06'

* commit '3e07c0007b10fbda945516acaf6b2a8787a6ca06':
Add locking around ZIP seeking
1b0b30d04304392748a8a4ab5a69e52a19f51b3a 24-Sep-2010 Mathias Agopian <mathias@google.com> add support for [1974164] Be able to take a screen shot on the device

screenshots are taken using ISurfaceComposer::captureScreen() which returns
the size of the screenshot and an IMemoryHeap containing the data.
screenshots have limitations:
- they will always fail if a secure window is up on screen
- require GL_OES_framebuffer_object extension
- in some situation, video planes won't been captured

Change-Id: I741c68a2d2984fb139039301c3349e6780e2cd58
urfaceflinger/ISurfaceComposer.h
fa98920b7192d0db8d22d9345b750810f89f9cdd 24-Sep-2010 Kenny Root <kroot@google.com> Add locking around ZIP seeking

Since we switched to seeking to the LFH to verify its existence instead
of a huge mmap of the file, we have to guarantee that another seek
doesn't happen before we finish our read on the LFH.

Change-Id: If8135d9cb6f2f5cc4db734eafa4f6b5f6269c62a
tils/ZipFileRO.h
6bea17498385e644e243ded1e2205ce1388c1367 22-Sep-2010 Jeff Brown <jeffbrown@google.com> am 4ec134cd: am cce0cd13: Merge "Looper: use pthread_once for TLS key initialization." into gingerbread

Merge commit '4ec134cdba52b663506562c6406b07915820b007'

* commit '4ec134cdba52b663506562c6406b07915820b007':
Looper: use pthread_once for TLS key initialization.
61a25b249066baed0fdab0411f44a2c6b7292766 22-Sep-2010 Jeff Brown <jeffbrown@google.com> Looper: use pthread_once for TLS key initialization.

Also fix a Valgrind complaint by zeroing out the entire epoll event
struct since otherwise the data field union would be partly
uninitialized (but not in a harmful way).

Change-Id: I2091ce517e87fcad7c9caf90e2c5e4854a7ca465
tils/Looper.h
067ed1db03a5452c79d30473f6e94c25db098f65 18-Sep-2010 Jeff Brown <jeffbrown@google.com> am bc9599d4: am 838e93ed: Merge "Looper: Drop default parameters in favor of a safer overload." into gingerbread

Merge commit 'bc9599d48c79c18d306a13f51af9ef2aac92cdca'

* commit 'bc9599d48c79c18d306a13f51af9ef2aac92cdca':
Looper: Drop default parameters in favor of a safer overload.
b0619e8ad8e258f3e87a78a3a23c353d98efafa7 17-Sep-2010 Jeff Brown <jeffbrown@google.com> Looper: Drop default parameters in favor of a safer overload.

The idea is that if you're writing code that wants fd/events/data on
return from pollOnce() / pollAll() you should really pass in all of those
arguments. When I changed the Looper API earlier, it was difficult
to ensure that all callers were passing the right parameters since they
were relying on default parameters to some degree so usage mistakes
would not have been caught by the compiler.

Change-Id: I1f2812894270aaf1515017ac1616b6b312d9b565
tils/Looper.h
54e9a7ec0b8c742726bc04930f1b24e879027dbf 17-Sep-2010 Jeff Brown <jeffbrown@google.com> am 6f0ff46c: am 9c258710: Merge "Fix app switch latency optimization." into gingerbread

Merge commit '6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25'

* commit '6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25':
Fix app switch latency optimization.
d8816c3c4cd99cf51108f2a892c7a01b0de24057 16-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix app switch latency optimization.

This optimization was broken due to recent changes in how ANRs are handled.

Change-Id: Ic99248a12755fadac8d4893e7d305b773e038d3d
i/InputDispatcher.h
87fab277fd19c45c81ad8c6c81c0f1558bed6137 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 61cf67a2: am 24326f72: Merge "Input API review." into gingerbread

Merge commit '61cf67a220ba3205737c646c1c836a92074220de'

* commit '61cf67a220ba3205737c646c1c836a92074220de':
Input API review.
128e33421b7744126a69226d7acea717e9b6e652 16-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Input API review." into gingerbread
02a71f7ab423ac1be8c37296355bd0ab68c5376a 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 7642c82c: am f4d788c9: Merge "Make input dispatcher only ANR for foreground windows." into gingerbread

Merge commit '7642c82c291051919aad87c797e2dc1d77ed55e1'

* commit '7642c82c291051919aad87c797e2dc1d77ed55e1':
Make input dispatcher only ANR for foreground windows.
53a415e6d1661d3d6278542c960f8d0cf62f6f42 16-Sep-2010 Jeff Brown <jeffbrown@google.com> Make input dispatcher only ANR for foreground windows.

Redesigned the input dispatcher's ANR timeout mechanism so it is much
closer to Froyo's policy. ANR is only ever signalled if the dispatcher
is waiting on a window to finish processing its previous event(s) and
there is new pending input.

In the old code, we tracked the dispatch timeout separately for each
input channel. This was somewhat complicated and also resulted in the
situation where applications could ANR long after the user had pushed
them into the background.

Change-Id: I666ecada0952d4b95f1d67b9f733842b745c7f4b
i/InputDispatcher.h
3fd1ed59386ec870f41c372ee1248979e42c9832 16-Sep-2010 Mathias Agopian <mathias@google.com> am 310da64d: am f182e8a8: fix a typo where the eventtags code were wrong

Merge commit '310da64d78750cdba4349d7cc0a268c07155569d'

* commit '310da64d78750cdba4349d7cc0a268c07155569d':
fix a typo where the eventtags code were wrong
6a3de9a424bb9ba426cf4d98b362f7b20664a9f7 15-Sep-2010 Mathias Agopian <mathias@google.com> fix a typo where the eventtags code were wrong

Change-Id: I517112a1475c10b71009a0aa9c3894c76a1f270f
i/GraphicLog.h
dc543aec707be4239caec16f9fd3c13878f90a2f 15-Sep-2010 Jeff Brown <jeffbrown@google.com> am 14bc6b5d: am 09340a4b: Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread

Merge commit '14bc6b5d0677e5c454a67775c852f90389bb4567'

* commit '14bc6b5d0677e5c454a67775c852f90389bb4567':
Replace epoll() with poll() and rename PollLoop to Looper.
c479e18db0216f7096fefe85ffa71ab00329aef3 15-Sep-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of 48a86240 to master

Change-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5
b5764e066c3ba60261c2719b4f447904605bf779 15-Sep-2010 Jeff Brown <jeffbrown@google.com> Input API review.

Drop currently unsupported input features.
Add documentation comments.

Change-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592
i/EventHub.h
b06cca6228aec6acfefbfae7edd768d7de4c7057 15-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread
59abe7e0909bf4b7bf7b9601e1e40a05f6d4fd8a 14-Sep-2010 Jeff Brown <jeffbrown@google.com> Replace epoll() with poll() and rename PollLoop to Looper.

As part of this change, consolidated and cleaned up the Looper API so
that there are fewer distinctions between the NDK and non-NDK declarations
(no need for two callback types, etc.).

Removed the dependence on specific constants from sys/poll.h such as
POLLIN. Instead looper.h defines events like LOOPER_EVENT_INPUT for
the events that it supports. That should help make any future
under-the-hood implementation changes easier.

Fixed a couple of compiler warnings along the way.

Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
ui/SensorEventQueue.h
i/InputDispatcher.h
i/InputTransport.h
tils/Looper.h
tils/PollLoop.h
35b48d10bc9e064201d3d54d2d476314684a7a05 14-Sep-2010 Mathias Agopian <mathias@google.com> Add logging of various important graphics events

There are 16 events logged in the event log:
SF_APP_DEQUEUE_BEFORE
SF_APP_DEQUEUE_AFTER
SF_APP_LOCK_BEFORE
SF_APP_LOCK_AFTER
SF_APP_QUEUE

SF_REPAINT
SF_COMPOSITION_COMPLETE
SF_UNLOCK_CLIENTS
SF_SWAP_BUFFERS
SF_REPAINT_DONE

SF_FB_POST_BEFORE
SF_FB_POST_AFTER
SF_FB_DEQUEUE_BEFORE
SF_FB_DEQUEUE_AFTER
SF_FB_LOCK_BEFORE
SF_FB_LOCK_AFTER

all events log the buffer conserned and a timestamp in microseconds.

by default the logging is not enabled, to turn it on:
adb shell service call SurfaceFlinger 1006 i31 1
adb shell setprop debug.graphic_log 1

The effect is immediate in SurfaceFlinger, but applications need to be
restarted.

Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
i/FramebufferNativeWindow.h
i/GraphicLog.h
055a7926e651e3f99aedceda3b18bb6ea53d7769 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am 0f0541e4: am b88102f5: Input dispatcher ANR handling enhancements.

Merge commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6'

* commit '0f0541e40cfef51eb5c3769e53c1aa853b53aaf6':
Input dispatcher ANR handling enhancements.
a665ca805c7ecda89ef95658f4d1c09ba6bd7f2e 08-Sep-2010 Jeff Brown <jeffbrown@google.com> Input dispatcher ANR handling enhancements.

This change is essentially a rewrite of the main input dispatcher loop
with the target identification folded in. Since the input dispatcher now
has all of the window state, it can make better decisions about
when to ANR.

Added a .5 second deadline for processing app switch keys. This behavior
predates Gingerbread but had not previously been ported.

Fixed some timing inaccuracies in the ANR accounting that could cause
applications to ANR sooner than they should have.

Added a mechanism for tracking key and motion events that have been
dispatched to a window so that appropriate cancelation events can be
synthesized when recovering from ANR. This change helps to keep
applications in sync so they don't end up with stuck buttons upon
recovery from ANRs.

Added more comments to describe the tricky parts of PollLoop.

Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
i/InputDispatcher.h
i/InputManager.h
i/InputReader.h
i/PowerManager.h
tils/PollLoop.h
0ddf0656c4254d5415279eeee83e4c0f78d64fab 09-Sep-2010 Romain Guy <romainguy@google.com> Merge "Purge Skia objects from GL caches as needed."
4e0c1f27fdefdd9b0208ea64542c1e39d9327eb9 09-Sep-2010 Romain Guy <romainguy@google.com> Purge Skia objects from GL caches as needed.

Change-Id: I754c671cf790ad5ae8bf047ad328034217da4ecc
tils/Singleton.h
e1e37e4c7baffb42117426b6b4bb70e3de2beec4 08-Sep-2010 Jeff Brown <jeffbrown@google.com> am 8723bb58: am b21fb104: Fix key repeat delay.

Merge commit '8723bb58b17a07b7ca036cc76d737c6c0f4b13c7'

* commit '8723bb58b17a07b7ca036cc76d737c6c0f4b13c7':
Fix key repeat delay.
6240634883061299f9ff33b2deef0f8e0c81d447 08-Sep-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of a05088c1 to master

Change-Id: I7973f9f28586dec9b9659f8f662f40db7997a521
61ce3982e1e5fd31f6e5b2be4d238b048a58f760 07-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix key repeat delay.

Change-Id: I6216e082324ee29bf50e37acc673350ca5417c4d
i/InputDispatcher.h
af30ff6020990427e0e0e73e4ac4a85a6f26a8ff 02-Sep-2010 Jeff Brown <jeffbrown@google.com> Add support for secure views.

Added the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the
input manager whenever another visible window is partly or wholly obscured
the target of a touch event so that applications can filter touches
accordingly.

Added a "filterTouchesWhenObscured" attribute to View which can be used to
enable filtering of touches when the view's window is obscured.

Change-Id: I936d9c85013fd2d77fb296a600528d30a29027d2
i/Input.h
i/InputDispatcher.h
i/InputTransport.h
c946422d585e92c60fb144ab5c06a102d64bfc96 08-Sep-2010 Dianne Hackborn <hackbod@google.com> am a1205f07: am 2d3739d4: Merge "Modify native ALooper to take an explicit ident." into gingerbread

Merge commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7'

* commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7':
Modify native ALooper to take an explicit ident.
45e0acb41acf30a1b7592ea7e695d96aca3ccd3b 08-Sep-2010 Dianne Hackborn <hackbod@google.com> Modify native ALooper to take an explicit ident.

The ALooper API now uses an explicit "identifier" for the integer
that is returned rather than implicitly using the fd. This allows
the APIs that had the fd to be a little more sane.

Change-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0
tils/PollLoop.h
9b83cce203444f9ee790574a2bbc4c57ffb35af9 01-Sep-2010 Jeff Brown <jeffbrown@google.com> am df02df11: am 307ed31c: Merge "Remove incomplete input device enumeration NDK API." into gingerbread

Merge commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3'

* commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3':
Remove incomplete input device enumeration NDK API.
774cf1baa17eeb76d4ad969266686df9b6248aaf 01-Sep-2010 Jeff Brown <jeffbrown@google.com> Remove incomplete input device enumeration NDK API.

Change-Id: I32de74ff5fcf0e29179a2aee03ddabd22fa485bb
i/Input.h
f3372f7ca355cbc8828f543937469e313e9500ec 01-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> am ae087369: am 63070856: Merge "Don\'t propagate StrictMode over one-way Binder calls." into gingerbread

Merge commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80'

* commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80':
Don't propagate StrictMode over one-way Binder calls.
5273603e98d2db3bac656b7bcf5352c04c86d62f 31-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> Don't propagate StrictMode over one-way Binder calls.

This was causing stack stitching problems where a one-way call with
violations followed by a two-way call without violations was getting
the previous one-way call's violation stack stitched on to the second
caller's stack.

The solution is a little more indirect than I would've liked
(preserving the binder's onTransact flags until enforceInterface) but
was seemingly necessary to work without changing the AIDL compiler.
It should also be sufficiently cheap, since no new calls to
thread-local IPCThreadState lookups were required. The additional
work is just same-thread getter/setters on the existing
IPCThreadState.

Change-Id: I4b6db1d445c56e868e6d0d7be3ba6849f4ef23ae
inder/IPCThreadState.h
d363aa2e41c29f1ad7d6b2a6649797766ce6250e 31-Aug-2010 Jeff Brown <jeffbrown@google.com> am 36f0cb26: am 8d60866e: Input device calibration and capabilities.

Merge commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030'

* commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030':
Input device calibration and capabilities.
38a7fabd96566a229a276e7066ac1caf5157e127 30-Aug-2010 Jeff Brown <jeffbrown@google.com> Input device calibration and capabilities.

Finished the input device capability API.
Added a mechanism for calibrating touch devices to obtain more
accurate information about the touch contact area.
Improved pointer location to show new coordinates and capabilities.
Optimized pointer location display and formatting to avoid allocating large
numbers of temporary objects. The GC churn was causing the application to
stutter very badly when more than a couple of fingers were down).
Added more diagnostics.

Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
i/EventHub.h
i/Input.h
i/InputReader.h
2ac5b0d6de8683c27b69016b8d0eaf6707f21f06 28-Aug-2010 Mathias Agopian <mathias@google.com> am d322d163: am ae66946b: Merge "fix a race in SF buffer management" into gingerbread

Merge commit 'd322d16323176ddd5fef3383798176f64d0078c8'

* commit 'd322d16323176ddd5fef3383798176f64d0078c8':
fix a race in SF buffer management
0e7f4292c78ef32643fdb10134e91e84067515fc 27-Aug-2010 Mathias Agopian <mathias@google.com> fix a race in SF buffer management

also remove some unused code.

Change-Id: Iae2c3309b7a08055f3e13a5b866c5c084993e352
rivate/surfaceflinger/SharedBufferStack.h
4ad298c12c43563789fd2213428347caf2f74c64 25-Aug-2010 Mathias Agopian <mathias@google.com> am bc4389ed: am 8395b462: Merge "fix [2931513] Add support for setting the orientation of an ANativeWindow" into gingerbread

Merge commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64'

* commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64':
fix [2931513] Add support for setting the orientation of an ANativeWindow
b661d66013b9803c50dc78ca0247ac39caef443a 20-Aug-2010 Mathias Agopian <mathias@google.com> fix [2931513] Add support for setting the orientation of an ANativeWindow

Also implement support for cropping.

Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
rivate/surfaceflinger/SharedBufferStack.h
urfaceflinger/Surface.h
i/egl/android_natives.h
89c2dd2cc27ead77da131fe27810c99a11a92ad7 11-Aug-2010 Jamie Gennis <jgennis@google.com> Change the framework to use the new camera preview path.

This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated. The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface. The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.

Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
urfaceflinger/Surface.h
3f45e44adf9d76c7b76d33aec4c6e93f794d470d 23-Aug-2010 Andreas Huber <andih@google.com> Merge "Squashed commit of the following:"
8b42e8a5d87dcdc8ea31368ab88de49b72ab5432 16-Aug-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 35cc68814a9537c31fde146e171e7b0bbdfe211e
Author: Andreas Huber <andih@google.com>
Date: Mon Aug 16 08:48:42 2010 -0700

Only enable support for yuv to yuv conversion on passion, where it's available, use the slower yuv->rgb565 path everywhere else.

commit d8ac5a8814103e60d11d2acf61997fc31a1dc58d
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 13 13:56:44 2010 -0700

The software renderer takes over all rendering, converting from yuv to yuv if possible and rgb565 otherwise.

commit 684972074b74318bdcb826ed9b5b0864d2d2e273
Author: Andreas Huber <andih@google.com>
Date: Fri Aug 13 09:34:35 2010 -0700

A first shot at supporting the new rendering APIs.

Change-Id: Iea9b32856da46950501f1a700f616b5feac710fd
urfaceflinger/Surface.h
24b2aee9ca5bf8a119569ca052908d0d3509cb9c 21-Aug-2010 Kenny Root <kroot@google.com> am 821afa9a: am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread

Merge commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973'

* commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973':
Add OBB flags to support overlays
e09c4c710e913bffa567b9a75956da53318327b9 21-Aug-2010 Jeff Brown <jeffbrown@google.com> am d25f0aea: am 99401b29: Merge "Add support for throttling motion events." into gingerbread

Merge commit 'd25f0aea1cebe93aff55a75374e172f87115f1b3'

* commit 'd25f0aea1cebe93aff55a75374e172f87115f1b3':
Add support for throttling motion events.
297f493405718cbeafa6b47a70f51e09c46ddbb8 20-Aug-2010 Jeff Brown <jeffbrown@google.com> am 33992d41: am 72e0b2ab: Merge "Fix some input device mapping bugs with certain drivers." into gingerbread

Merge commit '33992d4195fe55f42ba6919f5a07707a51a12d5d'

* commit '33992d4195fe55f42ba6919f5a07707a51a12d5d':
Fix some input device mapping bugs with certain drivers.
10688121582c15e861c94b1763ad99c338d3154b 19-Aug-2010 Kenny Root <kroot@google.com> Merge "Add OBB flags to support overlays" into gingerbread
542412c8c96ee369e7bdc197a79a2d37c7f8e020 19-Aug-2010 Jeff Brown <jeffbrown@google.com> Add support for throttling motion events.

Change-Id: I24b3a17753e91ecda60a60fe5cd2e6b3260e033d
i/InputDispatcher.h
db1e2bcbc8063e905749c30fc683f340a832e6cf 18-Aug-2010 Jeff Brown <jeffbrown@google.com> am 29eb491a: am 3922484d: Merge "Optimize EventHub reads." into gingerbread

Merge commit '29eb491a5addc78003299ecab6ab6c716201f9dc'

* commit '29eb491a5addc78003299ecab6ab6c716201f9dc':
Optimize EventHub reads.
6f7d4ed7b8f914504aa8b04a07b96b5e8bbc7f21 18-Aug-2010 Jeff Brown <jeffbrown@google.com> am 8fd80e92: am 72ce4235: Merge "Fix possible race conditions during channel unregistration." into gingerbread

Merge commit '8fd80e924a2f40f6a785f834914f8a6f18a3aa9d'

* commit '8fd80e924a2f40f6a785f834914f8a6f18a3aa9d':
Fix possible race conditions during channel unregistration.
36cb115c771d8724a49512d5f4def534c731992b 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Merge "Fix some input device mapping bugs with certain drivers." into gingerbread
d64c855821457515d1da78dfac65af8306b53343 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix some input device mapping bugs with certain drivers.

On single-touch devices, pointer up/down is signalled by a BTN_TOUCH
key event. Previously we handled BTN_TOUCH immediately but some drivers
may produce the sequence BTN_TOUCH, ABS_X, ABS_Y, SYN_REPORT on pointer down
which caused us to emit a bad initial pointer down location.
Now we wait for SYN_REPORT before reporting the up or down.

On multi-touch devices, pointer up can be signalled by as little as
the sequence SYN_MT_REPORT, SYN_REPORT. This change ensures that we
handle this case.

Added support for reading ABS_MT_PRESSURE when available.
Corrected mapping of touchMajor/touchMinor on single touch devices.
Minor code cleanup.

Change-Id: Ic7ec4811241ed85a06e59b8a839ca05180d491d4
i/InputReader.h
62576ec6f395b368bda2fdfc26ec0dac79d78df8 18-Aug-2010 Jeff Brown <jeffbrown@google.com> am 3922484d: Merge "Optimize EventHub reads." into gingerbread

Merge commit '3922484d7458a4ab72fc1ca8952a0776dd1c7d20' into gingerbread-plus-aosp

* commit '3922484d7458a4ab72fc1ca8952a0776dd1c7d20':
Optimize EventHub reads.
4c8c491bbba54eac10a2c694b8e4c23d66f06bdb 18-Aug-2010 Jeff Brown <jeffbrown@google.com> am 72ce4235: Merge "Fix possible race conditions during channel unregistration." into gingerbread

Merge commit '72ce42352c1c229e05d910b4176f3cddb608e814' into gingerbread-plus-aosp

* commit '72ce42352c1c229e05d910b4176f3cddb608e814':
Fix possible race conditions during channel unregistration.
7dcaa584969253e32aec19d5bd40062704aaf95b 22-Jun-2010 Jens Gulin <jens.gulin@sonyericsson.com> Keep track of remaining fd when devices are removed

Sometimes the wrong fd was accessed when the device was addressed
by device id.

The earlier implementation assumed that two arrays were in sync
but one of them was compacted when devices were removed. Instead
of that dependency the device now keeps track of it's file descriptor.

Change-Id: Ib0f320603aafb07ded354bc3687de9759c9068f2
i/EventHub.h
28e9b9f2435b9b73addddb092c66a8da6112b350 12-Aug-2010 Kenny Root <kroot@google.com> Add OBB flags to support overlays

* Add flags field in OBB footer to support overlays.

* Remove unused 'crypto' and 'filesystem' fields in obbtool (could
later be supported in the "flags" field of the OBB footer).

* Add notes to document OBB classes before shipping.

Change-Id: I386b43c32c5edef55210acb5d3322639c08010ba
tils/ObbFile.h
827630744a5bf05d25c2fa1fb7c53b9ab2b94a69 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Optimize EventHub reads.

Change-Id: Id7d09c0a6e5c741c1e29becd2b6560772c5ff372
i/EventHub.h
0cacb87f022cc2bfa6c3b40217f9b230628f3fd7 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix possible race conditions during channel unregistration.

Previously, the input dispatcher assumed that the input channel's
receive pipe file descriptor was a sufficiently unique identifier for