History log of /frameworks/native/libs/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
65bee228207da4064b09abc4c2b88cd7b797890b 26-Jun-2017 Dan Stoza <stoza@google.com> libgui: New mutex for ConsumerBase frame callbacks

Adds a new mutex to protect ConsumerBase's mFrameAvailableListener
separately from the main mMutex. This prevents deadlocks when trying
to perform callbacks in response to other calls that come through
ConsumerBase.

Bug: 62915791
Test: EncodeVirtualDisplayWithCompositionTest#
testRenderingMaxResolutionRemotely

Change-Id: I244dc2d83488e452d9690c0d7847c9ff15a95dbb
(cherry picked from commit 95971c8172495f7b6a0ede1a3508472b9a4e7b36)
ui/ConsumerBase.cpp
53213430b56f4051fcee7e5d79a03adce9e3eb5f 22-Jun-2017 Fabien Sanglard <sanglardf@google.com> LibGUI remove DEBUG

DEBUG_ONLY_CODE flag enables expensive checks such as
BufferQueueCore::validateConsistencyLocked() which when running
represents 15.1% of SurfaceFlinger total runtime. Enabling these
check for "eng" build only make "userdebug" build closer to "user".

Test: Manual
Bug: 62905241
Change-Id: I77065ecf4e62261c3f02b1cad9966d5c4845c639
(cherry picked from commit 98bfd4f5714c70c94d7a72efa29a1966fb0ea6a9)
ui/Android.bp
4e623e259c3e8677d57f761a3708423fb2e77e2a 16-Jun-2017 Bryce Lee <brycelee@google.com> Add method to explicitly create Surface.

It is sometimes necessary for a SurfaceControl client to request the
associated Surface object be created rather than reuse the cached
value. This changelist adds an additional method that performs the
same creation operations as if the Surface object was created for the
first time.

Bug: 62108743
Test: go/wm-smoke
Change-Id: I2f460f20b2d16ed9ff81cb36842bcd2f8641e03c
ui/SurfaceControl.cpp
c6ff79830b9126f948791f03164a58ad079e9e5d 14-Jun-2017 Eino-Ville Talvala <etalvala@google.com> ConsumerBase: discardFreeBuffers() also needs to dump its own cache

ConsumerBase has its own cached slots with graphic buffer references,
so it's not enough to just ask the buffer queue consumer to free
buffers.

Add code equivalent to what happens in the onBuffersReleased callback.

Test:
Bug: 62593139
Change-Id: Ibc1444b868c6150aa2da1c209e06bdba42f1595d
ui/ConsumerBase.cpp
2672decb92fa24ef012cbbd3690c120530fa3cd3 14-Jun-2017 Eino-Ville Talvala <etalvala@google.com> BufferQueueProducer: Call onBuffersReleased() in detachNextBuffer

Like detachBuffer(), detachNextBuffer() needs to inform the consumer,
who generally has a cache of buffer items, that a buffer is no longer
owned by the buffer queue.

Otherwise the consumer layer can leak the buffer reference until
consumer teardown/disconnect.

Test: Camera CTS is fine, using a camera app shows correct memory
behavior
Bug: 62591036

Change-Id: I14c200d13e60dbbe21261343941f84fb786db117
ui/BufferQueueProducer.cpp
2563c0f3b0aa07309d42c0d739880884b8131080 09-Jun-2017 Mathias Agopian <mathias@google.com> Merge "Add missing VNDK pixel formats to AHardwareBuffer" into oc-dev
3a11413a2584cf9a51e4315bef27546f602578fb 09-Jun-2017 Mathias Agopian <mathias@google.com> Add missing VNDK pixel formats to AHardwareBuffer

AHardwareBuffer is now the only API available to
vendors to create graphic buffers in their HAL
implementations, unfortunately AHardwareBuffer
was designed for NDK use and was missing all
HAL specific pixel formats.

This CL adds these missing format to the VNDK-only
header.

The implementation is changed to accept all formats
which means, VNDK formats are indirectly exposed
to the NDK.

Bug: 38466076
Test: manual
Change-Id: I1e752cd33641aa861d9d15432cde6bec5a682e9a
ativewindow/AHardwareBuffer.cpp
ativewindow/include/private/android/AHardwareBufferHelpers.h
ativewindow/include/vndk/hardware_buffer.h
b1e2f8deb38353e4bcc9d3ef06bc15bd5e417425 09-Jun-2017 Jorim Jaggi <jjaggi@google.com> Properly run window animations at vsync-sf (2/2)

- Add new Choreographer instance that runs on vsync-sf
- Use this new Choreographer for WindowAnimator, and remove all
the hacks around it

Test: Open apps and close apps, notice no stutter
Test: Screen zoom animations
Test: go/wm-smoke
Bug: 36631902
Change-Id: I72a8b39709303a38fc077100229b8a81a153ba3e
ui/DisplayEventReceiver.cpp
ui/ISurfaceComposer.cpp
ui/tests/Surface_test.cpp
ae6955fda8c669efdfd9cc9c3ff6b072db6e7c94 03-Jun-2017 Jiwen 'Steve' Cai <jwcai@google.com> No crash from AHardwareBuffer_unlock on NULL fence

The API document states: "If fence is not NULL then it will be set to a
file descriptor that is signaled when all pending work on the buffer is
completed." As it's too late to change the document, we should probably
update the implement and use GraphicsBuffer::unlock under the hood.

Bug: 62302267
Test: Build, AHardware CTS
Change-Id: Ic0fac5d7addfba67baaa1b5d7c221fc25d02df56
(cherry picked from commit 6cdbb537105b663572e71afe06bde1164fc215f3)
ativewindow/AHardwareBuffer.cpp
932f008485dbb6fb452c8616abd7586f914f72ce 31-May-2017 Dan Stoza <stoza@google.com> libgui: Add Surface::getLastDequeueStartTime

Adds the getLastDequeueStartTime method, which allows the caller to
determine whether the last dequeueBuffer call fell into a given time
window.

Bug: 62213889
Test: SurfaceTest.TestGetLastDequeueStartTime in libgui_test
Change-Id: I1684deb09273745a3adc751554624d2257fa890e
ui/Surface.cpp
ui/tests/Surface_test.cpp
375a5b563c1d73ccdeedcb54dafd86d7904c740e 31-May-2017 Jayant Chowdhary <jchowdhary@google.com> Merge "Mark libui as vendor_available" into oc-dev
09e388ffeb1ce31effa721a861628a7285c83f64 31-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "add missing lib dependency to libvndksupport" into oc-dev
059ceb26ca2530447bc438017f1e43db98f6210a 27-May-2017 Jiyong Park <jiyong@google.com> add missing lib dependency to libvndksupport

libutils is now depending on libvndksupport. So any client that
statically links to libutils needs to link against libvndksuppor as
well.

Bug: 62084107
Test: start an app, run 'adb shell atrace gfx --stream'. atrace from the
graphics driver are visible.

Change-Id: I98917dc92a1b8bde52e69e1923a1c1530a088bd6
r/libpdx/Android.bp
feec3b1a49dbf48bc792d39d004b42cf2c72b14c 25-May-2017 Chia-I Wu <olv@google.com> libgui: fix BQ buffer allocation error checking

The error path was broken since we moved away from
IGraphicBufferAlloc.

Bug: 37956614
Test: simulate buffer allocation failures
Change-Id: I1e1ec840fafd3075b84126c6dbf6194568175a42
ui/BufferQueueProducer.cpp
c1225bdafc7c717007fb7f8d165ba4e72b63004b 24-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libgui: Add test for OOB slot number in dequeue" into oc-dev
55be505a75a379b10a945b3de81fbebe2b85a344 23-May-2017 Shuzhen Wang <shuzhenwang@google.com> Surface: Use buffer id to synchronize slots

For the same buffer, GraphicBuffer's buffer_handle_t* may change when
doing attach/detach. Use Id instead.

Test: Call attach/detach, and observe mRemovedBuffers is updated
Bug: 38238747
Change-Id: I6ab1ae5340565f98cb981b7e38c31a4f85190e56
ui/Surface.cpp
1967749cdcbec29a6058206104e232480253fa7d 19-May-2017 Michael Wachenschwanz <mwachens@google.com> Merge "DO NOT MERGE Revert "Logging for catching memory issue in Parcel"" into oc-dev
a6541637a8a5bf55899564df79b7a14e8029fed3 19-May-2017 Michael Wachenschwanz <mwachens@google.com> DO NOT MERGE Revert "Logging for catching memory issue in Parcel"

This reverts commit c65de59762cfc284bd203d97281f5a8f86aba877.

Bug: 37298089
Change-Id: Ib42d27f91bf1408d633a98e6ac7f316175f1e289
inder/Parcel.cpp
a389650e987f9ac92364871b4324ed471dd9a6a1 16-May-2017 Logan Chien <loganchien@google.com> libhwc2on1adapter: Move to vendor partition

libhwc2on1adapter is a shim layer for legacy hwcomposer HALs. This is
only used by android.hardware.graphics.composer@2.1-impl.so. This must
not be accessed by framework modules. Thus, this commit moves
libhwc2on1adapter to the vendor partition and removes vendor_available.

Bug: 38302528
Test: Sailfish builds and boots.
Change-Id: I425d090fb213abc767916db3f80cff8eb4ffb876
Merged-In: I43d66c8c62f3dc90e75805f6a459573c093f9f14
wc2on1adapter/Android.bp
wc2on1adapter/CleanSpec.mk
06da1581fce27bcfd006ddc32d7ee1e0ff40f0b1 18-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libui: flush hwbinder commands in Allocator::allocate" into oc-dev
52402901b33d843e8b0731db92049461884bebfd 17-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Surface: add unit test for GetAndFlushRemovedBuffers" into oc-dev
47730d67169a3c12c50c1561f75cd0f619acc0f0 17-May-2017 Dan Stoza <stoza@google.com> libgui: Add test for OOB slot number in dequeue

Adds a unit test that verifies that a malicious BnGraphicBufferProducer
cannot pass an invalid slot number to a Surface and thus cause the
Surface to segfault (or otherwise access out-of-bounds memory).

Bug: 36991414
Test: The new Malicious* tests pass after applying the security patch
Change-Id: I2083465a496cfcc8e8c3b3bc288f5f6904005ac3
ui/tests/Android.bp
ui/tests/Malicious.cpp
c5cd20733795a0fe1f1ba228ec099c4c7e6dbaa7 23-Feb-2017 Jammy Yu <jammy.yu@mstarsemi.com> Fix error BufferQueue attaching flow.

Fix error BufferQueue attaching flow. Because BufferQueue attaching
buffer flow doesn't set mNeedsReallocation to false, it will case
Surface client to request buffer for attached buffer to cause unsync
buffer states with ACodec. So, for attaching buffer by Producer, we
need to set mNeedsReallocation to false in BufferQueue. And Surface
client will not request buffer again for attached buffer to cause
some missing frames.

Bug: 38238747
Issue: 34897483
Test: GTS
Change-Id: I25f9fff4b5d1f7052ab3be612cf34879fd17c27c
ui/BufferQueueProducer.cpp
d8091b9331b17d4a6d5d3ec04e161b7956f67cb8 16-May-2017 Chia-I Wu <olv@google.com> libui: flush hwbinder commands in Allocator::allocate

Bug: 36279079
Test: monkey test on fugu
Change-Id: I81f72d63d3ede64f279b26208bb5df7646050e73
i/Android.bp
i/Gralloc2.cpp
2c201405acc3101fec6b501c56be85bc1d876f0c 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762 am: 8b99decc86 am: 83f226ba1b am: 2d4959d8eb
am: 6a7200333a

Change-Id: Iee50110f6189c015e2aca1c77a460d964d8d5439
0c7f6e142d9a549b5e79da32f27783e12c995ce9 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41 am: f69675e5c2 am: d65a388e1b am: b829d2abe9 am: 79a34dd24b
am: a1b1e635cc

Change-Id: I574d7193656580b26b2a2923673f39541f010878
6a7200333aa2c7f2abbdfba79fb2ca708db0743e 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762 am: 8b99decc86 am: 83f226ba1b
am: 2d4959d8eb

Change-Id: Ic8400bff6a8c8e48719abe1aadcb0661d36bba87
a1b1e635ccef0536a173c1baa76ab88b2a4d9082 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41 am: f69675e5c2 am: d65a388e1b am: b829d2abe9
am: 79a34dd24b

Change-Id: I3909027db625685911575c9c98b5446b86af09c0
2d4959d8ebb865f67a6568ac76e16492797f1611 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762 am: 8b99decc86
am: 83f226ba1b

Change-Id: Ic0586397a434045a9594b78ff955f6426b977641
79a34dd24b38ea1231beca99bbfc0063563b0751 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41 am: f69675e5c2 am: d65a388e1b
am: b829d2abe9

Change-Id: I3e1b7c882bcfcc93e93e296887930771878b25a1
83f226ba1bf9fce749946c9c1a63d825c1868bac 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762
am: 8b99decc86

Change-Id: I025b51ff0858ddfd88fdbca04724deab8afdabd8
b829d2abe93377eec1647e2c078b6f5285231ce9 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41 am: f69675e5c2
am: d65a388e1b

Change-Id: I73489256702d123302a204c2720f9752515020ba
8b99decc8673e34428a0ecdbb96ab307494184b6 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f
am: 72c1a6f762

Change-Id: Idf9fc3f7e2d09483b7e938c0c4389813dd5f2f60
d65a388e1b426afb1a4e4c5dd9b47c605ed26b96 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41
am: f69675e5c2

Change-Id: Icb1a0aae634951cd903fb2deef632005e01d4d7f
72c1a6f7621a1325dfa6f08d7353ebd089344583 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580
am: 788ff8c16f

Change-Id: I5623d15da983b9277ab968d63b537ce396ad007c
f69675e5c26217602fc794e46e8e0c7b8af15eea 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742
am: 787aa48f41

Change-Id: I96e45ad313a7ea1233972ac80a1c8c85f6e64618
788ff8c16f4157c21aac480a78dd9699bad0b1e3 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a
am: 0544fa4580

Change-Id: Id6d055a523eed1f96e1373d4f3fede43551a8abe
787aa48f415cd5b856bd60ce8fa005f1928e6ac6 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5
am: 9a44ee0742

Change-Id: I79f6a2eb14d624b153244788267a16c752927e33
0544fa45802436d0cf20ea6183905f0a368635fc 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22
am: 1f8b90126a

Change-Id: Iaf0fd93af8567520229a0a73fda8bd5fcc8091f1
9a44ee074255474f613e0aa09e6ed5e502df4575 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0
am: cce83f15e5

Change-Id: I82264d2033d6b098199321fd29c0d26017ec5359
1f8b90126aeb9eb88d396f0103e8a17e34ac3be8 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53
am: 6a9b41dc22

Change-Id: I03af2ccc0f7f671baa4ec9f7b9a3b55f8b377435
cce83f15e5689e2f39408c6cbeec32bb9616fc5f 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f
am: 2fe15aa6f0

Change-Id: I36fcc82af237645b61c69d70c574843a5b2753c8
6a9b41dc22baa5fc94d6c848fa96dc466ad1c51c 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7
am: 91a7e47a53

Change-Id: I198ba45e3005214e9cd41379d6f833297be93caf
2fe15aa6f00b3c58e4dda26d2c117e422056ffa1 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580
am: 78976cea8f

Change-Id: I30e6a29474b6cf86f97961f527301837b35c8a36
396cc342a7561eb84e50a365dbb20c31390c75ab 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev
am: af33c978c8

Change-Id: I97f957bc5375d11cd034d4b06baa8636e7999f8c
970bb515801cb8f8138eb2d3be53ae5dbba27672 16-May-2017 Dan Stoza <stoza@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev
am: 98e3c06010

Change-Id: I28774e185329082424a26cfccca4c95c7863e88f
af33c978c82088375bfca5adb5cfa508f93843d7 16-May-2017 Chia-I Wu <olv@google.com> Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev
98e3c06010aea8e1531fe6b2008ad1c091c96396 16-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev
4c69f0c2e02077693687b544fbad989387d283d5 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07 am: a078c0780c am: 1ceadac71b am: 912ff8af49
am: 161a9bcda1

Change-Id: I40d6bd0cd8d3e4630d21218d826ca86127299519
161a9bcda121203de7c80923eba15ad69618247d 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07 am: a078c0780c am: 1ceadac71b
am: 912ff8af49

Change-Id: I67ea29c18cbc22d806c97aab19588802a4001768
912ff8af49167529afd18d0c9d1da958a544b36b 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07 am: a078c0780c
am: 1ceadac71b

Change-Id: I89b2e528d27938fa6bae79b3e6baa8e89d7207dd
1ceadac71b38debd2f69ab75bda01e8e0febd8bc 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07
am: a078c0780c

Change-Id: I060bbdef30d8710b8e5d779a0f75b61040530353
a078c0780c256e60bb31258c156ef2c507fb2da7 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344
am: ce069c5a07

Change-Id: Ic185b2a7c35ea0260d5380d606f6b7b82c78b717
ce069c5a07c7f370b715b94af64a2a3c6c1f4e6f 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88
am: 600e610344

Change-Id: I19dec89ef157c3a61300622c4425d5f6801f139e
600e6103444dfdae04487a4de9baac4bb4ce66a0 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a
am: e3bc28ad88

Change-Id: I4ad5bf17fdca2bd0adee7a06150d595ef9b6a0fa
e3bc28ad88e56fce70fb974b1085b6127fbd3021 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6
am: 593a1a217a

Change-Id: I6c50751f24fdc5756bd5d1357df184d2a08f3c08
593a1a217a536d8267e1d490e375bbaa80c4f0aa 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe
am: d4cbd296d6

Change-Id: I3ddc8b4600015cd53d1a41b687518cdbbc7696b6
d4cbd296d66d788fd1867d21cae3b4df37fe93b9 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e
am: 209ad9b6fe

Change-Id: I31fe784570c5978faf7484b3f71a074523c0d33c
81bab8081e1ddaad809abc91f3d11c2021e6c711 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c
am: 05df3a6f4d

Change-Id: I50c771aee7375315ba6c6aa4029baacfe9c199d8
05df3a6f4d332448aab30a83204551424c114479 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340
am: 5c5ee81b0c

Change-Id: Ie7ec2067057ea2dbd4b9af0c93a00ba53879b72f
5c5ee81b0cf203a22475c299819fb2418015260c 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0
am: 71d3ef1340

Change-Id: I75797414173ebfb38eefe02ac0a635f10c59d883
25556811f0b970c3acd8ab2f9a07c56b1b2242ac 16-May-2017 Chris Forbes <chrisforbes@google.com> Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev
9809602ac32dcb7bceaa5bc34df5b7fb68aacd38 10-May-2017 Chris Forbes <chrisforbes@google.com> ui: Fix bad size check in Fence::unflatten

Differs slightly from mnc+ patch: GetFlattenedSize was fixed in mnc.

Test: Boot device, run poc from bug, observe no longer crashes
Bug: 37285689
Change-Id: Id8b851733b088cce0d07493fbf76e7e24f9299ad
i/Fence.cpp
1f2af5cf894222c82f6ea7bb5fa1e442d2b2674d 12-May-2017 Yin-Chia Yeh <yinchiayeh@google.com> Surface: add unit test for GetAndFlushRemovedBuffers

Also fix the removed list flush behavior to match spec.

Test: the new test pass, smoke test GCA
Bug: 36869090
Change-Id: I8f7bdd8b168424f4e79980d21a7388aa9e35597e
ui/Surface.cpp
ui/tests/Surface_test.cpp
a02a87c5eb2a741a9e8dc1615424540a893e45ac 28-Apr-2017 Jiyong Park <jiyong@google.com> Mark libui as vendor_available

libui is used by libgui and libstagefright_foundation which are both in
VNDK. So libui should also be in VNDK.

Bug: 37731063
Test: sailfish builds and boots
Test: 'BOARD_VNDK_VERSION=current m libui' successful
Merged-In: Ia8172a42325e5b5181741dda70048dc68e778b76
Change-Id: Ia8172a42325e5b5181741dda70048dc68e778b76
(cherry picked from commit ea8c878e3b3b8b4bbb264a4776c8a256bb1e329b)
i/Android.bp
81d31977c002a04903bab45dd48863bfa741ada1 15-May-2017 Jesse Hall <jessehall@google.com> Handle EINTR from sendmsg/recvmsg

Bug: 38317278
Test: bit CtsHardwareTestCases:.HardwareBufferTest
Change-Id: I7994a416f274b7c7916d0866fcb827073b731ccb
ativewindow/AHardwareBuffer.cpp
c79a29689c1046f1f0301c75df9b9a67cba8bf04 15-May-2017 Chia-I Wu <olv@google.com> libgui: check for invalid slot in attachBuffer

Bug: 37478824
Test: manual
Change-Id: I369337d53539bf7f7e3d925bccdae4045da1b404
ui/IGraphicBufferProducer.cpp
90ce2a9c1d3af422c66b4061805831cb208263d8 02-May-2017 Dan Stoza <stoza@google.com> libgui: Check slot received from IGBP in Surface

Checks that the slot number received from mGraphicBufferProducer in
Surface::dequeueBuffer is on the interval [0, NUM_BUFFER_SLOTS) to
protect against a malicious BnGraphicBufferProducer.

Bug: 36991414
Change-Id: I1a76fd1bcce1c558f1c0c30f03638278288ed4fa
ui/Surface.cpp
057ae95ab242b18944b783a5479950bb3492b79d 15-May-2017 Dan Stoza <stoza@google.com> libgui: Check slot received from IGBP in Surface am: ac93b3a30e
am: 7cb9cd3df2

Change-Id: Iff706258762cac4bfb7d97af7d365412d9ee661d
6b32bed777dd34905ee23dbd9f37707c252e4da6 15-May-2017 Jesse Hall <jessehall@google.com> Merge "Load updated graphics drivers into sphal-child namespace" into oc-dev
57de0ff6270835f3470e0420fcd1835146a2beb0 06-May-2017 Jesse Hall <jessehall@google.com> Load updated graphics drivers into sphal-child namespace

Bug: 37854032
Test: install driver package, run gles3jni and vulkanGears,
check /proc/<pid>/maps to ensure updated driver is loaded
Change-Id: I45d5be974ad079f8fcdbce6f06ccd3c191ec6a12
i/GraphicsEnv.cpp
fa2e3404e6d17f795518261fcb6f2556c89b5570 12-May-2017 Okan Arikan <okana@google.com> Remove libposepredictor.

It is no longer used in this project.

Bug: 38260355
Test: make
Change-Id: I3178c6078186c85fcaf560eb0af603ffc31b5109
Merged-In: I3178c6078186c85fcaf560eb0af603ffc31b5109
r/libposepredictor/Android.bp
r/libposepredictor/buffered_predictor.cpp
r/libposepredictor/dvr_pose_predictor.cpp
r/libposepredictor/include/buffered_predictor.h
r/libposepredictor/include/linear_predictor.h
r/libposepredictor/include/polynomial_predictor.h
r/libposepredictor/include/predictor.h
r/libposepredictor/include/private/dvr/dvr_pose_predictor.h
r/libposepredictor/linear_predictor.cpp
r/libposepredictor/linear_predictor_tests.cpp
r/libposepredictor/polynomial_predictor.cpp
r/libposepredictor/polynomial_predictor_tests.cpp
r/libposepredictor/predictor.cpp
r/libposepredictor/predictor_tests.cpp
cd43683371f158b77e934e7cb71a9fdc65a122ed 12-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove QCom specific flags" into oc-dev
c4a3020c4d971802cb10c39383de160fcbb6e682 12-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "DO NOT MERGE Remove graphics.cpp and friends" into oc-dev
bb5767763a07f7f641475939da15cf8863dfa97a 12-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "BufferHubQueue Cleanup" into oc-dev
e08ab3f70982e055d8374db7ece59f90cfe3db3c 09-May-2017 Jiwen 'Steve' Cai <jwcai@google.com> BufferHubQueue Cleanup

1/ Add support for NATIVE_WINDOW_CONSUMER_IS_PROTECTED
2/ Remove BufferHubQueueConsumer as we don't need it after all
3/ Merge BufferHubQueueCore into BufferHubQueueProducer
4/ Remove redundant |onAsBinder|

Bug: 38137120
Test: buffer_hub_queue-test and buffer_hub_queue_producer-test
Merged-In: I32bc040f4ce9c6dc9e4382a589fea241870eeb2d
Change-Id: I10f7780f0172b031cc2acecae436bd1ccde65824
r/libbufferhubqueue/Android.bp
r/libbufferhubqueue/buffer_hub_queue_consumer.cpp
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_consumer.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_core.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_producer.h
r/libbufferhubqueue/tests/buffer_hub_queue_producer-test.cpp
r/libdvr/dvr_buffer_queue.cpp
fac407407e30c70da44a7a8ae1b13bf1ef9c05b7 09-May-2017 Hendrik Wagenaar <hendrikw@google.com> DO NOT MERGE Remove graphics.cpp and friends

* Delete a bunch of code that isn't used in the O2 path

Bug: 36776792
Test: Compiled
Change-Id: I4adf6ec5678a53e0850229f9dda60e8687793376
Merged-In: I4adf6ec5678a53e0850229f9dda60e8687793376
r/libdisplay/Android.bp
r/libdisplay/display_client.cpp
r/libdisplay/dummy_native_window.cpp
r/libdisplay/frame_history.cpp
r/libdisplay/gl_fenced_flush.cpp
r/libdisplay/graphics.cpp
r/libdisplay/include/dvr/graphics.h
r/libdisplay/include/private/dvr/dummy_native_window.h
r/libdisplay/include/private/dvr/frame_history.h
r/libdisplay/include/private/dvr/gl_fenced_flush.h
r/libdisplay/include/private/dvr/graphics_private.h
r/libdisplay/include/private/dvr/late_latch.h
r/libdisplay/include/private/dvr/native_buffer_queue.h
r/libdisplay/late_latch.cpp
r/libdisplay/native_buffer_queue.cpp
r/libdisplay/tests/dummy_native_window_tests.cpp
r/libdisplay/tests/graphics_app_tests.cpp
r/libdvrcommon/Android.bp
r/libdvrcommon/frame_time_history.cpp
r/libdvrcommon/include/private/dvr/frame_time_history.h
r/libdvrcommon/include/private/dvr/sync_util.h
r/libdvrcommon/sync_util.cpp
r/libdvrgraphics/Android.bp
r/libdvrgraphics/assets/controller_proto2.png
r/libdvrgraphics/assets/controller_proto2_body.obj
r/libdvrgraphics/assets/controller_proto2_button.obj
r/libdvrgraphics/assets/controller_proto2_button2.obj
r/libdvrgraphics/assets/controller_proto2_joystick.obj
r/libdvrgraphics/assets/controller_proto2_trigger.obj
r/libdvrgraphics/assets/laser.obj
r/libdvrgraphics/assets/laser.png
r/libdvrgraphics/blur.cpp
r/libdvrgraphics/debug_text.cpp
r/libdvrgraphics/egl_image.cpp
r/libdvrgraphics/gpu_profiler.cpp
r/libdvrgraphics/include/private/dvr/graphics/blur.h
r/libdvrgraphics/include/private/dvr/graphics/debug_text.h
r/libdvrgraphics/include/private/dvr/graphics/egl_image.h
r/libdvrgraphics/include/private/dvr/graphics/gpu_profiler.h
r/libdvrgraphics/include/private/dvr/graphics/indexed_mesh.h
r/libdvrgraphics/include/private/dvr/graphics/mesh.h
r/libdvrgraphics/include/private/dvr/graphics/shader_program.h
r/libdvrgraphics/include/private/dvr/graphics/timer_query.h
r/libdvrgraphics/include/private/dvr/graphics/vertex_attributes.h
r/libdvrgraphics/include/private/dvr/graphics/vr_gl_extensions.h
r/libdvrgraphics/shader_program.cpp
r/libdvrgraphics/timer_query.cpp
r/libdvrgraphics/vr_gl_extensions.cpp
r/libimageio/Android.bp
r/libimageio/image_io.cpp
r/libimageio/image_io_png.cpp
r/libimageio/image_io_ppm.cpp
r/libimageio/include/CPPLINT.cfg
r/libimageio/include/private/dvr/image_io.h
r/libimageio/include/private/dvr/image_io_base.h
r/libimageio/include/private/dvr/image_io_logging.h
r/libimageio/include/private/dvr/image_io_png.h
r/libimageio/include/private/dvr/image_io_ppm.h
r/libvrflinger/Android.bp
r/libvrflinger/display_surface.h
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
r/libvrsensor/Android.bp
r/libvrsensor/tests/sensor_app_tests.cpp
deb91680bac3cda4284cc5ffe96d76b32243868a 11-May-2017 Gaurav Shah <gauravsh@google.com> Remove libbufferhub mocks/

It is not used anywhere.

Bug: 36040117
Test: built. no code changes, only dead code removal.
Change-Id: Ia9c52379ac2dabf0179f92c0c2d5ffd4ff92d357
r/libbufferhub/mocks/client/private/dvr/buffer_hub_client.h
r/libbufferhub/mocks/gralloc/BUILD.gn
r/libbufferhub/mocks/gralloc/gralloc.cpp
r/libbufferhub/mocks/gralloc/gralloc_mock.h
r/libbufferhub/mocks/ion_buffer/private/dvr/ion_buffer.h
252e52aa06df85fd93804aa2b7b3e24702b47205 11-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Apply correct SELinux labels to PDX endpoint and channel sockets." into oc-dev
1ca4674b7278360edd984b8b1d7702eb951aa499 11-May-2017 Steven Thomas <steventhomas@google.com> Merge "Make libdvr a shared library" into oc-dev
c8ddb0171f85a26fcd7e7dec43317c301b452076 11-May-2017 Michael Wachenschwanz <mwachens@google.com> Merge "Logging for catching memory issue in Parcel" into oc-dev
3be0aa661faeae6ceb00fad7e5d942e2b964f286 09-May-2017 Steven Thomas <steventhomas@google.com> Make libdvr a shared library

Make libdvr a shared library so it can be loaded by the vr platform
library and accessed externally.

Bug: 38134403
Test: Booted a Marlin.

Change-Id: I9914188c80a9a41902fc4000a4f78f877e5e5695
r/libdvr/Android.bp
r/libdvr/dvr_api.cpp
r/libdvr/exported_apis.lds
r/libdvr/tests/Android.bp
4720c9db1fd7777af57fd25e375cd8a3e72ea305 11-May-2017 Hendrik Wagenaar <hendrikw@google.com> Remove QCom specific flags

* We can't have any device specific code on Android

Bug: 38207381
Test: Compiled
Change-Id: I0cab52d71c65ff401985b01140452c7901eef855
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/include/private/dvr/buffer_hub_client.h
r/libdvrcommon/include/private/dvr/platform_defines.h
r/libvrflinger/display_surface.cpp
a68ae7232ba5a359c05c711e018fc62b2bd56869 10-May-2017 Quddus Chong <quddusc@google.com> Merge "docs: Fixed comments to generate API refs correctly. Test: Verified by manually generating the API refs." into oc-dev
c65de59762cfc284bd203d97281f5a8f86aba877 08-May-2017 Michael Wachenschwanz <mwachens@google.com> Logging for catching memory issue in Parcel

Added a check to catch a bug that is suspected to lead to a segfault
during GC. Actual fix for the bug is commented and will be checked in
once the flow that is hitting the bug is uncoverered

Bug: 37298089
Test: manual

Change-Id: I68dea02566a9e9375e3a09d4cc19e39379d84747
Signed-off-by: Michael Wachenschwanz <mwachens@google.com>
inder/Parcel.cpp
3aea0e37b08cb09e65de21642aa60c698a3c8d12 09-May-2017 Quddus Chong <quddusc@google.com> docs: Fixed comments to generate API refs correctly.
Test: Verified by manually generating the API refs.

Change-Id: I77f2072d2aa83a6c71e11b216e206c4e6563ab88
ativewindow/include/android/native_window.h
4a7762afb4fa8495e711fcc2da322fc388e700bc 02-May-2017 Alex Vakulenko <avakulenko@google.com> Apply correct SELinux labels to PDX endpoint and channel sockets.

Bug: 37646189
Test: Compiled for sailfish-eng
Device booted, normal 2D UI works as before
Was able to run Daydream app and CubeSea (before O1 VR rendering
path was disabled by recent change in HW composer).

Change-Id: I1f7040324992d3c784f072ea6b64a65fa7ed0589
r/libpdx_uds/Android.bp
r/libpdx_uds/service_endpoint.cpp
7fe71f8b0f2916f742489121efcf3fdffffa560e 10-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "bufferqueue: allow null stream in H2BGBP::setSidebandStream" into oc-dev
687272a3bda8e189d2ba651f41da3a8ee3f659f7 09-May-2017 Lajos Molnar <lajos@google.com> bufferqueue: allow null stream in H2BGBP::setSidebandStream

Bug: 38172844
Change-Id: I585e1dc01f2e7f955c39046c1592bda7bea45a23
ui/bufferqueue/1.0/H2BGraphicBufferProducer.cpp
64177e82296a330bdd3c131a020aaffea4905df0 09-May-2017 Jiwen 'Steve' Cai <jwcai@google.com> Split libdvr_headers from libdvr: Step 1

Converts libdvr's Android file into Android.bp as now we have no Java
deps anymore. Then we added header only library libdvr_headers for all
headers.

Next step is to figure out how to split out public headers and make them
easy to be copied into Google3.

Bug: 37578558
Test: dvr_api-test
Change-Id: Idf15cfd5aa61cd7d6f5cc15c4db7cce485b3b293
r/libdvr/Android.bp
r/libdvr/Android.mk
r/libdvr/include/dvr/dvr_api.h
r/libdvr/tests/Android.bp
r/libdvr/tests/Android.mk
9a2b294255a83c04ecee17a056e4b9a8cc3076cb 09-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "dvrapi: Pass layer_count down" into oc-dev
5c91f12131525c0a7202f0558c634770136e350f 09-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove slices from buffers" into oc-dev
c6c0c9c730cd11e9f55737a5b30d3f162cc76bd2 09-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove framebuffer_target" into oc-dev
108e84f7e6a9117b66dba000dcf16c6d8c862e16 08-May-2017 Hendrik Wagenaar <hendrikw@google.com> dvrapi: Pass layer_count down

* We were missing layer count, which would prevent multiview
from working

Bug: 37245304
Test: MultiLayerBufferQueue
Change-Id: I88b41f1aa7665df01e89a7386cbc23b15c9a79b0
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/include/private/dvr/bufferhub_rpc.h
r/libbufferhub/include/private/dvr/ion_buffer.h
r/libbufferhub/ion_buffer.cpp
r/libbufferhub/mocks/ion_buffer/private/dvr/ion_buffer.h
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_core.h
r/libbufferhubqueue/tests/buffer_hub_queue-test.cpp
r/libdisplay/display_client.cpp
r/libdisplay/graphics.cpp
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/native_buffer_queue.cpp
r/libdvr/dvr_surface.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_surface.h
r/libdvr/tests/dvr_buffer_queue-test.cpp
r/libdvr/tests/dvr_display_manager-test.cpp
4d3590f3fd0fd65f4e8758d3228de9f55cf135d0 07-May-2017 Hendrik Wagenaar <hendrikw@google.com> Remove slices from buffers

* code no longer required, as it will be handled in vrcore

Bug: 38076195
Test: Manually ran testing
Change-Id: Id28918a3bf73b99cbb57aad4c21251b7a9623074
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/include/private/dvr/buffer_hub_client.h
r/libbufferhub/include/private/dvr/bufferhub_rpc.h
r/libbufferhub/include/private/dvr/native_buffer.h
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_core.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_producer.h
r/libbufferhubqueue/tests/buffer_hub_queue-test.cpp
r/libdisplay/display_client.cpp
r/libdisplay/graphics.cpp
r/libdisplay/native_buffer_queue.cpp
r/libdvr/tests/dvr_buffer_queue-test.cpp
db768fd8e59002b25b0cf2412c083caec1ad7da0 09-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "remove vr/libeds" into oc-dev
b85082115a3c7b900ff7f0200f2fd6fa49f8d191 09-May-2017 Jiwen 'Steve' Cai <jwcai@google.com> Fix BufferHubQueueProducer::dequeueBuffer

Seems this might just be a rebase glitch.

Bug: 38137230
Test: buffer_hub_queue_producer-test
Change-Id: I94ce059475fad4cf31cec52a9661eb6fc9cd2e00
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
a9d668acaa888acc04705b73d6e4fe3c0069d06f 08-May-2017 Hendrik Wagenaar <hendrikw@google.com> Remove framebuffer_target

* Remove unused variable

Bug: 38132845
Test: Compiled
Change-Id: I08afba75b72c3d27aca042755bf36584979c7f0c
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
584bc3cebf3f23d378fc7ed06e71c5d1722373dd 07-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx_uds: Always create channel sockets in the server process" into oc-dev
a4aeae5ef39aa6a379a503e1e4cfffba06d48594 07-May-2017 Hendrik Wagenaar <hendrikw@google.com> remove vr/libeds

* libeds is no longer needed

Bug: 38075841
Test: compiled
Change-Id: I61b7edb284633ab8e960387c0479b1a924d68222
r/libeds/Android.bp
r/libeds/composite_hmd.cpp
r/libeds/device_metrics.cpp
r/libeds/display_metrics.cpp
r/libeds/distortion_renderer.cpp
r/libeds/eds.cpp
r/libeds/eds_mesh.cpp
r/libeds/include/CPPLINT.cfg
r/libeds/include/dvr/eds.h
r/libeds/include/private/dvr/color_channel_distortion.h
r/libeds/include/private/dvr/composite_hmd.h
r/libeds/include/private/dvr/device_metrics.h
r/libeds/include/private/dvr/display_metrics.h
r/libeds/include/private/dvr/distortion_renderer.h
r/libeds/include/private/dvr/eds_mesh.h
r/libeds/include/private/dvr/head_mount_metrics.h
r/libeds/include/private/dvr/identity_distortion.h
r/libeds/include/private/dvr/polynomial_radial_distortion.h
r/libeds/include/private/dvr/raw_pose.h
r/libeds/include/private/dvr/render_texture_params.h
r/libeds/polynomial_radial_distortion.cpp
r/libeds/tests/eds_app_tests.cpp
r/libvrflinger/Android.bp
r/libvrsensor/Android.bp
fc93a4bd893cfc71ecea0f9e155b67b592e17a0a 06-May-2017 Martijn Coenen <maco@google.com> Merge "Correctly set minimum priority on nodes." into oc-dev
2b6317436d2035ce98331906aaaca87e6026c9c8 05-May-2017 Martijn Coenen <maco@google.com> Correctly set minimum priority on nodes.

It looks like libbinder has always set the minimum priority
for a node to 0x7f (127). This is an invalid value as far
as the kernel is concerned, since the current driver only
accepts positive nice values (0..19). The effect of using
0xf7 is that the nice value was clamped to MAX_NICE (19) -
so effectively the kernel never raised the priority
based on the min_priority setting of a node. Correct this
by just using MAX_NICE directly.

Additionally, a recent change removed the use of the
gDisableBackgroundScheduling flag, which system_server
used to make sure that incoming transactions were not
executed at a lower priority. That behavior is actually
still desired, so this change sets the min_priorirty
value to 0 for processes that have requested background
scheduling to be disabled. The effect of that is that
all transactions into those nodes will be executed with
a priority of at least nice 0 (and potentially higher,
depending on the priority of the caller).

Bug: 37677242
Test: verified /d/binder output
Change-Id: I7cbfd309d04cbd052f868fbfe0930529ff21a48a
inder/IPCThreadState.cpp
inder/Parcel.cpp
inder/include/binder/IPCThreadState.h
2251d822dac2a96aad4184a6fdc2690f0a58af7c 21-Apr-2017 Corey Tabaka <eieio@google.com> Remove the VR compositor from the framework.

Remove the VR compositor framework and enable out-of-process VR composition
in VrCore.

This CL seems large due to the ripple effect of changing the VrFlinger
API and protocol types. There are three major modules that require
concurrent changes:
1. Protocol definitions and low-level VrFlinger API in libdisplay.
* Additional changes needed to keep old interfaces working for
a short time while replacing the dependent code (dvrGraphics*).
2. VrFlinger service implementation changes to support VrCore compositor
and the removal of the internal compositor.
3. Changes to libdvr platform library API due to changes in #1 and #2.

Because of the nature of the interdependence of types and other defs it is
difficult to break this CL into smaller chunks. However, review of the three
major modules (libdisplay, libdvr, and libvrflinger) may be done separately
to ease the mental burden on reviewers.

Change Summary:
- Remove obsolete screenshot service. VR screenshots will be implemented
by VrCore.
- Update display protocol definitions for changes in VrFlinger service
requirements. The majority of the changes in libdisplay are a
consequence of these protocol and service changes.
- Update VrFlinger to support two kinds of surfaces:
1. Application - use by VR apps.
2. Direct - used by VrCore (protected by permission check).
- Remove VrFlinger internal compositor and GL context.
- Remove obsolete debug console.
- Update VrFlinger hardware composer interface to handle direct
surfaces only, removing the concept of GPU (compositor) layers.
- Update display manager to expose access to application surface info
to VrCore (protected by permission check).
- Update libdvr platform library interfaces for changes to VrFlinger
API / protocol.
- Clean up libdvr API struct setup using a common include.
- Add C++ header-only helpers for DVR platform library opaque types.

Bug: 36401174
Test: Build; run VrFlinger display test tool.
Change-Id: I15abfde5f72dbb3725a3f58621486afba6b64902
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libdisplay/Android.bp
r/libdisplay/display_client.cpp
r/libdisplay/display_manager_client.cpp
r/libdisplay/display_protocol.cpp
r/libdisplay/graphics.cpp
r/libdisplay/include/dvr/dvr_display_types.h
r/libdisplay/include/dvr/graphics.h
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_manager_client.h
r/libdisplay/include/private/dvr/display_protocol.h
r/libdisplay/include/private/dvr/display_types.h
r/libdisplay/include/private/dvr/graphics_private.h
r/libdisplay/include/private/dvr/late_latch.h
r/libdisplay/include/private/dvr/native_buffer_queue.h
r/libdisplay/native_buffer_queue.cpp
r/libdisplay/tests/graphics_app_tests.cpp
r/libdisplay/vsync_client.cpp
r/libdvr/Android.mk
r/libdvr/display_manager_client.cpp
r/libdvr/dvr_api.cpp
r/libdvr/dvr_buffer.cpp
r/libdvr/dvr_buffer_queue.cpp
r/libdvr/dvr_display_manager.cpp
r/libdvr/dvr_internal.h
r/libdvr/dvr_surface.cpp
r/libdvr/dvr_vsync.cpp
r/libdvr/include/dvr/display_manager_client.h
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_api_entries.h
r/libdvr/include/dvr/dvr_buffer.h
r/libdvr/include/dvr/dvr_buffer_queue.h
r/libdvr/include/dvr/dvr_deleter.h
r/libdvr/include/dvr/dvr_display_manager.h
r/libdvr/include/dvr/dvr_surface.h
r/libdvr/include/dvr/dvr_vsync.h
r/libdvr/include/dvr/vsync_client_api.h
r/libdvr/tests/Android.mk
r/libdvr/tests/dvr_buffer_queue-test.cpp
r/libdvr/tests/dvr_display_manager-test.cpp
r/libdvr/tests/dvr_named_buffer-test.cpp
r/libdvr/vsync_client_api.cpp
r/libvrflinger/Android.bp
r/libvrflinger/acquired_buffer.cpp
r/libvrflinger/acquired_buffer.h
r/libvrflinger/compositor.cpp
r/libvrflinger/compositor.h
r/libvrflinger/debug_hud_data.cpp
r/libvrflinger/debug_hud_data.h
r/libvrflinger/debug_hud_view.cpp
r/libvrflinger/debug_hud_view.h
r/libvrflinger/display_manager_service.cpp
r/libvrflinger/display_manager_service.h
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/display_surface.cpp
r/libvrflinger/display_surface.h
r/libvrflinger/epoll_event_dispatcher.cpp
r/libvrflinger/epoll_event_dispatcher.h
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
r/libvrflinger/hwc_types.h
r/libvrflinger/screenshot_service.cpp
r/libvrflinger/screenshot_service.h
r/libvrflinger/surface_channel.cpp
r/libvrflinger/surface_channel.h
r/libvrflinger/video_compositor.cpp
r/libvrflinger/video_compositor.h
r/libvrflinger/video_mesh_surface.cpp
r/libvrflinger/video_mesh_surface.h
r/libvrflinger/vr_flinger.cpp
r/libvrflinger/vsync_service.cpp
r/libvrflinger/vsync_service.h
3f82d31341f66d0c58e1ec3360ea5f528ffe0ea4 20-Apr-2017 Corey Tabaka <eieio@google.com> Remove unnecessary clients and rename files.

- Remove clients for obsolete services.
- Rename display protocol defs file to match purpose.
- Rename display manager client file. "impl" does not match naming
conventions used by DVR libraries.
- Remove video mesh surface interface. This will be replaced by more
general surface support in the unified O compositor.

Bug: 36401174
Test: Build; run cube sea.
Change-Id: Idb782623319329f6fa1b0aa45005d9fee3b9957d
r/libdisplay/Android.bp
r/libdisplay/display_client.cpp
r/libdisplay/display_manager_client.cpp
r/libdisplay/display_manager_client_impl.cpp
r/libdisplay/display_protocol.cpp
r/libdisplay/display_rpc.cpp
r/libdisplay/graphics.cpp
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_manager_client.h
r/libdisplay/include/private/dvr/display_manager_client_impl.h
r/libdisplay/include/private/dvr/display_protocol.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libdisplay/include/private/dvr/screenshot_client.h
r/libdisplay/include/private/dvr/video_mesh_surface_client.h
r/libdisplay/screenshot_client.cpp
r/libdisplay/video_mesh_surface_client.cpp
r/libdisplay/vsync_client.cpp
r/libdvr/display_manager_client.cpp
r/libvrflinger/display_manager_service.cpp
r/libvrflinger/display_manager_service.h
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/display_surface.h
r/libvrflinger/surface_channel.h
r/libvrflinger/video_compositor.cpp
r/libvrflinger/video_mesh_surface.cpp
r/libvrflinger/vsync_service.cpp
2b99ee560ba14b617ebb4c1997e8b8004f2de22f 04-May-2017 Corey Tabaka <eieio@google.com> Support multiple consumer queues.

- Add support for importing posted buffers when spawing a new
consumer queue.
- Correctly handle adding signaled buffers to epoll with edge
triggered mode set.
- Add test for multi-consumer behavior.

Bug: 36401174
Test: buffer_hub_queue-test passes.
Change-Id: Id09f01502a1b18bf80a0ae465c2941b548cde2e4
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/tests/buffer_hub_queue-test.cpp
9d8bd09569322f452fddf91e581904f1e8f6849c 26-Apr-2017 Corey Tabaka <eieio@google.com> Return pdx::Status<T> from BufferHubQueue::Dequeue.

Switch to using Status<T> to return buffers or meaningful errors
from BufferHubQueue::Dequeue. This enables determining whether an
error is normal (e.g. timeout) or abnormal (e.g. disconnect).

Bug: 36401174
Test: buffer_hub_queue-test passes.
Change-Id: Ifef5f737a5e737b70d19bdbffd7544a993438e1c
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/tests/buffer_hub_queue-test.cpp
8a4e6a90e6b7edf73fa0d79dd5b439f8e52eb9f0 20-Apr-2017 Corey Tabaka <eieio@google.com> Add support for consumer queue initial import and hangup.

- Add support for consumer queues to import buffers that are created
before the consumer queue is created, making multi-consumer queue
patterns possible. This is essential for VrFlinger operation.
- Add support for notifying consumer queues when the producer queue
hangs up.
- Correct the epoll event loop to check for hangups even when buffers
are available.
- Add method to retrieve the event fd from a queue.
- Add trace logging and minor cleanup.
- Improve bufferhubd dump state output.

Bug: 36401174
Test: build; bufferhub tests pass.
Change-Id: Idd6f38a3341c048192062734e288d11de48bc4d4
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libdvrcommon/include/private/dvr/epoll_file_descriptor.h
e41826ac301b9afad1cbfe59c57e27f2495be968 02-May-2017 Alex Vakulenko <avakulenko@google.com> libpdx_uds: Always create channel sockets in the server process

Whenever a client connects to PDX service endpoint, the connected
socket was being used as the channel connection. This makes it
difficult to ensure that the socket has the appropriate SELinux
label applied.

Changed the implementation to make sure that the actual channel socket
pair is created in one place in the server process.

The new Endpoint::CreateChannelSocketPair() is now being used to
create the channel sockets when an incoming connection is accepted
and when PushChannel request is received.

The newly created channel socket is sent to the client in response
to connection request.

Bug: 37646189
Test: Device boots. CubeSea launches.
Change-Id: Id3158484aeb18007f18b279afc60613076f80f14
r/libpdx_uds/client_channel_factory.cpp
r/libpdx_uds/private/uds/ipc_helper.h
r/libpdx_uds/private/uds/service_endpoint.h
r/libpdx_uds/service_endpoint.cpp
0057fddc71d1c3c3de8f9d0bd45a51bb293bfa3c 02-May-2017 Jiwen 'Steve' Cai <jwcai@google.com> Deprecate producer/consumer usage: Step 2

Clean up bufferhub_rpc, display_rpc and service side producer/consumer
usage reference.

Next (final) step is to remove all remaining client side reference to
producer/consumer usage and update dvr_xxx API.

This also fixes a minor typo in dvr_named_buffer-test

Bug: 37881101
Test: Build, flash, ran particles.apk and buffer_hub_queue-test
Change-Id: Ibae4376c1fd1ed964843d8b2ad2fb27204fe5e28
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/include/private/dvr/bufferhub_rpc.h
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libdisplay/display_manager_client_impl.cpp
r/libdisplay/include/private/dvr/display_manager_client_impl.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libdvr/display_manager_client.cpp
r/libdvr/tests/dvr_named_buffer-test.cpp
r/libvrflinger/display_manager_service.cpp
r/libvrflinger/display_manager_service.h
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
044963e1dd0479035b6e5f2c6bd618bde7143710 02-May-2017 Jiwen 'Steve' Cai <jwcai@google.com> Deprecate producer/consumer usage: Step 1

Clean up producer/consumer usage from IonBuffer.

Bug: 37881101
Test: Build, flash, ran particles.apk
Change-Id: I66a8c4db2348b014a7b458b69157ed7c150112e1
r/libbufferhub/Android.bp
r/libbufferhub/include/private/dvr/buffer_hub_client.h
r/libbufferhub/include/private/dvr/bufferhub_rpc.h
r/libbufferhub/include/private/dvr/ion_buffer.h
r/libbufferhub/ion_buffer.cpp
r/libvrflinger/display_service.cpp
2041913a05b79b96c5c084f30bb8944049a976c8 22-Apr-2017 Jiwen 'Steve' Cai <jwcai@google.com> BufferQueue: plumbing mConsumerIsProtected

This replaces current logic in BufferQueue that uses
GRALLOC_USAGE_PROTECTED to indicate whether an ANativeWindow is capable
of handling hardware protected gralloc buffers. Current logic is
problematic as it enforces producer to use protected buffer no matter
whether producer side is capable of writing into a protected buffer.

This new solution, however, introduces a new NATIVE_WINDOW_* flag that
consumer can set on IGraphicBufferConsumer to indicate its capacity,
which can then be queried by producer via Surface::query (or
IGraphicBufferProducer::query).

When consumer is capable of reading protected buffer (e.g. a protected
GL context), the producer can generate either a protected or unprotected
buffer.

When consumer is not capable of reading protected buffer, the producer
should only generate unprotected buffer.

Bug: 35726763
Test: videoplayer-nodrm-protected.apk and videoplayer-drm-protected.apk
both works.

Change-Id: I1bf6814c9f1f81f9e04f0e89646b0733ff1a4758
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferConsumer.cpp
ativewindow/include/system/window.h
ac93b3a30e97a441d01e8e25b33ec6840aa3f59b 02-May-2017 Dan Stoza <stoza@google.com> libgui: Check slot received from IGBP in Surface

Checks that the slot number received from mGraphicBufferProducer in
Surface::dequeueBuffer is on the interval [0, NUM_BUFFER_SLOTS) to
protect against a malicious BnGraphicBufferProducer.

Bug: 36991414
Change-Id: I1a76fd1bcce1c558f1c0c30f03638278288ed4fa
ui/Surface.cpp
949c9ce51adbcbdb25d78ee700fd731aa941d577 01-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Call validateDisplay() when skipping frames" into oc-dev
07b920e09510d138a07dac8b5b1618871ce4db80 26-Apr-2017 Mathias Agopian <mathias@google.com> AHardwareBuffer now reports its stride

Test: compile / manual
Bug: 37686713
Change-Id: I1d75c67816717dc5d8ef4c71c1ca45d1d86aefb3
ativewindow/AHardwareBuffer.cpp
ativewindow/include/android/hardware_buffer.h
2c38b56d19f464142e32030b99ac56afd47ab7cd 21-Apr-2017 Mathias Agopian <mathias@google.com> Plumb gralloc producer/consumer bits correctly

Bug: 33350696
Test: compile, boot device, cts
Change-Id: I2f078cf4bbdf0db49f2e914b051f55629fb37eb6
ativewindow/AHardwareBuffer.cpp
ativewindow/ANativeWindow.cpp
ativewindow/Android.bp
ativewindow/include/android/hardware_buffer.h
ativewindow/include/private/android/AHardwareBufferHelpers.h
ativewindow/include/vndk/window.h
ativewindow/tests/AHardwareBufferTest.cpp
ativewindow/tests/Android.bp
r/libdvr/Android.mk
r/libdvr/display_manager_client.cpp
r/libdvr/tests/dvr_named_buffer-test.cpp
03d95980a102c1b3e3dca3d45f0c4a6bb08ef102 27-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix minor corner cases in BufferHubQueueProducer" into oc-dev
0af4b9f88a48a6ecc705b4a8cec3d3ba24c53ead 26-Apr-2017 Steven Thomas <steventhomas@google.com> Call validateDisplay() when skipping frames

Layer management was getting screwed up in vr flinger in the following
scenario:

1. In frame X, post a new buffer to layer L.

2. Decide to skip frame X (e.g. because we're behind our target
schedule).

3. In frame X+1, delete layer L.

When we skip the frame in step 2, we weren't calling validateDisplay()
or presentDisplay() on the hardware composer, so the composer's internal
command queue wasn't being flushed. When we called validateDisplay() for
frame X+1 the update buffer call from frame X would be run, referencing
the deleted layer L, causing a crash.

Now we always call validateDisplay() when we change the layer state,
even if we decide to skip the frame.

I also added code to explicitly clear the Composer object's internal
command buffer when we transfer control from surface flinger to vr
flinger and back. There were certain cases where there could be commands
left in the command buffer after the display handoff.

Bug: 37159844

Test: I used an app switcher script that quickly switches vr apps, which
would consistently trigger the setLayerBuffer crash. I confirmed with
this CL applied I can run the app switcher until surface flinger runs
out of file descriptors (that's a separate bug), and I never see the
setLayerBuffer crash. I also confirmed from the log output there are no
additional hardware composer errors.

Change-Id: I85832b87f393754dc6b034eb38f2937d7b58ed74
r/libvrflinger/hardware_composer.cpp
cb4751c52a5625a22b6a11b4de537ff026d9bfe3 15-Apr-2017 Jiwen 'Steve' Cai <jwcai@google.com> Fix minor corner cases in BufferHubQueueProducer

1/ Set reasonable return value BufferHubQueueProducer::query.
2/ Don't error out for setSharedBufferMode(false),
setAutoRefresh(false), as they are just setting default values again.
3/ Supports addition buffer metadata: transformt, crop,
data_format (a.k.a. color_format).
4/ This also changes BufferHubQueueProducer to be based of
BnInterface<IGraphicBufferProducer> so that itself can be passed via Binder.

Bug: 37342387
Bug: 36907193
Test: exoplayer_demo
Change-Id: Ie00bb79f6a249e09905ae52f85a85a67744cc90d
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_core.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_producer.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libdvr/dvr_buffer_queue.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/tests/dvr_buffer_queue-test.cpp
r/libvrflinger/video_compositor.cpp
r/libvrflinger/video_mesh_surface.cpp
961c83c8653a37e751e73bed9947b1ecb7ba3bc7 25-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'atrace-pdx' into oc-dev

* changes:
atrace: Poke PDX services using utility class.
libpdx: Add service poke logic to ServiceUtility.
73feb0676635da6c0f738c10e04052a8162a4095 20-Apr-2017 Chris Forbes <chrisforbes@google.com> vr: Adjust for libui gralloc flags change

Change-Id: I24dbe407ad9139ba1d206b9074c7c507537d198c
Bug: b/33350696
Test: Bullhead: booted to launcher, take photo, watch youtube
r/libbufferhub/Android.bp
r/libbufferhub/ion_buffer.cpp
f3ef3eab3aaae979c48ef03d27c5004f357b3d03 20-Apr-2017 Chris Forbes <chrisforbes@google.com> gui: Adjust for libui gralloc flags change

Change-Id: I9f73a1753f9e991eb3a7f0a005c3ab240f0a38b4
Bug: b/33350696
Test: Bullhead: booted to launcher, take photo, watch youtube
ui/BufferQueueProducer.cpp
d4106302069679813d71b5777bbf1c9e0647948a 20-Apr-2017 Chris Forbes <chrisforbes@google.com> nativewindow: Adjust for libui gralloc flags change

Change-Id: I451f045b42d1e3e3bfc35f1e30f27dedc35d4da3
Bug: b/33350696
Test: Bullhead: booted to launcher, take photo, watch youtube
ativewindow/AHardwareBuffer.cpp
82c049843870fc72ff36f48b970dfaf413db0687 19-Apr-2017 Chris Forbes <chrisforbes@google.com> ui: Rework GraphicBuffer + Allocator for 64bit usage

Removes gralloc1-style flags, and replaces with HIDL-style single 64bit
usage. Internal storage of the usage is still 32bit; to be addressed
with a future change.

Change-Id: I60062208cbb06bc8cf6c293e7c7e1530c1147912
Bug: b/33350696
Test: Bullhead: booted to launcher, take photo, watch youtube
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
693aa74db10007829973329451af3e2c6e586720 22-Apr-2017 Luke Song <songwalker@google.com> Merge "Remove/Cleanup Obselete References" into oc-dev
ec3717413332336c7b86545eebcfce8c0681b2dc 21-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix AHardwareBuffer 10:10:10:2 format" into oc-dev
4b78832d7fc3cdd13a20587dfee96d1505916213 24-Mar-2017 Luke Song <songwalker@google.com> Remove/Cleanup Obselete References

Bug: 36039686
Bug: 36040117
Bug: 36039685
Bug: 36040550
Test: Build
Change-Id: Ifd5ae90138e39d0a14c6a5a8198a9145f74ec8f6
(cherry picked from commit 8126b9df8987fd9959eab1ae76620c343c32f4fc)
r/libdvrcommon/include/private/dvr/benchmark.h
r/libimageio/include/private/dvr/image_io_base.h
r/libimageio/include/private/dvr/image_io_logging.h
r/libimageio/include/private/dvr/image_io_png.h
r/libimageio/include/private/dvr/image_io_ppm.h
r/libvrflinger/acquired_buffer.h
r/libvrflinger/compositor.cpp
r/libvrflinger/hardware_composer.cpp
e937eb866d28fc5a51e36726b5b6802b2e201832 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libui: log an error on allocation failure" into oc-dev
16f1c1a30abafb346f4b03643d0fcbf799fdc308 17-Apr-2017 Corey Tabaka <eieio@google.com> libpdx: Add service poke logic to ServiceUtility.

Consolidate PDX service poke logic (reload system props) in the
ServiceUtility class. This used by atrace to poke PDX services
during systrace.

Bug: 37432968
Test: build succeeds.
Change-Id: Ia650f81fd5d324529b70f8796c4efbf7b3117327
r/libpdx_default_transport/private/pdx/default_transport/service_utility.h
0ffa62b26a941fd17b53acbf1441270958fb87b4 20-Apr-2017 Chia-I Wu <olv@google.com> libui: log an error on allocation failure

This was on the gralloc0/gralloc1 path, but was missing from the HIDL
gralloc path.

Bug: 37444686
Test: allocate an invalid buffer
Change-Id: If1ea0e27c228d82abbcd6f6290eb8fee423828e7
i/GraphicBufferAllocator.cpp
84a0b9238af5c138331193bf9cba55fed1eab618 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx_uds: Serialize access to connection socket between threads" into oc-dev
f5524db232321c2eb40fee4b999476bb9539bf42 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx_uds: Allow to create Endpoint/ClientChannel from a socket pair" into oc-dev
87c83b1de48a0f8b6fdfd0ae5805f0d27b17dec1 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix default optics" into oc-dev
78145dd40dac31add7347f0f957f9316a2067430 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove the lookup distortion class" into oc-dev
f8b1ef4fd9cd4e0bd750b07f502add63ddf43166 19-Apr-2017 Hendrik Wagenaar <hendrikw@google.com> Fix default optics

* Prior cl caused an infinite loop with the defaults
* Removed linear approximation - it caused issues with
inverse distortion

Bug: 37443861
Test: Manually ran on a few phones
Test: Wrote a program that compared the distortion and
undistortion values with the old and new path
Change-Id: I7221679585dd7f0fe966ff11170e9d3ec74a51df
r/libeds/device_metrics.cpp
r/libeds/include/private/dvr/polynomial_radial_distortion.h
r/libeds/polynomial_radial_distortion.cpp
r/libvrflinger/display_service.cpp
e602082190a70f7f4ab1636b5cc21afa0edcf6cc 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Hold onto FileHandles for glBindSharedBufferQCOM calls" into oc-dev
577aa758027a7cf5e8da938f99f9ec7372e5728f 20-Apr-2017 Jesse Hall <jessehall@google.com> Fix AHardwareBuffer 10:10:10:2 format

Rename this format to match the component ordering we use in the other
formats (RGBA, in LSB to MSB order), and associate it with the right
Vulkan format (A2B10G10R10_UNORM_PACK32, not the BGRA-order
A2R10G10B10_UNORM_PACK32): the former is required in Vulkan while the
latter isn't, and it makes sense for us to be consistent with that.

Also use the _FLOAT suffix for the 4xFP16 format, not _SFLOAT; we don't
use the latter anywhere else and we don't have unsigned floats.

Bug: 37515907
Test: make checkbuild
Change-Id: I4f9e5e39ddef41d373290c26c92d5b94a884a740
ativewindow/AHardwareBuffer.cpp
ativewindow/include/android/hardware_buffer.h
1fbefc70dfc5bef14168431e4b443cb6a4d5ceec 20-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes If30bfa71,Ib8f78967 into oc-dev

* changes:
pdx_benchmarks: Let the service create sockets by itself
libpdx_uds: Fix send/receive over socket to handle signal interrupts
b1325574324a7b35f21cdf477bd114dc2ef357d9 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "DVRBuffer functions should acquire AHardwareBuffer" into oc-dev
fd22b3e5ad1aae1fc3de54801f33466db3c9b3fe 18-Apr-2017 Alex Vakulenko <avakulenko@google.com> libpdx_uds: Serialize access to connection socket between threads

Added a mutex to allow only one client thread to perform atomic
send-request/receive-responce actions.

Also added a unit test that perfroms multiple parallel client requests
to the same service to ensure it can handle multithreaded access
correctly.

Bug: 37443070
Test: `libpdx_uds_tests` pass
Change-Id: Ica516f7806f9146fb530b5cb371d2ee89146fed7
r/libpdx_uds/Android.bp
r/libpdx_uds/client_channel.cpp
r/libpdx_uds/client_channel_tests.cpp
r/libpdx_uds/private/uds/client_channel.h
6eefa42d33bdddc3603211634f98937b00abc532 18-Apr-2017 Alex Vakulenko <avakulenko@google.com> libpdx_uds: Allow to create Endpoint/ClientChannel from a socket pair

This is important to enable Service/Client operation in unit tests.
Being able to create a pair of Unix domain sockets and construct both
Service and Client so that they can talk to each other without having
to create a physical socket file is convenient.

This change makes it possible to create an instance of Endpoint and
ClientChannel classes based just on a pair of sockets (Endpoint does
take another socket to simulate the main endpoint FD to accept incoming
connection on, but it is not used for this, only the shutdown events
are received from that main socket. Endpoint uses the channel FD to
perform actual communication with the client).

Bug: 37443070
Test: `libpdx_uds_tests` pass
Change-Id: Ifa1a9d03b97bd90282a04715c2105ad37a8de936
r/libpdx_uds/client_channel_factory.cpp
r/libpdx_uds/ipc_helper.cpp
r/libpdx_uds/private/uds/client_channel_factory.h
r/libpdx_uds/private/uds/service_endpoint.h
r/libpdx_uds/service_endpoint.cpp
7038c239728012789855f121e98baf0df0d81087 18-Apr-2017 Alex Vakulenko <avakulenko@google.com> pdx_benchmarks: Let the service create sockets by itself

Default implementation of Endpoint::Create() takes the socket name
as provided by the init process when it forks. pdx_benchmark is not
a service but a command-line utility and it is being started manually
and not through init process. So, named sockets are not available.
Instead, it must create a socket by the specified name. For this,
it must use Endpoint::CreateAndBindSocket() method.

Bug: 37507039
Test: Tested manually on device: `pdx_benchmarks --service foo`.
Change-Id: If30bfa7138f5a97ba0bff9e61460c6bd3697ec19
r/libpdx_default_transport/pdx_benchmarks.cpp
fc333972e92e176ea73b34c5c6c25fc5875140be 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Return error when trying to disconnect twice" into oc-dev
d618b567630d347be0929ea25ce6c68921005ed6 17-Apr-2017 Alex Vakulenko <avakulenko@google.com> libpdx_uds: Fix send/receive over socket to handle signal interrupts

Previous implementation of send/receive didn't account for the fact that
send/receive operation might be interrupted by a signal and transfer
fewer bytes than requested.

Fix this by repeatedly calling send/recv until all the requested data
is transferred over sockets.

Also added a number of unit tests for send/receive functions.

Bug: 37427314
Test: `m -j32` succeeds for Sailfish.
`libpdx_uds_tests` pass on device

Change-Id: Ib8f78967af3c218d9f18fb3dfe8953c35800540b
r/libpdx_uds/Android.bp
r/libpdx_uds/ipc_helper.cpp
r/libpdx_uds/ipc_helper_tests.cpp
r/libpdx_uds/private/uds/ipc_helper.h
5330710aebfed15005ae39ba5896b615e138bf38 19-Apr-2017 Chia-I Wu <olv@google.com> Merge "libui: remove gralloc0/gralloc1 support" into oc-dev
a5d404d8d4f6bb4efa95eaf6d857bc03224606fb 19-Apr-2017 Hendrik Wagenaar <hendrikw@google.com> DVRBuffer functions should acquire AHardwareBuffer

Bug: 37488135
Test: Updated DVR buffer tests
Change-Id: Ia255aca571e7162382e7be3c13be8ea192adbc90
r/libdvr/dvr_buffer.cpp
r/libdvr/include/dvr/dvr_buffer.h
r/libdvr/tests/dvr_named_buffer-test.cpp
34706bfc62d7969eb347ce42d4ddb1d51d81fe9a 19-Apr-2017 Hendrik Wagenaar <hendrikw@google.com> Remove the lookup distortion class

* This class is no longer used.

Test: Compiled locally
Bug: 37487610
Change-Id: Ie0bd1441e04086990309d5eb4ca3b4f64351ae05
r/libeds/Android.bp
r/libeds/device_metrics.cpp
r/libeds/include/private/dvr/lookup_radial_distortion.h
r/libeds/lookup_radial_distortion.cpp
511544f212a9e675c10928b29551746374fb1637 19-Apr-2017 Steven Thomas <steventhomas@google.com> Merge "Fix query management in GpuProfiler" into oc-dev
1ab06328bb45f3f8ba4a3780ceaf6d8564ee75cf 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[vr] Add DVR API to get native handle for buffers" into oc-dev
28b58bfdcce253358120d1554755d71c2226f8fd 18-Apr-2017 John Bates <jbates@google.com> [vr] Add DVR API to get native handle for buffers

This is required to support GPU late latching features in
VRCore. This can be removed once vendors support using
AHardwareBuffer instead of int fd for shared memory
buffer objects.

Bug: b/37472908
Test: builds and runs
Change-Id: I2a957723c4025773181071491a45a53b83e5ba64
r/libdvr/dvr_api.cpp
r/libdvr/dvr_buffer.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_buffer.h
de47fabe1a512e33ad3eee912b541b0809885705 18-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Dvr api usages should follow AHardwareBuffer" into oc-dev
28f85d6a602cccbf288e236da704729e61c9ed7f 17-Apr-2017 Steven Thomas <steventhomas@google.com> Fix query management in GpuProfiler

GL query objects were being used incorrectly in GpuProfiler across GL
context resets, which could cause endless creation of additional GL
query objects.

Have the compositor notify the GpuProfiler when the GL context is
created and destroyed, so it can reset its state appropriately.

Also impose a limit of 32 outstanding queries to help prevent endless
query object creation in the future. If we hit the limit we print a log,
reset everything, and start over.

Bug: 34256609

Test: Manually tested that: (a) we no longer get GL errors after
glGetQueryObjectiv() calls after a context destroy/create cycle, and (b)
the queue overflow handling works as expected.

Change-Id: I64905b766a3ea7cb62d543b776ac975d0762868e
r/libdvrgraphics/gpu_profiler.cpp
r/libdvrgraphics/include/private/dvr/graphics/gpu_profiler.h
r/libvrflinger/compositor.cpp
cb8405e7e74398aeafc9ef6ddb59af2d7cc6d2a6 18-Apr-2017 Chia-I Wu <olv@google.com> libui: remove gralloc0/gralloc1 support

We now talk to HIDL gralloc exclusively.

Bug: 37433368
Test: boots
Change-Id: Iecd2f9a02c7066b2f33f24c1de57e9c4af8e28f5
i/Android.bp
i/Gralloc1.cpp
i/Gralloc1On0Adapter.cpp
i/Gralloc2.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
093516f6d3327be7a098738ecf0d9a75ecc5d765 17-Apr-2017 John Bates <jbates@google.com> Hold onto FileHandles for glBindSharedBufferQCOM calls

The internal implementation of glBindSharedBuffer does not dup
the file descriptor, so to be pedantic about fd lifetime we
need to hold onto the fd until the gl buffer is deleted.

Bug: b/34256609
Test: manually switched between apps
Change-Id: I35bfbfe6a6b793bc3bdf38d7ddca31699ee0f4ff
r/libdisplay/include/private/dvr/late_latch.h
r/libdisplay/late_latch.cpp
r/libvrflinger/compositor.cpp
db5763834df1b6a1a3aef9442982451f7505f402 18-Apr-2017 Hendrik Wagenaar <hendrikw@google.com> Dvr api usages should follow AHardwareBuffer

* Since vrcore doesn't have access to gralloc1 usages
* Since gralloc1 may be replaced in the future

Bug: 37435415
Test: TestNamedBufferUsage
Change-Id: Iaa47396aca26460541d1b9031dce0b971b630555
r/libdvr/display_manager_client.cpp
r/libdvr/include/dvr/display_manager_client.h
r/libdvr/include/dvr/dvr_api.h
r/libdvr/tests/dvr_named_buffer-test.cpp
r/libvrflinger/display_service.cpp
a2d92c56913b6f67c895fddc3212b862e62c60fe 17-Apr-2017 Jesse Hall <jessehall@google.com> Merge "Move AHardwareBuffer_getNativeHandle to VNDK" into oc-dev
1ee859f7f883ef1b17d25dc784fb9ea233c152a4 17-Apr-2017 Jesse Hall <jessehall@google.com> Move AHardwareBuffer_getNativeHandle to VNDK

This was added to the NDK only because we didn't have a way to do
VNDK-only declarations. Now we do.

Bug: 34050596
Test: make checkbuild
Change-Id: I039fccfd9f29c5cc960e7691f0baa70101659949
ativewindow/AHardwareBuffer.cpp
ativewindow/include/android/hardware_buffer.h
ativewindow/include/vndk/hardware_buffer.h
ativewindow/libnativewindow.map.txt
ativewindow/tests/c_compatibility.c
f15e6fdf55cf517d6084f71c3ca38ed0faffcd92 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "vrwm: Push all the properties to vr window manager" into oc-dev
80a50bdc3b48ef3a1e214d85712ecc835fbaa289 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libbinder: vendor_available" into oc-dev
9451d0b8ceeb44319074163b598bcb616d212fdc 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move include/binder to libs/binder/include" into oc-dev
0a9e585fe2353625f52dc8c8d3527f234355e215 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update optics" into oc-dev
11c1acc33a7402153ab0e7308bc59921165819ab 14-Apr-2017 Iliyan Malchev <malchev@google.com> Merge "binder: allow repeated invocations of initWithDriver" into oc-dev
ed1ffe06f3efc791d57ed2709bb5177f3067ece8 14-Apr-2017 Iliyan Malchev <malchev@google.com> binder: allow repeated invocations of initWithDriver

As long as the driver name is the same, calls to
ProcessState::initWithDriver() will succeed, returning the
already-created object.

Test: marlin

Change-Id: I87d5ca2a105becd8d4fa6fa85c00b879360229b3
Signed-off-by: Iliyan Malchev <malchev@google.com>
inder/ProcessState.cpp
f18f8fe8cbc991ff2518e2a649325872e2d53aac 14-Apr-2017 PO HUNG CHEN <howardsoc@google.com> Merge "Refine the binder latency test" into oc-dev
0556d79eacbf0c9978080d87aa4075120533c7ef 22-Mar-2017 Mathias Agopian <mathias@google.com> get rid of IGraphicBufferAlloc

Buffers can now be allocated directly through
the graphic allocator HAL.

Test: marlin: run full camera cts
Test: angler: take screenshot, take photo w/ and w/o HDR, video, panorama, refocus, slo-mo
Bug: 36462585
Bug: 36333314
Change-Id: Ie5222c53c3b9462e0ac7a41568718aad131eb328
ui/Android.bp
ui/BufferQueue.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
ui/ISurfaceComposer.cpp
ui/tests/Surface_test.cpp
ativewindow/AHardwareBuffer.cpp
3aa761697b93dab3e4b1acf90d14502a79a49219 14-Apr-2017 Steven Moreland <smoreland@google.com> libbinder: vendor_available

By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
in a later releasse (by vendor code compiled against this release).
so this library shouldn't depend on runtime state that may change
in the future.
* this library may be loaded twice into a single process (potentially
an old version and a newer version). The symbols will be isolated
using linker namespaces, but this may break assumptions about 1
library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 36079834
Test: m -j libbinder
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: Iec94a66adbc852f7f23352307cf36f49a79ee3a6
inder/Android.bp
302b74ffc656243d91ee6ddd8743239ef2dfbdba 04-Apr-2017 Hendrik Wagenaar <hendrikw@google.com> Update optics

* Specify optics via system properties

Bug: 36039976
Test: Ran on device

Change-Id: I7a38e5a9eb3b8a861f1997d5011ec109f5e79cca
r/libeds/Android.bp
r/libeds/cpu_thread_pose_updater.cpp
r/libeds/device_metrics.cpp
r/libeds/include/private/dvr/cpu_thread_pose_updater.h
r/libeds/include/private/dvr/device_metrics.h
r/libeds/include/private/dvr/distortion_renderer.h
r/libeds/include/private/dvr/lucid_metrics.h
r/libeds/include/private/dvr/lucid_pose_tracker.h
r/libeds/include/private/dvr/polynomial_radial_distortion.h
r/libeds/lucid_metrics.cpp
r/libeds/lucid_pose_tracker.cpp
r/libeds/polynomial_radial_distortion.cpp
r/libvrflinger/compositor.cpp
r/libvrflinger/display_service.cpp
60c513c5e1ef92fadf851f56ecff6b289fc93a2c 10-Apr-2017 Howard Chen <howardsoc@google.com> Refine the binder latency test

* limit the output line length be be under 80.
* fix the target service when pair > 2

Bug:36705188
Test: sailfish with prebuilt kernel on oc-dev
Change-Id: I5ce2754418a669a61f9913a30dbeb7176796e230
inder/tests/schd-dbg.cpp
5583be7f9c18a1da0a8ea050b35e87128a8bc872 25-Mar-2017 Vijay Venkatraman <vijaykv@google.com> Move include/binder to libs/binder/include

Also moved include/private/binder to libs/binder/include/private/binder.
This allows libbinder to be compiled without depending on global
headers.

Bug: 33241851
Test: Build, flash, and run sailfish.
Test: Try building with BOARD_VNDK_VERSION := current
Change-Id: I0a82b733353add589de26eb2db7af5a246e5c97f
inder/Android.bp
inder/include/binder/AppOpsManager.h
inder/include/binder/Binder.h
inder/include/binder/BinderService.h
inder/include/binder/BpBinder.h
inder/include/binder/BufferedTextOutput.h
inder/include/binder/Debug.h
inder/include/binder/IActivityManager.h
inder/include/binder/IAppOpsCallback.h
inder/include/binder/IAppOpsService.h
inder/include/binder/IBatteryStats.h
inder/include/binder/IBinder.h
inder/include/binder/IInterface.h
inder/include/binder/IMediaResourceMonitor.h
inder/include/binder/IMemory.h
inder/include/binder/IPCThreadState.h
inder/include/binder/IPermissionController.h
inder/include/binder/IProcessInfoService.h
inder/include/binder/IResultReceiver.h
inder/include/binder/IServiceManager.h
inder/include/binder/IShellCallback.h
inder/include/binder/IpPrefix.h
inder/include/binder/Map.h
inder/include/binder/MemoryBase.h
inder/include/binder/MemoryDealer.h
inder/include/binder/MemoryHeapBase.h
inder/include/binder/Parcel.h
inder/include/binder/Parcelable.h
inder/include/binder/PermissionCache.h
inder/include/binder/PersistableBundle.h
inder/include/binder/ProcessInfoService.h
inder/include/binder/ProcessState.h
inder/include/binder/Status.h
inder/include/binder/TextOutput.h
inder/include/binder/Value.h
inder/include/private/binder/ParcelValTypes.h
inder/include/private/binder/Static.h
inder/include/private/binder/binder_module.h
afe7df1a3fe523e56de8d156e074f847ee734c73 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Import broadcast_ring.h from GVR (reland)" into oc-dev
4df4202551db388b73ea93a246d8520e0826f1d8 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx_uds: Handle EACCES error when connecting to PDX service" into oc-dev
730c89a8042e277304a90bff180348fcda75d5a7 10-Apr-2017 Albert Chaulk <achaulk@google.com> vrwm: Push all the properties to vr window manager

Bug: 37204430
Test: Manual
Change-Id: I6cda2732f4aff2433152ffc3549677d23bc598b3
r/libdvr/dvr_api.cpp
r/libdvr/dvr_hardware_composer_client.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_hardware_composer_client.h
ca0b8ccfc53899b9675c313c6f5a5aec5b263ed7 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use a separate heap size to receive buffer" into oc-dev
1b47dfd74909803eecb96e9e8a2695eebcc430a7 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes Ica5f5f5c,Ifb7d2cec,Ia402b4bc,I9c3b6b7e,I36ba19c7, ... into oc-dev

* changes:
libgui: Make IGraphicBufferConsumer a SafeInterface
libbinder: Add vector<Parcelable> to SafeInterface
libbinder: Add sp<NativeHandle> to SafeInterface
libbinder: Support enums in SafeInterface
libbinder: Support sp<Flattenable> in SafeInterface
libbinder: Add int64_t/uint64_t to SafeInterface
libgui: Normalize IGraphicBufferConsumer methods
libgui: Format IGraphicBufferConsumer
aacc1fceefd75e33908fa6feee2cf03688e09374 08-Apr-2017 Michael Spang <spang@google.com> Import broadcast_ring.h from GVR (reland)

This will be used as a transport by the pose plumbing.

Remove host_supported=true from the blueprint. Although this library is
portable C++11, some of the tests aren't, and I don't know how to test
the various SDK targets in order to properly #ifdef them.

Bug: 37102512
Test: m -j32 broadcast_ring_tests; broadcast_ring_tests

Change-Id: Ib91387f2feba9030d2e892dc5145e353b88bad45
r/libbroadcastring/Android.bp
r/libbroadcastring/broadcast_ring_test.cc
r/libbroadcastring/include/libbroadcastring/broadcast_ring.h
1b1d3008dceff4648c19386843b418e816fb7846 13-Apr-2017 Craig Donner <cdonner@google.com> Use a separate heap size to receive buffer

Bug: 37216168
Bug: 37245884
Test: cts-tradefed run cts -m CtsNativeHardwareTestCases -t AHardwareBufferTest#AHardwareBuffer_SendAndRecv_Succeeds
Change-Id: I3bdf9c6a24ee1b07a14499f0987b0ac028bbae09
ativewindow/AHardwareBuffer.cpp
c0fd676fa087b38b63d253536c6fc9513a0470c8 12-Apr-2017 Alex Vakulenko <avakulenko@google.com> libpdx_uds: Handle EACCES error when connecting to PDX service

There is a race condition in the way init process creates socket
files before it forks into a child (see system/core/init/util.cpp,
function create_socket()). It first creates a socket, then calls
bind() which creates a file entry, then calls chown/chmod to change
ownership and access permissions of that file object. If a client
process connects to the socket just after bind() was called but before
chmod(), the socket file will have incorrect permissions and the
connect call will be aborted with EACCESS (Permission denied) error.

We should retry connection in case we get EACCESS. A proper fix would
be is to find a way for init to create the file entry with the proper
permissions to start with, and eliminate the race condition altogether.

Bug: 37171113
Test: `lunch sailfish-eng && m -j32` succeeds
Device boots correctly.
Error recovery is handled correctly even after adding sleep(5)
to init process just before calling chmod on the socket.

Change-Id: If97c316daa0c0be5ff7b5aa302a69aa60e9fb237
r/libpdx_uds/client_channel_factory.cpp
dc87165eb58d7f0229331ffa18c097cf84b1923e 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Cleanup VR HWC type names in libdvr" into oc-dev
5bf90e1d4723f2bf53013b820be249d5c2be68bd 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Import broadcast_ring.h from GVR"" into oc-dev
552359991b8f2bad9a4af9a503dbbc122f9b3c73 13-Apr-2017 Tony Mak <tonymak@google.com> Revert "Import broadcast_ring.h from GVR"

This reverts commit e5c34974f2dd8a8e9ec61e68799d55f6df343224.

Reason for revert: Failing SDK target, see

https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=sdk_phone_armv7-sdk_mac&lkgb=3906845&fkbb=3908362

Seems fix should be something like this:
https://android-review.googlesource.com/#/c/316195/1/src/code-buffer-vixl.cc

Anyway, I am not native code expert, so going to revert this :)

Test: treehugger only

Change-Id: Iba00bec4c2c8667dffd96f90a57948c827c4a6a3
r/libbroadcastring/Android.bp
r/libbroadcastring/broadcast_ring_test.cc
r/libbroadcastring/include/libbroadcastring/broadcast_ring.h
7dcda8011de1753b0d9f4bf640733f83db601cec 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "SurfaceFlinger: Add parent-less relative layering." into oc-dev
4a5c8a3c973d19a93444dba42c6b7056258446cb 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libhwc2on1adapter: mark as vendor_available" into oc-dev
bb724dd447ea19936f3d014bea6a519edcbf5b7e 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Import broadcast_ring.h from GVR" into oc-dev
4b5fbdb107cf25bf0cad040a63cf51399ce9215b 10-Apr-2017 Dan Stoza <stoza@google.com> libgui: Make IGraphicBufferConsumer a SafeInterface

Converts IGraphicBufferConsumer to be a SafeInterface such that all
parceling/unparceling is done automatically.

Test: libgui_tests + manual testing
Change-Id: Ica5f5f5c3e6b5735f0f1327a50cefe8f3f6f0feb
ui/IGraphicBufferConsumer.cpp
1af8a880ef2a2af061de0dd451d69595937245ea 10-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Add vector<Parcelable> to SafeInterface

Adds support fo sending and receiving std::vector<Parcelable>
parameters (such as the vector of OccupancyTracker::Segments in
IGraphicBufferConsumer::getOccupancyHistory) as part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: Ifb7d2cece79ee9fd52791f61d2488e6a490805f3
inder/include/binder/SafeInterface.h
inder/tests/binderSafeInterfaceTest.cpp
2537db72f62d53d7c7cab85ccbba2e8d0286a2da 08-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Add sp<NativeHandle> to SafeInterface

Adds support for sending and receiving sp<NativeHandle> parameters as
part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: Ia402b4bceedff358864669d201b4c1e22be6d0fa
inder/include/binder/SafeInterface.h
inder/tests/Android.bp
inder/tests/binderSafeInterfaceTest.cpp
bac0159bdbc452162d490a8249c32d8a49008f08 13-Apr-2017 Frank Barchard <fbarchard@google.com> display_manager_client unused parameter warning fixes

Bug: 37206802
Test: builds locally with no warnings
Change-Id: I5755ee30d6ce4057297c367222d3cdd44904e23e
Edit
r/libdvr/display_manager_client.cpp
21d072ac4a4f67b89c465121ace7a9764872aef0 12-Apr-2017 Brian C. Anderson <brianderson@google.com> Merge changes from topic 'presentFenceNotReliable' into oc-dev

* changes:
egl: Use reserved values for eglGetFrameTimestamps
egl: Differentiate pending vs invalid timestamps.
egl: Avoid use of retire as present
db66e627ad8904491e384c64f82fc77a939b9705 11-Apr-2017 Robert Carr <racarr@google.com> SurfaceFlinger: Add parent-less relative layering.

This is a temporary functionality for the intermediate state where not
all child-surface like things in WM land are ported to use Child
Surfaces. In particular, we have ported SurfaceView to use child
surfaces and relative Z ordering. However the TV frameworks provide a
View framework component which overlays views over the SurfaceView but
below the main application window. Since we have not ported View
framework surfaces to use child layers, there is nothing the WM or
View Framework can do about this situation. Luckily the WM API's to
have requested this are @hide but we have the one media framework
component using it. In order to solve this issue we provide a method
to set Z ordering relative to another window without inheriting
its coordinate space as a child window would. This way the WM can
recognize these TYPE_APPLICATION_MEDIA_OVERLAY windows and Z-order
them at -1 with respect to the parents (and the SurfaceView can be at
-2).

Test: Included in transaction tests. Also manual test of bug repro steps with accomp frameworks/base CL
Bug: 36693738
Change-Id: I921852d3d34f67f79ec745b9703f9e679867e7a1
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
736b6058d8c91ec4ad295c0a04c7b81d8119268c 06-Apr-2017 Daniel Nicoara <dnicoara@google.com> Cleanup VR HWC type names in libdvr

Add DvrHwc prefix to enums and types defined in the API to avoid naming
conflicts.

Bug: 36050795
Test: Compiled
Change-Id: Ic5071ccd6f2b16863f0001009a4255f8279ce1e8
r/libdvr/dvr_hardware_composer_client.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_hardware_composer_client.h
r/libdvr/include/dvr/dvr_hardware_composer_defs.h
68a234024348cbcad17ac7073c4343d5315aa767 12-Apr-2017 Dianne Hackborn <hackbod@google.com> Merge "Add private helpers needed for job queue." into oc-dev
ee7cb1b5b86d54e98875ca5b714b98be6d01b824 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Convert the pose buffer into a more generic named buffer" into oc-dev
f71ca7957e13721ea53004ab0973a2f3388e7ff5 12-Apr-2017 Steven Moreland <smoreland@google.com> libhwc2on1adapter: mark as vendor_available

By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
in a later releasse (by vendor code compiled against this release).
so this library shouldn't depend on runtime state that may change
in the future.
* this library may be loaded twice into a single process (potentially
an old version and a newer version). The symbols will be isolated
using linker namespaces, but this may break assumptions about 1
library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 36079834
Test: m -j libhwc2on1adapter
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: Ide1e74a5e99b30fef9daca2b551e7eb9f46727a5
wc2on1adapter/Android.bp
1636e003355d9dc6c04d4f9701241f3ab364be32 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "VR: Update VR HWC to use buffer metadata passed by SurfaceFlinger" into oc-dev
dc96fdfa58260867c993fff78611220874753201 21-Mar-2017 Brian Anderson <brianderson@google.com> egl: Differentiate pending vs invalid timestamps.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: Iaa418ff1753a4339bfefaa68a6b03e8c96366a87
ui/Surface.cpp
ui/tests/Surface_test.cpp
ativewindow/include/system/window.h
4f6a79a8a4c3fee7eddf575c5c4c011e125c45a0 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE" into oc-dev
eaa5522feac452703a0836310047d4b15702487d 06-Apr-2017 Hendrik Wagenaar <hendrikw@google.com> Convert the pose buffer into a more generic named buffer

* It's likely that we'll have more than one pose buffer
* It's cleaner to separate the vsync info into a separate buffer

Bug: 37001881
Bug: 37240552
Test: Added and manually ran TestNamedBuffersSetup
Change-Id: I76621d3cfa8c21c9d5d1e6e648854067673be9ab
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/include/private/dvr/bufferhub_rpc.h
r/libdisplay/display_client.cpp
r/libdisplay/display_manager_client_impl.cpp
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_manager_client_impl.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libdvr/display_manager_client.cpp
r/libdvr/dvr_api.cpp
r/libdvr/dvr_buffer.cpp
r/libdvr/dvr_surface.cpp
r/libdvr/include/dvr/display_manager_client.h
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_buffer.h
r/libdvr/include/dvr/dvr_surface.h
r/libdvr/tests/Android.mk
r/libdvr/tests/dvr_named_buffer-test.cpp
r/libvrflinger/display_manager_service.cpp
r/libvrflinger/display_manager_service.h
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
6b376713907086c9642e7b7e66e51ddfa531b003 04-Apr-2017 Brian Anderson <brianderson@google.com> egl: Avoid use of retire as present

Retire fences from HWC1 are implemented inconsitently,
so present emulation doesn't always work well.

This patch disables present for all HWC1 based devices.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*
Bug: 36730849, 36887025

Change-Id: I1eba2f8490c2f6feced2a36d1efc4cd66be7da40
ui/ISurfaceComposer.cpp
ui/Surface.cpp
ui/tests/Surface_test.cpp
wc2on1adapter/HWC2On1Adapter.cpp
ativewindow/include/system/window.h
a3c428afbfd8ecfafb7712dafa2cc51aa042a9ba 11-Apr-2017 Chia-I Wu <olv@google.com> libui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE

Honor GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE in
GraphicBufferMapper and advertise the cap in the adapter.

Bug: 36355756
Test: boots on gralloc0 and gralloc1 devices
Change-Id: I54a4855883904255fba9a0821ff9d866d265d25a
i/Gralloc1On0Adapter.cpp
i/GraphicBufferMapper.cpp
b162d089a014ba41484a192cb3fbe1c8e2b2d655 11-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update BufferHub service/client with support for gralloc1 usage." into oc-dev
1f42e3a02c4f9a1ba1916a2f0e47082bedb73e41 10-Apr-2017 Daniel Nicoara <dnicoara@google.com> VR: Update VR HWC to use buffer metadata passed by SurfaceFlinger

Without gralloc1 support, need to pass buffer metadata in order to
import native buffers and used them as graphic buffers.

Bug: 36481301
Test: Compiled and ran on device; Verified VR Window Manager properly
displays SurfaceFlinger buffers.

Change-Id: I8426be1d79dcc2fbd631c399427ae03cb2afc21d
r/libvrflinger/Android.bp
r/libvrflinger/hardware_composer.cpp
273e144215bbe3042686577032e584c4ec701447 10-Apr-2017 Iliyan Malchev <malchev@google.com> IServiceManager: dump stack on blocked vndbinder requests

Dump the stack of the thread requesting a service over /dev/vndbinder,
when the requestor is blocked waiting on the service. This is very
helpful in identifying bugs in converting code to /dev/vndbinder.

Test: sailfish

Change-Id: Iaaf6a83df3465dd5b64cd83c19d8918cfa01d3d8
Signed-off-by: Iliyan Malchev <malchev@google.com>
inder/IServiceManager.cpp
3206224672d0a86cdede609e83ccc985754fb6ec 10-Apr-2017 Iliyan Malchev <malchev@google.com> binder: add getDriverName()

Ass ProcessState::getDriverName() to retrieve the /dev node that
libbinder is initialized with in this process. This can be used
elsewhere to add debug code that is enabled for only one binder domain
or another.

Test: sailfish

Change-Id: I3ea9f0dcc97204508791bdeb70f790980be278a5
Signed-off-by: Iliyan Malchev <malchev@google.com>
inder/ProcessState.cpp
c441fbfe434a6af60651eb112040ec58e5fedb64 11-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'llndk_rename' into oc-dev

* changes:
Remove .(ll)ndk suffix from (ll)ndk_library
Remove .(ll)ndk suffix from (ll)ndk_library
1d472756aa06f17c34020c35d2f2a598dce69bfb 11-Apr-2017 Chia-I Wu <olv@google.com> Merge "libui: update for revised HIDL gralloc" into oc-dev
15feb9b55a0ea1d4a4e21a6425965b1004fdbc8b 11-Apr-2017 Dianne Hackborn <hackbod@google.com> Add private helpers needed for job queue.

We need to compare the data in parcels. Bleah.

Test: not relevant here.

Change-Id: I7b694ec89793449bf7ac342f663dc534feedf9b6
inder/Parcel.cpp
e5c34974f2dd8a8e9ec61e68799d55f6df343224 08-Apr-2017 Michael Spang <spang@google.com> Import broadcast_ring.h from GVR

This will be used as a transport by the pose plumbing.

Bug: 37102512
Test: m -j32 broadcast_ring_tests; broadcast_ring_tests

Change-Id: I8122b98d9cc5fc9f148bbe9a823b17ac9d7a5626
r/libbroadcastring/Android.bp
r/libbroadcastring/broadcast_ring_test.cc
r/libbroadcastring/include/libbroadcastring/broadcast_ring.h
81ea3efb75a6427c946221f95dcf9c388b27a977 08-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Support enums in SafeInterface

Adds support for sending and receiving enum values (as their underlying
types) as part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: I9c3b6b7e7728d8c95514928354136be84bfd7875
inder/include/binder/SafeInterface.h
inder/tests/binderSafeInterfaceTest.cpp
6dd325b9396c9946ced9d01665152a44167a8fa2 07-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Support sp<Flattenable> in SafeInterface

Adds support for sending and receiving sp<Flattenable> parameters (such
as sp<Fence> and sp<GraphicBuffer>) as part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: I36ba19c7f121771e9a7acfde9ed164e1cd3200b3
inder/include/binder/SafeInterface.h
inder/tests/binderSafeInterfaceTest.cpp
662a899ed9bb727c1267ec10d24d87a2f0be3355 07-Apr-2017 Dan Stoza <stoza@google.com> libbinder: Add int64_t/uint64_t to SafeInterface

Adds support for sending and receiving int64_t and uint64_t parameters
as part of a SafeInterface.

Test: New tests in binderSafeInterfaceTest
Change-Id: I3d27dd006591084b5c48f1bcb4d6dca40b679d23
inder/include/binder/SafeInterface.h
inder/tests/binderSafeInterfaceTest.cpp
0c9a1ed91f8e19887ac43eff5af16e59878c8226 07-Apr-2017 Dan Stoza <stoza@google.com> libgui: Normalize IGraphicBufferConsumer methods

This change modifies IGraphicBufferConsumer such that all synchronous
methods return a status_t and, as such, all outputs are returned by
output parameter rather than return value. It also eliminates the use
of a const char* parameter that SafeInterface can't handle.

Test: m -j + libgui_tests + manual testing
Change-Id: I9bb0e2892492d5e0a3f660bf228834b9ed014539
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
ui/tests/BufferQueue_test.cpp
1d0359c5a8e19a3ad0bb3e0d8265c32bab6f0d4d 06-Apr-2017 Dan Stoza <stoza@google.com> libgui: Format IGraphicBufferConsumer

Applies the framework default .clang-format and does a bit of tidying
up (cleaning up and reflowing comments to 100 characters, reordering
includes, etc.).

Test: libgui_tests + manual testing
Change-Id: I6a4c6149282661ad1bf92571597d22123c3ba93c
ui/IGraphicBufferConsumer.cpp
864440943e657fbeafba0013b4de4f4a2f01a9e8 10-Apr-2017 Steven Moreland <smoreland@google.com> Remove .(ll)ndk suffix from (ll)ndk_library

Soong handles these automatically now.

Bug: 33241851
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Change-Id: I5a16edfb57ca9d3059cdef0a57c7c79e614878fe
ativewindow/Android.bp
5bac7f36ee9d5ed0c2e8a0141909ca94351965a8 06-Apr-2017 Chia-I Wu <olv@google.com> libui: update for revised HIDL gralloc

The revised HIDL gralloc is implementable on top of gralloc0 and
gralloc1, which enables us to remove all legacy code.

However, it lacks the ability to query buffer properties from a
buffer handle. GetBufferFromHandle in VR always fails.

Bug: 36481301
Test: builds and boots on Pixel
Change-Id: Id7cfa2d2172dfc008803860f24fcf4f03ba05f11
i/Android.bp
i/Gralloc2.cpp
i/GrallocAllocator.cpp
i/GrallocMapper.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
i/tests/Android.bp
i/tests/Gralloc1Mapper_test.cpp
0915dad29d8ba82e402ef97b01f83163bcdf4477 10-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add missing functor for DVR API" into oc-dev
cd52dd9f1b301854b4e1734e3741d9cef8f784b1 08-Apr-2017 Corey Tabaka <eieio@google.com> Update BufferHub service/client with support for gralloc1 usage.

- Add support for gralloc1 usage flags.
- Mimic how GraphicBuffer supports gralloc0 usage flags: (usage, usage).
- Move to using pdx::Status<T> since we're touching signatures everywhere.

Bug: 36401174
Test: bufferhub_tests; buffer_hub_queue-test
Change-Id: I0e5184197b21eda9806bbea44f63b546b030692a
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/include/private/dvr/buffer_hub_client.h
r/libbufferhub/include/private/dvr/bufferhub_rpc.h
r/libbufferhub/include/private/dvr/ion_buffer.h
r/libbufferhub/ion_buffer.cpp
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
3e198b2b331c09e8d078b5cd4cb770bcf049c0d1 08-Apr-2017 Wonsik Kim <wonsik@google.com> Return error when trying to disconnect twice

Bug: 34637488
Bug: 36737364
Test: cts-tradefed run cts-dev --module Graphics
Test: libgui_test
Change-Id: I9deb1e8978e3789269ed1cf9753892b68f246e0f
ui/BufferQueueProducer.cpp
ui/tests/BufferQueue_test.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
b013ef62db250fbe616e80b1b5851def06c786ad 07-Apr-2017 Tri Vo <trong@google.com> Fix binderValueTypeTest

Bug: 36903040
Test: compile, push, run on device.
Change-Id: I788dd7f5b5800a894aba4262553c7c6361549850
inder/tests/binderValueTypeTest.cpp
99afa6dc8dd1f2af465866faaceb723d3cae3596 07-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx: Fix ThreadLocalBufferTest.InitialValue unittest" into oc-dev
de73eb104754524c283cfdda3355586cd268f871 07-Apr-2017 Okan Arikan <okana@google.com> Merge "Fix the latency model." into oc-dev
5bbb45e038b42dba3550738ad6445527776e0861 07-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'vrflinger-prep' into oc-dev

* changes:
libpdx: Decay variant types to correctly handle cv-reference types.
libpdx: Fix forward declarations using default template args.
Add additional accessors to IonBuffer and BufferHubBuffer.
Update BufferHubQueue in preparation for VrFlinger refactor.
86a8d3402474bd3cdf7b42b61f51f2423748fc11 07-Apr-2017 Alex Vakulenko <avakulenko@google.com> libpdx: Fix ThreadLocalBufferTest.InitialValue unittest

A call to GetBuffer() has been inadvertently removed during code
upstreaming to master. See the BUG below for more details.

Bug: 36456321
Test: `pdx_tests` now succeed on Sailfish
Change-Id: Ic7d6ecbbd9b0e59e74b48a66a9e3701dc44695bc
r/libpdx/thread_local_buffer_tests.cpp
5e4b792b920d6420555788cbbf539f8badf90320 07-Apr-2017 Okan Arikan <okana@google.com> Fix the latency model.

We were being too clever in modeling the latency using exponentially
moving average. The issue is that the average changes as new samples come in
which we then use to update the timestamps.

If the sampling rate is high enough (like IMU) then the changes in the average
are close to the delta times between samples. This causes the sample times
to move, and sometimes even change their updated timestamp order. This
causes all kinds of mess when we linearly extrapolate because the slope is bogus.

The fix is to just average a certain number of latency samples and then stick with that
constant average.

Bug: 36997591
Test: Run any 3DOF VR app.
Change-Id: I5411b2a6b7c3f258bf197f0615c0339d68fd2fd7
r/libvrsensor/include/private/dvr/latency_model.h
r/libvrsensor/latency_model.cpp
5ea0fe13ccc852a8cea372ca4c98de09c8e5fd2e 07-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Support halt the trace when schd-dbg hit deadline" into oc-dev
d7adb715abf1ca315f8d40876f2d9fe1e68af1a3 07-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx_uds: Fix RPC channel ID allocation to not recycle values as often" into oc-dev
09aa736ee6136787b18807d7ab459feba23cec04 06-Apr-2017 Alex Vakulenko <avakulenko@google.com> libpdx_uds: Fix RPC channel ID allocation to not recycle values as often

The value of channel ID for PDX service on UDS transport was actual file
descriptor value for the data socket. Since channels are open and closed
constantly, it is quite often that channel ID is being reused immediately,
so it is almost impossible to use `cid` as unique identifier for objects
being passed around.

Instead, we now use monotonically growing channel ID value.

To prevent the possibility of using channel ID as the socket FD and vice
versa, changed all helper functions that used to take socket_fd as an int
to explicitly use BorrowedHandle which disables implicit conversion from
int (and hence makes it impossible to mistakenly pass in the channel ID).

Bug: 37082296
Test: `m -j32` succeeds for sailfish-eng
Ran libpdx_uds_tests on the device -> all pass
Device boots and CubeSea and VrHome render correctly with vr_flinger

Change-Id: Ibb8dfee4d6c3f4b6120c0b6e20a253f1b9307c19
r/libpdx_uds/client_channel.cpp
r/libpdx_uds/client_channel_factory.cpp
r/libpdx_uds/ipc_helper.cpp
r/libpdx_uds/private/uds/ipc_helper.h
r/libpdx_uds/private/uds/service_endpoint.h
r/libpdx_uds/service_endpoint.cpp
42b5469646974552d2de5b0e89c04ccda0d48159 06-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes I2f531131,Ibaaca2a1,Ib0cba4c7,I5ea748b8,I046e3f07, ... into oc-dev

* changes:
libgui: Make IDisplayEventConn... a SafeInterface
libgui: Remove RefBase from BitTube
libgui: Make BitTube Parcelable and use unique_fd
libgui: Format BitTube and move into gui namespace
libgui: Move BitTube out of system include dir
libgui: Normalize IDisplayEventConnection methods
libgui: Format IDisplayEventConnection
2d191c302df1c7b2443d333a5a243c0043a37101 03-Apr-2017 Dan Stoza <stoza@google.com> libgui: Make IDisplayEventConn... a SafeInterface

Converts IDisplayEventConnection to be a SafeInterface such that all
parceling/unparceling is done automatically.

Test: libgui_test + SurfaceFlinger_test + manual testing
Change-Id: I2f5311315dc4fadbf3599f2b28f150097f53de57
ui/IDisplayEventConnection.cpp
6b698e4fe4ff50dcef818452283637f9870ae770 03-Apr-2017 Dan Stoza <stoza@google.com> libgui: Remove RefBase from BitTube

Removes RefBase from BitTube, since because it is not a Binder object,
it doesn't need to be reference-counted in this way.

In the process, we rename IDisplayEventConnection::getDataChannel to
IDEC::stealReceiveChannel to make it clearer that this is a non-const
operation on the remote end that removes its access to the receive
channel.

This also adds a couple of methods for moving the receive file
descriptor out of one BitTube and into another, since this is the
essence of the IDisplayEventConnection::stealReceiveChannel method,
and now with C++11 move semantics, we can do this without needing to
return an sp<> from EventThread's implementation of stealReceiveChannel.

Test: m -j + manual testing
Change-Id: Ibaaca2a14fb6155052fe5434c14bc3e671b43743
ui/BitTube.cpp
ui/DisplayEventReceiver.cpp
ui/IDisplayEventConnection.cpp
ui/include/private/gui/BitTube.h
7d290174b08a56ae6bc6719bec58805ca38b348b 01-Apr-2017 Dan Stoza <stoza@google.com> libgui: Make BitTube Parcelable and use unique_fd

This change completes the Parcelable interface for BitTube (it was
semi-Parcelable before as it implemented writeToParcel, but this adds
the complementary readFromParcel).

It also changes the send and receive file descriptors from ints to
android::base::unique_fds, which simplifies some of their lifecycle
management.

Finally, it changes the default constructor to leave the class
uninitialized, adding a BitTube(BitTube::DefaultSize) constructor to
replace that functionality (and paving the way for the ability to
default-construct a BitTube prior to readFromParcel'ing into it).

Test: m -j + manual testing
Change-Id: Ib0cba4c7c443b449a9a1837f07f7334395d4f10d
ui/BitTube.cpp
ui/include/private/gui/BitTube.h
27c8115510cebda13cbe24fd4caa946ea9c5003c 01-Apr-2017 Dan Stoza <stoza@google.com> libgui: Format BitTube and move into gui namespace

Reformats BitTube using the framework default .clang-format and moves
it into the android::gui namespace.

Test: m -j + manual testing
Change-Id: I5ea748b809f37c2ec4dcfb41e7b84daf7a084368
ui/BitTube.cpp
ui/DisplayEventReceiver.cpp
ui/IDisplayEventConnection.cpp
ui/include/private/gui/BitTube.h
1e438d2c9ce366ef98452ed6e50699196433bf2c 01-Apr-2017 Dan Stoza <stoza@google.com> libgui: Move BitTube out of system include dir

Moves the BitTube header out of the system include directory and into
libgui's include directory.

Test: m -j
Change-Id: I046e3f07ec4a58736c8de7ea7ba0f43a8e3e328b
ui/Android.bp
ui/include/private/gui/BitTube.h
e1c599b52fcce94bd27ebbc4d74cd59c9e71b452 31-Mar-2017 Dan Stoza <stoza@google.com> libgui: Normalize IDisplayEventConnection methods

This change modifies the IDisplayEventConnection API such that every
synchronous method returns a status_t (to be able to return transport
errors). This required changing getDataChannel to return its channel by
output parameter rather than return type.

Currently no more error messages are checked than before, but this will
both enable calling code to check error messages if it desires and,
more importantly, allow the Bp/Bn code to be semi-automatically
generated using SafeInterface.

Test: libgui_tests + manual testing
Change-Id: I8d5bc5ef0475cee07b638a97079b234f0384c022
ui/DisplayEventReceiver.cpp
ui/IDisplayEventConnection.cpp
a5f61dd70ac151c8adbde20d3bc4cd7d27808d21 31-Mar-2017 Dan Stoza <stoza@google.com> libgui: Format IDisplayEventConnection

Applies the framework default .clang-format and does a bit of tidying
up (reflowing comments to 100 characters, reordering includes, etc.).

Test: libgui_tests + manual testing
Change-Id: I8b3515339a93dbe42ce4421cb561b78ed2fe9104
ui/IDisplayEventConnection.cpp
d3201d1dfc5ecfb9458b4e7bbeb72a7f2e3c49ac 06-Apr-2017 Daniel Nicoara <dnicoara@google.com> Add missing functor for DVR API

Missing initialization of functor.

Bug: 36050795
Test: Ran app using the DVR API and verified API is loaded correctly.
Change-Id: Ia2f7a6cb69e0be724ea0c67ce2d467f8605ec29b
r/libdvr/dvr_api.cpp
0c91fbbcfccffc1156d0273f13a6771bca713871 06-Apr-2017 Jiwen Cai <jiwen@google.com> Merge "dvr_api GetExternalSurface returns ANativeWindow" into oc-dev
3fdeae8b2df1c72f7bf1b7e53a0d94f9f01d106d 06-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Check if a visible layer exists instead of an invisible layer exists" into oc-dev
b324457171474f02e793d3a669b14c8c24e23008 06-Apr-2017 Daniel Nicoara <dnicoara@google.com> Merge "VR: Remove HIDL VR Composer from service/vr/vr_window_manager" into oc-dev
691d271b006b8372d831ab46e5bfd1c23750b285 06-Apr-2017 Peng Xu <pengxu@google.com> Merge "Set sensor operation parameter implementation" into oc-dev
381019d9ceb4e5697daad414d8f0f0f6f8c3c116 05-Apr-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Fix soong dependency issue

Test: make

Change-Id: I3ea00a32f08395c81e44625603d878a2f1b6975b
i/Android.bp
62dc1344e05b1a5d4d1e4979bfbf255a3dbb7961 06-Apr-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Merge changes I9da985a7,I2bd642aa,I9358b3c9,I9d3c60b1 into oc-dev

* changes:
Add test for FP16 surface support
Dump info about wide-color
Add wide-color support to SurfaceFlinger
Add debug string functions for graphics.h enums
356bc37719bb748346a79935e1979e264c81c296 06-Apr-2017 Albert Chaulk <achaulk@google.com> Check if a visible layer exists instead of an invisible layer exists

Multiple layers may exist at index 0 and what we really want to know
is if any of them are active, not if any aren't.

Bug: 36867186, 36036583
Test: Launch ithaca then youtube
Change-Id: I5881a838c7df8670fa42eece558717140d4cb021
r/libvrflinger/display_service.cpp
ba55e0e5c812ef0b6c0efdc9fe876ab3f9a8f6e3 05-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes I1ed97f98,I32449355,I5c84d6f2,Ib9652278,I73deaa44 into oc-dev

* changes:
libgui: Make IConsumerListener a SafeInterface
libgui: Format IConsumerListener
libbinder: Support Flattenable in SafeInterface
libgui: Add missing FenceTime header to GLConsumer
libgui: Fix naming/enums in ISurfaceComposerClient
224306b0ac1c3ab6248ece529b3bdebfc96e94da 05-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use Configstore to test getWideColor function" into oc-dev
409c6eecdca80e95a110d63bc70b1c2dfcf49100 24-Mar-2017 Alex Vakulenko <avakulenko@google.com> Make init process create PDX sockets for services

To help us control the creation of PDX sockets and properly labeling
them for SELinux, let the init process create sockets for us based on
the settings specified in .rc files for service processes.

For (test) services that are meant to be started manually from command
line (e.g. test services), keep the old functionality as an option so
that UDS endpoint can be created in a way that it automatically creates
the socket in the service itself.

Bug: 35220925
Test: `m -j32` succeeds. Ran sailfish in VR mode and made sure all the
services (surfaceflinger, performanced, sensord, bufferhub).
`m -j32 checkbuild` succeeds as well.

Change-Id: Ief733b41b534cea19b1bea31de76b06051aa50ab
r/libpdx_default_transport/Android.bp
r/libpdx_uds/Android.bp
r/libpdx_uds/channel_event_set.cpp
r/libpdx_uds/private/uds/service_endpoint.h
r/libpdx_uds/service_dispatcher.cpp
r/libpdx_uds/service_endpoint.cpp
5d94389241cc651e6bd327ab80eba3ad476f3724 22-Mar-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Add wide-color support to SurfaceFlinger

Test: manual testing
Bug: 29940137

Change-Id: I9358b3c982e0205e598fd20cbf8d2e956591b3ac
i/Android.bp
e06ad18acd9c679816bdfa79eef206f77998cce4 22-Mar-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Add debug string functions for graphics.h enums

Test: see dataspace and colormode details when running with debug
Bug: 29940137

Change-Id: I9d3c60b1f9c71c44aba475450c7f867dcd68627e
i/Android.bp
i/DebugUtils.cpp
6a570b60716e4cbccd10432502491588f8a5c096 13-Mar-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Use Configstore to test getWideColor function

Test: make tests in libs/gui/tests/
Test: adb sync
Test: adb shell /data/nativetest/libgui_test/libgui_test --gtest_filter="SurfaceTest.GetWideColorSupport"
Bug: 29940137

Change-Id: I618c300b1882d2ebd7474586d72f4d469e2d41bf
ui/tests/Android.bp
ui/tests/Surface_test.cpp
25715517db7e056c0ebd71ecc0debf37c7d2b271 28-Mar-2017 Howard Chen <howardsoc@google.com> Support halt the trace when schd-dbg hit deadline

Usage:

start atrace as usual:
>atrace --async_start sched freq ...

then use schd-dbg with -trace arguments
./schd-dbg -trace -deadline_us 2500

This makes schd-dbg to stop trace once it detects a transaction
duration over the deadline. By writing '0' to
/sys/kernel/debug/tracing and halt the process. The tracelog is
then available on /sys/kernel/debug/trace

Bug: b/36669012
Test: sailfish with prebuilt kernel
Change-Id: I9f81109cd22705f070f3f78ddf3539b8fa1f9973
(cherry picked from commit f682b13716006d0f41c13a26e34f3592ff28d1cc)
inder/tests/schd-dbg.cpp
a44b9f94aa53e69ccbfb86a35b13872b6faf8e52 03-Apr-2017 Corey Tabaka <eieio@google.com> libpdx: Decay variant types to correctly handle cv-reference types.

Decay the types used internally for storage in Variant and update
type matching logic to handle the decayed types.

Bug: 36401174
Test: build; pdx_tests passes.
Change-Id: I93c68cce47d6f7d195b901afe3e63685befc08fe
r/libpdx/private/pdx/rpc/variant.h
r/libpdx/variant_tests.cpp
f6b5b93708333bf7ac746fa75f78d4b2acdf89c2 28-Mar-2017 Corey Tabaka <eieio@google.com> libpdx: Fix forward declarations using default template args.

The default expression for the template argument should be part of
the forward declaration rather than the defintion to properly resolve
overloads with nested types that use Serializable.

Bug: 36401174
Test: build; run pdx tests
Change-Id: I520750cdd86bc3141084fbe62412e13635fc7d7b
r/libpdx/private/pdx/rpc/serialization.h
2655e1cd5498749381701aa1fa7f29c66364a7ef 04-Apr-2017 Corey Tabaka <eieio@google.com> Add additional accessors to IonBuffer and BufferHubBuffer.

- Add accessor to underlying GraphicBuffer in IonBuffer.
- Add const accessors to underlying IonBuffer(s) in BufferHubBuffer.

Bug: 36401174
Test: bufferhub_tests; buffer_hub_queue-test
Change-Id: I24a6c19b141bb50ffa06e861a4533e10d55b5b20
r/libbufferhub/include/private/dvr/buffer_hub_client.h
r/libbufferhub/include/private/dvr/ion_buffer.h
1db8a5d7e3b0565b976e77859e28d77f6a451a2b 22-Mar-2017 Corey Tabaka <eieio@google.com> Update BufferHubQueue in preparation for VrFlinger refactor.

- Expose buffer hub queue id to the client. This helpful as an id
in queue enumeration in the DisplayManager API.
- Address log convention deviations.
- Clean up BufferHub service error paths.
- Clean up queue importing logic to query the service for queue
parameters to avoid accidental abuse.
- Make spawning consumer queues more efficient in RPC only cases.
- Clean up ConsumerQueue constructor logic; move to pdx::Client
base class (through BufferHubQueue) instead of pdx::ClientBase.
ConsumerQueue::Create doesn't make sense as a ConsumerQueue can
only be created from another queue.

Bug: 36401174
Test: build; run buffer_hub_queue-test
Change-Id: I0530f64ecb514d0f37bb13f9ce201b6ff51502b6
r/libbufferhub/include/private/dvr/bufferhub_rpc.h
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/tests/buffer_hub_queue-test.cpp
r/libdisplay/display_client.cpp
r/libdisplay/video_mesh_surface_client.cpp
3e85cbed6a61f6022b2a9f5972d9e2faa3c1345b 30-Mar-2017 Jaesoo Lee <jaesoo@google.com> import configstore-utils as a shared library.

android.hardware.configstore-utils is now built as a shared library.

Bug: 36275627
Test: Built and check the boot log messages
Change-Id: I83ccebcad8005f39ca8534477d7cd3f69a2041aa
ui/Android.bp
d934111402840dceca21d0d491014d5692f02b7c 05-Apr-2017 Mathias Agopian <mathias@google.com> Merge "Remove useless GraphicBuffer() constructor" into oc-dev
960bcfffefa76d535c5aecd303d755be3fbc59f1 05-Apr-2017 Jiwen 'Steve' Cai <jwcai@google.com> dvr_api GetExternalSurface returns ANativeWindow

Now that we have a public NDK API to convert an ANativeWindow to a Java
Surface, we no longer need to mess with Jni and libandroid_runtime in
libdvr.

See more information at:
http://ag/#/q/topic:ANativeWindow_toSurface+(status:open+OR+status:merged)

Also, as a side effect, we are now free to convert this library to use
Android.bp (though we probably want to hold off for a while).

Bug: 36266201
Test: Built and ran dvr_buffer_queue-test
Change-Id: Ia0f6a8735c7d508195c30e3c7d040791e13a6ce3
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libdvr/Android.mk
r/libdvr/dvr_buffer_queue.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_buffer_queue.h
r/libdvr/tests/Android.mk
r/libdvr/tests/dvr_buffer_queue-test.cpp
c8ca12ae35708b94583c956fbb81918696f0c313 29-Mar-2017 Dan Stoza <stoza@google.com> libgui: Make IConsumerListener a SafeInterface

Converts IConsumerListener to be a SafeInterface such that all
parceling/unparceling is done automatically.

Test: libgui_tests + manual testing
Change-Id: I1ed97f9802e320662cd29e181539ce839ffe0f3f
ui/IConsumerListener.cpp
d8339d96577a08bc90d0b2a4b7bc57b38aeeca4e 28-Mar-2017 Dan Stoza <stoza@google.com> libgui: Format IConsumerListener

Applies the framework default .clang-format and does a bit of tidying
up (reflowing comments to 100 characters, reordering includes, etc.).

Test: libgui_tests + manual testing
Change-Id: I324493551bca5a6c6a011cbe773021236e11e992
ui/IConsumerListener.cpp
df614ae850b0b277030f94fd32062d45e723f91b 29-Mar-2017 Dan Stoza <stoza@google.com> libbinder: Support Flattenable in SafeInterface

Adds support for sending and receiving Flattenable parameters as part
of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: I5c84d6f27ac1f8c7ad37210e836f390e02b92959
inder/include/binder/SafeInterface.h
inder/tests/binderSafeInterfaceTest.cpp
29ae6e3bcda8838800f4a5bc3d20c6603a5cb2a2 04-Apr-2017 Dan Stoza <stoza@google.com> libgui: Fix naming/enums in ISurfaceComposerClient

Moves the Tag enum out of the ISurfaceComposerClient header and into an
anonymous namespace in the .cpp file, changes it to UPPER_UNDERSCORE
naming, and makes its LAST entry actually point to the last value.

Test: m -j + manual testing
Change-Id: I73deaa446a87709548c2069c3a1f29605967ab97
ui/ISurfaceComposerClient.cpp
2d45cf2a4062992429f28b1c4fc1c8a224138321 04-Apr-2017 Mathias Agopian <mathias@google.com> Merge "fix race condition that can cause a use after free" into oc-dev
f543e5a7110868647e6dc16788b72ad7de80fa38 04-Apr-2017 Mathias Agopian <mathias@google.com> Remove useless GraphicBuffer() constructor

Test: compiled & run
Bug: 36869708


Change-Id: I83d80a1cde28671135b7716a434c503aeefcec46
ui/tests/CpuConsumer_test.cpp
ui/tests/FillBuffer.cpp
ui/tests/SurfaceTextureFBO_test.cpp
ui/tests/SurfaceTextureGL_test.cpp
i/GraphicBuffer.cpp
8e5deb6b96ea40a5408ec723f69b0c8951cff47d 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Harden BufferHubQueueProducerTest" into oc-dev
4f6ce7c7b839da76c1542b41816764e05413af99 04-Apr-2017 Mathias Agopian <mathias@google.com> fix race condition that can cause a use after free

Bug: 33004354
Test: manual
Change-Id: I9b38ee644b02268c9b995a330db758aa2e568399
ui/BufferQueueProducer.cpp
dd5c5cb3b8f3df9b458dff74e247b9a542befee7 17-Mar-2017 Peng Xu <pengxu@google.com> Set sensor operation parameter implementation

Set operation parameter to sensor HAL. Possible paramters include
local geomagnetic field, local gravity acceleration, device dock
state, whether device should run in high performance mode, and
if a magnetic field calibration guide is in progress.

Bug: 30958130
Test: Tested with marlin. Modified hal implementation can get local
geomagnetic field.

Change-Id: Idaedd9e616d01383ba244cc64cf3e319ce02191f
ensor/ISensorServer.cpp
ensor/SensorManager.cpp
ensor/include/sensor/ISensorServer.h
ensor/include/sensor/SensorManager.h
b13d4773ae9b6fc082c0ed857b3e0b7d7db59b8b 31-Mar-2017 Okan Arikan <okana@google.com> Fix pose predictor jank.

There were two issues:
- A math error in angular velocity computation.
This has unit tests and they were failing.
Need to make sure these units tests get executed.

- There is an inherent sensor latency that we need to account for.

Bug: 36693596, 36196200
Test: Run VrHome, see less hanky result.
Change-Id: Ifcf191f16de9ee64aa14bcbb74c9126db18ebaa8
r/libposepredictor/include/polynomial_predictor.h
r/libposepredictor/predictor.cpp
r/libvrsensor/Android.bp
r/libvrsensor/include/private/dvr/latency_model.h
r/libvrsensor/latency_model.cpp
c428826fdf6208da698fbdb1d49d0b51bfb924b6 04-Apr-2017 Chia-I Wu <olv@google.com> Merge "libui: clean up GraphicBuffer interface" into oc-dev
5ce4bb2cbe132470bd87675e7511aedc7eda2bfd 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "VR: Move VR HWC DVR API to libdvr" into oc-dev
93e3900ad316610072ff61bc6c4df904dd5f7d7e 04-Apr-2017 Alex Vakulenko <avakulenko@google.com> Merge "pdx: Rework error reporting when transfering file and channel handles" into oc-dev
95a99a1d3cdbd19343d0d27271098c9c01a63e78 21-Mar-2017 Daniel Nicoara <dnicoara@google.com> VR: Remove HIDL VR Composer from service/vr/vr_window_manager

Moved into frameworks/hardware/interfaces

Bug: 35570958
Test: Compiled and ran on device
Change-Id: I735096935a06e4dd6a8fc1d719c73ad11e9c1583
r/libvrflinger/Android.bp
37cdc8d0b9803e0c3dc17640534b74cd45fa4bd8 27-Mar-2017 Daniel Nicoara <dnicoara@google.com> VR: Move VR HWC DVR API to libdvr

Moved VR HWC API into a common API library.

Bug: 36050795
Test: Compiled
Change-Id: I1af32f4dedb7a6d4bb77a18d3c48cfbc8ea00a66
(cherry picked from commit 3d3fb3960f9c3956074496fd7fa1beb230ac1043)
r/libdvr/Android.mk
r/libdvr/dvr_api.cpp
r/libdvr/dvr_hardware_composer_client.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_hardware_composer_client.h
r/libdvr/include/dvr/dvr_hardware_composer_defs.h
2d3349c9aae4843d4eaabc9a6bf2dd179697488f 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'sensors_framework_hal' into oc-dev

* changes:
android.frameworks.sensorservice@1.0: make classes final
android.frameworks.sensorservice@1.0: ashmem direct channel check sizes.
android.frameworks.sensorservice@1.0: fix configureDirectChannel return positive integer.
Implement android.frameworks.sensorservice@1.0::IEventQueue.
Renamed HIDL SensorManager::mManager -> mInternalManager.
95c7a0636763c0861d46425709befe90a3919c04 29-Mar-2017 Yifan Hong <elsk@google.com> Implement android.frameworks.sensorservice@1.0::IEventQueue.

Test: pass
Bug: 35219747
Change-Id: I52ddd64db500c23db22768fc0603bce0cc14f8c6
ensor/include/sensor/SensorEventQueue.h
31ee0e6a6aa2e5f872a3af69f2a80af44fe69539 04-Apr-2017 Mathias Agopian <mathias@google.com> Merge "Add VNDK API to access AHardwareBuffer from ANativeWindowBuffer" into oc-dev
0860434b11f60cfa8fa0f46f58e69f6ae3ed1d0b 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Surface: add getRemovedBuffer API" into oc-dev
f0a7bd033941e26e380232a0515e903cf8e678e5 01-Apr-2017 Alex Vakulenko <avakulenko@google.com> pdx: Rework error reporting when transfering file and channel handles

There is a lot of confusion about reporting errors when passing file
and channel handles over PDX transport between client and service.

Methods like Message::PushFileHandle return an integer which means
both a file handle reference value (if positive) and a possible error
code (if negative). But file handles could contain negative values too
(when they are empty). This is used frequently when passing buffer
fences around (when a fence is not being used, its fd is set to -1).

This results in a special case of when PushFileHandle is called with
a file handle with value of -1, the return value is actually "-errno"
which becomes dependent on a global state (errno is not set by
PushFileHandle itself in case file handle value is negative) and results
in unpredicted behavior (sometimes errno is 0, sometimes its >0).

Cleaned this all up by using Status<T> everywhere we used an int to
pass value payload along with possible error code.

Now the semantics of the calls are more clear.

Bug: 36866492
Test: `m -j32` for sailfish-eng succeeds
Ran unit tests on device (pdx_tests, libpdx_uds_tests, bufferhub_tests,
buffer_hub_queue-test, buffer_hub_queue_producer-test), all pass
Ran CubeSea, NativeTreasureHunt and Ithaca on Sailfish with vrflinger
enabled, was able to use controller and screen rendered correctly.

Change-Id: I0f40c3f356fcba8bc217d5219a0ddf9685e57fd7
r/libpdx/client.cpp
r/libpdx/client_tests.cpp
r/libpdx/errno_guard.h
r/libpdx/private/pdx/client.h
r/libpdx/private/pdx/message_writer.h
r/libpdx/private/pdx/mock_message_writer.h
r/libpdx/private/pdx/mock_service_endpoint.h
r/libpdx/private/pdx/rpc/remote_method.h
r/libpdx/private/pdx/rpc/serialization.h
r/libpdx/private/pdx/service.h
r/libpdx/private/pdx/service_endpoint.h
r/libpdx/private/pdx/status.h
r/libpdx/private/pdx/utility.h
r/libpdx/service.cpp
r/libpdx/service_tests.cpp
r/libpdx_default_transport/pdx_benchmarks.cpp
r/libpdx_uds/Android.bp
r/libpdx_uds/ipc_helper.cpp
r/libpdx_uds/private/uds/ipc_helper.h
r/libpdx_uds/private/uds/service_endpoint.h
r/libpdx_uds/remote_method_tests.cpp
r/libpdx_uds/service_endpoint.cpp
r/libpdx_uds/service_framework_tests.cpp
r/libvrflinger/display_manager_service.cpp
r/libvrflinger/display_manager_service.h
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/display_surface.cpp
r/libvrflinger/display_surface.h
r/libvrflinger/screenshot_service.cpp
r/libvrflinger/screenshot_service.h
r/libvrflinger/surface_channel.cpp
r/libvrflinger/surface_channel.h
r/libvrflinger/video_mesh_surface.cpp
r/libvrflinger/video_mesh_surface.h
r/libvrflinger/vsync_service.cpp
r/libvrflinger/vsync_service.h
b2a1ac9ee40ee4196bd6944828f04e6f3575c0ee 04-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Use gralloc1 usage in AHardwareBuffer_describe" into oc-dev
453effd1f144fb5a6ae89a7c377d20a845c49080 04-Apr-2017 Mathias Agopian <mathias@google.com> Add VNDK API to access AHardwareBuffer from ANativeWindowBuffer

this is to allow vendors to use AHardwareBuffer’s
lock/unlock on buffer dequeued from an
ANativeWindow.

Test: compiled
Bug: 36866217
Change-Id: If630105572ae0e57f6fda19c13e82150f415ed6b
ativewindow/ANativeWindow.cpp
ativewindow/include/vndk/window.h
e572fd7b6262389e89cc23d9eb25129394698eb8 29-Mar-2017 Yin-Chia Yeh <yinchiayeh@google.com> Surface: add getRemovedBuffer API

This allows clients to optionally sign up to track
buffers going out of Surface.

Test: compile
Bug: 34461678
Change-Id: I8696b304c169099c872bd9ba783015c0f0dad73a
ui/Surface.cpp
1601bcfa9cdc07cea8f5980349608e1526690db5 24-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Harden BufferHubQueueProducerTest

This is a test that covers our implementation of bufferhubqueue-based
IGraphicBufferProducer, which eventually enables VrCore/VrFlinger to
access buffers produced from other Android compontents. Note that the
gtest itself is a (slightly) modified version of
IGraphicBufferProducer_test.cpp.

This also improves BufferHubQueue in the following way to support more
features of android::BufferQueue.
1/ Supports more buffer queue parameters that we query.
2/ BufferHubQueue (the PDX client) now supports default width, height,
and format configuration.
3/ Change default max_dequeue_buffer_count to 1 (which is the same
behavior current android::BufferQueue adopts).
4/ Fill in |QueueBufferOutput| during |enqueueBuffer|.

Bug: 34197998
Bug: 36266201
Test: build and run buffer_hub_queue_producer-test
Change-Id: I9d3e8bb66dbfb66e67ab7b0e5093e49a3f374e9c
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_core.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_producer.h
r/libbufferhubqueue/tests/buffer_hub_queue_producer-test.cpp
b42f171a5a76985fde2689d90fd6d2d7e4920564 21-Mar-2017 Chia-I Wu <olv@google.com> libui: clean up GraphicBuffer interface

Other than transferring the ownership, some callers want to control
whether to register or to clone the handle when creating a
GraphicBuffer from a handle. Add a new constructor with
HandleWrapMethod for finer controls, to replace the one that has
only a boolean, keepOwnership.

The motivation is to enable users to construct GraphicBuffer without
fighting with GraphicBufferMapper::registerBuffer first. More
generally, GraphicBufferMapper::{registerBuffer,unregisterBuffer} is
tricky to use correctly. They should really be considered private
by most.

While at it, deprecate constructors that do not distinguish
producer/consumer usage. It turns out GraphicBuffer is used by some
proprietary libraries. I have to maintain the ABI and cannot remove
the deprecated constructors.

Bug: 36355756
Test: boots
Change-Id: Ieea618d8495f06a6233299d076fb821127cd6bf8
i/GraphicBuffer.cpp
r/libbufferhub/ion_buffer.cpp
041e0ad6545eb8bf4a6e3cfba655baaadc4d7bda 02-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[libadapter] Fix nullpointer in acceptchanges" into oc-dev
06d5e3590eb23144dd9de567663633160ba39302 31-Mar-2017 Fabien Sanglard <sanglardf@google.com> [libadapter] Fix nullpointer in acceptchanges

Check the layer still exists upon accepting changes.

Bug: 36205238
Test: AUPT
Change-Id: I8443265ecc7b8b0a12347439fd75b138d14c7e3a
wc2on1adapter/HWC2On1Adapter.cpp
723c48987209c93a902c29a858880b4fe340509d 30-Mar-2017 Yin-Chia Yeh <yinchiayeh@google.com> DO NOT MERGE: ConsumerBase: call freeBufferLocked when a slot is overwritten

Cherrypicked from master.

Test: the CL + camera service side fix pass ReprocessCaptureTest
Bug: 34461678
Change-Id: Ia7863321bcb46cba53532fc1570c5facd9280aaa
ui/ConsumerBase.cpp
3ff772317b108a78f6eee42ad8fe932553f5d9d8 01-Apr-2017 Jiwen 'Steve' Cai <jwcai@google.com> Use gralloc1 usage in AHardwareBuffer_describe

GraphicBuffer->getUsage() reports gralloc0 usage bits, convert it to
gralloc1 usage first then to AHardwareBuffer bits.

Bug: 35114769
Test: AImageReaderCts now passes with CPU_READ_OFTEN case.
Change-Id: Id461d9f9e98ccc1db8c4b4da79c61b9aedb417bf
ativewindow/AHardwareBuffer.cpp
a1336cf0decf0bafeae874dfcb1521339165a9b9 31-Mar-2017 Alex Vakulenko <avakulenko@google.com> libbufferhub: Fix compiler warning with printf format mismatch

std::vector<bool>::at() does not return bool& but a special reference
proxy class. Passing this class on the stack for "%d" printf specifier
is unsafe.

Compiler throws a warning to indicate this problem:

format specifies type 'int' but the argument has type 'reference'
(aka '__bit_reference<std::__1::vector<bool, std::__1::allocator<bool>>>')

Fixed by explicitly casting to int before pushing the value onto the stack.

Bug: None
Test: `m -j32` = no more warning
Change-Id: I7b3bc4908e4932c25be60fc350e0e0b439842b66
r/libbufferhubqueue/buffer_hub_queue_client.cpp
4782814b340bb55a0fbff9f7b6cfd4d27cffd85a 24-Mar-2017 Alex Vakulenko <avakulenko@google.com> libpdx_uds: Improve client connection logic

Handle the case where the service created a socket file but not bound the
socket to it, or not listening for incoming requests yet. Also, if the service
has crashed and left the socket file behind, need to make sure we reconnect
once the service is restarted.

Bug: None
Test: `m -j32` succeeds, device boots and CubeSea app works on Sailfish
Change-Id: I2039cfca6faccd5d1d4b725e454075669484b880
(cherry picked from commit d074fc416a7a90e76a0b28a870080c1dd30079a1)
r/libpdx_uds/client_channel_factory.cpp
734c7ec57e15f53a4001b8df2b45fa9700ef984c 30-Mar-2017 Alex Vakulenko <avakulenko@google.com> libbufferhubqueue: Fix syntax in Android.bp

There was a spelling mistake for cflags property of libbufferhub
cc_library object.

Bug: None
Test: `m -j32` succeeds
Change-Id: I862c2266d86586469dc7299bf727f75bb3df6512
(cherry picked from commit 66fd7cb0f3b1a70121fb223b27a51f06534ebc46)
r/libbufferhubqueue/Android.bp
befdb0ec8cf37173baca1c2ed9924d414ed5fadf 30-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "fix the api style" into oc-dev
9255e3ea9b8acae7d34a9cbe58d9e598b71bfe8e 30-Mar-2017 Hendrik Wagenaar <hendrikw@google.com> fix the api style

google3 c++ style says "no _ on struct members"

Happy to oblige

Bug: None
Test: Compiled
Change-Id: I74b65908339551b703125fe16e5a6d11cd3e9a89
r/libdvr/dvr_api.cpp
r/libdvr/include/dvr/dvr_api.h
cae605cd5668f8107e340ad8a672c7f034147401 29-Mar-2017 Robert Carr <racarr@google.com> Fix seamless rotation with SurfaceView WM bypass.

First a brief review on seamless rotation. In seamless rotation
the WM will do the following atomically:

1. Update the display transform.
2. Set window transforms to make the surfaces at their old size appear
at the correct location in the new coordinate space.
3. Set a flag to undo the transforms when the surfaces resize.

However, windows with NATIVE_WINDOW_TRANSFORM_DISPLAY needed to be special cased.
The flag will perform step 2 in terms of buffer mapping, but not in terms of bounds
computation. So to compensate the WM would apply the transform to the bounds,
set these bounds, and then skip applying the transform matrix (as the buffer is
transformed by the flag).

Now that the WM can't see the Camera view, it can't implement this special logic
and the Camera view inherits the parent transform. We compensate for this in
SurfaceFlinger by omitting parent rotation transform components for
Surfaces with NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY. To some extent this
breaks arbitrary rotation for surfaces with NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY
but this is essentially ok:

1. We lived with that bug until N-MR1
2. We fixed it in N-MR1 because the camera was falling back to ROTATE
a lot which shouldn't be happening anymore, following introduction
of specifying rotation animation in manifest.

Test: Rotate camera, disable HWC, rotate camera some more. Switch to front camera, repeat.
Bug: 36230754
Bug: 36727915
Change-Id: Ied390c9cb3968fcce32a84ee7947f699746fdc81
ui/ISurfaceComposerClient.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
a615e47ef0ebdf6ab666dbc4c51df33ed11ff00a 23-Mar-2017 Dan Stoza <stoza@google.com> libgui: Make ISurfaceComposerClient a SafeInterface

Converts ISurfaceComposerClient (specifically its Bp/Bn children) to be
SafeInterfaces such that all parceling/unparceling is done
automatically.

Test: Manual testing
Change-Id: Ie5eee51fc893b0e4d7c3b498fe756306f9a029b5
ui/ISurfaceComposerClient.cpp
d630e520de9ff4bc50723a7e8f91b6d9be27db1c 02-Dec-2016 Dan Stoza <stoza@google.com> libbinder: Add SafeInterface

Adds SafeInterface, a mechanism which will automatically translate
IInterface method calls into remote procedure calls, avoiding the need
to manually write parceling and unparceling code for each method.

Test: binderSafeInterfaceTest
Change-Id: I0fc7a6eee5528371f40b90d056404cb024166b23
inder/Android.bp
inder/include/binder/SafeInterface.h
inder/tests/Android.bp
inder/tests/binderSafeInterfaceTest.cpp
0e7305cb0ab3787cd4767aa3c57d6842ac351663 30-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "vndk/window.h must be C compatible" into oc-dev
0e95cad418cff706743f98c1ac649d3378ab0b34 30-Mar-2017 Mathias Agopian <mathias@google.com> vndk/window.h must be C compatible

Test: added a c compatibility test
Bug: 36725813
Change-Id: Ic7e1c8b50e1818707a9a457d84ed74e7e6c816c8
ativewindow/include/vndk/window.h
ativewindow/tests/Android.bp
ativewindow/tests/c_compatibility.c
74cf084cab653537e89f46b90344b3133a94b3a3 24-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Add basic dvrSurface C API

Test: Build and flash system
Bug: 36563654
Change-Id: Id6c79d33d80e719b1d1d7f43aec99aadfad40c03
r/libdvr/dvr_api.cpp
r/libdvr/dvr_surface.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_surface.h
84d90f316c01aadd1e6e0acbc94d51be24ec211f 29-Mar-2017 Hendrik Wagenaar <hendrikw@google.com> Make sure dvr functions are prepended with dvr

* Fix some inconsistencies

Bug: None
Test: Compiled
Change-Id: I9d67d2335f543700bd1a90d329e4b155f4c22c69
r/libdvr/include/dvr/dvr_api.h
9d7bbd804585b81f768ce0c617fb05cbe95620b0 29-Mar-2017 Jiwen Cai <jiwen@google.com> Merge "Return jobject when getting android Java Surface" into oc-dev
19ef01c88daa165279c3555fe35d896e8b6336a5 29-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Return jobject when getting android Java Surface

This logic is originally borrowed from similar API from shim_gvr API
where we cannot explicity deps on JNI.h in the public header. This
constrain no longer exists as libdvr is an Android platform library.

Bug: 2013449
Test: Built libdvr
Change-Id: Ide72f5fb706cd24e13507749216d7708f1f40fcc
r/libdvr/dvr_buffer_queue.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_buffer_queue.h
7992781a574b1c52a203e9271772da16f0f06812 23-Mar-2017 Jesse Hall <jessehall@google.com> Use gralloc usage conversion library

Converting from ..graphics.allocator@2.0 usage to gralloc0 usage isn't
quite as simple as ORing and truncating, which is what the default
implementation was doing. Switch to using library functions that do it
correctly.

Test: boot bullhead
Change-Id: Ibe644b53655e191b9bca9d619825a8918e8fc365
ativewindow/ANativeWindow.cpp
ativewindow/Android.bp
i/Android.bp
i/Gralloc1On0Adapter.cpp
i/GraphicBuffer.cpp
47df7e3817badac69c6a875d6c230f930bf73b47 24-Mar-2017 Jaesoo Lee <jaesoo@google.com> fixed bug undefining LIKELY/UNLIKELY in math lib

Bug: 36275627
Test: Built and check the surfaceflinger compiled

Change-Id: I062b8c0db540443635ac746824edb295190235d0
ath/include/math/TMatHelpers.h
ath/include/math/half.h
52cf6370da5616fc43e95866df08d6ee95e0314f 28-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Disable BufferQueueInAnotherProcess test"
06a213aa312b1d0f1bc95e671ba4a0bdf91a4de0 28-Mar-2017 Mathias Agopian <mathias@google.com> Merge changes Iad7bf035,I870e08c6

* changes:
VNDK ANativeWindow API - step 2
VNDK ANativeWindow API
88752d7f1a13a425c59c429f0986f6f899b7826b 27-Mar-2017 Kalle Raita <kraita@google.com> Disable BufferQueueInAnotherProcess test

The BufferQueueInAnotherProcess relies on executing before any test that
tries to open a BufferQueue in the local process. A recent test addition
broke the condition. Upcoming SF & BQ changes are likely to obsolete the
test, so won't spend time on fixing it. Disabling for now and the test
will be removed when the infrastructure changes land.

Test: libgui_test
Bug: 36592665
Change-Id: I648e197cab6bab3aed445390069265589a717bf1
ui/tests/BufferQueue_test.cpp
d3391322f817a4060956bb0622e68ab2c6061a83 27-Mar-2017 Jiwen Cai <jiwen@google.com> Merge changes from topic 'libdvr'

* changes:
Add dvr_buffer_queue C API
Move DVR platform C API into libdvr
000879a0eb2156727a2221e42d04b6f3e150aa79 21-Mar-2017 Mathias Agopian <mathias@google.com> VNDK ANativeWindow API - step 2

The vndk API is a superset of the NDK API.
Prior to this, vendor would have access to
system/window.h which itself is a superset of
what they need, exposes too much of the internals.

With this change, system/window.h depends on
vndk/window.h which depends on
android/native_window.h

Test: compiled, booted Nexus 6P
Bug: 34453351
Change-Id: Iad7bf035143541843309437fe630cc603d96a76e
ativewindow/AHardwareBuffer.cpp
ativewindow/ANativeWindow.cpp
ativewindow/include/android/hardware_buffer.h
ativewindow/include/android/native_window.h
ativewindow/include/system/window.h
ativewindow/include/vndk/window.h
a6c0e20ac89b1be29901a7200590bf7cb8b99f78 20-Mar-2017 Mathias Agopian <mathias@google.com> VNDK ANativeWindow API

The vndk API is a superset of the NDK API.
Prior to this, vendor would have access to
system/window.h which itself is a superset of
what they need, exposes too much of the internals.

With this change, system/window.h depends on
vndk/window.h which depends on
android/native_window.h

Test: compiled, booted Nexus 6P
Bug: 34453351
Change-Id: I870e08c652d90b3f2cf4ed7c7ca541ce2893f689
ativewindow/include/system/window.h
ativewindow/include/vndk/window.h
3911a5e25ea4a0858916ceeb0856ab65921a0d07 27-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update native ColorSpace API for libhwui"
982cf471dcdcda1f29ad0928864d18f8e5243446 27-Mar-2017 Romain Guy <romainguy@google.com> Update native ColorSpace API for libhwui

Test: colorspace_test
Bug: 32984164
Change-Id: Id0728bfa90192173eb45c2d26a8b81ce970398d7
i/ColorSpace.cpp
i/tests/colorspace_test.cpp
c135dbcace640473035b613bce3460048b4d94cd 25-Mar-2017 Howard Chen <howardsoc@google.com> This test is used to check if the kernel scheduler

1. supports priority inheritance.
2. utilize the sync flag.

It also make statistic on average, best and worst latency
as well as number of deadline miss with a configurable
deadline specified in us.

The output is in json format hopefully to make it easy
to integrated with present test framework.

usage:

./schd-dbg # test and output json
./schd-dbg -i 1 # number of iterations
./schd-dbg -pair 4 # number of process pairs
./schd-dbg -deadline_us 2500 # deadline in us
./schd-dbg -v # debug

Test: pixel
Change-Id: Idccf0d402dcd7b81c639020364b5ee32075e18cb
inder/tests/Android.bp
inder/tests/schd-dbg.cpp
41dc32858bfaa14ea3eea9c2828f6183ac5e7048 24-Mar-2017 John Muir <muirj@google.com> libdvrcommon: Remove revision code.

Move revision to libdvrplatform.

Bug: 36040117
Test: N/A.
Change-Id: I3f70509f9a694383bd7eb94173d5230bd8c66e51
r/libdvrcommon/Android.bp
r/libdvrcommon/include/private/dvr/revision.h
r/libdvrcommon/revision.cpp
r/libdvrcommon/revision_path.cpp
r/libdvrcommon/revision_path.h
r/libdvrcommon/tests/revision_app_tests.cpp
r/libdvrcommon/tests/revision_tests.cpp
b178d3d244f9a168992fbbd79f17ccf7fe93e6bb 24-Mar-2017 Alex Vakulenko <avakulenko@google.com> Merge "Revert "Quick fix to correctly handle empty file/channel handles.""
2d82ceb8dc1bc9066bd5ad98ee0926289cb0b7cc 23-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Add dvr_buffer_queue C API

Bug: 36401767
Bug: 32213274
Bug: 36266201
Test: build and ran dvr_buffer_queue-test
Change-Id: Icd8d063bd8b7adb15bf67f7e543b87dad1c32a68
r/libbufferhubqueue/Android.bp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/tests/Android.bp
r/libdvr/Android.mk
r/libdvr/dvr_api.cpp
r/libdvr/dvr_buffer.cpp
r/libdvr/dvr_buffer_queue.cpp
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_buffer.h
r/libdvr/include/dvr/dvr_buffer_queue.h
r/libdvr/tests/Android.mk
r/libdvr/tests/dvr_buffer_queue-test.cpp
bdcee79b0d7e87cb48049907a7ba8201d0288f75 23-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Move DVR platform C API into libdvr

Introduce a new static library build with Android.mk. The reasoning
behind this is:
1/ This library is going to consolidate all C headers and implementation
of the DVR platform library.
2/ No other internal system components need to depend on this library.
3/ This library is build with Android.mk so that it has depend on other
system components (such as libandroid_runtime) without worrying about
that Android.bp-based libs cannot depent and Androib.mk-based libraries.
4/ This library defines dvr_api.h header as the official definition of
DVR platform library headers. The header is moved from
'vendor/unbundled_google/packages/PrebuiltGoogleVr', which is not an
ideal place to hold the platform library anyway.
5/ If we ever decide to move these C wrappers out of frameworks/native,
this makes it easier to do so by bundling things now.

TODO: C APIs from libvrsensor and libvirtualtouchpadclient are not moved
into this bundle as some functions are still used by internal system
components. Ideally, these will be moved either to Google3 or vendor projects.

Test: Built and flash
Bug: 36563654
Change-Id: Ie5ce89faa70f86ac934a77d8f7d4fca7e94112ee
r/libbufferhub/Android.bp
r/libbufferhub/dvr_buffer.cpp
r/libbufferhub/include/private/dvr/dvr_buffer.h
r/libdisplay/Android.bp
r/libdisplay/display_manager_client.cpp
r/libdisplay/graphics.cpp
r/libdisplay/include/dvr/graphics.h
r/libdisplay/include/private/dvr/display_manager_client.h
r/libdisplay/include/private/dvr/vsync_client.h
r/libdisplay/include/private/dvr/vsync_client_api.h
r/libdisplay/vsync_client_api.cpp
r/libdvr/Android.mk
r/libdvr/display_manager_client.cpp
r/libdvr/dvr_api.cpp
r/libdvr/dvr_buffer.cpp
r/libdvr/dvr_surface.cpp
r/libdvr/include/CPPLINT.cfg
r/libdvr/include/dvr/display_manager_client.h
r/libdvr/include/dvr/dvr_api.h
r/libdvr/include/dvr/dvr_buffer.h
r/libdvr/include/dvr/dvr_surface.h
r/libdvr/include/dvr/vsync_client_api.h
r/libdvr/vsync_client_api.cpp
f8955e51fc1f77b056ecc8d9a4a0c4e0776858cb 24-Mar-2017 Alex Vakulenko <avakulenko@google.com> Revert "Quick fix to correctly handle empty file/channel handles."

This reverts commit e71fb7d2ab1118d30c5bec8a85114ac610844dc6.

This CL broke PDX unit tests

Bug: 36587839
Change-Id: I5b3cb857aacff337cb9a268a0415f8398303abe8
r/libpdx/service.cpp
3078ed9ad08e40690281b432ccb5e97c16de2d12 24-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement an API for vrwm to query if the current vr app is active"
b7c8a4bd8131ce18fb4ab4ee986c3b6b1ed27ad5 20-Mar-2017 Albert Chaulk <achaulk@google.com> Implement an API for vrwm to query if the current vr app is active

The API returns if the client_order 0 layer is visible or not. This
aids in 2D app detection

Bug: None
Test: Manual with permissionsgen & calculator

Change-Id: Id988e61a9f93885e93c28ed83ffaffd84f3bdf15
r/libdisplay/display_client.cpp
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
a6c1f92628405b6676962f0decdf357d83db097f 22-Mar-2017 Mark Urbanus <urbanus@google.com> Enable Universal Bandwidth Compression for textures

We removed texture compression for VR display surfaces, which introduced memory
bandwidth issues on some QC platforms.

This patch reintroduces texture compression for QC devices compatible with
both gralloc0/gralloc1 implementations.

Bug: 36370337
Test: Validate VR comes up
Change-Id: Ieaaa56f67522c85913476ed0d8da04f8eedbce63
r/libdisplay/graphics.cpp
r/libdvrcommon/include/private/dvr/platform_defines.h
05f4679d035b8ff8023e75f58b576518b8c3f064 07-Mar-2017 Tim Murray <timmurray@google.com> binder: remove cgroup interactions [ DO NOT MERGE ]

Having binder change cgroups on the fly is too expensive in the common case to be useful.

Test: builds

bug 34825105

Change-Id: Ia692c9d2ab261d852cb2fac8f27d6779d0e2b057
inder/IPCThreadState.cpp
a0c93e1082b8dc96ede753ad200912c7a750891e 17-Mar-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Check board config for wide-color color spaces

Check that board config allows wide-color color
spaces.
Test: make tests in libs/gui/tests/
Test: adb sync
Test: adb shell /data/nativetest/libgui_test/libgui_test --gtest_filter="SurfaceTest.GetWideColorSupport"

bug #35996305

Change-Id: Ia5b8116bc25befb6491e72e67cd8ed3c90ca5698
ui/Android.bp
ui/Surface.cpp
79dd190c159657bff83fb5538235ef2ecc5997da 23-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Quick fix to correctly handle empty file/channel handles."
e889cb26b898ae9add738fe1a2dc78c3aed629ac 23-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx: Remove superfluous DispatchRemoteMethod overloads."
ed72e3eea40bbaa1b7b5040b5f02cc047de4fe39 23-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix BlockUntilVSync() to actually block"
66747c180e456cc762821c61a75a17bee03a4cf9 23-Mar-2017 Steven Thomas <steventhomas@google.com> Fix BlockUntilVSync() to actually block

In my refactoring in ag/2008740 I introduced a regression where blocking
until the next vsync would busy loop instead of actually blocking on an
event on the vsync fd. The problem was I changed the poll() call to
listen for POLLIN in addition to POLLPRI. While waiting for vsync events
we only want to listen for POLLPRI.

Bug: 36495351

Test: Confirmed with debug logs the busy loop bug and that we correctly
block with this patch applied.

Change-Id: Iec4951e014575a5d0ed3cfe3fc20ea91c67edf1b
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
42f9d7438cacb5e62cc78cee53de586839616a19 23-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "BQ: Resend queued buffer handles after disconnect"
7459281f9e1d999281260ff4bbdf3d3e5e0459f5 22-Mar-2017 Martijn Coenen <maco@google.com> Merge changes from topic 'vendorbinder'

* changes:
Add vndservicemanager.
Allow ProcessState to use another binder dev node.
d4c6f9912fa4f9d6a5a2e51672adf27c7a1c8624 21-Mar-2017 Dan Stoza <stoza@google.com> BQ: Resend queued buffer handles after disconnect

When the producer disconnects from a BufferQueue, all of its slots are
cleared and buffers in the queue are marked as stale. When the slots
are cleared, we notify the consumer that buffers were released so that
it can clear its cache of slot-to-buffer mappings.

However, when we were marking queued buffers as stale, we were not
clearing the bit that dictates whether the BQ needs to send a buffer
handle upon acquire, so in the case where the producer queues a buffer
and disconnects, and then the consumer acquires that queued buffer,
the consumer doesn't get the buffer handle, nor can it retrieve it from
its cache, because it has (or should have) already cleared it.

This change clears that bit upon disconnect.

Bug: 36453246
Test: New test in libgui_tests + Vulkan CTS test from bug
Change-Id: Ic27f119a4164878257c3841b4e1d421694159774
ui/BufferQueueCore.cpp
ui/tests/BufferQueue_test.cpp
c13ee942359a0bc5278ff0eddd509ab484df41a0 22-Mar-2017 Jiwen Cai <jiwen@google.com> Merge "Fix janky pose"
e71fb7d2ab1118d30c5bec8a85114ac610844dc6 22-Mar-2017 Corey Tabaka <eieio@google.com> Quick fix to correctly handle empty file/channel handles.

Empty file/channel handles (value < 0) should result in a negative
FileReference/ChannelReference value. The original code incorrectly
interpreted the negative reference value as an error, causing errno
to be returned. In most cases errno is 0, leading to confusion
across the wire when the deserialization logic attempts to lookup an
invalid, but non-empty reference.

Bug: None
Test: bufferhub_tests passes
Change-Id: I664daf3cdc178fe2c4ca0c44eef35a8bb9c7310d
r/libpdx/service.cpp
e15bb2b16c70efa725bb0462e3c3c23cd4461fe2 21-Mar-2017 Corey Tabaka <eieio@google.com> libpdx: Remove superfluous DispatchRemoteMethod overloads.

The introduction of RemoteMethodReturn<>() properly handles the
differences between most of these overloads. Remove the ones that
are now obsolete in favor of the generic version.

Bug: None
Test: make -j30
Change-Id: I23e63431e9f668c324b408707ce65e7d6aee69c8
r/libpdx/private/pdx/rpc/remote_method.h
1455342db3009c21a5c167ba23089505ee8f04c3 21-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Fix janky pose

It's introduced through ag/1980993, where render_buffer_index_ was not
managed after the refactor.

Bug: 36194745
Test: Build and flash, pose is no longer janky.
Change-Id: I6ef86625dbc1c1afd2725614062f5e40e1b7f60a
r/libvrflinger/display_surface.cpp
r/libvrflinger/display_surface.h
f2051aae636cabf29fd3c80b8b60295a70a49ab8 22-Mar-2017 Tim Murray <timmurray@google.com> Merge "binder: remove cgroup interactions" am: c12c6dca4e am: 62f07e540f
am: bcb3d7fd03

Change-Id: I860e9a7565870681f2cf841a7f866b9ca22e3f22
55d871cc09b7493e2b7e5705ea9774fd5f4c626c 21-Mar-2017 Martijn Coenen <maco@google.com> Allow ProcessState to use another binder dev node.

Since we have different binder domains at different
/dev nodes now, processes using libbinder must be able
to select which /dev node they want to use. This is
achieved with a new ProcessState::initWithDriver() API,
which takes the /dev node to talk to as an argument.

Bug: 36052864
Test: system boots without issues
Change-Id: I5b3b13decf254ca0957665c91abac4b287e448c4
inder/ProcessState.cpp
4d8f53906fa71ab3850e0fbdb62573b7b1f90deb 21-Mar-2017 Steven Thomas <steventhomas@google.com> Merge "Revert "Revert "Tie vr flinger to persistent vr mode"""
62f07e540ffa3f350afd375606d5e24d10d8ad7b 21-Mar-2017 Tim Murray <timmurray@google.com> Merge "binder: remove cgroup interactions"
am: c12c6dca4e

Change-Id: I98cba352689749b2f5f4306453985dad83b98ed8
d8ab4396a858a9c929a1bb3cadf7705fb8061574 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "egl: Remove retire event."
050b2c83304bd16ec3a838da08b6ba6acf6a3af4 06-Mar-2017 Steven Thomas <steventhomas@google.com> Revert "Revert "Tie vr flinger to persistent vr mode""

This reverts commit 7480c060cb3466d97ec3125d61bbace153f534c8.

Transfer display control to vr flinger when persistent vr mode is
entered, rather than when vr mode is entered. This allows cardboard
apps, which will invoke vr mode but not persistent vr mode, to work as
in N.

This activates vr flinger at device boot for Daydream ready devices,
which fixes an issue where an app would attempt to create a surface
before vr flinger was running, which would hang indefinitely.

The VrManager listener for persistent vr mode is put in vr flinger
instead of surface flinger. This is cleaner since the vr interaction
with the rest of the device is now consolidated in vr flinger.

While testing I encountered a problem where vr flinger was given control
of the display but vsync was turned off, causing vr flinger's post
thread to hang. I changed the vr flinger logic to give control over
vsync and other display settings to the post thread, and took the
opportunity to further simplify and improve vr flinger's thread
interactions.

Bug: 35885165

Test: Manually confirmed that when persistent vr mode is not invoked we
get the N-based render implementation, and when persistent vr mode is
invoked we get vr flinger.

Change-Id: I3b5ad599cc0748e38b861c714c4cc3118f854acf
r/libdisplay/display_client.cpp
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libvr_manager/vr_manager.cpp
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
r/libvrflinger/include/dvr/vr_flinger.h
r/libvrflinger/vr_flinger.cpp
c06db76e33eac17d74c1ca3e66cfe9ff39ba9dea 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add dvr_buffer apis"
01c02615ade327adecd5d2e0f0b6482f9469a36d 21-Mar-2017 Peng Xu <pengxu@google.com> Merge "Avoid locking global map during waiting for service"
d429f4a2d5cf2db093bb0e35cb651d764d1973c8 07-Mar-2017 Tim Murray <timmurray@google.com> binder: remove cgroup interactions

Having binder change cgroups on the fly is too expensive in the common case to be useful.

Test: builds

bug 34825105

Change-Id: Ia692c9d2ab261d852cb2fac8f27d6779d0e2b057
inder/IPCThreadState.cpp
fb437e4815b379436c9ef25e239aeb8905bda81f 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[libhwc2on1adapter] Fix blueprint warnings"
10e68eb8aa4db8b6f8cfbf2c3754e2677d7bf848 15-Mar-2017 Hendrik Wagenaar <hendrikw@google.com> Add dvr_buffer apis

Test: None
Bug: None
Change-Id: I234d7ef4dabb4453cdbc67d3112adf2ffbbadaf4
r/libbufferhub/Android.bp
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/dvr_buffer.cpp
r/libbufferhub/include/private/dvr/buffer_hub_client.h
r/libbufferhub/include/private/dvr/dvr_buffer.h
r/libdisplay/display_client.cpp
r/libdisplay/display_manager_client.cpp
r/libdisplay/display_manager_client_impl.cpp
r/libdisplay/graphics.cpp
r/libdisplay/include/dvr/graphics.h
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_manager_client.h
r/libdisplay/include/private/dvr/display_manager_client_impl.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libvrflinger/display_manager_service.cpp
r/libvrflinger/display_manager_service.h
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
5b78aa490dfd0ec4f07fca845735082da6a3e8d5 21-Mar-2017 Fabien Sanglard <sanglardf@google.com> [libhwc2on1adapter] Fix blueprint warnings

Change-Id: Ia6e726979ec7b549d9a2ba637b32dd0559869ee7
wc2on1adapter/Android.bp
5bd5dd882be24c6f3d03c321a19c181a39bc8936 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Disable a single failing test, to enable the executable again."
d0b4473208880115d0d1aca5b42ef4ddea049ad3 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libbufferhubqueue: sanitize logs and Android.bp"
e7b702781c61a10dac7650c4d415492f1efd934d 21-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add unit test for onBufferFreedListener"
17353cfb8697811ca5a3906069a577b8dd59ec76 21-Mar-2017 Jin Qian <jinqian@google.com> Merge "Revert "Tie vr flinger to persistent vr mode""
7480c060cb3466d97ec3125d61bbace153f534c8 21-Mar-2017 Jin Qian <jinqian@google.com> Revert "Tie vr flinger to persistent vr mode"

This reverts commit f43d13e4e35ae7d3cdafc4b97c819669d42cef78.

Change-Id: Ib67db8e51b7ea2dbbe6faccce36962bf5b44a6e2
r/libdisplay/display_client.cpp
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libvr_manager/vr_manager.cpp
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
r/libvrflinger/include/dvr/vr_flinger.h
r/libvrflinger/vr_flinger.cpp
081b23bdec2f67f489aa6c3a425c9a50e9d9bd60 21-Mar-2017 Steven Thomas <steventhomas@google.com> Merge "Tie vr flinger to persistent vr mode"
25fd3faa260ad1c92ac57d71af46eb4d73ff277c 20-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> libbufferhubqueue: sanitize logs and Android.bp

1/ Use ALOGD_IF(TRACE, "xxx") and proper clags to enable/display verbose
debugging message.
2/ Make sure that tests targets are visible to Soong.

Bug: 36446316
Test: Built and ran libbufferhubqueue_test, no more spam.
Change-Id: I1b7fc5410dc0c07d8edb6d9cf788e6e5f97afd14
r/libbufferhubqueue/Android.bp
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_consumer.cpp
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
af7b2a1b7eb4452c49255eb8ac186ab842266b35 19-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Add unit test for onBufferFreedListener

As a follow up to cover new functionality introduced in ag/1998938

Bug: 35114769
Test: run libgui_test with --gtest_filter='BufferItemConsumerTest.*'

Change-Id: I461dc88eac84e165f80a1838b63bfd6bb22a56d7
ui/tests/Android.bp
ui/tests/BufferItemConsumer_test.cpp
630913f06cb6bf886ed25b9a7deaf7cd7bed4e30 20-Mar-2017 Gerald Corrigan <jerrycorrigan@google.com> Disable a single failing test, to enable the executable again.

Bug: 36421237
Test: Manual testing. Tests now run.
Change-Id: Ie1e7147246d791eab6bfa799b49ffc0a225aab18
r/libpdx/thread_local_buffer_tests.cpp
d2e0ab3e546bd23dadfc82d0db1b1173b100532f 20-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx_uds: Add tests for Status<T> message handler return types."
b19ab0144a7dbad1b06c46891f0198a7180dc8f0 20-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libpdx: Add support for Status<T> return type from message handlers."
2d6104d1e9327faa8f839307a327db1d45cb777d 20-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix POLLHUP test in libpdx UDS transport tests."
f43d13e4e35ae7d3cdafc4b97c819669d42cef78 06-Mar-2017 Steven Thomas <steventhomas@google.com> Tie vr flinger to persistent vr mode

Transfer display control to vr flinger when persistent vr mode is
entered, rather than when vr mode is entered. This allows cardboard
apps, which will invoke vr mode but not persistent vr mode, to work as
in N.

This activates vr flinger at device boot for Daydream ready devices,
which fixes an issue where an app would attempt to create a surface
before vr flinger was running, which would hang indefinitely.

The VrManager listener for persistent vr mode is put in vr flinger
instead of surface flinger. This is cleaner since the vr interaction
with the rest of the device is now consolidated in vr flinger.

While testing I encountered a problem where vr flinger was given control
of the display but vsync was turned off, causing vr flinger's post
thread to hang. I changed the vr flinger logic to give control over
vsync and other display settings to the post thread, and took the
opportunity to further simplify and improve vr flinger's thread
interactions.

Bug: 35885165

Test: Manually confirmed that when persistent vr mode is not invoked we
get the N-based render implementation, and when persistent vr mode is
invoked we get vr flinger.

Change-Id: Ieeb8dabc19e799e3179e52971f3b63f5a8f54b3b
r/libdisplay/display_client.cpp
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libvr_manager/vr_manager.cpp
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
r/libvrflinger/include/dvr/vr_flinger.h
r/libvrflinger/vr_flinger.cpp
b0ae9c126384b45a9a7a15cf0519ee9a06952db8 19-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Refactor IonBuffer to use GraphicBuffer"
bd73887e91292bbcef46aef0221fdc9e0df67164 18-Mar-2017 Jiwen Cai <jiwen@google.com> Merge "Refactor VrFlinger to use BufferHubQueue"
fe5476a3cc7323f2142c58333984fb98dec50376 18-Mar-2017 Peng Xu <pengxu@google.com> Avoid locking global map during waiting for service

Wait for service before attempting to get a SensorManager object.

Bug: 36389997
Bug: 36404344
Test: system boots, sensors working with sensorlogger test
Change-Id: Ib5d41bc58edb8f6be56f803324a79a99a50da45e
ensor/SensorManager.cpp
ensor/include/sensor/SensorManager.h
1f8fa907745eddeaa0220355a6c115793158e68c 18-Mar-2017 Corey Tabaka <eieio@google.com> libpdx_uds: Add tests for Status<T> message handler return types.

Add basic tests for Status<T> return type from message handler
methods.

Bug: None
Test: Ran libpdx_uds_tests
Change-Id: I200b12e1dad2d6e45be5cdf004c932f8de234bf2
r/libpdx_uds/remote_method_tests.cpp
e19fc9ebfa0c7098ded7463f45bfbdde5ce3e130 18-Mar-2017 Corey Tabaka <eieio@google.com> libpdx: Add support for Status<T> return type from message handlers.

Add support for returning Status<T> from a message handler for a
remote method protocol with return type T. This greatly simplifies
error reporting logic in message handler methods.

Bug: None
Test: mm -j30; tests added to libpdx_uds in a follow up CL
Change-Id: Ib84e1ddc1f1c6a6d57b35ffada06f94a28e8e0cc
r/libpdx/private/pdx/rpc/function_traits.h
r/libpdx/private/pdx/rpc/remote_method.h
r/libpdx/private/pdx/rpc/remote_method_type.h
8c0761fcfe0078c36ab28bab0722276d141a861f 18-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "BufferItemConsumer: Add onBufferFreedListener"
186d77217aaf769ff0a91753971e23bd249afca7 18-Mar-2017 Corey Tabaka <eieio@google.com> Fix POLLHUP test in libpdx UDS transport tests.

UDS channel events require a translation call to determine the real
event mask that was signaled by the service. Add the correct
translation call to fix the test.

Bug: None
Test: build; push libpdx_uds_tests; run libpdx_uds_tests
Change-Id: I18f0a5dcaf7c507d72ed5226df1fe0e2c2e3dd98
r/libpdx_uds/service_framework_tests.cpp
28f9c86b401f0df1b9b3ca526ac96d96dc820e10 18-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[HWC2on1Adapter]: Add support for HWC2_PFN_GET_CLIENT_TARGET_SUPPORT"
757b4ec4b453cd8e58b4d67d8ac79a73a1046bbd 18-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix getFrameTimestamp test flakes."
021d92e6b92a877b9c8a2d17761be8c2251ad7f6 17-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> BufferItemConsumer: Add onBufferFreedListener

This callback can reliably notify its listener when a GraphicBuffer is
being freed at the consumer end of a BufferQueue. This is extremely
useful when user of BufferItemConsumer caches the GraphicBuffer, so they
can listen to this callback and clean up resource properly.

Bug: 35114769
Test: Built system, flash marlin (should have no functional change as
the listener is optional).
Change-Id: I591cfd3ece697b1b4fb3efbeff987c7960422d24
ui/BufferItemConsumer.cpp
9e45be3fa0134b4865686be8b8b6a5752ff555a1 17-Mar-2017 Fabien Sanglard <sanglardf@google.com> [HWC2on1Adapter]: Add support for HWC2_PFN_GET_CLIENT_TARGET_SUPPORT

Test: Ryu, Marlin
Change-Id: I6209c1a4290010b04fedbcb3d30c3a1d56cfb3e9
wc2on1adapter/HWC2On1Adapter.cpp
wc2on1adapter/include/hwc2on1adapter/HWC2On1Adapter.h
9f7506c3c74e54be11c22bc42b95e53e5c855b57 17-Mar-2017 TreeHugger Robot <android-build-prod@system.gserviceaccount.com> Merge "fix remote_method type conversion for channal handles"
4e606e3901b500bdd0f3ea21b8cb63734087bf0a 16-Mar-2017 Brian Anderson <brianderson@google.com> egl: Remove retire event.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: Ibf63d22e42ae52307662107eec50f80de0e703f5
ui/FrameTimestamps.cpp
ui/ISurfaceComposer.cpp
ui/Surface.cpp
ui/tests/Surface_test.cpp
a3613612a1142c3134045f08c30a861ea43288ed 09-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Refactor VrFlinger to use BufferHubQueue

1/ Remove DisplayRPC::AllocateBuffer, as individual buffer allocation
is now handled by BufferHubQueue.
2/ Reimplement native_buffer_queue using bufferhubqueue.
3/ Hook up consumer queue in DisplaySurface.
4/ Remove epoll_event_dispatcher as its no longer being used.

Bug: 36033302
Test: Built and ran particles.apk
Change-Id: I38ee1c57195888ede935ebc50119bcb7e4ab4e36
r/libbufferhubqueue/Android.bp
r/libdisplay/display_client.cpp
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libdisplay/include/private/dvr/native_buffer_queue.h
r/libdisplay/include/private/dvr/video_mesh_surface_client.h
r/libdisplay/native_buffer_queue.cpp
r/libeds/Android.bp
r/libvrflinger/Android.bp
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/display_surface.cpp
r/libvrflinger/display_surface.h
r/libvrflinger/epoll_event_dispatcher.cpp
r/libvrflinger/epoll_event_dispatcher.h
r/libvrflinger/hardware_composer.cpp
r/libvrsensor/Android.bp
86d064c9a5412d7a392e558e82ac18806b4b6bff 17-Mar-2017 Hendrik Wagenaar <hendrikw@google.com> fix remote_method type conversion for channal handles

* Required for upcoming change that mixes borrowed and local
channel handles

Bug: None
Test: None
Change-Id: I2efd874d975913133e89eb596af3cc69e793be6b
r/libpdx/private/pdx/rpc/remote_method.h
62ef044dda0b4b2b4d14b1571d62437ac8325cd7 17-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Expose acquire_fence though ConsumerQueue::Dequeue"
bf927224c2229e319fe0193cffc2486f7ebc7232 17-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove AHARDWAREBUFFER_USAGE0_GPU_CUBEMAP as it has no corresponding bit in gralloc1."
ed6543224138fd753eeea909918bb8d1d2efb1e6 14-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Expose acquire_fence though ConsumerQueue::Dequeue

The current compositor implementation will be refactored to use
BufferHubQueue instead of ad-hoc BufferHub operations. We need this to
expose release_fence to compositor so that it can wait for buffers
to become avaiable by checking fence properly.

Bug: 36033302
Bug: 36148608
Test: Built and ran buffer_hub_queue-test
Change-Id: I75cfcb02e06a4b9e7e89b89690ca2d92ee09a678
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/tests/buffer_hub_queue-test.cpp
r/libvrflinger/video_compositor.cpp
f185378e2d20ec9e5ab0aaa0ad589f34c18fa27d 17-Mar-2017 Craig Donner <cdonner@google.com> Remove AHARDWAREBUFFER_USAGE0_GPU_CUBEMAP as it has no corresponding
bit in gralloc1.

Bug: 34050596
Test: build, non-functional change
Change-Id: I61e46d6035f8477615f23ab245493336e61abbc3
ativewindow/include/android/hardware_buffer.h
8a71b13127f737a46c55ba94d31ba0262e7cbf8a 16-Mar-2017 Mark Urbanus <urbanus@google.com> Refactor IonBuffer to use GraphicBuffer

- Replace gralloc0 based implementation with GraphicBuffer implementation.
- Removed incompatible ion-buffer unit-tests.
- Added libui dependencies to dependants.

Bug: 34879523
Test: Tested on Lucid, validated graphics and poses are working
Change-Id: I49a129f269d54c81bda93b44d879d4b8dee2006a
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/include/private/dvr/ion_buffer.h
r/libbufferhub/ion_buffer.cpp
r/libbufferhub/tests/Android.mk
r/libbufferhub/tests/ion_buffer/Android.mk
r/libbufferhub/tests/ion_buffer/ion_buffer-test.cpp
r/libeds/Android.bp
r/libvrsensor/Android.bp
4e3f9c1dd5b14815420d5bc732b378adcd2bf37a 17-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Force vrhwc/wm to report the native resolution"
e77dce28e5e9a7f078cb324a7b9320802fca8469 14-Mar-2017 Stephen Kiazyk <skiazyk@google.com> Force vrhwc/wm to report the native resolution

Due to some Yak-shaving, this also involved a partial conversion of our
libraries to soong.

Notes:
* I also changed the name of libsensor to libvrsensor to avoid a naming
clash with an existing library
* The remaining libraries will be soongified in a separate CL

Bug: 36139334
Test: Build and run vr apps.
Change-Id: Ib39687bd01e3d2e1c30adc54e18f362a85954ab9
r/libbufferhub/Android.bp
r/libbufferhub/Android.mk
r/libbufferhubqueue/Android.bp
r/libbufferhubqueue/Android.mk
r/libbufferhubqueue/tests/Android.bp
r/libbufferhubqueue/tests/Android.mk
r/libdisplay/Android.bp
r/libdisplay/Android.mk
r/libdvrcommon/Android.bp
r/libdvrcommon/Android.mk
r/libdvrgraphics/Android.bp
r/libdvrgraphics/Android.mk
r/libeds/Android.bp
r/libeds/Android.mk
r/libimageio/Android.bp
r/libimageio/Android.mk
r/libperformance/Android.bp
r/libperformance/Android.mk
r/libposepredictor/Android.bp
r/libposepredictor/Android.mk
r/libsensor/Android.mk
r/libsensor/include/CPPLINT.cfg
r/libsensor/include/dvr/pose_client.h
r/libsensor/include/private/dvr/pose-ipc.h
r/libsensor/include/private/dvr/pose_client_internal.h
r/libsensor/include/private/dvr/sensor-ipc.h
r/libsensor/include/private/dvr/sensor_client.h
r/libsensor/include/private/dvr/sensor_constants.h
r/libsensor/pose_client.cpp
r/libsensor/sensor_client.cpp
r/libsensor/tests/sensor_app_tests.cpp
r/libvr_manager/Android.bp
r/libvr_manager/Android.mk
r/libvrflinger/Android.bp
r/libvrflinger/Android.mk
r/libvrsensor/Android.bp
r/libvrsensor/include/CPPLINT.cfg
r/libvrsensor/include/dvr/pose_client.h
r/libvrsensor/include/private/dvr/pose-ipc.h
r/libvrsensor/include/private/dvr/pose_client_internal.h
r/libvrsensor/include/private/dvr/sensor-ipc.h
r/libvrsensor/include/private/dvr/sensor_client.h
r/libvrsensor/include/private/dvr/sensor_constants.h
r/libvrsensor/pose_client.cpp
r/libvrsensor/sensor_client.cpp
r/libvrsensor/tests/sensor_app_tests.cpp
d001058145c2186f454a3fb043388d6d9b84c9d8 07-Mar-2017 Brian Anderson <brianderson@google.com> Fix getFrameTimestamp test flakes.

This fixes both the dEQP CTS flakes relating to
compositor timing and the lib_gui test flakes that
don't initialize properly.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*
Bug: 35995043

Change-Id: If8e59f0dc9a916bab28bd1a36190cef9a56cb64f
ui/tests/Surface_test.cpp
f9e6033ea896e43d962a81c13d2b65d952955450 16-Mar-2017 Romain Guy <romainguy@google.com> Merge "Revert "Get rid of IGraphicBufferAlloc""
f8b4ca51111cd2e566d1774ac464da859db78976 16-Mar-2017 Romain Guy <romainguy@google.com> Revert "Get rid of IGraphicBufferAlloc"

This reverts commit 78491c9f694cb0767996503c629776a8eda950d7.

Change-Id: I78d5c0a30ab80265f697f681387872b6763b2d1e
ui/Android.bp
ui/BufferQueue.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
ui/ISurfaceComposer.cpp
ui/tests/Surface_test.cpp
ativewindow/AHardwareBuffer.cpp
d4639b1eae0d934ad47b260315416fb7b8026a50 16-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Get rid of IGraphicBufferAlloc"
78491c9f694cb0767996503c629776a8eda950d7 15-Mar-2017 Mathias Agopian <mathias@google.com> Get rid of IGraphicBufferAlloc

This reverts commit 527747dce1ab4714bd424e5c1a25ebad3506c2cb.

selinux policy allowing this change fixed.

Test: took a screenshot
Test: ran ImageReaderTest CTS
Bug: 36194109
Change-Id: I72ac17b6c252750aa2a66cd1d94bd8b4e21b5e9d
ui/Android.bp
ui/BufferQueue.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
ui/ISurfaceComposer.cpp
ui/tests/Surface_test.cpp
ativewindow/AHardwareBuffer.cpp
c9f888b84f77e901bd531279deb22c378922dc9b 15-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove dvrDisplayManagerClientGetSurfaceBuffers"
f25db04cd8b2a840afae31d1f310298f8bbb65b0 15-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Make IGraphicBufferProducer a hybrid interface."
5c46fc496a2e9537f318efef9a08d1e76f5e7a5f 10-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Remove dvrDisplayManagerClientGetSurfaceBuffers

This should be replaced with BufferHubQueue

Bug: 36033302
Test: Build device targets
Change-Id: I658514e1b56b0bdbd523d3fa322f0f2b6a1fc7e8

Signed-off-by: Jiwen 'Steve' Cai <jwcai@google.com>
r/libdisplay/display_manager_client.cpp
r/libdisplay/display_manager_client_impl.cpp
r/libdisplay/include/private/dvr/display_manager_client.h
r/libdisplay/include/private/dvr/display_manager_client_impl.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libvrflinger/display_manager_service.cpp
r/libvrflinger/display_manager_service.h
r/libvrflinger/display_surface.cpp
r/libvrflinger/display_surface.h
996d47e8f3c66f1ac261c1e5a002b46feca4dd4c 15-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "BufferHubQueue: ClearAvailable on consumer import"
2b389e848eecc0b2266b8117f1d4c47bf147851c 14-Mar-2017 Romain Guy <romainguy@google.com> Merge "Use d=0.039 for Display P3 instead of sRGB's 0.04045"
fcf7e25f1bc1b6a548f791932801e957d409c3b7 14-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add ANativeWindow_setBuffersTransform"
09932eceb2fcec029edc6aaa0e2bca0591613281 13-Mar-2017 Jesse Hall <jessehall@google.com> Add ANativeWindow_setBuffersTransform

Bug: 32634406
Test: build
Change-Id: I16080008187bd334e64917274fc86afe12dde8e7
ativewindow/ANativeWindow.cpp
ativewindow/Android.bp
ativewindow/include/android/native_window.h
ativewindow/libnativewindow.map.txt
dc14e5bf86b6999a290b64deb44418a8f205296c 25-Jan-2017 Jiwen 'Steve' Cai <jwcai@google.com> BufferHubQueue: ClearAvailable on consumer import

This fixes the issue that ConsumerQueue keeps receiving
|OnBufferAllocated| events when using UDS based libpdx. It also hardens
error handling during consumer imports.

Bug: 34690159
Test: Build, flash, buffer_hub_queue-test pases
Change-Id: I4f739a2869df851ed836f39122b3eba95697f3f6
r/libbufferhubqueue/Android.mk
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_consumer.cpp
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
001eaa043e66dd2169786dbce191678128f5c5f1 13-Mar-2017 Hendrik Wagenaar <hendrikw@google.com> Rename typedef to dvr

Bug: b/36040550
Test: None
Change-Id: I489bf73289daa895c531ee6fd47a75537fb34eca
r/libdisplay/include/private/dvr/vsync_client_api.h
4077c04b9ba2797737d7971471e5fd704592db7d 13-Mar-2017 Romain Guy <romainguy@google.com> Use d=0.039 for Display P3 instead of sRGB's 0.04045

Bug: 32984164
Test: ColorSpaceTest
Change-Id: I0db88e3b7342421567ba09be3e279e6d65a21ecc
i/ColorSpace.cpp
975e49a2ae848ef7d2b9d9ad8ea1afad656f037b 13-Mar-2017 Chia-I Wu <olv@google.com> Merge "Revert "get rid of IGraphicBufferAlloc""
527747dce1ab4714bd424e5c1a25ebad3506c2cb 13-Mar-2017 Chia-I Wu <olv@google.com> Revert "get rid of IGraphicBufferAlloc"

This reverts commit 1da94dfed674e94edc37cdc8ef68530520edf169.

Bug: 36176799
Bug: 36175706
Change-Id: I6dd5fe8df564f0efa4392a800fb316e27a05076e
ui/Android.bp
ui/BufferQueue.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
ui/ISurfaceComposer.cpp
ui/tests/Surface_test.cpp
ativewindow/AHardwareBuffer.cpp
4c5441be9bf5aa87042cfb3653733b008a51efdb 13-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update vsync client c api"
a7b4655174eb791e35d40593b62321d85460dc49 11-Mar-2017 Hendrik Wagenaar <hendrikw@google.com> Update vsync client c api

* Added a required function
* Removed unused functions

Bug: b/36031165
Test: None
Change-Id: I45e141dc627e7cfa541d637d697a553aebb7f480
r/libdisplay/include/private/dvr/vsync_client_api.h
r/libdisplay/vsync_client_api.cpp
a7c8a78c878fdb84ae029409837c92c8df390c91 10-Mar-2017 Stephen Kiazyk <skiazyk@google.com> Remove debug flags

I accidentally left the debug flags on my last commit.

Bug: None
Test: Still compiles and works.
Change-Id: I9fc652e643aa53ebb531332c3b156b8f001837d8
r/libdisplay/Android.mk
f9c376ff1e3474f4c6cf7b78ee0781e5419bcde3 10-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix DummyNativeWindow to respond to new query"
e2839ca382c8105a23f5e5b604b06678b53b0622 10-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Reland: Remove NativeWindow and unused DVR functions"
7c8f94b031917bb6a7a7fe78a0d9a7b3fbd72505 10-Mar-2017 Stephen Kiazyk <skiazyk@google.com> Fix DummyNativeWindow to respond to new query

The `NATIVE_WINDOW_IS_VALID` query must now return true in order for
`eglCreateWindowSurface` to succeed. Technically this isn't true for our
dummy window, but we only need it to create the context, it gets dropped
immediately afterwards.

Bug: 36102224
Test: Created a simple test application. Also ran a Vr application with
these changes applied.

Change-Id: I2d559962d28db4b1cb6ad188269e4e54cf47245d
r/libdisplay/Android.mk
r/libdisplay/dummy_native_window.cpp
r/libdisplay/tests/dummy_native_window_tests.cpp
6e1193af40c870c50013affec37c8429986b3c7b 07-Mar-2017 Pawin Vongmasa <pawin@google.com> Make IGraphicBufferProducer a hybrid interface.

android::IGraphicBufferProducer will now become a hybrid
interface on
top of the HIDL interface
android::hardware::graphics::bufferqueue::V1_0::IGraphicBufferProducer.

This CL also removes the hybrid interface mechanism from libbinder and
splits BufferQueueDefs into two parts, ui and gui.

Test: Camera, Photos, YouTube and Play Movies apps.
Bug: 35442034
Bug: 33854657
Change-Id: Idbbfdc8d9be375281b533050cea03c56fded9075
inder/Android.bp
inder/HalToken.cpp
ui/Android.bp
ui/IGraphicBufferProducer.cpp
ui/bufferqueue/1.0/B2HProducerListener.cpp
ui/bufferqueue/1.0/H2BGraphicBufferProducer.cpp
ath/include/math/half.h
r/libbufferhubqueue/Android.mk
b62cb6805433b992fdcade7a8e72aaf84f555e47 07-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Reland: Remove NativeWindow and unused DVR functions

1/ Remove the NativeWindow-backed DVR DisplaySurface implementation.
2/ Unused API such as: dvrCreateDisplaySurface and friends are removed.

Bug: 36033302
Test: Built system, ran basicvr, ran particles on marlin and lucid. Also
updated graphics_app_tests to stop testing deprecated API.

Change-Id: I586a6933f18a5c116bcffdf390ada122fadb9545
r/libdisplay/Android.mk
r/libdisplay/graphics.cpp
r/libdisplay/include/dvr/graphics.h
r/libdisplay/native_window.cpp
r/libdisplay/native_window_test.cpp
r/libdisplay/tests/graphics_app_tests.cpp
1da94dfed674e94edc37cdc8ef68530520edf169 28-Feb-2017 Mathias Agopian <mathias@google.com> get rid of IGraphicBufferAlloc

buffers can now be allocated in-process.

Test: compile & run
Bug: cleanup
Change-Id: I3d4317a9bed20a6d8be2b7ac8fbb85738efb3657
ui/Android.bp
ui/BufferQueue.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
ui/ISurfaceComposer.cpp
ui/tests/Surface_test.cpp
ativewindow/AHardwareBuffer.cpp
619634070f2fd5fa6ca0e035323fb2bb2aeea785 25-Feb-2017 Mathias Agopian <mathias@google.com> Remove a dependency of EGL on ui/GraphicBuffer.h

the conversion to a ANativeWindowBuffer is now
handled by libnativewindow.


Test: compiled & run
Bug: cleanup
Change-Id: I52dd64574afbc1eff5bdbefacec234a79f8acd97
ativewindow/AHardwareBuffer.cpp
ativewindow/include/private/android/AHardwareBufferHelpers.h
4b5287e06e75838d548f6672b69d8f321792b6a3 09-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Create libhwc2on1adapter"
8f251662ff87ea9b1be5cddf898e23014cc09444 09-Mar-2017 Mathias Agopian <mathias@google.com> Merge "check that the NativeWindowType is valid in eglCreateWindowSurface"
e29055f5fe4a2bc0f3f75d952ff417462dc607cc 08-Mar-2017 Fabien Sanglard <sanglardf@google.com> Create libhwc2on1adapter

Extract the adapter out of SurfaceFlinger library to allow code
behind HAL to use it.

Test: Manual
Change-Id: I415aa2674564eccb2c38f76086807f834177f80f
wc2on1adapter/Android.bp
wc2on1adapter/HWC2On1Adapter.cpp
wc2on1adapter/MiniFence.cpp
wc2on1adapter/include/hwc2on1adapter/HWC2On1Adapter.h
wc2on1adapter/include/hwc2on1adapter/MiniFence.h
a1795c60e23cda417c2d776916aa7479c1851ae6 09-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Remove NativeWindow and unused DVR functions""
10e9ab50517330d1972234b4c167d5467d01abbf 09-Mar-2017 Mathias Agopian <mathias@google.com> check that the NativeWindowType is valid in eglCreateWindowSurface

This will avoid certain crash (null dereference),
and return an error instead. This is useful for
app developers as java language apps are not
expected to crash when passed bad arguments

This doesn’t fix bug 36065206, but was prompted
by it.

Test: compile / run
Bug: 36065206
Change-Id: I90d25730b3dd292d756b4c38b51320a466fa6d48
ui/Surface.cpp
b579b293f8ae623c95991742e2bb25efb39266b4 08-Mar-2017 Miao Wang <miaowang@google.com> Merge "Fix the usage of EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE"
3ce17194fac3230b4bb6b0bb2be3ff8b4215f2b2 08-Mar-2017 Okan Arikan <okana@google.com> Merge "A helper header for matrices."
e68959a41c2df2dd9d56b9501bbaeed18d69e9ed 08-Mar-2017 Jiwen Cai <jiwen@google.com> Revert "Remove NativeWindow and unused DVR functions"

This reverts commit a001af5ae07e156f9c31dcdb24fb7ddead4d9f1e.

Change-Id: Ieb60bc8e8e7caefee30b0fbd13cda15298c32075
r/libdisplay/Android.mk
r/libdisplay/graphics.cpp
r/libdisplay/include/dvr/graphics.h
r/libdisplay/native_window.cpp
r/libdisplay/native_window_test.cpp
r/libdisplay/tests/graphics_app_tests.cpp
7245fb74d86dce3c07c5341020d25d24065d1c0d 08-Mar-2017 Miao Wang <miaowang@google.com> Fix the usage of EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE

- Eigen::internal::traits is not specialized for Eigen::MatrixBase, it
should only be used with the Derived types. Just as Eigen's own tests
do.

Bug: 34161771
Test: mm
Change-Id: I997b26b4a470c4ba851afe6edc5c602ae450c222
r/libdvrcommon/include/private/dvr/numeric.h
r/libdvrcommon/tests/numeric_test.cpp
a9ba6a935e9cf7a44e54d545e6f9d31224f09702 08-Mar-2017 Jiwen Cai <jiwen@google.com> Merge "Remove NativeWindow and unused DVR functions"
d86505e9ac91e0f0bbc381659f70cb1f7cb3176c 08-Mar-2017 Ganesh Mahendran <opensource.ganesh@gmail.com> Merge "libbinder: use sysconf(_SC_PAGESIZE) to get pagesize" am: b638bf8d3f am: f83403fdd2
am: 391becb8a7

Change-Id: I11546e02a736bd6c6ece606831462f7ef85c4ec4
f83403fdd26e5a0e5f315d1aa699e2711ab5990a 08-Mar-2017 Ganesh Mahendran <opensource.ganesh@gmail.com> Merge "libbinder: use sysconf(_SC_PAGESIZE) to get pagesize"
am: b638bf8d3f

Change-Id: I90088d0769cfe337b2c2c5c308f5fa7e832ca4df
d3f8f486cc66ff0c93b04c483f3c6c2d48815074 08-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Sensor direct report with HardwareBuffer channel"
a001af5ae07e156f9c31dcdb24fb7ddead4d9f1e 07-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Remove NativeWindow and unused DVR functions

1/ Remove the NativeWindow-backed DVR DisplaySurface implementation.
2/ Unused API such as: dvrCreateDisplaySurface and friends are removed.

Bug: 36033302
Test: Built system, ran basicvr, ran particles on Marlin. Also updated
graphics_app_tests to stop testing deprecated API.

Change-Id: I6ea6063c56fabacddcc301bc91567cc1b3f5d67e
r/libdisplay/Android.mk
r/libdisplay/graphics.cpp
r/libdisplay/include/dvr/graphics.h
r/libdisplay/native_window.cpp
r/libdisplay/native_window_test.cpp
r/libdisplay/tests/graphics_app_tests.cpp
6f56abff857194431337db48be656dc0b55e162a 08-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Disable Eigen static assertion for tests/numeric_test.cpp"
f0742ae4d18e9ac90ce0369f531693c30e9e2ed0 08-Mar-2017 Miao Wang <miaowang@google.com> Disable Eigen static assertion for tests/numeric_test.cpp

- Clang complains with the Eigen static assertions in the tests, after
Eigen 3.3.3 rebase.
- Disable the static assertion until it is fixed in Eigen / Clang.

Bug: 34161771
Test: mm
Change-Id: I25056cf9df9bbb32f979390e02df1f23ac760bab
r/libdvrcommon/tests/numeric_test.cpp
0cb05c60d539e55884e2686fe8981fdc1e9cc057 07-Mar-2017 Okan Arikan <okana@google.com> A helper header for matrices.

Bug: 34720474
Test: No functional change.
Change-Id: Ibcb8f11feeeadf6f484396d66c0b0cd1ef751f94
(cherry picked from commit 6fff8f0580e352fd81ecd7a0b6b58a6604bcbed7)
r/libdvrcommon/include/private/dvr/matrix_helpers.h
d9c8a864e193d7ae3d0a04c1aa7ff15da955fb0f 05-Mar-2017 Peng Xu <pengxu@google.com> Sensor direct report with HardwareBuffer channel

Implement creation of sensor direct channel in sensor
service for sensor direct report feature.

Bug: 30985702
Test: cts-tradefed run cts --module CtsSensorTestCases
--test android.hardware.cts.SensorDirectReportTest
Test: cts-tradefed run cts --module CtsSensorTestCases
--test android.hardware.cts.SensorNativeTest

Change-Id: I52350811df538986cea7f5e1fb336fad53234c86
ensor/SensorManager.cpp
da8385cb97ba40ab87e7e9b8d5b7c8f0ba5ba0fd 01-Mar-2017 Peng Xu <pengxu@google.com> Add ASensorEventQueue_registerSensor and default error value

ASensorEventQueue_registerSensor is new function created in 2016 but
is never exported at NDK level. In this CL the function signature is
formalized and the function name is added to NDK function export
table. Internal class SensorEventQueue is also changed to adapt.

Default error values are also defined.

Test: cts-tradefed run cts --module CtsSensorTestCases \
--test android.hardware.cts.SensorNativeTest
Change-Id: I74dc72e50ea4bae6d2d8944ce6d2e191ed2f495e
ensor/SensorEventQueue.cpp
ensor/include/sensor/SensorEventQueue.h
56a8f942731ad34a8e85a9a0fb84f1be2ead5541 07-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "split libsensor our of libgui "
801ea093b0e923a61b832f2adba698a273479880 07-Mar-2017 Mathias Agopian <mathias@google.com> split libsensor our of libgui

Test: compile & run
Bug: treble cleanup
Change-Id: I5b2c2a14f7d3b364d25695cf0901c5b08cfb0fc9
ui/Android.bp
ui/BitTube.cpp
ui/DisplayEventReceiver.cpp
ui/IDisplayEventConnection.cpp
ui/ISensorEventConnection.cpp
ui/ISensorServer.cpp
ui/Sensor.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
ui/tests/Android.bp
ui/tests/Sensor_test.cpp
ensor/Android.bp
ensor/BitTube.cpp
ensor/ISensorEventConnection.cpp
ensor/ISensorServer.cpp
ensor/Sensor.cpp
ensor/SensorEventQueue.cpp
ensor/SensorManager.cpp
ensor/include/sensor/BitTube.h
ensor/include/sensor/ISensorEventConnection.h
ensor/include/sensor/ISensorServer.h
ensor/include/sensor/Sensor.h
ensor/include/sensor/SensorEventQueue.h
ensor/include/sensor/SensorManager.h
ensor/tests/Android.bp
ensor/tests/Sensor_test.cpp
12eaa29cffa4b87ca7166b72f1a1368104b85294 07-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix the compiler error for the ternary operator, caused by Eigen rebase."
6ac7fb5aca33fca100bdba279847561b32c3f9ac 03-Mar-2017 Ganesh Mahendran <opensource.ganesh@gmail.com> libbinder: use sysconf(_SC_PAGESIZE) to get pagesize

pagesize is not always 4KB, use sysconf(_SC_PAGESIZE) to get
real pagesize.

Change-Id: Ib2c82c3a842257601a5c304da3a1f0b07c6ab8c0
Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
inder/ProcessState.cpp
9e94788e8a8388eeb1113dc42c932ed42008de5d 06-Mar-2017 Frank Barchard <fbarchard@google.com> InputDevice warning fixes and make warnigs into Error

use const char * for string literals in InputDevice
Remove unused variable in Keyboard

Bug: 35993509
Test: mm in frameworks/native/libs/input builds without the warning
Change-Id: I11242835eae855386c47e56d6c36e5a2f912a28f
nput/Android.bp
nput/InputDevice.cpp
nput/Keyboard.cpp
c9d79c6132a0678bec21dfdbfc3d4b7929902e81 07-Mar-2017 Miao Wang <miaowang@google.com> Fix the compiler error for the ternary operator, caused by Eigen rebase.

Bug: 34161771
Test: build
Change-Id: I3c0c1b3667a3d1f56052b247c94c6255e9e12004
r/libposepredictor/predictor.cpp
cec55bbb37125e79ba11e286b9817faf3f49f4e4 04-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "fallout of cleaning-up libutils includes"
e9e9fe40fb702ab1390a32c61981bc927177258a 01-Mar-2017 Mathias Agopian <mathias@google.com> fallout of cleaning-up libutils includes

Test: run & compile
Bug: n/a

Change-Id: I99e462d2db6560742fa3f065d5de50cd60111130
inder/IMemory.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
i/GraphicBuffer.cpp
df4ccdf1eeffc1066afd76c95dfd734b6b7f0ab2 03-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'colorspace_support'

* changes:
Use Surface::GetWideColorSupport in VK_EXT_swapchain_colorspace
Add plumbing for Surface::getHdrSupport
Add plumbing for Surface::getWideColorSupport
b3d12ab940114e78e770cf68cb6bd0ef4a55249c 03-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add the missing Parcel.writeInterfaceToken call."
ff81a09e19017ae1c26eecda6423e20c5a8333f6 02-Mar-2017 Sudheer Shanka <sudheersai@google.com> Add the missing Parcel.writeInterfaceToken call.

Bug: 35950090
Test: Verified that it fixes the following error.
Parcel : **** enforceInterface() expected 'android.app.IActivityManager' but read ''
Change-Id: Id70da2d2ba7198e4d5d14aeabe00328c4eb6ef14
inder/IActivityManager.cpp
c5b97c5b5610b2fe6186f599798c97250bb01b95 26-Feb-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Add plumbing for Surface::getHdrSupport

Add plumbing for future Vulkan and EGL extensions
VK_EXT_swapchain_colorspace
EGL_EXT_colorspace_scrgb_linear
EGL_KHR_gl_colorspace

Test: TBD
Change-Id: Id1f28cfb36828adbdc6dd3694b5943eca038c356
ui/Surface.cpp
1eb1b2703754beda3c20bedfca2b4fae885b7164 03-Feb-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Add plumbing for Surface::getWideColorSupport

Add plumbing for future Vulkan and EGL extensions
VK_EXT_swapchain_colorspace
EGL_EXT_colorspace_scrgb_linear
EGL_KHR_gl_colorspace

Test: make tests in libs/gui/tests/
Test: adb sync
Test: adb shell /data/nativetest/libgui_test/libgui_test --gtest_filter="SurfaceTest.GetWideColorSupport"
Change-Id: Ibb182d02c468d8f24130545187096d1abe5fc30e
(cherry picked from commit d634f970fabe965a421f50011bb1167d6b7cac86)
ui/Surface.cpp
ui/tests/Surface_test.cpp
0329b79d93d981a8e5ed8d256c9d836d5ed02617 02-Mar-2017 Alex Vakulenko <avakulenko@google.com> Remove libandroid dependencies from some targets

libandroid provided by frameworks/based should not be used by
targets in frameworks/native. This breaks PDK builds.

libandroid isn't actually needed by these two targets, so remove
the dependency.

Bug: 35845012
Test: `m -j32` succeeds
Change-Id: I5440c60a460f4e66e59f77d6ca0e57af4bd11a55
r/libsensor/Android.mk
fbffe92a46731bbba9f2b6f66ee4afd94b45dcb3 01-Mar-2017 Pawin Vongmasa <pawin@google.com> Add HIDL token passing mechanism.

Test: Mirroring, Camera, Photos, YouTube and Play Movies apps.
Bug: 35442034
Change-Id: I7216f853ad42f115fd00ed9031793d8d1e7d1a03
inder/Android.bp
inder/HalToken.cpp
7ead73ed26403405bddd625c6ea0f009bff92939 28-Feb-2017 Jaekyun Seok <jaekyun@google.com> Treblize input device config file location

Treblization requires to locate partner-specific configs in its own
partition. So the input device config file could be located in
/odm/usr or /vendor/usr.
This CL is to support those locations for the config.

Test: building succeeded and tested on sailfish.
Bug: 35815587
Change-Id: Ib6ae230118c8dc45dc030b32eb59441c3a544535
nput/InputDevice.cpp
4a67a5f5e1f0492412bace735e64e0a1c3e65e90 01-Mar-2017 Mathias Agopian <mathias@google.com> make libnativewindow part of the NDK

Test: compiled
Bug: treble
Change-Id: I289ec1155a4dc5fe56ff3fd00eda54e851023569
ativewindow/Android.bp
ativewindow/libnativewindow.map.txt
77c073bdbe1b24a332056e1194a6162b7717a848 01-Mar-2017 Rob Carr <racarr@google.com> Merge changes from topic 'surfaceview-without-wm'

* changes:
Add detachChildren transaction.
Add deferTransaction variant taking GraphicBufferProducer.
f3edb8989a27b272ffa9273c5735e9dc891380ec 01-Mar-2017 Rob Carr <racarr@google.com> Merge "SurfaceControl: Correct setMatrix parameter naming."
2abc5ab306aa81fca046d72bf15561e3dc454a85 01-Mar-2017 Mathias Agopian <mathias@google.com> Merge "clean-up EGL includes"
311b479d7f50bc9e487cf9b4859843d0f4778382 01-Mar-2017 Mathias Agopian <mathias@google.com> clean-up EGL includes

Test: compile and run
Bug: cleanup

Change-Id: Icb6c70c80d455446d7163a20d51c41d9b6e0b578
i/GraphicBuffer.cpp
6961b6bc1f6f172745deee98e7dcb34a3668e4e6 01-Mar-2017 Mathias Agopian <mathias@google.com> Remove unneeded references to IMemory

Test: compiled & run
Bug: cleanup
Change-Id: Ifef6695275f244a420df574b3bc49adb99c93fbf
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/SurfaceComposerClient.cpp
ui/tests/Surface_test.cpp
82ec29e20fbb7dcdbc060a6cc20883ff7645abb6 28-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move Gralloc1Mapper test to libui/tests"
48479a7e9d05843c89b2c687732be1e8515324f3 28-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add private consumer and producer flags to AHardwareBuffer."
125a80742579238180eb572e2d08faf5c9f2c33d 27-Feb-2017 Stephen Kiazyk <skiazyk@google.com> Remove unused dependency on libandroid in libeds

This dependency is unused.

Bug: None
Test: Full recompile of libeds, no compile errors or missing
dependencies.

Change-Id: Iced2bb8c420630568b8609923e47e3b6a5ceb0c7
r/libeds/Android.mk
4e1b9a767ac4988a323dacb923552fd2945fa9dd 25-Feb-2017 Craig Donner <cdonner@google.com> Move Gralloc1Mapper test to libui/tests

Bug: 34939453
Test: manual
Change-Id: Ib1b442881e375cb2e4acdedaa324cd91dc71739e
i/tests/Android.bp
i/tests/Gralloc1Mapper_test.cpp
a5a719e97cbec30c8968dddf542d86788e1051a4 25-Feb-2017 Craig Donner <cdonner@google.com> Add private consumer and producer flags to AHardwareBuffer.

This also generalizes and simplifies the flag conversion,
making it more bulletproof in the future. To add more flags,
just add new entries into the mapping arrays.

Bug: 34050596
Bug: 35765937
Test: cts-tradefed run cts -m CtsNativeHardwareTestCases
Also added new cc_test libs/nativewindow/tests to test gralloc flag conversion

Change-Id: Ib96b277e837f2ab8c332f14df60e88580e3d868d
ativewindow/AHardwareBuffer.cpp
ativewindow/Android.bp
ativewindow/include/android/hardware_buffer.h
ativewindow/include/private/android/AHardwareBufferHelpers.h
ativewindow/tests/AHardwareBufferTest.cpp
ativewindow/tests/Android.bp
9524cb3b37a91b5741790c77ff24fd825b02bca7 13-Feb-2017 Robert Carr <racarr@google.com> Add detachChildren transaction.

Add SurfaceControl#detachChildren for use by the WindowManager.
This method is used in cases where the WM would previously preserve
windows the client tried to destroy. For example, when becoming invisible
(in the activity lifecycle sense, not in the SurfaceFlinger sense)
an app will destroy its child surfaces. Previously the WM would keep child
windows alive until the animation finishes to prevent glitches. The new
scheme for this is the WM will detach the children at this point,
at which point the parent layer becomes the owner of the children and the WM
can control the lifecycle as it wishes. I also included a test for reparentChildren
as I realized I had forgotten that.

Test: New test in Transaction_test.cpp
Change-Id: I79c22b2ccccceb9bdcc37b70c491bdf33dcf83d2
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
0d48072f6047140119ff194c1194ce402fca2c0b 11-Jan-2017 Robert Carr <racarr@google.com> Add deferTransaction variant taking GraphicBufferProducer.

For SurfaceView using child layers, the client framework
will not have access to the Handle* for the parent surface,
but still needs a way to defer transactions to it's frames.

Test: Tested with corresponding SurfaceView modifications and existing tests.
Change-Id: I6f01c360e85a95ff0ab08db406741221152e5d5c
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
74e64756655a83fbd7d5a9f431d98d6c021b9ee2 24-Feb-2017 Mathias Agopian <mathias@google.com> fix typo (minor)

Test: compiled & booted
Bug: 35164655
Change-Id: Icc302d2b8301d877f76a3b652a42abcaeb2c99c7
ativewindow/Android.bp
b0493a9bba710b609bf8a790f9e157181dbe722f 24-Feb-2017 Yifan Hong <elsk@google.com> Merge "gralloc HAL uses "default" service name"
89ed4c8cfd8ad64269dfcff9742e16bdd705b926 10-Feb-2017 Mathias Agopian <mathias@google.com> split libandroid.so

- ANativeWindow (native_window.h) and
AHardwareBuffer (hardware_buffer.h) now live
in libnativewindow.so, which is a vodka library.

- libandroid.so still provide those symbols
via a static library version (libnativewindow.a)

- removed libbinder dependency as well

Test: compiled & booted
Bug: 35164655
Change-Id: Ib4bc8e8fc9ec1891bcbee63c28fd0131d82edf29
ui/Android.bp
ui/tests/Android.bp
ui/tests/SRGB_test.cpp
ativewindow/AHardwareBuffer.cpp
ativewindow/ANativeWindow.cpp
ativewindow/Android.bp
ativewindow/MODULE_LICENSE_APACHE2
ativewindow/NOTICE
ativewindow/include/android/hardware_buffer.h
ativewindow/include/android/native_window.h
ativewindow/include/private/android/AHardwareBufferHelpers.h
r/libbufferhub/bufferhub_tests.cpp
r/libdisplay/Android.mk
r/libsensor/tests/sensor_app_tests.cpp
r/libvrflinger/Android.mk
4bff5965a9eb114f6ddab4d874907fa0a48bb854 23-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Expose display manager client event fd"
c8c6860e8f0ef7f01670e19bd4578204cdf8207f 22-Feb-2017 Stephen Kiazyk <skiazyk@google.com> Expose display manager client event fd

This will allow the display manager client to use epoll to wait and
respond to changes in the current set of VR display surfaces.

Bug: None
Test: Compiled and ran with simple standalone binary application.
Change-Id: I7680f5a56348abfb686e78d13e0e737466735ac6
r/libdisplay/display_manager_client.cpp
r/libdisplay/include/private/dvr/display_manager_client.h
r/libdisplay/include/private/dvr/display_manager_client_impl.h
016e5e3ca751de7e86731349985d1eaf7c072515 22-Feb-2017 Stephen Kiazyk <skiazyk@google.com> Ensure display metrics on display service creation

This fixes a potential race condition where a VR app could request the
display metrics from the VR display service before it actually queries
them from the HWC.

Bug: None
Test: Compiled and ran Vr app.
Change-Id: Ie95b7f5a8ef2e286c7b2994ca94fd87214567e24
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
cb6e1e385edd44fbc68718e792b7180b1015d438 22-Feb-2017 Robert Carr <racarr@google.com> SurfaceControl: Correct setMatrix parameter naming.

The first parameter dsdx controls the X scaling. The last parameter
is called dtdy but controls the Y scaling. Clearly this was meant to be
named dsdy. You can verify this with a quick look at Transaction_test.

Test: Tried various stuff, phone still works.
Change-Id: Ie9e898443350ffdcf227888a8d85efdbe1b6b033
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
fe2f54fc8a9810708fe05d719721af19aea10a4a 16-Feb-2017 Mathias Agopian <mathias@google.com> cleanup libui’s includes

- remove unneeded includes
- include a cpp’s header first in all cpps


Test: compiled & booted
Bug: 35164655
Change-Id: I0890913fcc6614cce156aff19fccdef183145beb
i/Gralloc1.cpp
i/Gralloc1On0Adapter.cpp
i/GrallocAllocator.cpp
i/GrallocMapper.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
4a59097f19ed5819c0e95576ad959cf88f1aac55 16-Feb-2017 Okan Arikan <okana@google.com> Refactor libposepredictor to be self-contained.

The CL seems big but it is mainly moving stuff around to
make libposepredictor self contained.

libposepredictor/include/predictor.h exposes all functionality and
it only includes Eigen stuff.

Also adds a shared library build step to the makefile.

Bug: 35362498
Test: No functional change.
Change-Id: I0c850711ffde16ee75e4c88b09e47f761c100385
r/libposepredictor/Android.mk
r/libposepredictor/buffered_predictor.cpp
r/libposepredictor/dvr_pose_predictor.cpp
r/libposepredictor/include/buffered_predictor.h
r/libposepredictor/include/linear_predictor.h
r/libposepredictor/include/polynomial_predictor.h
r/libposepredictor/include/predictor.h
r/libposepredictor/include/private/dvr/buffered_predictor.h
r/libposepredictor/include/private/dvr/dvr_pose_predictor.h
r/libposepredictor/include/private/dvr/linear_pose_predictor.h
r/libposepredictor/include/private/dvr/polynomial_pose_predictor.h
r/libposepredictor/include/private/dvr/pose_predictor.h
r/libposepredictor/linear_pose_predictor.cpp
r/libposepredictor/linear_pose_predictor_tests.cpp
r/libposepredictor/linear_predictor.cpp
r/libposepredictor/linear_predictor_tests.cpp
r/libposepredictor/polynomial_pose_predictor.cpp
r/libposepredictor/polynomial_pose_predictor_tests.cpp
r/libposepredictor/polynomial_predictor.cpp
r/libposepredictor/polynomial_predictor_tests.cpp
r/libposepredictor/pose_predictor.cpp
r/libposepredictor/pose_predictor_tests.cpp
r/libposepredictor/predictor.cpp
r/libposepredictor/predictor_tests.cpp
1d77b719d51a01cbd6954a048fb64e79d50a950e 18-Feb-2017 Mathias Agopian <mathias@google.com> move vector math out of libui

created a new header-only static libmath lib

Test: built & ran
Bug: n/a
Change-Id: Ic63ef5f54d9a0de07a9ab9e4d67be01ab6169fc0
ath/Android.bp
ath/MODULE_LICENSE_APACHE2
ath/NOTICE
ath/include/math/TMatHelpers.h
ath/include/math/TQuatHelpers.h
ath/include/math/TVecHelpers.h
ath/include/math/half.h
ath/include/math/mat2.h
ath/include/math/mat3.h
ath/include/math/mat4.h
ath/include/math/quat.h
ath/include/math/scalar.h
ath/include/math/vec2.h
ath/include/math/vec3.h
ath/include/math/vec4.h
ath/tests/Android.bp
ath/tests/half_test.cpp
ath/tests/mat_test.cpp
ath/tests/quat_test.cpp
ath/tests/vec_test.cpp
i/Android.bp
i/tests/Android.bp
i/tests/half_test.cpp
i/tests/mat_test.cpp
i/tests/quat_test.cpp
i/tests/vec_test.cpp
8cf14180db76d23afc4d65883d77d886c748eafa 18-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libdvrgraphics: Add libarect as whole static lib to fix compile"
e0b184f8c9652d5b67a9b20b2ac1a74304b08416 18-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Polynomial pose prediction."
bf3729bf6cfae80d88a0e90eb2e5fc784f02b769 18-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add tool to generate color space conversion 3D LUTs"
91c0c1efe40cb30d7de319ccaf67324ecdfe0fbe 18-Feb-2017 John Muir <muirj@google.com> libdvrgraphics: Add libarect as whole static lib to fix compile

Changes in frameworks/native cause compile errors looking for
android/rect.h.

Bug: None
Test: Build completes.
Change-Id: Ie9ba9aca0cb620c0874d47113b9ea9875277a0f7
r/libdvrgraphics/Android.mk
fb94f1db72bd769d4a63e2baf0b5a4ca5da7a86f 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Break a dependency of libui on libandroid"
f810b29ebc8564f94ff7fb14f2d13a0f4d111703 17-Feb-2017 Brian C. Anderson <brianderson@google.com> Merge changes from topic 'GPU_replace_GL'

* changes:
Fix unexpected FrameEvents on BufferQueue reconnect
Add FrameEvents::isValidTimestamp
Change GL references to GPU for getFrameTimestamps.
Clean up FrameTimestamp log messages.
25bbdcfb69d0b8fc8957b1630981632d6c9ff85d 17-Feb-2017 Romain Guy <romainguy@google.com> Add tool to generate color space conversion 3D LUTs

The tool needs to be run on an Android device and must be compiled
manually (i.e. it's not compiled as part of a regular Android build).

The tool outputs 3D LUTs in a format that can be included directly
in a C/C++ file/header.

Bug: 32984164
Test: ran lutgen and checked output
Change-Id: I96f7d0d088965c3b63c0fb4079ddeaeee7246418
i/tools/Android.bp
i/tools/lutgen.cpp
a9347647eca3101c014be902b713772de3977d87 14-Feb-2017 Mathias Agopian <mathias@google.com> Break a dependency of libui on libandroid

This was only a header dependency, but it still
created a circular dependency, which will cause
problems in another CL.

We fix this by creating a libarect static library
containing only that header. both libui and
libandroid now depend on it and reexport the
header.

We also make sure rect.h ends-up in the right
place.

Test: built and booted device
Bug: 35164655

Change-Id: Iba25b8b801b26b26ec1401c00caf367a06f197ca
rect/Android.bp
rect/MODULE_LICENSE_APACHE2
rect/NOTICE
rect/include/android/rect.h
ui/tests/SurfaceTextureClient_test.cpp
i/Android.bp
i/Gralloc1.cpp
i/Gralloc1On0Adapter.cpp
i/GraphicBufferMapper.cpp
r/libbufferhub/include/private/dvr/native_buffer.h
r/libeds/Android.mk
r/libsensor/Android.mk
0576a8858b6d48e6645af1810fc4977e2ac7096f 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Verbose logging when API_MEDIA is force-disconnected"
0ed70ddebe2a392c32b010e00229b9f0e2fd2e09 17-Feb-2017 Romain Guy <romainguy@google.com> Merge "Add RGBA 10:10:10:2 format for surfaces"
ff70fd8e02445f61fc0f2611e4862537713d2476 17-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libui: Remove STL from Fence"
5ac51484b293cc0ad08562b03c405721b0bdbc71 17-Feb-2017 Chong Zhang <chz@google.com> Verbose logging when API_MEDIA is force-disconnected

Media is seeing intermittent failures during CTS when mediaplayer
connected to a surface successfully but subsequent dequeueBuffer
fails. We suspect that media is getting force-disconnected. Adding
a verbose log when this happens to help track down the failure.

bug: 35364355

Change-Id: I0c48e3d141648a3d08c6abeb6793f8363e9502fc
ui/BufferQueueProducer.cpp
c234af25e4dcb90e8a7f0e985c044459ff93f10f 09-Feb-2017 Okan Arikan <okana@google.com> Polynomial pose prediction.

Adds PolynomialPosePredictor. It is not enabled by default in sensord.

I will do a grid search for the best parameters before turning it on.

You can set dvr.predictor_type to 1 and restart sensord to test.

Bug: 35362498
Test: Run predictor_eval to test the numerical and performance. Set dvr.predictor_type to 1 for qualitative testing.
Change-Id: I435fcc4d141f5949047d0f9d972fcfc8f2a94519
(cherry picked from commit 0b024945982fd2630709534ce448e55657768696)
r/libposepredictor/Android.mk
r/libposepredictor/buffered_predictor.cpp
r/libposepredictor/include/private/dvr/buffered_predictor.h
r/libposepredictor/include/private/dvr/polynomial_pose_predictor.h
r/libposepredictor/include/private/dvr/pose_predictor.h
r/libposepredictor/linear_pose_predictor.cpp
r/libposepredictor/linear_pose_predictor_tests.cpp
r/libposepredictor/polynomial_pose_predictor.cpp
r/libposepredictor/polynomial_pose_predictor_tests.cpp
r/libposepredictor/pose_predictor.cpp
r/libposepredictor/pose_predictor_tests.cpp
a34320a81c9787958f1b02e93e828472e54864b5 16-Feb-2017 Dan Stoza <stoza@google.com> libui: Remove STL from Fence

Renames Fence::hasSignaled to Fence::getStatus, and changes its return
type from std::experimental::optional (STL is no longer permitted in
libui) to an enum class. Also updates its one caller.

Test: Builds and sailfish boots
Change-Id: I682039b9fd88bf79f1e2a955944c4a564ed6f60b
ui/ConsumerBase.cpp
790c3500afda53b7a268f0f3107d56905418c529 25-Jan-2017 Chris Phoenix <cphoenix@google.com> gralloc HAL uses "default" service name

The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.

Test: builds

Bug: 33844934
Change-Id: I65d9d283fe7b72ddb286ff41bd23ca33345d466c
i/GrallocAllocator.cpp
i/GrallocMapper.cpp
433fc638022511e3066cc6b184628ade13a4000e 16-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Move libgvr to vendor/unbundled_google/libraries/vr."
541f22658ab1617c9d12c98684ab40248df8749b 11-Feb-2017 Romain Guy <romainguy@google.com> Add RGBA 10:10:10:2 format for surfaces

Bug: 2984164
Test: CtsHardwareTestCases
Change-Id: Ifc90e413f414a19ac09e923e48ec7ff45d3e930b
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
i/PixelFormat.cpp
5ea5e5905170f32d5cf45ad35c552d64743892c3 02-Dec-2016 Brian Anderson <brianderson@google.com> Fix unexpected FrameEvents on BufferQueue reconnect

Helps reduce the number of ALOGE's being hit
when switching between apps.

* Notify Layer when the Producer disconnects.
* Avoid sending event deltas from a previous connection.
* Avoid releasing a frame more than once.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I64f314be72ddb154b584d726ac382cd468e345bf
ui/BufferQueue.cpp
ui/BufferQueueProducer.cpp
ui/FrameTimestamps.cpp
ui/IConsumerListener.cpp
ui/tests/DummyConsumer.h
ui/tests/IGraphicBufferProducer_test.cpp
ed816e6cb4ca15181bf6120890c85290b5f7c02b 27-Oct-2016 Brian Anderson <brianderson@google.com> Add FrameEvents::isValidTimestamp

Refactor only.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I86653ac14186ca509f58a94047f25a7b74231b30
ui/FrameTimestamps.cpp
ui/Surface.cpp
b04c6f03a2334b03ae0105ec005aeecfa61f4a90 21-Oct-2016 Brian Anderson <brianderson@google.com> Change GL references to GPU for getFrameTimestamps.

Test: Rename only.

Change-Id: Idaf7ab38f78f58aa8387823f47dac084e21eb1f0
ui/FrameTimestamps.cpp
ui/Surface.cpp
ui/tests/Surface_test.cpp
8cc8b10e27d515a6962ae6c66a62387ced45f5fe 21-Oct-2016 Brian Anderson <brianderson@google.com> Clean up FrameTimestamp log messages.

Test: Log message changes only. Existing tests pass.

Change-Id: I032c76393a4949b291c3a650279367caf05a775c
ui/FrameTimestamps.cpp
i/FenceTime.cpp
8121cbf157caac453544d7204c458d9417a5fdb6 15-Feb-2017 Leandro Gracia Gil <leandrogracia@google.com> Move libgvr to vendor/unbundled_google/libraries/vr.

Bug: none
Change-Id: I1cffdf42a7b3fc5a4671c39ec39a85f8a16887f5
r/libgvr/.clang-format
r/libgvr/Android.mk
r/libgvr/CPPLINT.cfg
r/libgvr/README.dreamos
r/libgvr/com.google.vr.gvr.platform.xml
r/libgvr/deviceparams/CardboardDevice.nolite.proto
r/libgvr/dummy_gvr_ext.cpp
r/libgvr/exported_apis.lds
r/libgvr/include/private/dvr/internal_types.h
r/libgvr/include/vr/gvr/capi/include/gvr_ext.h
r/libgvr/include/vr/gvr/capi/include/gvr_util.h
r/libgvr/java/com/google/vr/gvr/platform/Loader.java
r/libgvr/library_loader.cpp
r/libgvr/prebuilt/build_gvr_prebuilts.sh
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_audio.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_controller.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_types.h
r/libgvr/prebuilt/include/vr/gvr/capi/src/gvr_experimental.h
r/libgvr/prebuilt/include/vr/gvr/capi/src/gvr_private.h
r/libgvr/prebuilt/include/vr/gvr/capi/src/gvr_types_experimental.h
r/libgvr/prebuilt/lib/android_arm/libgvr.so
r/libgvr/prebuilt/lib/android_arm/libgvr_audio.so
r/libgvr/prebuilt/lib/android_arm64/libgvr.so
r/libgvr/prebuilt/lib/android_arm64/libgvr_audio.so
r/libgvr/prebuilt/lib/android_x86/libgvr.so
r/libgvr/prebuilt/lib/android_x86/libgvr_audio.so
r/libgvr/prebuilt/lib/android_x86_64/libgvr.so
r/libgvr/prebuilt/lib/android_x86_64/libgvr_audio.so
r/libgvr/prebuilt/lib/common_library.aar
r/libgvr/shim_gvr.cpp
r/libgvr/shim_gvr_controller.cpp
r/libgvr/shim_gvr_private.cpp
9f02435fd44c0651c85e9bd4dc7307bc6b1a85fa 15-Feb-2017 Brian C. Anderson <brianderson@google.com> Merge "EGL: Add eglGetCompositorTimingANDROID."
832b6b94684cbd8bf0fcf00bd431ee5e8de03ba7 14-Feb-2017 Brian C. Anderson <brianderson@google.com> Merge "EGL: Use frameId instead of framesAgo for frame events."
4b62d90346b53bf9d2eee038799ec75300283ba6 14-Feb-2017 Nick Vaccaro <nvaccaro@google.com> Merge "Sensors: Add LOW_LATENCY_OFFBODY_DETECT sensor API"
03436e9c60607ec80c3f5eea873091b2907a3e3d 14-Feb-2017 Steven Thomas <steventhomas@google.com> Merge "Ignore callbacks from the non-active hardware composer"
0a61b0c813f5991bf462e36a2314dda062727a10 07-Dec-2016 Brian Anderson <brianderson@google.com> EGL: Add eglGetCompositorTimingANDROID.

Exposes the composite deadline, composite interval, and
the composite to present latency.

A history of composite and present fences are stored.
When the present fence's timestamp becomes known,
the composite to present latency is updated with
sampling jitter removed.

The values are updated in the producer when timestamps
are enabled and on queue and dequeue.

The deadline is snapped to the next expected deadline
based on the current systemTime().

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I406814258613b984b56488236632494f2f61ff2e
ui/FrameTimestamps.cpp
ui/Surface.cpp
ui/tests/Surface_test.cpp
6e0e9479177677bfbf7a70deef31ab8b1e92061f 14-Feb-2017 Jiyong Park <jiyong@google.com> Merge "Remove TARGET_USES_QCOM_BSP from libvrflinger"
3cfac28462910d3f976aebac54ac7301aca7e434 06-Feb-2017 Steven Thomas <steventhomas@google.com> Ignore callbacks from the non-active hardware composer

Ignore callbacks from the non-active hardware composer so we don't get
e.g. duplicate vsync callbacks, one from each composer.

Bug: None

Test: Manually confirmed with logs we're now ignoring callbacks on the
non-active composer.

Change-Id: I8b475d6283d86c64ff96b41e78528bce8c6ff1d3
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
r/libvrflinger/include/dvr/vr_flinger.h
r/libvrflinger/vr_flinger.cpp
7bd8adbb2dd02cf07626d27fcd32ae305a35e3ee 10-Feb-2017 Chia-I Wu <olv@google.com> libui: add notes to registerBuffer(buffer_handle_t)

The method is semi-broken on gralloc0 devices. It calls down to
Gralloc1On0Adapter::managementHook, which will return
GRALLOC1_ERROR_BAD_HANDLE when the handle is received from a remote
process.

Test: make
Change-Id: Ia0ca2b51e38e8afe66a917ca7fe2282db3968f53
i/GraphicBufferMapper.cpp
3c8d4581488de9b49f09e2b98cf83aa3bf2d703a 11-Feb-2017 Jiyong Park <jiyong@google.com> Remove TARGET_USES_QCOM_BSP from libvrflinger

Removing TARGET_USES_QCOM_BSP because 1) it is broken:
hardware/qcom/display/libgralloc,libqdutils do not exist and 2)
conditional compilation must be eliminated from the framework-side code
so that we can build a generic system.img.

Bug: 34115514
Test: build & run

Change-Id: I1fd643003426c52353b608bc6053a4ad80c1676a
r/libvrflinger/Android.mk
64f1fbf92a470bcee22c108542c2fa93d94c4111 11-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Introduce an API to verify trusted caller apps by UID."
4766e2a776386489667e792f9c7d8c71131b78c1 28-Jan-2017 Leandro Gracia Gil <leandrogracia@google.com> Introduce an API to verify trusted caller apps by UID.

This CL introduces a new function to make sure only trusted packages
like VrCore can make use of APIs that are not intended for app use.

As a first example, this CL introduces a caller check for taking screenshots,
although any sensitive APIs should implement similar checks.

Package trust is defined by having the RESTRICTED_VR_ACCESS permission.

Bug: 34474022
Change-Id: Ib5a242d1a4e17f59b178fb1465064043613ac369
r/libvr_manager/Android.mk
r/libvr_manager/include/private/dvr/trusted_uids.h
r/libvr_manager/trusted_uids.cpp
r/libvr_manager/vr_manager.cpp
r/libvrflinger/Android.mk
r/libvrflinger/screenshot_service.cpp
841abed655e96e51506ae6a78e6b4dab6740bfd7 11-Feb-2017 Mathias Agopian <mathias@google.com> clean-ups, remove warnings, fix includes.

Test: built and run
Bug: none

Change-Id: I505df89e2263952d90fae432c5eaa7d00056c6f0
ui/GraphicBufferAlloc.cpp
i/GraphicBuffer.cpp
05debe1d787b7471c2bc9c8f7569a338ca5c7ad4 09-Feb-2017 Mathias Agopian <mathias@google.com> Split view::Surface out of Surface.cpp

it’s moved into a new view/Surface.cpp, header in
gui/view/Surface.h

their entanglement also meant that code that needs
only view::Surface ended up with all of Surface
dependencies.

Test: built and booted device
Bug: treble
Change-Id: I1a350d258f124fbe0a7bc5a2ca165311dcb0d8e3
ui/Android.bp
ui/Surface.cpp
ui/view/Surface.cpp
5c0a87e5a2cba5c1b199e77f3a42e931e706569b 10-Feb-2017 Mathias Agopian <mathias@google.com> Merge "Break dependency of libui on libbinder"
21f9b57df9ca0017639e8a2cdd0bb9cfd5c7bda9 09-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "VR: Update VR HWC and VR WM to use GrallocMapper"
1c457103ccd9a520b723c1a90189d4e88a0bdd63 07-Feb-2017 Daniel Nicoara <dnicoara@google.com> VR: Update VR HWC and VR WM to use GrallocMapper

Removes the gralloc hacks to access buffer internals and re-enables
building of VR Window Manager.

Bug: b/34878847
Test: Compiled
Change-Id: I06aa5ec0428b2f282a36ee89dbc4da9838c25782
i/GraphicBuffer.cpp
ecfa25669c918c021e4aa77f4e8fddab33e3df7e 08-Feb-2017 Hendrik Wagenaar <hendrikw@google.com> Move pdx system/ paths to system/vr/

If PDX is used for non-vr stuff in the future, it will be clear
that system/vr/display is for vr and not general display

Test: compile and make sure the vr systems still work
Change-Id: I7f4331b51011574598ea3636f675be68d1ff49a0
r/libdisplay/include/private/dvr/display_rpc.h
r/libsensor/include/private/dvr/pose-ipc.h
r/libsensor/include/private/dvr/sensor-ipc.h
06d63de03cb2a551ca99608f5aa0c4f3e200b0fc 04-Jan-2017 Chia-I Wu <olv@google.com> surfaceflinger: cache HWC client targets and buffers

Remember HWC client targets and buffers, and make sure we send each
unique slot/handle pair only once. This allows the composer to
clone/register/retain each buffer only once.

Test: builds and boots
Change-Id: Ib485189043a9c132031e82d4d7380ace3bf9453d
ui/GLConsumer.cpp
r/libvrflinger/hardware_composer.cpp
e1f5e6fd7ad07778fa4381059852a94567d77dfc 07-Feb-2017 Mathias Agopian <mathias@google.com> Break dependency of libui on libbinder

the dependency existed only because of
HdrCapabilities, which inherited from
Parcelable, instead of LightFlatenable<>.

An added benefit is that HdrCapabilities isn’t
virtual anymore.

Also, since the dtor is not trivial, move it to
the cpp, to avoid inlining.

Fix-up includes.

Test: built and booted device

Change-Id: Iaf9c4ef9dcc5cb28b29f79d9f7d8f21800223eb8
ui/ISurfaceComposer.cpp
i/Android.bp
i/HdrCapabilities.cpp
c8da5b356ee215f4c8cc53a5728aa303478772b5 08-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix vr flinger deadlock and race condition"
2a902d763f7a04777f8432bc98917d5772070686 08-Feb-2017 Mathias Agopian <mathias@google.com> Merge "move GraphicEnv from libgui to libui"
5a2cc1dc8ccf63939ad130fd6867c84f9851dd6d 08-Feb-2017 Mathias Agopian <mathias@google.com> Merge "Fix include dependencies"
282a5ed48f64e4010f97ca4077e3bd4b54ba3268 08-Feb-2017 Steven Thomas <steventhomas@google.com> Fix vr flinger deadlock and race condition

While investigating hangs when transitioning from 2d --> vr and back I
found a deadlock and race condition in the vr flinger pause/resume
handling. This CL should fix both issues.

Unfortunately there's still another deadlock related to multiple threads
trying to suspend/resume vr flinger, but considering how vr flinger is
currently used by surface flinger we shouldn't ever hit that scenario in
practice.

Bug: None

Test: I was able to reliably get a hang when starting/stopping vr
launcher a few times, but with this CL applied and another CL to remove
calls to SetPowerMode() applied (that CL will be submitted separately),
I no longer see any hangs.

Change-Id: Ie842bf9fb00e4e2937769ed7e1e2ec9cc47861f7
(cherry picked from commit cf921a3919d68d8c8d1b8be39e03a372f6346f57)
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
105036fa54ad282611d355ecea00c470abbfa4a0 08-Feb-2017 Jiwen 'Steve' Cai <jwcai@google.com> Stop calling setPowerMode in VrFlinger

Seems that SetPowerMode from VrFlinger is causing the HIDL HWC service
(android.hardware.graphics.composer@2.1-service) to hang.

Bug: None
Test: Start particles, stop particles, start CubeSea; stop CubeSea
Change-Id: I074568fa0b04041d94dd76768ff27d467e699682
(cherry picked from commit 7fba71a24630bdf757bd4e8a28193a3995c133aa)
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
560b98dcdb2b0438a7e1589196af86c41ade4130 08-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Discard invisible surfaces"
021f656c0dd2cdac57486ddae2913c5cfc8a7650 07-Feb-2017 Leandro Gracia Gil <leandrogracia@google.com> Update the GVR platform library.

This CL renames the target for the GVR platform library and introduces
a new method in it to determine if this is an all-in-one device or a
Daydream-ready smartphone.

Bug: 34713987
Change-Id: I38067cb02fd805f3fbe1925250bddebfe82cce55
(cherry picked from commit 904762bdddd2ea5d386b1cf5fb7a35899fbc7a1e)
r/libgvr/Android.mk
r/libgvr/java/com/google/vr/gvr/platform/Loader.java
0e555aebbc5bff8dec3dbc9484b6a8c32404000b 08-Feb-2017 Craig Donner <cdonner@google.com> Merge "Adds support for more gralloc1 functions to GrallocMapper."
224fa294dbf77791dcb3ea3756018347cabea9ac 08-Feb-2017 Craig Donner <cdonner@google.com> Merge "Add methods for allocating and locking GraphicBuffers via gralloc1 flags"
2b5dd4062dd951b2cafc4b80bd3a1813b013d71a 08-Feb-2017 Mathias Agopian <mathias@google.com> Fix include dependencies

Some headers included other headers they didn’t
need. This is trying to reduce the dependencies
of Surface.h / Surface.cpp on the rest of the
world.

Test: compiled
Bug: not applicable
Change-Id: Ibb5de1308a387394a1367638c3b7f26b5549ce6a
ui/ISurfaceComposer.cpp
ui/Surface.cpp
cd11bd5909e50a3f69937f73a0b5871ad402d85f 07-Feb-2017 Hendrik Wagenaar <hendrikw@google.com> Discard invisible surfaces

* Jiwen found that we would try to post invisible layers, and this
would cause a hang.
* Check to see if the surface is invisible, and if so, discard it

Test: Manually tested with particles
Change-Id: Id4a0813cb30bd48c3cfa4d13dcee59fcb5f58a8d
r/libvrflinger/display_surface.cpp
44c186c9bace953dda54f0b606ed025eb7e5dca6 07-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "ProcessInfoService: Add support for oom score query"
991d2545afb325a3ebb8679519c4b0c13e29fada 06-Feb-2017 Mathias Agopian <mathias@google.com> move GraphicEnv from libgui to libui

This breaks a circular dependency between libEGL
and libgui.

Test: compiled and booted a device
Change-Id: I78932bba07fb9ef310d8e1622bd3a47f57e89c45
ui/Android.bp
ui/GraphicsEnv.cpp
i/Android.bp
i/GraphicsEnv.cpp
99d45c7f5ce4ed4ce12e34fd68764a46ca456cda 06-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Report binder versions on failure"
eb83dcba85c32b69b242c9eb750c3fa4986477ba 06-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Nullptr check for VSyncClient::Wait"
67ac00f7689d04bb617cba55b3adefd780391bac 04-Jan-2017 Greg Hartman <ghartman@google.com> Report binder versions on failure

BUG: 34053032
Test: foo
Change-Id: Ida43d037cc6cf70cd5f0e9f678db70d624c99285
inder/ProcessState.cpp
b4213f7539a3172eed55dbee75f0a0d4ea747ffa 04-Feb-2017 Okan Arikan <okana@google.com> Nullptr check for VSyncClient::Wait

as the documentation in the header implies

Bug: 34609900
Test: pass nullptr to Wait and observe your code not crashing
Change-Id: Ia3ead8cf3369bddedfca4606d0fa261fd57c281f
(cherry picked from commit a919630f3c7cd3c2ee90ef39cbf8147681dd9be8)
r/libdisplay/vsync_client.cpp
b4f33df8911e1b2804714fc4e78e8172d2eadd46 02-Feb-2017 Emilian Peev <epeev@google.com> ProcessInfoService: Add support for oom score query

An additional query for the process oom score also
needs to be supported.

BUG: 34701266
Test: Manual testing + run cts -m Camera --abi armeabi-v7a --disable-reboot
Change-Id: I3e7de82c4d14d4b3b7faa86f4c7208deb376b6c4
inder/ProcessInfoService.cpp
ae2d58b16a231e6afe5867d312e6811c7b710b4c 06-Feb-2017 Hendrik Wagenaar <hendrikw@google.com> Add param null-check + error return

* Fail gracefully when no hidl is passed

Test: Manually ran with nullptr

Change-Id: I2726c5ad512c7115f4c6e99d1e41e0fe267e6ff2
r/libvrflinger/vr_flinger.cpp
ea572425ac5438d6d27eca83104b795100ca87af 02-Feb-2017 Hendrik Wagenaar <hendrikw@google.com> Remove access to the backlight brightness

* We don't need to set the display brightness at the moment, and
access to the brightness fd requires an SELinux policy change
that we'd like to avoid, so ifdef out the code for now.

Bug: None
Test: To be tested along with Nick's SELinux policy cl
Change-Id: Ic6de9a1bd15d0eab2780bda31ec67fab94f8d6da
r/libvrflinger/hardware_composer.cpp
7cc7ab76e3e96e92582895e7041dee36074fee05 02-Feb-2017 Jiwen 'Steve' Cai <jwcai@google.com> Update GVR prebuilts to CL@146314416

This removes gvr_experimental_is_feature_supported API in shared library
prebuilts.

Bug: 34742071
Test: Build and ran particles.apk
Change-Id: I23836041993133ae055bd7e90cca99c5d2739ce7
r/libgvr/prebuilt/lib/android_arm/libgvr.so
r/libgvr/prebuilt/lib/android_arm/libgvr_audio.so
r/libgvr/prebuilt/lib/android_arm64/libgvr.so
r/libgvr/prebuilt/lib/android_arm64/libgvr_audio.so
r/libgvr/prebuilt/lib/android_x86/libgvr.so
r/libgvr/prebuilt/lib/android_x86/libgvr_audio.so
r/libgvr/prebuilt/lib/android_x86_64/libgvr.so
r/libgvr/prebuilt/lib/android_x86_64/libgvr_audio.so
r/libgvr/prebuilt/lib/common_library.aar
07a42a20544b0481ed211fdd8fefff9e5d9bbd77 02-Feb-2017 Steven Thomas <steventhomas@google.com> Add 6dof to the list of supported gvr features

While reimplementing gvr_experimental_is_feature_supported() as
gvr_is_feature_supported() I accidentally removed 6dof from the list of
supported features.

Bug: 34742071
Test: -
Change-Id: Ic0c9754d72a704d6bfd74dd7a14bdf6e89ed4dd4
r/libgvr/shim_gvr.cpp
3acdfbfc4f47c80de10d8b4603cb786f9a212d28 03-Feb-2017 Hendrik Wagenaar <hendrikw@google.com> Fix an incorrect LOG_ALWAYS_FATAL_IF introduced in sweep

* flip the condition to get same functionality as before the
sweep

Bug: None
Test: None
Change-Id: Iae781f495f29357431d84e79207849f9c3659d94
r/libeds/distortion_renderer.cpp
1049d1d0b21ee318e309f9a90098c092cb879c41 17-Dec-2016 Brian Anderson <brianderson@google.com> EGL: Use frameId instead of framesAgo for frame events.

Using a frameId allows an app to poll for timestamps
from a thread other than the swapping thread.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I3faac0513929837982a2e63f7e0d3d529bd28f10
ui/Surface.cpp
ui/tests/Surface_test.cpp
58a1ef23ca0f82cb9b8278f74e8b337947a97b93 02-Feb-2017 Craig Donner <cdonner@google.com> Adds support for more gralloc1 functions to GrallocMapper.

Bug: 34939453
Test: added native CTS tests checked with
cts-tradefed run cts-dev -m CtsNativeHardwareTestCases
Change-Id: I2393f6ec6c7eff5d229a5aa61ff2a52a9366fd1e
i/Gralloc1.cpp
i/GrallocMapper.cpp
i/GraphicBufferMapper.cpp
e96a325aff9da4e02abeb7b9178592583cf3b78c 02-Feb-2017 Craig Donner <cdonner@google.com> Add methods for allocating and locking GraphicBuffers via gralloc1 flags

Bug: 34050596
Test: manual
Change-Id: I9515e60fe6b67d2c6f02b1bb78651669430f12ef
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
26191364e457a50af0c891a2a3a32a0b5594923d 03-Feb-2017 Yunlian Jiang <yunlian@google.com> Merge "Fix warning: macro redefined" am: 909ef30a63 am: f62690cdaf am: d1f7b9d025
am: 501e019523

Change-Id: I2155e7df5ffd16a967d4465218cf852c9148f884
501e019523a5548b874274a8db85c8b3e5177ae9 03-Feb-2017 Yunlian Jiang <yunlian@google.com> Merge "Fix warning: macro redefined" am: 909ef30a63 am: f62690cdaf
am: d1f7b9d025

Change-Id: Ifa71e97d5ade8685f2f31400afd1727034321b4d
d1f7b9d02502c8b1b59a8873c74bf26ae288db6d 03-Feb-2017 Yunlian Jiang <yunlian@google.com> Merge "Fix warning: macro redefined" am: 909ef30a63
am: f62690cdaf

Change-Id: If7255629f0be37af2c08da90e9010423d73decfc
909ef30a63032f4cada67303ab022be9b7a458da 03-Feb-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Fix warning: macro redefined"
3079cb7c32421099a73e1a774b228635eeb3f189 20-Jan-2017 Corey Tabaka <eieio@google.com> Use generic libpdx event bits facility in libvrflinger and bufferhubd.

Use the generic event bits abstraction to support UDS and ServiceFS
backends properly.

Bug: 34466748
Test: start/stop basicvr repeatedly; observe stable bufferhub counts.
Change-Id: I9f2ea67c25860ad7fb931938991a29a37f3391fc
r/libbufferhub/include/private/dvr/buffer_hub_client.h
r/libvrflinger/display_surface.cpp
a8a92784bc5f6a50ce00311c6161fbcfc0898c5a 27-Jan-2017 Alex Vakulenko <avakulenko@google.com> Add libvrflinger for use in SurfaceFlinger

A separate CL uses this code from SurfaceFlinger.

Bug: None
Test: Manually ran modified SurfaceFlinger
Change-Id: I34588df1365588c0a0265e1e2325e3dd5516206a
r/libvrflinger/Android.mk
r/libvrflinger/acquired_buffer.cpp
r/libvrflinger/acquired_buffer.h
r/libvrflinger/compositor.cpp
r/libvrflinger/compositor.h
r/libvrflinger/debug_hud_data.cpp
r/libvrflinger/debug_hud_data.h
r/libvrflinger/debug_hud_view.cpp
r/libvrflinger/debug_hud_view.h
r/libvrflinger/display_manager_service.cpp
r/libvrflinger/display_manager_service.h
r/libvrflinger/display_service.cpp
r/libvrflinger/display_service.h
r/libvrflinger/display_surface.cpp
r/libvrflinger/display_surface.h
r/libvrflinger/epoll_event_dispatcher.cpp
r/libvrflinger/epoll_event_dispatcher.h
r/libvrflinger/hardware_composer.cpp
r/libvrflinger/hardware_composer.h
r/libvrflinger/include/dvr/vr_flinger.h
r/libvrflinger/screenshot_service.cpp
r/libvrflinger/screenshot_service.h
r/libvrflinger/surface_channel.cpp
r/libvrflinger/surface_channel.h
r/libvrflinger/video_compositor.cpp
r/libvrflinger/video_compositor.h
r/libvrflinger/video_mesh_surface.cpp
r/libvrflinger/video_mesh_surface.h
r/libvrflinger/vr_flinger.cpp
r/libvrflinger/vsync_service.cpp
r/libvrflinger/vsync_service.h
4fe60582f314e381098f8f3bc2e39c5880e9243a 02-Feb-2017 Alex Vakulenko <avakulenko@google.com> Remove references to libchrome

Removed dependencies on libchrome which was used mostly for logging
and switched over to standard Android log macros.

Bug: None
Test: `m -j32` still succeeds
Change-Id: I0a841c19c15c02f9a031af200e82837f9450d88a
r/libbufferhub/Android.mk
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/bufferhub_tests.cpp
r/libbufferhub/include/private/dvr/native_buffer.h
r/libbufferhub/ion_buffer.cpp
r/libbufferhubqueue/Android.mk
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libdisplay/Android.mk
r/libdisplay/display_client.cpp
r/libdisplay/frame_history.cpp
r/libdisplay/gl_fenced_flush.cpp
r/libdisplay/graphics.cpp
r/libdisplay/include/private/dvr/video_mesh_surface_client.h
r/libdisplay/late_latch.cpp
r/libdisplay/native_buffer_queue.cpp
r/libdisplay/native_window.cpp
r/libdisplay/screenshot_client.cpp
r/libdisplay/vsync_client.cpp
r/libdvrcommon/Android.mk
r/libdvrcommon/frame_time_history.cpp
r/libdvrcommon/include/private/dvr/debug.h
r/libdvrcommon/include/private/dvr/epoll_file_descriptor.h
r/libdvrcommon/include/private/dvr/log_helpers.h
r/libdvrcommon/revision.cpp
r/libdvrgraphics/Android.mk
r/libdvrgraphics/blur.cpp
r/libdvrgraphics/gpu_profiler.cpp
r/libdvrgraphics/shader_program.cpp
r/libdvrgraphics/timer_query.cpp
r/libeds/Android.mk
r/libeds/composite_hmd.cpp
r/libeds/distortion_renderer.cpp
r/libeds/eds_mesh.cpp
r/libeds/lucid_pose_tracker.cpp
r/libeds/tests/eds_app_tests.cpp
r/libgvr/Android.mk
r/libgvr/dummy_gvr_ext.cpp
r/libgvr/shim_gvr.cpp
r/libgvr/shim_gvr_controller.cpp
r/libgvr/shim_gvr_private.cpp
r/libimageio/include/private/dvr/image_io_logging.h
r/libpdx/private/pdx/service.h
r/libpdx/service.cpp
r/libposepredictor/linear_pose_predictor.cpp
r/libsensor/Android.mk
r/libsensor/pose_client.cpp
r/libsensor/sensor_client.cpp
r/libsensor/tests/sensor_app_tests.cpp
6890d95ec8b96970202518b439bfa8ab2d9dbf77 20-Jan-2017 Corey Tabaka <eieio@google.com> libpdx: Add support for more event bits.

- Add generic abstraction for multiple event bits with an implementation-
defined mechanism to deliver the bits.
- Update ServiceFS backend to pass through event bits.
- Implement EPOLLIN, EPOLLPRI, and EPOLLHUP event bit for UDS backed.

Bug: 34466748
Test: Build/flash system; observe stable operation.

Change-Id: I86afb5645b72ec69c095734c7891a690432150a3
r/libpdx/private/pdx/client.h
r/libpdx/private/pdx/client_channel.h
r/libpdx/private/pdx/mock_client_channel.h
r/libpdx_uds/Android.bp
r/libpdx_uds/channel_event_set.cpp
r/libpdx_uds/channel_manager.cpp
r/libpdx_uds/client_channel.cpp
r/libpdx_uds/ipc_helper.cpp
r/libpdx_uds/private/uds/channel_event_set.h
r/libpdx_uds/private/uds/channel_manager.h
r/libpdx_uds/private/uds/client_channel.h
r/libpdx_uds/private/uds/service_endpoint.h
r/libpdx_uds/service_dispatcher.cpp
r/libpdx_uds/service_endpoint.cpp
5ffa916b94d10345456b7fba191397a178f7e06a 27-Jan-2017 John Bates <jbates@google.com> Remove one more error spew from missing controllers

Bug: None
Test: One lest error when running apk
Change-Id: I4dd39223e91e124eb76350004ed0921cc6cb5d16
r/libsensor/pose_client.cpp
526901998bde35a9fd6a9233c4d295e7c33a1ef9 31-Jan-2017 Steven Thomas <steventhomas@google.com> Add gvr_is_feature_supported()

A new gvr function gvr_is_feature_supported() was added in
https://critique.corp.google.com/#review/145712807.

Implement the function to bring our gvr library up to date.

Bug: 34742071
Test: Confirmed I can once again load TreasureHunt built from google3.
Change-Id: Ib6a9802812a514ee54564f8572be9f6f4820ed01
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_audio.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_controller.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_types.h
r/libgvr/prebuilt/include/vr/gvr/capi/src/gvr_experimental.h
r/libgvr/prebuilt/include/vr/gvr/capi/src/gvr_types_experimental.h
r/libgvr/shim_gvr.cpp
bd448543439eb0f337191897bc3305eb8be0adda 01-Feb-2017 Evgenii Stepanov <eugenis@google.com> Merge "Disable integer sanitization on host." am: b79d9f9d49 am: e81efc5036 am: 49cfd967de
am: eb14cbfedc

Change-Id: I26be24d20912d990b1c4945ff634e91113755e60
eb14cbfedc89297f451d4e7b5ddfe120325d4618 01-Feb-2017 Evgenii Stepanov <eugenis@google.com> Merge "Disable integer sanitization on host." am: b79d9f9d49 am: e81efc5036
am: 49cfd967de

Change-Id: I85c053b519fba0915076800cbc7314f45ea7a9cd
49cfd967de4a9acde7b13be3558a88b9ad407d93 01-Feb-2017 Evgenii Stepanov <eugenis@google.com> Merge "Disable integer sanitization on host." am: b79d9f9d49
am: e81efc5036

Change-Id: Ifc9e92b6c39b9dc08066f051da263171bef1ee06
b79d9f9d49022b1e712956635f7c5e8fa8809866 01-Feb-2017 Evgenii Stepanov <eugenis@google.com> Merge "Disable integer sanitization on host."
62b3f36949f63abef7023197c0e5c0a17c9c903e 01-Feb-2017 George Burgess IV <gbiv@google.com> Merge "Fix -Wdouble-promotion warnings" am: 7920557287 am: f2528e2dad
am: c05e232ee8

Change-Id: Ic9efe4849e9b88e2340ff8fb4fa57cc8ed3388d6
c05e232ee8481319be441b42aeb073768dc748a2 01-Feb-2017 George Burgess IV <gbiv@google.com> Merge "Fix -Wdouble-promotion warnings" am: 7920557287
am: f2528e2dad

Change-Id: I002b3954932af2c13b81b6f5d2e46b157f730e1e
de98297153ff3e7cccf28a1e90e204d29c299158 01-Feb-2017 Evgenii Stepanov <eugenis@google.com> Disable integer sanitization on host.

Test: NFC until https://android-review.googlesource.com/#/c/329510
Change-Id: I0183556d5b945c689934664fe7f15caa18a0997d
nput/Android.bp
08025e35d519758917342bdcba6d3ca1c19af3bb 01-Feb-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Refactor how layer metadata for use by VR is propagated from WindowManager based on feedback in frameworks/base."
d4050d36ef669fd3cd68654cc3798d137ac35ea3 31-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix -Wdouble-promotion warnings"
479c60c85c40fd3536b0c88036e838dc1a4c56a0 27-Jan-2017 Albert Chaulk <achaulk@google.com> Refactor how layer metadata for use by VR is propagated
from WindowManager based on feedback in frameworks/base.

Since windowType and ownerUid are immutable, they are sent
on creation instead of separate IPC.

Bug: 30984984
Test: built locally

Change-Id: I380b3cdcf6aec471fc23f1e27846ab80492e8add
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
eedb69abbde29ad3dd624f1f9dfc72e4f35d5234 31-Jan-2017 Romain Guy <romainguy@google.com> Add ColorSpace::createLUT

Generates a 3D LUT of a specified size. The generated LUT is meant to
be used as a 3D OpenGL texture for fast color space conversions in
shaders. This will be used to convert from P3 bitmaps to scRGB.

Bug: 32984164
Test: colorspace_test
Change-Id: I01f7276f885c71bde480e79260013d62786b377c
i/ColorSpace.cpp
i/tests/colorspace_test.cpp
3d9da20ac13d014f411a580f7a3cbc40e5c42a36 31-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libbinder: Add support for Value, Map, and IpPrefix types"
6316f5b8df30422b247c2bfd1a805dcd4069b54e 04-Jan-2017 Robert Quattlebaum <rquattle@google.com> libbinder: Add support for Value, Map, and IpPrefix types

Change-Id: I4cd06c7c65f69e6b787111573b29c4ff22f57981
inder/Android.bp
inder/IpPrefix.cpp
inder/Parcel.cpp
inder/PersistableBundle.cpp
inder/Value.cpp
inder/tests/Android.bp
inder/tests/binderValueTypeTest.cpp
87162c12db72de81628f6933e9e0cb7a4ee9eb36 29-Jan-2017 Jiwen 'Steve' Cai <jwcai@google.com> Fix libgvr related build issue on mips

Bug: 34787305
Test: make -j109 PRODUCT-aosp_mips-eng dist checkbuild
Change-Id: Ib1d41a70a50b2b34fc2b46dcfd3b49da07dc2495
r/libgvr/Android.mk
123ff890c38af21cfa213a06b94b25532cb9b874 29-Jan-2017 Jiwen 'Steve' Cai <jwcai@google.com> Pull in X86 targets for GVR prebuilts CL@144004555

Also updates the build_gvr_prebuilts.sh script for future prebuilt pull in.

Bug: 34787305
Test: m -j PRODUCT-sdk_google_phone_x86_64-sdk_addon
Test: m -j PRODUCT-sdk_google_phone_mips-sdk_addon

Change-Id: Iba4c4edbdb97f8c2e0e3e6bf054366c2648884fd
r/libgvr/Android.mk
r/libgvr/prebuilt/build_gvr_prebuilts.sh
r/libgvr/prebuilt/lib/android_x86/libgvr.so
r/libgvr/prebuilt/lib/android_x86/libgvr_audio.so
r/libgvr/prebuilt/lib/android_x86_64/libgvr.so
r/libgvr/prebuilt/lib/android_x86_64/libgvr_audio.so
e4eec20f6263f4a42ae462456f60ea6c4518bb0a 27-Jan-2017 Alex Vakulenko <avakulenko@google.com> Add DaydreamVR native libraries and services

Upstreaming the main VR system components from master-dreamos-dev
into goog/master.

Bug: None
Test: `m -j32` succeeds. Sailfish boots and basic_vr sample app works
Change-Id: I853015872afc443aecee10411ef2d6b79184d051
r/.clang-format
r/Android.bp
r/CPPLINT.cfg
r/libbufferhub/Android.mk
r/libbufferhub/buffer_hub_client.cpp
r/libbufferhub/buffer_hub_rpc.cpp
r/libbufferhub/bufferhub_tests.cpp
r/libbufferhub/include/private/dvr/buffer_hub_client.h
r/libbufferhub/include/private/dvr/bufferhub_rpc.h
r/libbufferhub/include/private/dvr/ion_buffer.h
r/libbufferhub/include/private/dvr/native_buffer.h
r/libbufferhub/ion_buffer.cpp
r/libbufferhub/mocks/client/private/dvr/buffer_hub_client.h
r/libbufferhub/mocks/gralloc/BUILD.gn
r/libbufferhub/mocks/gralloc/gralloc.cpp
r/libbufferhub/mocks/gralloc/gralloc_mock.h
r/libbufferhub/mocks/ion_buffer/private/dvr/ion_buffer.h
r/libbufferhub/tests/Android.mk
r/libbufferhub/tests/ion_buffer/Android.mk
r/libbufferhub/tests/ion_buffer/ion_buffer-test.cpp
r/libbufferhubqueue/Android.mk
r/libbufferhubqueue/buffer_hub_queue_client.cpp
r/libbufferhubqueue/buffer_hub_queue_consumer.cpp
r/libbufferhubqueue/buffer_hub_queue_core.cpp
r/libbufferhubqueue/buffer_hub_queue_producer.cpp
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_client.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_consumer.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_core.h
r/libbufferhubqueue/include/private/dvr/buffer_hub_queue_producer.h
r/libbufferhubqueue/tests/Android.mk
r/libbufferhubqueue/tests/buffer_hub_queue-test.cpp
r/libbufferhubqueue/tests/buffer_hub_queue_producer-test.cpp
r/libdisplay/Android.mk
r/libdisplay/display_client.cpp
r/libdisplay/display_manager_client.cpp
r/libdisplay/display_manager_client_impl.cpp
r/libdisplay/display_rpc.cpp
r/libdisplay/dummy_native_window.cpp
r/libdisplay/frame_history.cpp
r/libdisplay/gl_fenced_flush.cpp
r/libdisplay/graphics.cpp
r/libdisplay/include/CPPLINT.cfg
r/libdisplay/include/dvr/graphics.h
r/libdisplay/include/private/dvr/display_client.h
r/libdisplay/include/private/dvr/display_manager_client.h
r/libdisplay/include/private/dvr/display_manager_client_impl.h
r/libdisplay/include/private/dvr/display_rpc.h
r/libdisplay/include/private/dvr/display_types.h
r/libdisplay/include/private/dvr/dummy_native_window.h
r/libdisplay/include/private/dvr/frame_history.h
r/libdisplay/include/private/dvr/gl_fenced_flush.h
r/libdisplay/include/private/dvr/graphics_private.h
r/libdisplay/include/private/dvr/late_latch.h
r/libdisplay/include/private/dvr/native_buffer_queue.h
r/libdisplay/include/private/dvr/screenshot_client.h
r/libdisplay/include/private/dvr/video_mesh_surface_client.h
r/libdisplay/include/private/dvr/vsync_client.h
r/libdisplay/include/private/dvr/vsync_client_api.h
r/libdisplay/late_latch.cpp
r/libdisplay/native_buffer_queue.cpp
r/libdisplay/native_window.cpp
r/libdisplay/native_window_test.cpp
r/libdisplay/screenshot_client.cpp
r/libdisplay/system/CPPLINT.cfg
r/libdisplay/tests/graphics_app_tests.cpp
r/libdisplay/video_mesh_surface_client.cpp
r/libdisplay/vsync_client.cpp
r/libdisplay/vsync_client_api.cpp
r/libdvrcommon/Android.mk
r/libdvrcommon/frame_time_history.cpp
r/libdvrcommon/include/private/dvr/benchmark.h
r/libdvrcommon/include/private/dvr/clock_ns.h
r/libdvrcommon/include/private/dvr/debug.h
r/libdvrcommon/include/private/dvr/eigen.h
r/libdvrcommon/include/private/dvr/epoll_file_descriptor.h
r/libdvrcommon/include/private/dvr/field_of_view.h
r/libdvrcommon/include/private/dvr/frame_time_history.h
r/libdvrcommon/include/private/dvr/log_helpers.h
r/libdvrcommon/include/private/dvr/numeric.h
r/libdvrcommon/include/private/dvr/ortho.h
r/libdvrcommon/include/private/dvr/platform_defines.h
r/libdvrcommon/include/private/dvr/pose.h
r/libdvrcommon/include/private/dvr/range.h
r/libdvrcommon/include/private/dvr/revision.h
r/libdvrcommon/include/private/dvr/ring_buffer.h
r/libdvrcommon/include/private/dvr/sync_util.h
r/libdvrcommon/include/private/dvr/test/test_macros.h
r/libdvrcommon/include/private/dvr/types.h
r/libdvrcommon/revision.cpp
r/libdvrcommon/revision_path.cpp
r/libdvrcommon/revision_path.h
r/libdvrcommon/sync_util.cpp
r/libdvrcommon/tests/numeric_test.cpp
r/libdvrcommon/tests/pose_test.cpp
r/libdvrcommon/tests/revision_app_tests.cpp
r/libdvrcommon/tests/revision_tests.cpp
r/libdvrgraphics/Android.mk
r/libdvrgraphics/assets/controller_proto2.png
r/libdvrgraphics/assets/controller_proto2_body.obj
r/libdvrgraphics/assets/controller_proto2_button.obj
r/libdvrgraphics/assets/controller_proto2_button2.obj
r/libdvrgraphics/assets/controller_proto2_joystick.obj
r/libdvrgraphics/assets/controller_proto2_trigger.obj
r/libdvrgraphics/assets/laser.obj
r/libdvrgraphics/assets/laser.png
r/libdvrgraphics/blur.cpp
r/libdvrgraphics/debug_text.cpp
r/libdvrgraphics/egl_image.cpp
r/libdvrgraphics/gpu_profiler.cpp
r/libdvrgraphics/include/private/dvr/graphics/blur.h
r/libdvrgraphics/include/private/dvr/graphics/debug_text.h
r/libdvrgraphics/include/private/dvr/graphics/egl_image.h
r/libdvrgraphics/include/private/dvr/graphics/gpu_profiler.h
r/libdvrgraphics/include/private/dvr/graphics/indexed_mesh.h
r/libdvrgraphics/include/private/dvr/graphics/mesh.h
r/libdvrgraphics/include/private/dvr/graphics/shader_program.h
r/libdvrgraphics/include/private/dvr/graphics/timer_query.h
r/libdvrgraphics/include/private/dvr/graphics/vertex_attributes.h
r/libdvrgraphics/include/private/dvr/graphics/vr_gl_extensions.h
r/libdvrgraphics/shader_program.cpp
r/libdvrgraphics/timer_query.cpp
r/libdvrgraphics/vr_gl_extensions.cpp
r/libeds/Android.mk
r/libeds/composite_hmd.cpp
r/libeds/cpu_thread_pose_updater.cpp
r/libeds/display_metrics.cpp
r/libeds/distortion_renderer.cpp
r/libeds/eds.cpp
r/libeds/eds_mesh.cpp
r/libeds/include/CPPLINT.cfg
r/libeds/include/dvr/eds.h
r/libeds/include/private/dvr/color_channel_distortion.h
r/libeds/include/private/dvr/composite_hmd.h
r/libeds/include/private/dvr/cpu_thread_pose_updater.h
r/libeds/include/private/dvr/display_metrics.h
r/libeds/include/private/dvr/distortion_renderer.h
r/libeds/include/private/dvr/eds_mesh.h
r/libeds/include/private/dvr/head_mount_metrics.h
r/libeds/include/private/dvr/identity_distortion.h
r/libeds/include/private/dvr/lookup_radial_distortion.h
r/libeds/include/private/dvr/lucid_metrics.h
r/libeds/include/private/dvr/lucid_pose_tracker.h
r/libeds/include/private/dvr/polynomial_radial_distortion.h
r/libeds/include/private/dvr/raw_pose.h
r/libeds/include/private/dvr/render_texture_params.h
r/libeds/lookup_radial_distortion.cpp
r/libeds/lucid_metrics.cpp
r/libeds/lucid_pose_tracker.cpp
r/libeds/polynomial_radial_distortion.cpp
r/libeds/tests/eds_app_tests.cpp
r/libgvr/.clang-format
r/libgvr/Android.mk
r/libgvr/CPPLINT.cfg
r/libgvr/README.dreamos
r/libgvr/com.google.vr.gvr.platform.xml
r/libgvr/deviceparams/CardboardDevice.nolite.proto
r/libgvr/dummy_gvr_ext.cpp
r/libgvr/exported_apis.lds
r/libgvr/include/private/dvr/internal_types.h
r/libgvr/include/vr/gvr/capi/include/gvr_ext.h
r/libgvr/include/vr/gvr/capi/include/gvr_util.h
r/libgvr/java/com/google/vr/gvr/platform/Loader.java
r/libgvr/library_loader.cpp
r/libgvr/prebuilt/build_gvr_prebuilts.sh
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_audio.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_controller.h
r/libgvr/prebuilt/include/vr/gvr/capi/include/gvr_types.h
r/libgvr/prebuilt/include/vr/gvr/capi/src/gvr_experimental.h
r/libgvr/prebuilt/include/vr/gvr/capi/src/gvr_private.h
r/libgvr/prebuilt/include/vr/gvr/capi/src/gvr_types_experimental.h
r/libgvr/prebuilt/lib/android_arm/libgvr.so
r/libgvr/prebuilt/lib/android_arm/libgvr_audio.so
r/libgvr/prebuilt/lib/android_arm64/libgvr.so
r/libgvr/prebuilt/lib/android_arm64/libgvr_audio.so
r/libgvr/prebuilt/lib/common_library.aar
r/libgvr/shim_gvr.cpp
r/libgvr/shim_gvr_controller.cpp
r/libgvr/shim_gvr_private.cpp
r/libimageio/Android.mk
r/libimageio/image_io.cpp
r/libimageio/image_io_png.cpp
r/libimageio/image_io_ppm.cpp
r/libimageio/include/CPPLINT.cfg
r/libimageio/include/private/dvr/image_io.h
r/libimageio/include/private/dvr/image_io_base.h
r/libimageio/include/private/dvr/image_io_logging.h
r/libimageio/include/private/dvr/image_io_png.h
r/libimageio/include/private/dvr/image_io_ppm.h
r/libpdx/Android.bp
r/libpdx/client.cpp
r/libpdx/client_tests.cpp
r/libpdx/encoder_performance_test.cpp
r/libpdx/errno_guard.h
r/libpdx/mock_tests.cpp
r/libpdx/private/pdx/channel_handle.h
r/libpdx/private/pdx/client.h
r/libpdx/private/pdx/client_channel.h
r/libpdx/private/pdx/client_channel_factory.h
r/libpdx/private/pdx/file_handle.h
r/libpdx/private/pdx/message_reader.h
r/libpdx/private/pdx/message_writer.h
r/libpdx/private/pdx/mock_client_channel.h
r/libpdx/private/pdx/mock_client_channel_factory.h
r/libpdx/private/pdx/mock_message_reader.h
r/libpdx/private/pdx/mock_message_writer.h
r/libpdx/private/pdx/mock_service_dispatcher.h
r/libpdx/private/pdx/mock_service_endpoint.h
r/libpdx/private/pdx/rpc/argument_encoder.h
r/libpdx/private/pdx/rpc/array_wrapper.h
r/libpdx/private/pdx/rpc/buffer_wrapper.h
r/libpdx/private/pdx/rpc/copy_cv_reference.h
r/libpdx/private/pdx/rpc/default_initialization_allocator.h
r/libpdx/private/pdx/rpc/encoding.h
r/libpdx/private/pdx/rpc/enumeration.h
r/libpdx/private/pdx/rpc/find_replace.h
r/libpdx/private/pdx/rpc/function_traits.h
r/libpdx/private/pdx/rpc/macros.h
r/libpdx/private/pdx/rpc/message_buffer.h
r/libpdx/private/pdx/rpc/payload.h
r/libpdx/private/pdx/rpc/pointer_wrapper.h
r/libpdx/private/pdx/rpc/remote_method.h
r/libpdx/private/pdx/rpc/remote_method_type.h
r/libpdx/private/pdx/rpc/sequence.h
r/libpdx/private/pdx/rpc/serializable.h
r/libpdx/private/pdx/rpc/serialization.h
r/libpdx/private/pdx/rpc/string_wrapper.h
r/libpdx/private/pdx/rpc/thread_local_buffer.h
r/libpdx/private/pdx/rpc/type_operators.h
r/libpdx/private/pdx/rpc/variant.h
r/libpdx/private/pdx/service.h
r/libpdx/private/pdx/service_dispatcher.h
r/libpdx/private/pdx/service_endpoint.h
r/libpdx/private/pdx/status.h
r/libpdx/private/pdx/trace.h
r/libpdx/private/pdx/utility.h
r/libpdx/serialization_tests.cpp
r/libpdx/service.cpp
r/libpdx/service_tests.cpp
r/libpdx/status.cpp
r/libpdx/status_tests.cpp
r/libpdx/thread_local_buffer_tests.cpp
r/libpdx/variant_tests.cpp
r/libpdx_default_transport/Android.bp
r/libpdx_default_transport/pdx_benchmarks.cpp
r/libpdx_default_transport/private/pdx/default_transport/service_utility.h
r/libpdx_default_transport/private/servicefs/pdx/default_transport/channel_manager.h
r/libpdx_default_transport/private/servicefs/pdx/default_transport/client_channel.h
r/libpdx_default_transport/private/servicefs/pdx/default_transport/client_channel_factory.h
r/libpdx_default_transport/private/servicefs/pdx/default_transport/service_dispatcher.h
r/libpdx_default_transport/private/servicefs/pdx/default_transport/service_endpoint.h
r/libpdx_default_transport/private/uds/pdx/default_transport/channel_manager.h
r/libpdx_default_transport/private/uds/pdx/default_transport/client_channel.h
r/libpdx_default_transport/private/uds/pdx/default_transport/client_channel_factory.h
r/libpdx_default_transport/private/uds/pdx/default_transport/service_dispatcher.h
r/libpdx_default_transport/private/uds/pdx/default_transport/service_endpoint.h
r/libpdx_default_transport/servicetool.cpp
r/libpdx_uds/Android.bp
r/libpdx_uds/channel_manager.cpp
r/libpdx_uds/client_channel.cpp
r/libpdx_uds/client_channel_factory.cpp
r/libpdx_uds/ipc_helper.cpp
r/libpdx_uds/private/uds/channel_manager.h
r/libpdx_uds/private/uds/client_channel.h
r/libpdx_uds/private/uds/client_channel_factory.h
r/libpdx_uds/private/uds/ipc_helper.h
r/libpdx_uds/private/uds/service_dispatcher.h
r/libpdx_uds/private/uds/service_endpoint.h
r/libpdx_uds/remote_method_tests.cpp
r/libpdx_uds/service_dispatcher.cpp
r/libpdx_uds/service_endpoint.cpp
r/libpdx_uds/service_framework_tests.cpp
r/libperformance/Android.mk
r/libperformance/include/CPPLINT.cfg
r/libperformance/include/dvr/performance_client_api.h
r/libperformance/include/private/dvr/performance_client.h
r/libperformance/include/private/dvr/performance_rpc.h
r/libperformance/performance_client.cpp
r/libperformance/performance_rpc.cpp
r/libposepredictor/Android.mk
r/libposepredictor/include/private/dvr/linear_pose_predictor.h
r/libposepredictor/include/private/dvr/pose_predictor.h
r/libposepredictor/linear_pose_predictor.cpp
r/libposepredictor/linear_pose_predictor_tests.cpp
r/libsensor/Android.mk
r/libsensor/include/CPPLINT.cfg
r/libsensor/include/dvr/pose_client.h
r/libsensor/include/private/dvr/pose-ipc.h
r/libsensor/include/private/dvr/pose_client_internal.h
r/libsensor/include/private/dvr/sensor-ipc.h
r/libsensor/include/private/dvr/sensor_client.h
r/libsensor/include/private/dvr/sensor_constants.h
r/libsensor/pose_client.cpp
r/libsensor/sensor_client.cpp
r/libsensor/tests/sensor_app_tests.cpp
c34e059b3b044ec5346838e5b3d467c4f4bb6d65 28-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add color space connection"
1728b06804c8154cc9e4d3584a17ec23f472c089 28-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add various vector functions"
545347429606f5ef7facbb1639b42e5c9b44b6ec 28-Jan-2017 Romain Guy <romainguy@google.com> Add color space connection

This will be used to generate a 3D LUT to convert wide gamut bitmaps
to the render target's color space at draw time.

Bug: 32984164
Test: colorspace_test
Change-Id: I1ea8d2b3129dfc8b994c8abc926b24e7e097558c
i/ColorSpace.cpp
i/tests/colorspace_test.cpp
11ecb63414d2fea2f4217db8bb06a998bcf8b425 28-Jan-2017 Romain Guy <romainguy@google.com> Add various vector functions

- map()
- Bool vectors
- any(), all(), comparison functions

Example:

all(lessThan(abs(v1 - v0), epsilon))

Bug: 32984164
Test: vec_test
Change-Id: I7d030387f5a280a499ea480015b69138cef38459
i/tests/vec_test.cpp
1db73f66624e7d151710483dd58e03eed672f064 21-Dec-2016 Robert Carr <racarr@google.com> SurfaceFlinger: Add support for non-privileged clients.

Allow clients without privilege to create child layers through scoped
connections. We enable this in preparation for allowing SurfaceView
to bypass the WindowManager. We include support for reparenting of
all of a layer's children for the WindowManager to use in cases where
one surface is replacing another (while keeping its children around).

Test: Tested with corresponding SurfaceView modifications.
Change-Id: I9920e6730d719113522a68788e63fb59f70d3406
ui/ISurfaceComposer.cpp
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
ui/tests/Surface_test.cpp
d348e8afe79206b0c11343139d0cacdb7b78dfe9 25-Jan-2017 George Burgess IV <gbiv@google.com> Fix -Wdouble-promotion warnings

With the new clang FORTIFY, this code emits the following error:

error: implicit conversion increases floating-point precision: 'float'
to 'double' [-Werror,-Wdouble-promotion]

This is because strncpy is now a function, not a macro defined in a
system header. So, the warning is considered to appear in user code
(instead of system code), and is therefore no longer suppressed.

Bug: 32073964
Test: Now builds with clang FORTIFY
Change-Id: Id5fcfe91755535f90b542e11bc42b66976fe24fc
Merged-In: I5e8292d7800434268793bc4db4a96f20b7022e17
i/GraphicBufferAllocator.cpp
1093cf302cdbeb8cbf8ebe8bcaf9ca9ac11600a1 26-Jan-2017 George Burgess IV <gbiv@google.com> Fix -Wdouble-promotion warnings

This is a manual merge of change
https://android-review.googlesource.com/#/c/328520/ , since automerging
failed.

With the new clang FORTIFY, this code emits the following error:

error: implicit conversion increases floating-point precision: 'float'
to 'double' [-Werror,-Wdouble-promotion]

This is because strncpy is now a function, not a macro defined in a
system header. So, the warning is considered to appear in user code
(instead of system code), and is therefore no longer suppressed.

Bug: 32073964
Test: Now builds with clang FORTIFY
Change-Id: I5e8292d7800434268793bc4db4a96f20b7022e17
i/GraphicBufferAllocator.cpp
4c695296d87804d7d9ecdad43ec24e4dbc6c74fe 25-Jan-2017 Ian Elliott <ianelliott@google.com> Merge "Vulkan: only report refreshDuration, not {min|max}RefreshDuration"
be833a27b36149e48f2e1b8bbb2f70dd63428419 25-Jan-2017 Ian Elliott <ianelliott@google.com> Vulkan: only report refreshDuration, not {min|max}RefreshDuration

Test: Manually tested with a modified cube demo, that reports the refresh
duration returned from this extension.

As part of discussions within Khronos, it was decided that
VK_GOOGLE_display_timing should only report one refresh duration for a display,
and assume that it's refresh rate is fixed (which is the case for our current
devices).

Change-Id: I772348281c18a36b02dcfe0519d1943e25a41f7c
ui/Surface.cpp
e895863cca8c23bd65d2d21211f81e457b48416d 25-Jan-2017 Rob Carr <racarr@google.com> Merge changes I96f8ad86,I84dcd82e,Ifcece69f

* changes:
SurfaceFlinger and libgui: Support for child layers.
SurfaceFlinger: Use traversal functions to iterate LayerList.
SurfaceFlinger and libgui: Switch Z-order to signed type.
eda1dc7a6961d0ac00b0b6953997033a109493b7 25-Jan-2017 Ian Elliott <ianelliott@google.com> Merge "Plumb refresh cycle duration up to VK_GOOGLE_display_timing."
86aa938c79672c0be42a0a7d9b03dda47c47d134 25-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "BufferQueue: Add bufferReplaced flag in QueueBufferOutput"
1f0a16a5d7cd00ba7fda82e7d315afa1fd1303b9 25-Oct-2016 Robert Carr <racarr@google.com> SurfaceFlinger and libgui: Support for child layers.

Add support for parenting Layers in a tree. Layers
follow scene-graph style rules, that is to say:
1. A child is cropped to the final bounds of the parent.
2. A child inherits the parent's transform (including position)
3. A child's Z ordering is relative to the parent and bounded between
the parents siblings.
4. A childs lifetime is bounded by it's parents lifetime.

Test: New tests in Transaction_test plus manual testing with later branches.
Change-Id: I96f8ad863665b9a70b6f845561344c297b7e6eff
ui/ISurfaceComposerClient.cpp
ui/SurfaceComposerClient.cpp
ae0608381b2b4699218febd6d45ad9d307544d55 28-Nov-2016 Robert Carr <racarr@google.com> SurfaceFlinger and libgui: Switch Z-order to signed type.

In preparation for SurfaceFlinger child layers. In that model
children's Z order will be relative to their parent. We need
negative Z values to represent children stacking below their
parent (e.g. SurfaceView). Java side already uses signed types
strangely enough.

Test: Basically a refactoring. SurfaceFlinger still works.
Change-Id: Ifcece69f6f9d917cbf5238a59f8e5de1e8ba6a25
ui/ISurfaceComposer.cpp
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
ui/tests/Surface_test.cpp
6cf6af0299f7e48bc5bcdcd6a6c0f5a8725e9411 22-Nov-2016 Albert Chaulk <achaulk@google.com> VR: Add API to plumb surface type and owner through to SurfaceFlinger

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

Test: None
Bug: None
Change-Id: I338c84c2576ab85fa4f6d8e759c9e7ce912cdd61
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
62c48c931f88ec44c41621afe988c34cab1fb41d 20-Jan-2017 Ian Elliott <ianelliott@google.com> Plumb refresh cycle duration up to VK_GOOGLE_display_timing.

Test: Manually tested with a modified cube demo, that reports the refresh
duration returned from this extension.

Change-Id: Ib9499429119e910585a4ee9341c3a2d86a3bdae0
ui/Surface.cpp
146abf38c2442b77dc78a0565ad010376c9d1b69 24-Jan-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Merge "Make dataspace accessible to surface flinger"
79bc69c31c356544a054ddd72dfaa8c09d0d037a 21-Jan-2017 Jeff Sharkey <jsharkey@android.com> Merge "Add Binder support for Parcelable exceptions." am: 7ebfeb9d1c am: fa418b2b15 am: cd9254082d
am: f0ad79668f

Change-Id: Ia256ad9a6bf073f5b3000985217b9dac04bd306f
f0ad79668f95673eeead736e5702072d1ed3122b 21-Jan-2017 Jeff Sharkey <jsharkey@android.com> Merge "Add Binder support for Parcelable exceptions." am: 7ebfeb9d1c am: fa418b2b15
am: cd9254082d

Change-Id: I0ab52eaf2b93da53396cec416a8a0a0e30220b4c
cd9254082df7e66a3637722c5a37388ce8b46275 20-Jan-2017 Jeff Sharkey <jsharkey@android.com> Merge "Add Binder support for Parcelable exceptions." am: 7ebfeb9d1c
am: fa418b2b15

Change-Id: I59c64df526ae8ba0c07532f983a224b72b427060
7ebfeb9d1c345b362a59973c9b12c1f045e8433a 20-Jan-2017 Jeff Sharkey <jsharkey@android.com> Merge "Add Binder support for Parcelable exceptions."
22f842ba04c32cef2faf855dc304eb0ab131b9ec 19-Jan-2017 Shuzhen Wang <shuzhenwang@google.com> BufferQueue: Add bufferReplaced flag in QueueBufferOutput

For async buffer queue, when queueBuffer overwrites a previously queued
buffer, because consumer won't be able to acquire the overwritten
buffer, onBufferReleased isn't triggered either.

This makes it difficult to track which buffer in the buffer queue
becomes free other than calling dequeueBuffer(). Adding a flag in
QueueBufferOutput addresses this issue.

Test: TestBufferReplacedInQueueBuffer in BufferQueue_tests
Bug: 34481539
Change-Id: Ic7f4be2d3f9691dd6b007a450240614c0c420f0d
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/tests/BufferQueue_test.cpp
e36e34731cbe77a49aa5e7d687dde041d83d0370 03-Nov-2016 Peng Xu <pengxu@google.com> Direct report mode support in sensor service and client

Added SensorDirectConnection to represent the direct channel.
The life-cycle is similar to that of SensorEventConnection.
Modified SensorDevice and SensorDeviceTreble to support new
HAL API. Added support in SensorManager, SensorService, binder
classes. Also added related helper functions in Sensor and dumpsys
support in SensorList.

Test: manual test with demo app
Bug: 30985702
Change-Id: I8750294b6aab717ed7f525299be642f1f0b85558
ui/ISensorEventConnection.cpp
ui/ISensorServer.cpp
ui/Sensor.cpp
ui/SensorManager.cpp
2e990eb59e927187b11c7b5f0abe6dbdb0123d1d 13-Jan-2017 Nick Vaccaro <nvaccaro@google.com> Sensors: Add LOW_LATENCY_OFFBODY_DETECT sensor API

Test: none
Bug: 34234089
Change-Id: I7680ef1523cec0212e2817368f8d62891edc92cf
ui/Sensor.cpp
ui/SensorManager.cpp
2fa7236082c73327ee05667ca27b32b3b08959d3 19-Jan-2017 Peng Xu <pengxu@google.com> Merge "TYPE_DYNAMIC_SENSOR_META should be wake up sensor" am: 29280addfd am: 4925ffcbec am: ce7bcb28ff
am: dd912650f2

Change-Id: Iedfd745699cd937c54e345fe7c0d9dc35052afe8
dd912650f29293c79cdcf525ffb537d3a2c5a9a7 19-Jan-2017 Peng Xu <pengxu@google.com> Merge "TYPE_DYNAMIC_SENSOR_META should be wake up sensor" am: 29280addfd am: 4925ffcbec
am: ce7bcb28ff

Change-Id: I9a241d3ecf5c7bee929f42bcba4438a60e36f94c
ce7bcb28ff04afae719d3147b0bf969e7394d8f7 19-Jan-2017 Peng Xu <pengxu@google.com> Merge "TYPE_DYNAMIC_SENSOR_META should be wake up sensor" am: 29280addfd
am: 4925ffcbec

Change-Id: Id48ac0e29a62e17495ae0ae7f4b5741e89e93121
29280addfdd6b4573ceb18ccb59c213ba76b4cae 19-Jan-2017 Peng Xu <pengxu@google.com> Merge "TYPE_DYNAMIC_SENSOR_META should be wake up sensor"
c8dc4f0af9f8847be9cdd2b9cbb5b8a7767982c4 17-Jan-2017 Jeff Sharkey <jsharkey@android.com> Add Binder support for Parcelable exceptions.

Follow the new framework changes that support sending EX_PARCELABLE
exception types.

Test: builds, boots
Bug: 33749182
Change-Id: I7a856fa89f23aab4f782c4e5ae2beb8166fa8da4
inder/Status.cpp
1966cf622baabcb5e496bb9c9ce4a2f9c438b124 21-Dec-2016 Jesse Hall <jessehall@google.com> EGL: Load updated EGL/GLES drivers

Because the driver namespace is stored in libgui, and libgui depends
on libEGL, this required a hack for libEGL to access the namespace.
See the comment added in GraphicsEnv.h for details; the summary is
that the libgui->libEGL dependency should go away, and then libEGL can
depend on libgui directly.

For system drivers, the loader would happily load anything named
lib{GLES,EGL,GLESv2,GLESv1_CM}_*.so in /vendor/lib[64]/egl, for
backward-compatibility with the old and no-longer-supported egl.cfg
system. However, it preferred unsuffixed names. That's not actually a
good idea, since the DT_SONAME would clash with the system libraries.
For updated drivers, we only look for suffixes from the
ro.hardware.egl and ro.board.platform system properties, similar to
the Vulkan and HAL library search. A future change (tied to a future
release) will do the same for system drivers.

Bug: 33531483
Test: Launch GLES apps w/ and w/o updated driver package
Change-Id: Ibfbb275629b0c6cf9c51314aea1361e81ff72d4b
ui/GraphicsEnv.cpp
b2401203c6a7c57a7f36efe02bdbd85bf2f64d1a 15-Dec-2016 Jesse Hall <jessehall@google.com> Load updated drivers using derived loader namespace

Bug: 33531483
Test: Launch vulkan apps w/ and w/o updated driver package
Change-Id: Ia73e1e33b637d6ffd96ea0480ed6d85b9f68dce3
ui/Android.bp
ui/GraphicsEnv.cpp
a91f64cbe1bc057a466a865446767ffd48133a8f 21-Dec-2016 Jesse Hall <jessehall@google.com> EGL: Load updated EGL/GLES drivers

Because the driver namespace is stored in libgui, and libgui depends
on libEGL, this required a hack for libEGL to access the namespace.
See the comment added in GraphicsEnv.h for details; the summary is
that the libgui->libEGL dependency should go away, and then libEGL can
depend on libgui directly.

For system drivers, the loader would happily load anything named
lib{GLES,EGL,GLESv2,GLESv1_CM}_*.so in /vendor/lib[64]/egl, for
backward-compatibility with the old and no-longer-supported egl.cfg
system. However, it preferred unsuffixed names. That's not actually a
good idea, since the DT_SONAME would clash with the system libraries.
For updated drivers, we only look for suffixes from the
ro.hardware.egl and ro.board.platform system properties, similar to
the Vulkan and HAL library search. A future change (tied to a future
release) will do the same for system drivers.

Bug: 33531483
Change-Id: If6eb7dbbc37f219c999e20a983569d4c4e73bda1
Merged-In: Ibfbb275629b0c6cf9c51314aea1361e81ff72d4b
ui/GraphicsEnv.cpp
afd02885b98d85df0ae516bf8d89b90f9c6f6d00 15-Dec-2016 Jesse Hall <jessehall@google.com> Load updated drivers using derived loader namespace

Bug: 33531483
Change-Id: I7e4d5b76d5dde42f2d1b2ad5079a5339a4d11f3d
Merged-In: Ia73e1e33b637d6ffd96ea0480ed6d85b9f68dce3
ui/Android.mk
ui/GraphicsEnv.cpp
27d40795cd61247006a1a15a7dc0687be3dfc4f7 17-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'drvup-master'

* changes:
EGL: Load updated EGL/GLES drivers
Load updated drivers using derived loader namespace
7a8d83ef77b31097cbccfc89ee93414b3f2c2d03 21-Dec-2016 Jesse Hall <jessehall@google.com> EGL: Load updated EGL/GLES drivers

Because the driver namespace is stored in libgui, and libgui depends
on libEGL, this required a hack for libEGL to access the namespace.
See the comment added in GraphicsEnv.h for details; the summary is
that the libgui->libEGL dependency should go away, and then libEGL can
depend on libgui directly.

For system drivers, the loader would happily load anything named
lib{GLES,EGL,GLESv2,GLESv1_CM}_*.so in /vendor/lib[64]/egl, for
backward-compatibility with the old and no-longer-supported egl.cfg
system. However, it preferred unsuffixed names. That's not actually a
good idea, since the DT_SONAME would clash with the system libraries.
For updated drivers, we only look for suffixes from the
ro.hardware.egl and ro.board.platform system properties, similar to
the Vulkan and HAL library search. A future change (tied to a future
release) will do the same for system drivers.

Bug: 33531483
Test: Launch GLES apps w/ and w/o updated driver package
Change-Id: Ibfbb275629b0c6cf9c51314aea1361e81ff72d4b
ui/GraphicsEnv.cpp
53457dbae92cb6fb12fac06cf0e874ff3c49528d 15-Dec-2016 Jesse Hall <jessehall@google.com> Load updated drivers using derived loader namespace

Bug: 33531483
Test: Launch vulkan apps w/ and w/o updated driver package
Change-Id: Ia73e1e33b637d6ffd96ea0480ed6d85b9f68dce3
ui/Android.bp
ui/GraphicsEnv.cpp
c939411a88e5a248f6e6668b8b4041e868b97059 17-Jan-2017 Brian C. Anderson <brianderson@google.com> Merge changes from topic 'latchAndLastRefresh'

* changes:
EGL: Expose latch, last composite, and dequeue ready.
Add a DequeueReady FrameEvent
b621c5f0672244c6f67ef8a24a40ee7a53b89a57 16-Jan-2017 Brian C. Anderson <brianderson@google.com> Merge "Clean up Fence a little."
e36acfab9235dbdfe622f25ddbe183429c6aed58 12-Dec-2016 Jesse Hall <jessehall@google.com> Add GraphicsEnv to libgui

This singleton class stores information provided by the framework and
makes it available to EGL/GLES/Vulkan loaders. It will eventually
replace vulkan::LoaderData and possibly the egl blob cache directory
storage.

Bug: 33531483
Test: various apps w/ and w/o driver package installed
Change-Id: If8b84fd38428f1cc9fcee8ffc25eb90cd87cedb4
(cherry picked from commit 90b25ed559f3d04777dbbc195ad5c95287990bf7)
ui/Android.bp
ui/GraphicsEnv.cpp
53c82c269692442f1e6456127184f3afa7d1d568 12-Dec-2016 Jesse Hall <jessehall@google.com> Add GraphicsEnv to libgui

This singleton class stores information provided by the framework and
makes it available to EGL/GLES/Vulkan loaders. It will eventually
replace vulkan::LoaderData and possibly the egl blob cache directory
storage.

Bug: 33531483
Change-Id: I40c3952374badabea738a34a51db90bf197979b8
Merged-In: If8b84fd38428f1cc9fcee8ffc25eb90cd87cedb4
ui/Android.mk
ui/GraphicsEnv.cpp
90b25ed559f3d04777dbbc195ad5c95287990bf7 12-Dec-2016 Jesse Hall <jessehall@google.com> Add GraphicsEnv to libgui

This singleton class stores information provided by the framework and
makes it available to EGL/GLES/Vulkan loaders. It will eventually
replace vulkan::LoaderData and possibly the egl blob cache directory
storage.

Bug: 33531483
Test: various apps w/ and w/o driver package installed
Change-Id: If8b84fd38428f1cc9fcee8ffc25eb90cd87cedb4
ui/Android.bp
ui/GraphicsEnv.cpp
911907815e02f8ddc8bbc852326d65bac9824084 14-Jan-2017 Brian C. Anderson <brianderson@google.com> Merge changes I6f728af0,I580409f0

* changes:
Surface unit tests for getFrameTimestamps.
Avoid sync calls for unsupported/non-existant times
1208546afec1eaa4aba85df78b72ef34dc3e086f 13-Jan-2017 Rob Carr <racarr@google.com> Merge "Add ScreenshotClient functionality for returning GraphicBuffer."
f6b96f91463158fae4c9fdb0e878d79e6da6c8f1 13-Jan-2017 Ashutosh Joshi <ashutoshj@google.com> Merge "Add an uncalibrated sensor type."
b597d7970b6e02d65ba6f8aca2d348203f53e807 12-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Replace cutils/log.h and rationalize log/log.h and android/log.h"
41e08348c9090435bea1a592d2ddc4552ea96cad 12-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update scRGB ranges"
ab4e1ffdaa062ab369b125be0cf518a3054e6328 12-Jan-2017 Ashutosh Joshi <ashutoshj@google.com> Add an uncalibrated sensor type.

Adding an uncalibrated sensor type.

Test: Build compiles.
Change-Id: Ib082e81220ecafe76452c8df5ffe3e3f7c80a50a
ui/Sensor.cpp
4dad9ce0a50a34f491ecc3ff95ea3e05ca95b724 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h and rationalize log/log.h and android/log.h

- cutils/log.h treat as deprecated and lead by example
- coding standard for header order
- include headers that are side effect of others.

Test: compile
Bug: 34250038
Change-Id: I8d99b24c333578c9b5aa9f2a01324bd0bba268dd
inder/MemoryHeapBase.cpp
673134ed213458e8d92920a9819f7b714947e211 10-Jan-2017 Robert Carr <racarr@google.com> Add ScreenshotClient functionality for returning GraphicBuffer.

WM and SysUI are interested in screenshotting to GraphicBuffer, for
zero copy initialization of Starting Windows and usage in SysUI. Both
codepaths are co-existing in the WM now, so existing screenshot APIs
are not cleaned up, though perhaps they could be soon.

Test: Manual in combination with other branches.
Bug: 31339431
Change-Id: I11151f44eddbba53559befebf5ee2bde1dee9b40
ui/SurfaceComposerClient.cpp
f7fd56a649f07133ad78d31eb5d3ae7a4e95d522 02-Sep-2016 Brian Anderson <brianderson@google.com> EGL: Expose latch, last composite, and dequeue ready.

Also fix discontinuous reserved token values.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I9d513b8784a7205dfe534c1c74b56c18cd49e74a
ui/Surface.cpp
ui/tests/Surface_test.cpp
175a7206c5aea70236b916d7707ab25025eb9cd6 11-Oct-2016 Brian Anderson <brianderson@google.com> Clean up Fence a little.

Test: Cleanup patch only. Fences still work.

Change-Id: I65e5cdf5e3c067bc475c085ab6d3577d9753231c
ui/FrameTimestamps.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
i/Fence.cpp
i/FenceTime.cpp
3da8d2748580b2575e368e203ce2c7f8d34dea05 29-Jul-2016 Brian Anderson <brianderson@google.com> Surface unit tests for getFrameTimestamps.

Verifies the following:

1) The timestamps and fences aren't transferred if the
feature isn't explicitly enabled.
2) Attempts to get the timestamps will fail if not enabled.
3) Timestamps are transferred if enabled.
4) The support for Present/Retire timestamps are properly
queried from the ISurfaceComposer.
5) Timestamps correspond to the correct frame.
6) The consumer doesn't send the acquire fence back to the
producer and a sync call isn't made to try and get it
from the producer.
7) A sync call isn't made when no timestamps are requested.
8) If the consumer sent the producer fences, the consumer
can get the timestamps without a sync call.
9) If there was no GL composite performed, a sync call
isn't made to get a non-existant fence/time.
10) When asking for the retire or release time of the most
recent frame, a sync call isn't made.
11) Requests for unsupported timestamps return an error and
do not result in a sync call.

Test: Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I6f728af0d4a0f431c9e47131da64584a589559e7
ui/FrameTimestamps.cpp
ui/Surface.cpp
ui/tests/Surface_test.cpp
i/FenceTime.cpp
f6386862dffb0fb9cb39343d959104a32e5e95b7 01-Nov-2016 Brian Anderson <brianderson@google.com> Add a DequeueReady FrameEvent

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I98ffd4123fc50b5f560e432f4078408c913c8edf
ui/FrameTimestamps.cpp
ui/tests/Surface_test.cpp
50143b3780ad2aaa544c8d2d47619214b79c3c56 30-Sep-2016 Brian Anderson <brianderson@google.com> Avoid sync calls for unsupported/non-existant times

* Make sure not to do sync calls for present or retire
if they aren't supported.

* Don't do sync calls for retire or release if they
can not possibly exist.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I580409f01cbf07e9a6e00fbb05d914654f12a4a2
ui/Surface.cpp
ffde2ca6231581b79ded09eb63f570308839e69a 12-Jan-2017 Romain Guy <romainguy@google.com> Update scRGB ranges

Bug: 32984164
Test: colorspace_test
Change-Id: I6e062bd5fd7fc22fd94354cd2c8b965134c42e3c
i/ColorSpace.cpp
e0ea99cc4ba89452b9b6b1baa33bddcb11f3351a 12-Jan-2017 Mark Salyzyn <salyzyn@google.com> resolve merge conflicts of a2c2d11f9 to master

Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I84d0ffa430df3beca0dcc6ed205ce220d7be1f87
fbc97581511f1fa6aba808a970afa912706fbdea 12-Jan-2017 Mark Salyzyn <salyzyn@google.com> Merge "Replace cutils/log.h and rationalize log/log.h and android/log.h" am: d655e61a22
am: 16a30c1ac8

Change-Id: I697418fbab0dbbd447d0dca2eda5b1545cc2522e
7823e124e00576e20e47ec717cbe8bc89f0f2bf2 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h and rationalize log/log.h and android/log.h

- cutils/log.h treat as deprecated and lead by example
- android/log.h to be used instead of log/log.h if possible
- add system includes that are assumed as side effects
- define LOG_TAG first

Test: compile
Bug: 31289077
Bug: 30465923
Change-Id: I8d99b24c333578c9b5aa9f2a01324bd0bba268dd
inder/IMemory.cpp
inder/MemoryHeapBase.cpp
inder/PersistableBundle.cpp
ui/GraphicBufferAlloc.cpp
ui/Sensor.cpp
nput/InputTransport.cpp
i/GraphicBufferAllocator.cpp
521698f8d30cafd7cb3aaad9f0adcecca9105725 10-Jan-2017 Fabien Sanglard <sanglardf@google.com> Fix unitialized value in gralloc1

ReleaseFenceFD should never be initialized to 0 (stdout), it should
be initialized to -1 which is a special value meaning NO_FENCE.

Change-Id: Ie2e062ca838bbc01c2afd7e0f76f09c726ba05fe
i/GrallocMapper.cpp
bb09b436fa119ad8b97f1bf5c04cc5aa10b5f1f0 30-Nov-2016 Courtney Goeltzenleuchter <courtneygo@google.com> Make dataspace accessible to surface flinger

http://b/29940137

Keep track of dataspace in GLConsumer and make it
available to surfaceflinger's Layer class.

Test: TBD
Change-Id: I099dc6d8424909c5fc31bfe2d05a656695c4251b
ui/GLConsumer.cpp
5f541b9631ef51272658874fc06789972183c1da 09-Jan-2017 Jesse Hall <jessehall@google.com> Merge "Surface: Use async lock/unlock in copyBlt" am: b73de86f13 am: e29dda829d am: 55f599a079
am: 0bd15c1613

Change-Id: Ib1d9c139c68cfdc7b3854b94b825db5d980bc1ef
55f599a07966606ab1e3ea61f4e9c6e28d1cf5c1 09-Jan-2017 Jesse Hall <jessehall@google.com> Merge "Surface: Use async lock/unlock in copyBlt" am: b73de86f13
am: e29dda829d

Change-Id: I753acee7ab8f0c0ca62a5606ae1b5c44e2314fd3
c8e4c3d7d9f987b84ed307cb78732a34d21d3b5a 05-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Create libgfx, starting with FloatRect"
7b09e799f325d62dde2cce0f8615e0ebe318c096 09-Jan-2015 Francis Hart <fhart@nvidia.com> Surface: Use async lock/unlock in copyBlt

The Surface::lock() function now uses the asynchronous versions of
gralloc lock/unlock when copying the previously drawn content to the
backbuffer. This allows for optimisations in the gralloc module
implementation and so can improve performance and avoid CPU waits.

Change-Id: I57193f327db2ff0422e1b58b3484f613201d994c
ui/Surface.cpp
2c3a873135d1ef4870706714b4fa3988c197cc5d 04-Jan-2017 Francis Hart <fhart@nvidia.com> Merge "Surface: Ensure synchronisation of copyBlt" am: 88f77814a1 am: 5a2dcde971 am: 11d80ae93e
am: 3c3aba0214

Change-Id: Id93abe6750314f6fcdc7cfa044ca2e38b294d0d5
11d80ae93e8aaa1fda4ad32605a360daca2e1b53 04-Jan-2017 Francis Hart <fhart@nvidia.com> Merge "Surface: Ensure synchronisation of copyBlt" am: 88f77814a1
am: 5a2dcde971

Change-Id: Ifb17a3d79f367bf22e01746209453f8b36bb35b5
88f77814a1fe7a5cbf374bd16cdc88464e3fc8fe 04-Jan-2017 Treehugger Robot <treehugger-gerrit@google.com> Merge "Surface: Ensure synchronisation of copyBlt"
8bcd61c5ab8946f5769319e0fa7f80a5fdb714af 04-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add libsync to dependencies of libgui"
153fbc8f8ba24e6e8f682c7aab7c205ade1fec6c 04-Jan-2017 Jesse Hall <jessehall@google.com> Add libsync to dependencies of libgui

This avoids a build break when AOSP change
https://android-review.googlesource.com/c/117076/
merges to internal master.

Test: mmm frameworks/native/libs/gui
Change-Id: I1a1d786e5079d07b5c7e3dedf9010ca783851041
ui/Android.bp
71bded513d37a6c1260b4a62c69ecc0d24be95f7 19-Oct-2016 Dan Stoza <stoza@google.com> Create libgfx, starting with FloatRect

Creates libgfx, the future home of everything currently in libui and
libgui, which will be rigorously checked with -Weverything (with a few
common-sense exceptions) and clang-tidy and formatted using the included
.clang-format file.

Starts by moving FloatRect out of services/surfaceflinger since it will
be used by other libgfx primitives later.

Test: m
Change-Id: I5045ac089020e6ee380e81e8735117c500264b37
ui/Android.bp
i/Android.bp
c42324fce76d357120bf86de0864bd11d3f31385 29-Dec-2016 Ajit Kumar <kajit@qti.qualcomm.com> gralloc1: Acquire mutex early in release am: 56ec3afb84 am: 37aa42d24b
am: 3dc5241752

Change-Id: If6ce570aef96611e1c820081c3e56e91aab3e159
3b3a5bb1159186c479274e2a8bc56617e10c40e0 29-Dec-2016 Ajit Kumar <kajit@qti.qualcomm.com> gralloc1: Acquire mutex early in release
am: 56ec3afb84

Change-Id: I7aaea43b24c8aa482d557057f3d715b56bdf4cec
37aa42d24b157401df3a4e31c1e005f718e2efc0 29-Dec-2016 Ajit Kumar <kajit@qti.qualcomm.com> gralloc1: Acquire mutex early in release
am: 56ec3afb84

Change-Id: Iffcf6f2f95e9b70797080ceb6267679ec2e7e1a3
56ec3afb8444a9a7056b54601bb6031465113621 24-Nov-2016 Ajit Kumar <kajit@qti.qualcomm.com> gralloc1: Acquire mutex early in release

Due race condition between release and retain calls, retain return stale handle.
Which results in crash in SurfaceFlinger.
Fix crash by acquiring mutex early in release function.

Bug: 32384569
Change-Id: I9130f5864a53ef208dc1ad8ecf698f1847548285
i/Gralloc1On0Adapter.cpp
c03d283e8b3f830d76dd94822b2a13872c05c730 28-Dec-2016 Mark Salyzyn <salyzyn@google.com> resolve merge conflicts of 525a5f2 to master

Test: build
Change-Id: Id1c6d3d9dd158fb086b0d8ab74f7838ef0a51af1
430f62090cefe4630794873e30390433ad3e49a7 28-Dec-2016 Mark Salyzyn <salyzyn@google.com> Merge "Replace cutils/log.h and rationalize log/log.h and android/log.h" am: 1efda0b1d6
am: 7e92307cd8

Change-Id: I1523bfc0794fe8463fb6134ae8d8c5902947de8b
6fb6369693a89fbcbf86b13fce65454e2b7e50f9 23-Dec-2016 Chia-I Wu <olv@google.com> Merge "libui: use HIDLized gralloc-mapper"
064670efc4ce0fc7dcbe943b91d6d85b31025736 23-Dec-2016 Chia-I Wu <olv@google.com> Merge "Replace non-const references by pointers"
316694751e5f20e24ad2eb3cb36d99f5498d373d 07-Dec-2016 Chia-I Wu <olv@google.com> libui: use HIDLized gralloc-mapper

Test: builds and boots
Change-Id: If42bea782e6dda5cab31c270085d934879fcdb54
i/Android.bp
i/GrallocMapper.cpp
i/GraphicBufferMapper.cpp
67e376d6564f8b9f996a347c9402bdc9da789321 19-Dec-2016 Chia-I Wu <olv@google.com> Replace non-const references by pointers

Use pointers for outputs to be consistent with the rest of
libui/libsurfaceflinger.

Remove assignFromHidlVec now that hidl_vec can be casted to std::vector.

Test: builds and boots
Change-Id: I656367028302e7b877a766eaf6aa2431fe07643b
i/GrallocAllocator.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
a5e161b1207ef447a51e99856097d69d4a6111e1 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h and rationalize log/log.h and android/log.h

- cutils/log.h treat as deprecated and lead by example
- android/log.h to be used instead of log/log.h if required
- add system includes that are assumed as side effects of log.h
- modules that use SLOG should use SLOG for all logging (installd)
- define LOG_TAG first
- remove logging infrastructure if not used

Test: build
Bug: 31289077
Change-Id: Iea147a0104c7ab7f12451304131d6500f42141e7
inder/IMemory.cpp
inder/MemoryHeapBase.cpp
inder/PersistableBundle.cpp
ui/GraphicBufferAlloc.cpp
ui/Sensor.cpp
nput/InputTransport.cpp
i/GraphicBufferAllocator.cpp
88c55f90be1ae0eedd72c91149903fb2cc3abcdc 20-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Align properly in BufferItem::getFlattenedSize."
ec9ec7d55c63f791ab3ed9221e68d6215f7b928a 18-Dec-2016 Nick Kralevich <nnk@google.com> libbinder: replace dup() with fcntl(F_DUPFD_CLOEXEC)

Replace calls to dup() with fcntl(F_DUPFD_CLOEXEC). The only difference
between the two is that O_CLOEXEC is set on the newly duped file
descriptor. This helps address file descriptor leaks crossing an exec()
boundary in multi-threaded processes, and potentially fixes the following
non-reproducible SELinux denials which may be occurring because of FD
leakage from netd to clatd/dnsmasq.

avc: denied { use } for comm="clatd" path="socket:[860297]" dev="sockfs"
ino=860297 scontext=u:r:clatd:s0 tcontext=u:r:untrusted_app:s0:c512,c768
tclass=fd permissive=0

avc: denied { read write } for comm="clatd" path="socket:[1414454]"
dev="sockfs" ino=1414454 scontext=u:r:clatd:s0
tcontext=u:r:system_server:s0 tclass=tcp_socket permissive=0

avc: denied { use } for comm="clatd" path="socket:[681600]" dev="sockfs"
ino=681600 scontext=u:r:clatd:s0 tcontext=u:r:priv_app:s0:c512,c768
tclass=fd permissive=0

Test: Device boots and no obvious problems
Change-Id: I9dcd9911a093f329c6f12e39d2c49ef3df651ae5
inder/IActivityManager.cpp
inder/IMemory.cpp
inder/IShellCallback.cpp
inder/MemoryHeapBase.cpp
inder/Parcel.cpp
c4c286f30a60ef9ebfc959ea4869d87ceeb831dc 17-Dec-2016 Romain Guy <romainguy@google.com> Merge "Remove RGBX_FP16 format"
166429f252b9de9472423c0c79112c16d4af0fff 16-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Suppress unnecessary "frame not found" errors."
d3e08d4811e13aefd656e3376e7d56e2d37bb388 16-Dec-2016 Romain Guy <romainguy@google.com> Remove RGBX_FP16 format

Bug: 32984164
Test: compile
Change-Id: I4e0eadc3066717d4644d71cf2684a617bae34a1f
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
i/PixelFormat.cpp
e2caadca83c8842bbfe74e21f11b9e2b5aeb4e13 15-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add fp16 pixel and window formats"
9698c2f193666ab506a6edf113c5a77d0d0acb3b 15-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Use FenceTime to share fence times and reduce open fds."
b8155eda3456ce5f639b7240aef78886c78b20cd 14-Dec-2016 Kalle Raita <kraita@google.com> Merge "Do not drop MonitoredProducer in binder calls"
0f056f080d4766523a396c6efb3ae224f287e9ca 11-Oct-2016 Brian Anderson <brianderson@google.com> Align properly in BufferItem::getFlattenedSize.

Test: SurfaceFlinger still works.

Change-Id: I7b5ef08d33a18f98d485f57e461604ed65b657f1
ui/BufferItem.cpp
4565daa628d914f05dabfeca83d2e5ee07936a99 14-Dec-2016 Brian Anderson <brianderson@google.com> Suppress unnecessary "frame not found" errors.

ConsumerFrameEventHistory only stores 8 frames of history,
but video can queue more than 8 frames, which triggers
some annoying ALOGE messages that aren't really errors.

This patch makes sure to print the error only if the
producer has enabled the frame events, which only happens
with EGL where we won't see more than 3 frames queued.

Test: This only affects error reporting.

Change-Id: I184202a71f5fe29159c148957b92fb2e856bf625
ui/FrameTimestamps.cpp
ff415149dc5a83a4eb5960daf2cb2c310ef89847 14-Dec-2016 Romain Guy <romainguy@google.com> Add fp16 pixel and window formats

Bug: 32984164
Test: compile
Change-Id: I8303afbf857796295a280c0d9438a3c403a11437
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
i/PixelFormat.cpp
643f0949daccb57e48f2d05b355ce3ea5696965a 07-Dec-2016 Kalle Raita <kraita@google.com> Do not drop MonitoredProducer in binder calls

Currently the MonitoredProducer is left out when the producer is
marshalled for binder calls. If others than the owning layer have
references to the underlying surface, clearing the layer leads to the
surface being removed from the SF tracking list. This is in clear
contradiction with the test case
libgui_test.SurfaceTest#QueuesToWindowComposerIsTrueWhenPurgatorized.

Unfortunately the test case has not accounted for the async nature of
the operation and has been only intermittently failing for a long
while. Change also changes the test to wait for the clear operation to
complete.

Test: libgui_test, AUPT on Pixel XL
Bug: 31045556
Change-Id: Iddb1cef82c492e8b3beeb32de7e11587e0c1ebed
ui/tests/Surface_test.cpp
3d4039d7a291cd9b6f2dd4b46fcdb576f2db3356 24-Sep-2016 Brian Anderson <brianderson@google.com> Use FenceTime to share fence times and reduce open fds.

FenceTimes are created and shared for each Fence that
FrameTimestampHistory and FrameTracker care about.

On the consumer side, the FenceTimes are also added to
shared timelines that are owned by SurfaceFlinger or
unshared timelines owned by Layer. The timelines are
checked at the end of every frame to minimize the number
of file descriptors open.

On the producer side, the FenceTimes are added to
the ConsumerFrameEventHistory instead, since the timelines
that would be tracked by SurfaceFlinger are not shared
with anyone else in the consumer's process. The timelines
are checked just after a frame is queued to minimize
the number of file descriptors open.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: Ifd4301affe1b24705b2bee7608c5a2c09dfb4041
ui/BufferItem.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
ui/FrameTimestamps.cpp
ui/GLConsumer.cpp
ui/Surface.cpp
02d3852b82c112f969cb795d21e5e8d946b0a4bf 12-Dec-2016 Sudheer Shanka <sudheersai@google.com> Merge "Add native interface for activity manager service."
35a75be4591473d12dd950fe61410e5bd12afbab 10-Dec-2016 Andy Hung <hunga@google.com> IServiceManager: Improve getService responsiveness in absence of service
am: 3b36bcf703

Change-Id: Iddc84a5844b07aefab47c083f5c29728f6b0ad6a
a52c368fe219f2036bf2d3c09783283c89811cb7 10-Dec-2016 Andy Hung <hunga@google.com> IServiceManager: Improve getService responsiveness in absence of service
am: 3b36bcf703

Change-Id: Idf103a3faaa30ce085b4af565dcf72096a7e3242
dc10f8464090ccdac5e7bb6839fd8c1bba87b022 01-Dec-2014 Francis Hart <fhart@nvidia.com> Surface: Ensure synchronisation of copyBlt

The Surface::lock() function has an optimisation for copying the
previously drawn contents from the frontbuffer to the (current)
backbuffer, so that the client does not have to redraw the whole surface
contents. This logic was not using the sync fence FD from
dequeueBuffer() and so was not correctly synchronised with pending
operations on the backbuffer.

Change-Id: Ib44574d50f8bdb4a23078cd8da1c5c512c876320
ui/Surface.cpp
18fcfb557d17e648f669d346e51a72129cc8bbb4 07-Dec-2016 Yunlian Jiang <yunlian@google.com> Fix warning: macro redefined

Bug: None
Test: The warning is gone.
Change-Id: I27764f834285fc5d7456a9204afd6cef6915ee61
ui/tests/SRGB_test.cpp
3b36bcf7035c32fafe3070c54b427779467ad416 06-Dec-2016 Andy Hung <hunga@google.com> IServiceManager: Improve getService responsiveness in absence of service

Now blocks for 4 seconds worst case instead of 5 seconds.
Some android devices may not have all the normal android phone services.

Test: Wear device on feldspar-dev
Bug: 33086228
Change-Id: Id83fc8cd6b657b53ef78823a460d5fba4a522ab4
(cherry picked from commit 6456e4488d59c0568a1f29dc93b7beb472236086)
inder/IServiceManager.cpp
6456e4488d59c0568a1f29dc93b7beb472236086 06-Dec-2016 Andy Hung <hunga@google.com> IServiceManager: Improve getService responsiveness in absence of service

Now blocks for 4 seconds worst case instead of 5 seconds.
Some android devices may not have all the normal android phone services.

Test: Wear device on feldspar-dev
Bug: 33086228
Change-Id: Id83fc8cd6b657b53ef78823a460d5fba4a522ab4
inder/IServiceManager.cpp
c413b7e8b96bfa364a1c3762067eb856ad965e8a 06-Dec-2016 Fabien Sanglard <sanglardf@google.com> Fix security vulneratibly 31960359 am: dffa078205 am: b8b076e553 am: 46dd3c89e5
am: 04f62d5b99

Change-Id: I6f28a439b03be3fc7151313fc4f963c532196118
60d1f5b1abc557b86fdce7c91e9ae1de29ceebdf 06-Dec-2016 Fabien Sanglard <sanglardf@google.com> Fix security vulneratibly 31960359 am: dffa078205 am: b8b076e553 am: 46dd3c89e5
am: 04f62d5b99

Change-Id: I64a922e22d208013967018bdf62213525db75f73
04f62d5b99d19a1a8653745c99bdb42ffab27924 06-Dec-2016 Fabien Sanglard <sanglardf@google.com> Fix security vulneratibly 31960359 am: dffa078205 am: b8b076e553
am: 46dd3c89e5

Change-Id: I7664021716dc9f1a1e09afdbeb04a02f84195354
46dd3c89e554c417b30d8563230d3a97942c144f 06-Dec-2016 Fabien Sanglard <sanglardf@google.com> Fix security vulneratibly 31960359 am: dffa078205
am: b8b076e553

Change-Id: Ia073be4ad2910078ac1e736ef6d2afadd849a525
b8b076e553ff70d71629c623737958d900a1a450 06-Dec-2016 Fabien Sanglard <sanglardf@google.com> Fix security vulneratibly 31960359
am: dffa078205

Change-Id: Icea9297e2e5f7467ece053ae869208758f40b954
fefc4f4e94945bfde3e3aa5524756f36f06b739d 06-Dec-2016 Fabien Sanglard <sanglardf@google.com> Merge "Fix security vulneratibly 31960359" into nyc-dev
022dc693768f208b65d5fb11f898b85c62bf3c38 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev am: 79b74d787d am: abe293b950 am: 02e4440eab am: 953c05276e am: e37a4dc7c4 am: 8ed5e3d7ca am: 9d5dd3f584
am: 9ef37cdcdc

Change-Id: If8528d119a88f444b6dba5e1328be93c93123897
6128e113b0e169a48dc4a7fcb93b01f68084f44d 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev am: 79b74d787d am: abe293b950 am: 02e4440eab am: 953c05276e am: e37a4dc7c4 am: 8ed5e3d7ca am: 9d5dd3f584
am: 9ef37cdcdc

Change-Id: Ie9b96397a99a57ec18a6b86e6733631abd0feb68
9ef37cdcdc17f19c94fb184048a01b1031b61fe8 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev am: 79b74d787d am: abe293b950 am: 02e4440eab am: 953c05276e am: e37a4dc7c4 am: 8ed5e3d7ca
am: 9d5dd3f584

Change-Id: Ic7effb22aa05c626d007aef30ab572363197cad3
9d5dd3f584d7585ee6814a5606f14a4b9d68b8f8 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev am: 79b74d787d am: abe293b950 am: 02e4440eab am: 953c05276e am: e37a4dc7c4
am: 8ed5e3d7ca

Change-Id: I634d3910a329dd10a90086c5c116ae716b2187af
8ed5e3d7cad75cce1a40f87b2e8a1a5316edfe87 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev am: 79b74d787d am: abe293b950 am: 02e4440eab am: 953c05276e
am: e37a4dc7c4

Change-Id: Ie0e23d8fc47bf2cb87181ddf1a03dd439fc0f3f4
e37a4dc7c479574f5210458c083fd7c98a704e20 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev am: 79b74d787d am: abe293b950 am: 02e4440eab
am: 953c05276e

Change-Id: If6e16f080e701171d7c9b69adbeaab3a6910b63a
953c05276e5b50a437d5d6f3bc7b9a4b0941d702 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev am: 79b74d787d am: abe293b950
am: 02e4440eab

Change-Id: I66e7e982176555f09bf298325754d708ef0ecac0
02e4440eabb004f8d817599b68caf9dba7aa27bc 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev am: 79b74d787d
am: abe293b950

Change-Id: I7f8ce6dbb313d592b97b41a982e629680eba36c4
abe293b9508d82de9a161279ab0a7c57196b3842 06-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev
am: 79b74d787d

Change-Id: I383dde0596fe37282db3bb62f7ad65e763fdd1dc
dffa078205f6b6c17e24214928f642393423e081 06-Dec-2016 Fabien Sanglard <sanglardf@google.com> Fix security vulneratibly 31960359

BufferQueueCore features a variable mLastQueuedSlot which is not
initialized in its constructor resulting in security vulnerability

Bug: 31960359
Change-Id: If892f59f6288d8b81b1e312995832a20c8341494
Tests: Manually on Angler
ui/BufferQueueCore.cpp
79b74d787daa32d5e5d191e653b011d45d7f846c 05-Dec-2016 Christopher Tate <ctate@google.com> resolve merge conflicts of 13c5c34 to mnc-dev

Change-Id: I7f57cde153648f48ff038400aa437b76971d4771
ed6937ae2c356c06743e059dca4b438727d28f41 05-Dec-2016 Christopher Tate <ctate@google.com> Correct overflow check in Parcel resize code
am: 8b64307e95

Change-Id: I371fb7c6aaf34d44d69c740eea95fe3ba125164a
d46a65c3c37e2c8ff80d5d74145f7e2345b61cd2 04-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Add Fence helpers: Time, Timeline, Snapshot"
426f9bcfcc17e23ac9ae04aaee3766e299169139 04-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Update producer's cache of frame events in de/queue"
49670c84019d58f6c95aadf168db677f85b46a88 03-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Cache frame event history producer-side."
3e5af2d242a5b73a76be9742d23da20ed28e06e0 02-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Track frame events incrementally and per layer."
b9c2c16c34fbcd01a40ca591ca3de6aa7a33ea00 02-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Remove BnConsumerListener getFrameTimestamps implementation."
f7dfa47683c4810c2955affe26db0e9454614cf7 02-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Fix FenceTracker releaseFence"
834bccb1f58780d51367ae39598ae68407986252 01-Dec-2016 Brian C. Anderson <brianderson@google.com> Merge "Add displayPresentTime to getFrameTimestamps"
10ec9947b83cfc7c04a4a30a4ade2900ce73842a 30-Nov-2016 Brian C. Anderson <brianderson@google.com> Merge "BQ: Make QueueBufferOutput implement Flattenable"
5c59c452aa5247de8a09b693a61b7b6b35ea5d38 30-Nov-2016 Brian C. Anderson <brianderson@google.com> Merge "Rename posted to requestedPresent for getFrameTimestamps"
95df778f8ace17f001faa0d2840004c33906e970 29-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f am: c8684d517a am: 57dbf1c224 am: b17adaa85f am: c261a17e51 am: ce40ad2441
am: 97ce922887

Change-Id: I198eccaf1f86d250088edb48bd5ef3dcb4cebc00
8f2e06aaf3dd0471ee531c1afbc735aa4221d4f1 29-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b am: a928cc7169 am: 0517da2c5a am: b0dff427a1 am: 1852db9aa3 am: d4f7a66cf6
am: 0646227ad2

Change-Id: I8c2d45d95b205e32545f39f7ccf746b1707ca682
8b64307e958771edc465910e3c053cdc351dcafe 03-Nov-2016 Christopher Tate <ctate@google.com> Correct overflow check in Parcel resize code

Bug 31929765

Change-Id: Ie27b9945f1de056624668869bdf9a5578abff467
inder/Parcel.cpp
e6d6448f5a4ccf34ff3e8e8fd11b0718ff08a20c 28-Nov-2016 Chia-I Wu <olv@google.com> Merge "libui: update for IAllocator changes"
6ef26f129ce86b50d12ff4e46fae566baf54336d 24-Nov-2016 Sudheer Shanka <sudheersai@google.com> Add native interface for activity manager service.

Fix the un/marshalling code at
frameworks/av/media/libmediaplayerservice and move it here.

Bug: 30977067
Test: Verified that transaction works fine.

Change-Id: Ice6bd1c8ebc8116147b0ca3f65a293d013edfc4c
inder/Android.bp
inder/IActivityManager.cpp
25e1ded18ca51db209f3b8c3e199b4945066ab0c 23-Nov-2016 Todd Kjos <tkjos@google.com> Add options to specify payload size and use client/server pairs

Test: tested manually

Change-Id: I744d84b1621c2dd19525d3a65ed543d9dea575d4
inder/tests/binderThroughputTest.cpp
b018bf0e0877b19e3c7cc2697d0b7729c711eadd 22-Nov-2016 Chia-I Wu <olv@google.com> libui: update for IAllocator changes

Create an IAllocatorClient to allocate/free graphics buffers.

Test: builds and boots
Change-Id: I9978b61ee2cb6302cce34ed6d740a5616fb7e8f1
i/GrallocAllocator.cpp
i/GraphicBufferAllocator.cpp
df02bffc32c2c89ee3d9955bb7beb2c408227fbf 18-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Split libhidl into base and transport."
67a4762ed3ece97c4d3a7329a8733a77a73f7584 17-Nov-2016 Yifan Hong <elsk@google.com> Split libhidl into base and transport.

Bug: 32756130

Test: mma
Change-Id: I878e0e8f94e01695f633bc80ef163dbe18c8f622
i/Android.bp
217e915a8d0a147ecd4ba1ebae3af832bdf6c924 18-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix clamping in several color spaces"
01ef99b2085c6148460ec5dd04f5537835ced276 17-Nov-2016 Romain Guy <romainguy@google.com> Fix clamping in several color spaces

Bug: 29940137
Test: colorspace_test
Change-Id: Ie24546512b9db52869a68c74f245b16fce58cdfd
i/ColorSpace.cpp
221de2a33d456738f7f64db0b015a960211d4834 22-Sep-2016 Brian Anderson <brianderson@google.com> Add Fence helpers: Time, Timeline, Snapshot

FenceTime will be used to:
1) Cache and share the result of a Fence's getSignalTime with
all clients that care about it, instead of requiring a
syscall for each client.
2) Allow tests to override the valid state and signalTimes of
the underlying fence by acting as a shim.

FenceTimeline will be used to efficiently get the signal
times of Fences without having query for Fences that
likely haven't signaled.

FenceTime::Snapshot is a stable copy of a FenceTime that
can be used for serialization since it doesn't change
while flattening.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I9a28df7ce797311dc4d56b1147edf590e9de1517
i/Android.bp
i/Fence.cpp
i/FenceTime.cpp
7c3ba8aa288755fad78ddbabcee0ad5a0610ac1c 25-Jul-2016 Brian Anderson <brianderson@google.com> Update producer's cache of frame events in de/queue

* Cache is only updated during queue and dequeue if
the getFrameTimestamps is enabled.
* The consumer avoids sending a copy of the acquire
fence back to the producer since the producer
already has a copy.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I6a8b965ae79441a40893b5df937f9ed004fe7359
ui/BufferQueueProducer.cpp
ui/FrameTimestamps.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/StreamSplitter_test.cpp
3890c3995c4a52439844faeb80b5503d42b977d8 25-Jul-2016 Brian Anderson <brianderson@google.com> Cache frame event history producer-side.

* Producer maintains a recent history of frames.
* Producer only does a binder call if requested
informatiVon doesn't exist in the cache.
* Consumer sends fences to the producer, which
can be queried for timestamps without a
binder call.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I8a64579407cc2935f5c659462cb227b07ba27e43
ui/BufferQueue.cpp
ui/BufferQueueProducer.cpp
ui/FrameTimestamps.cpp
ui/IGraphicBufferProducer.cpp
ui/ISurfaceComposer.cpp
ui/Surface.cpp
0ad5eb4ac42791705dc484ec973ea789d11a08e2 17-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix broken opto-electronic transfer functions"
3944d06ee0b2762475538690a35dfd66d363a567 17-Nov-2016 Romain Guy <romainguy@google.com> Fix broken opto-electronic transfer functions

Bug: 29940137
Test: colorspace_test
Change-Id: I08e558bd842df5cc6d06919279e70328d71f4710
i/ColorSpace.cpp
i/tests/colorspace_test.cpp
13a20a278332f6eb734d9acc4d9a5b35be1e499f 15-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Don't clamp when converting to XYZ"
d6927fb1143398370c0885844bfb58923ef740b7 24-Jul-2016 Brian Anderson <brianderson@google.com> Track frame events incrementally and per layer.

* Replaces FenceTracker, which was owned by SurfaceFlinger,
with FrameEventHistory, which is owned by Layer.
* Updates FrameEventHistory as events occur.
* Changes SurfaceFlinger flag "--fences" to
"--frame-events".

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I868c2ef93964656d7e41848243433499e7f45fe7
ui/Android.bp
ui/BufferQueue.cpp
ui/BufferQueueProducer.cpp
ui/FrameTimestamps.cpp
ui/IGraphicBufferProducer.cpp
eae5819174ef95363b50affbc96c3117ccc458a6 23-Jul-2016 Brian Anderson <brianderson@google.com> Remove BnConsumerListener getFrameTimestamps implementation.

Test: Removes an unused method.

Change-Id: I4c8d3ca7efb2b511ff36acb59e45672b0a88f1eb
ui/IConsumerListener.cpp
3546a3f08ad84099db4006d651c656d58d2ed566 14-Jul-2016 Brian Anderson <brianderson@google.com> Fix FenceTracker releaseFence

This patch:
* Fixes the release fence when GPU compositing.
* Stores the final release fence in ConsumerBase just
before releasing the Buffer, which helps ensure
sync points aren't added unknowningly.
* Makes HWC2 release pending buffers as the first step
of postCompostion, rather than the last, which should
allow dequeue to unblock a little earlier and helps
make sure the previous buffer's release fence has
been finalized before FenceTracker::addFrame is
called.
* Fence tracker only sets the release fence once it
has been finalized so it does not report a release
fence for a buffer that is still latched.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: I27d484bfd48f730bdcea2628f96795c6f4b4df7b
ui/ConsumerBase.cpp
069b365163470d2736eb6f591c354d208b5da23b 22-Jul-2016 Brian Anderson <brianderson@google.com> Add displayPresentTime to getFrameTimestamps

Makes HWC1 use displayRetireTime and HWC2 use
displayPresentTime.

Properly takes into account if HWC2On1Adapter is used.

Returns whether present or retire is supported via
eglQueryTimestampSupportedANDROID, which uses a
cached answer in Surface.

Surface::getFrameTimestamps returns with an error
if the caller requests an unsupported timestamp.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: Ib91c2d05d7fb5cbf307e2dec1e20e79bcc19d90b
ui/ISurfaceComposer.cpp
ui/Surface.cpp
baaad32cd582bcc09db89135715717234ea398ea 23-Jul-2016 Brian Anderson <brianderson@google.com> BQ: Make QueueBufferOutput implement Flattenable

It will need to support file descriptors soon.

Also:
* Make it's members public and clean up
inflate/deflate usage.
* Send Fence::NO_FENCE over Binder from dequeue
to indicate lack of fence.

Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*

Change-Id: Ia9e4600424a89ce026ba27e8aaed27a6bab860a4
ui/IGraphicBufferProducer.cpp
dbd0ea80021cbc61c578385f534f41a33338085b 22-Jul-2016 Brian Anderson <brianderson@google.com> Rename posted to requestedPresent for getFrameTimestamps

Test: Just a rename.

Change-Id: I63aa5b1b84715de2bebffb25f92bd826323a9acb
ui/Surface.cpp
597cd600ab062758857772f266fd82cae89cc75d 15-Nov-2016 Romain Guy <romainguy@google.com> Don't clamp when converting to XYZ

Test: colorspace_test
Bug: 29940137

Change-Id: I37bf0b6a7724e2ee155ab26835847fcbfd58e0fd
i/tests/colorspace_test.cpp
e52d9e2acec131484588a2eb184d1d4b34eebeb3 15-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add layered buffer support to libui and libgui."
97a69d01420fd82f9dafaadab562cf0083f50936 15-Nov-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove unnecessary saturation operation"
3422bee3cfad6b50b6f325898b623c92e709ec28 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f am: c8684d517a am: 57dbf1c224 am: b17adaa85f am: c261a17e51 am: ce40ad2441 am: 97ce922887 am: f69a37981f
am: 1ff5005698

Change-Id: Id726734cd8dcd454097397229e24532ab99a2d6c
1ff500569866920f44b73991b9755b10d49db713 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f am: c8684d517a am: 57dbf1c224 am: b17adaa85f am: c261a17e51 am: ce40ad2441 am: 97ce922887
am: f69a37981f

Change-Id: I84075320a494263410ba9454a8c1ec97fe5098f3
8c015e29b5dfae55bbb8f78f5ef88ee2744cf0cd 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b am: a928cc7169 am: 0517da2c5a am: b0dff427a1 am: 1852db9aa3 am: d4f7a66cf6 am: 0646227ad2 am: b4bd9606e0
am: 0bc4216678

Change-Id: Ica5b683c1c224e847db25d7ba192ba6d80ef9704
f69a37981fd7b8f9ee4eda517931d47bf107c7cb 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f am: c8684d517a am: 57dbf1c224 am: b17adaa85f am: c261a17e51 am: ce40ad2441
am: 97ce922887

Change-Id: I7b7bec42b2bb5d9b68e42681e599d1d979a298c1
97ce922887ee53eae54333c44007948ea40e914b 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f am: c8684d517a am: 57dbf1c224 am: b17adaa85f am: c261a17e51
am: ce40ad2441

Change-Id: Ia569c1b5841cf75626ae29e656688a405709ad79
0bc421667819f0ae0928834935af1534495f45f8 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b am: a928cc7169 am: 0517da2c5a am: b0dff427a1 am: 1852db9aa3 am: d4f7a66cf6 am: 0646227ad2
am: b4bd9606e0

Change-Id: I738237f426b898a05cb9511dbc0a768e7cc00cdf
ce40ad244154c875f1e1fd3cdce2c1440fe8fb6a 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f am: c8684d517a am: 57dbf1c224 am: b17adaa85f
am: c261a17e51

Change-Id: I8ef7a57b682596d4644bca2c8e5a7003d3125cca
b4bd9606e0f05781540a9dc3593e6733a696ce3d 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b am: a928cc7169 am: 0517da2c5a am: b0dff427a1 am: 1852db9aa3 am: d4f7a66cf6
am: 0646227ad2

Change-Id: If15e3089b94f73cee3cb0a284b0a514cf433331b
d231cd3ab8056115793fa29ba936756f39697576 15-Nov-2016 Romain Guy <romainguy@google.com> Remove unnecessary saturation operation

Test: colorspace_test
Bug: 29940137
Change-Id: Ie5821b4a753e28c22adde3b98cccf1115763d817
i/ColorSpace.cpp
0646227ad2e6c1aaddc40fc871554b51a953fa29 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b am: a928cc7169 am: 0517da2c5a am: b0dff427a1 am: 1852db9aa3
am: d4f7a66cf6

Change-Id: I468e9387f0541fc22d71179ff6e05397f99e4dce
c261a17e516fd2ac5b391c38031759faaef6feb3 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f am: c8684d517a am: 57dbf1c224
am: b17adaa85f

Change-Id: I4259f7bbfafe66f7690c1ecd80f8c81a398ae78f
b17adaa85f8bd7112c0efb872ce461aaf70f73ef 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f am: c8684d517a
am: 57dbf1c224

Change-Id: I5f91ea6e826a24d37bf8c7f7cbcc49a235532a14
d4f7a66cf698f6229553980593d81cff80f02c77 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b am: a928cc7169 am: 0517da2c5a am: b0dff427a1
am: 1852db9aa3

Change-Id: Ief2e221eb25138131d4b9fe19b669dca26dd1726
57dbf1c224be67afc296ef97b70b6a13647d4c83 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef am: aff7827b4f
am: c8684d517a

Change-Id: I7d37baee66a7a16cb77e227b66ba93bc87119810
1852db9aa3e558c0a601d6b15c45214b0c6deff1 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b am: a928cc7169 am: 0517da2c5a
am: b0dff427a1

Change-Id: If61fab86a971de18633549240d32f41205bc52e9
c8684d517aeae248b0579ef7fcb4d31ff28e59a3 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409 am: 275b2347ef
am: aff7827b4f

Change-Id: I2a759e2ecdf1c67cb764a9279da23386cfb54914
b0dff427a1dd35598085a58d48ebf83260583cbf 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b am: a928cc7169
am: 0517da2c5a

Change-Id: Ie25ecd20988d9aa8d3f59b07d00b80c0a18d5e3a
0517da2c5a385663b5d4b0292f7799735cb0bb35 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f am: 230b943c6b
am: a928cc7169

Change-Id: I682597ada156253e34ef067ae565d656c6bb39f7
aff7827b4fb561f552a2da15ced8c30addfe4d08 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2 am: 9d14ab5409
am: 275b2347ef

Change-Id: Iae0109ec3bddd6f71bab1759003a34e75270f6d4
275b2347efa92198ce6c69e0cc78ecf7d3c99aaf 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278 am: 2d8a2432e0 am: e5c91fe2e2
am: 9d14ab5409

Change-Id: I0ed8d425157308f35b43818a9592267c06cdc807
a928cc7169502813a29fcf582fc3e47207f0048c 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020 am: d073eb7a3f
am: 230b943c6b

Change-Id: I439ff370c0a353bb9a0adc14a39aedd1ec5a783d
230b943c6b92d97f64729facb68bd68cb8016e02 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020
am: d073eb7a3f

Change-Id: I5b7bf4ecee39de868b9c275531a6f11e65d1c3fd
e5c91fe2e2efdac5af4394253b696d46742446ee 15-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278
am: 2d8a2432e0

Change-Id: Ia5f419d7d113692f5d52b483f70ca09589333e13
6ebc46a7c01b22bc19d3c00b493f8d930b15b43a 22-Oct-2016 Craig Donner <cdonner@google.com> Add layered buffer support to libui and libgui.

Bug: 31686534
Test: manual
Change-Id: Ia40270701467f4b785660324cad883e7da08989a
ui/BufferQueueProducer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
ui/tests/Surface_test.cpp
i/Gralloc1.cpp
i/Gralloc1On0Adapter.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
c3413b57725fb081d57a58bbe8dcace36e3efd2b 10-Nov-2016 Romain Guy <romainguy@google.com> Merge "Add ColorSpace class"
caf2ca414f69d460c516e2370cf42bcf49178d95 10-Nov-2016 Romain Guy <romainguy@google.com> Add ColorSpace class

The ColorSpace class can be used to create an RGB color space from
either primaries/whitepoint or an RGB->XYZ matrix.

The primaries and whitepoint are in xyY space. A utility function
is provided to compute xyY coordinates from XYZ coordinats.

The class contains numerous functions to create common RGB color
spaces (sRGB, DCI-P3, etc.).

Test: colorspace_test
Bug: 29940137
Change-Id: Ifba8701377d058f5877176dabf4183e904a4cde0
i/Android.bp
i/ColorSpace.cpp
i/tests/Android.bp
i/tests/colorspace_test.cpp
i/tests/half_test.cpp
809e978b724cb6682061e836356e6b35234a7c4b 09-Nov-2016 Chris Tate <ctate@android.com> Merge "Correct overflow check in Parcel resize code"
d073eb7a3f28fd74bfa24c8b7599465cb7de5436 09-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32706020

Because of lack of mutex lock when get mConsumerName, if one thread
getConsumerName, another thread setConsumerName frequently, an UAF will
be triggered.

Change-Id: Id1bbf0d15de6d16def2f54ecade385058cda3b65
Test: Marling with poc provided in bug report.
Bug: 32706020
ui/BufferQueueProducer.cpp
e79317bf9b319cb2f370ea9f9be9f4a94096c49e 09-Nov-2016 Romain Guy <romainguy@google.com> Merge "Merge Filament's math library"
2d8a2432e04234d9edbb3b099f9bbbaa36ad4843 09-Nov-2016 Fabien Sanglard <sanglardf@google.com> Fix SF security vulnerability: 32660278

Because of lack of mutex lock when get mSidebandStream, if one thread
getSidebandStream, another thread setSidebandStream frequently, an UAF
will be triggered.

Bug: 32660278
Test: Marlin device with poc
Change-Id: Idbcf0976ce2db682d0f13455105c45a5c7481a45
ui/BufferQueueConsumer.cpp
5d4bae7f170640e0e280b3ca8a22b18e80801a8a 08-Nov-2016 Romain Guy <romainguy@google.com> Merge Filament's math library

This math library was derived from Android's and is API compatible.
It adds new useful types (quat and half) as well as many missing
functions and optimizations.

The half type (fp16) is going to be used for HDR/color management.

Test: mat_test, quat_test, half_test and vec_test

Change-Id: I4c61efb085d6aa2cf5b43cdd194719b3e855aa9b
i/tests/Android.bp
i/tests/half_test.cpp
i/tests/mat_test.cpp
i/tests/quat_test.cpp
i/tests/vec_test.cpp
54dd92287d24406a8f46bcd4ffc60c807ddc01ab 08-Nov-2016 Craig Donner <cdonner@google.com> Merge "Keep protected content in EGLImage attrs as needed." am: 5a03327fa8
am: e86b7fb0cf

Change-Id: I6838c4f9c3885a0cc7e27355b5163c132e9f7b3e
e86b7fb0cf7fc3cbddd31d319c65c3d5a73406b4 08-Nov-2016 Craig Donner <cdonner@google.com> Merge "Keep protected content in EGLImage attrs as needed."
am: 5a03327fa8

Change-Id: Id79a4a1548e5c7f4cb504d474f856727bf0b51ee
5a03327fa8173bdcb1e4c7d2da06a445198b21b7 08-Nov-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Keep protected content in EGLImage attrs as needed."
f0b3db97fbb03a3ab0074c55a94464341988e630 18-Oct-2016 Michael Schwartz <schwartzmi@google.com> Remove unused dependencies

Also export libui headers since files like ConsumerBase.h depend on
symbols from that library.

Bug: 32208916
Test: Compiles for bullhead_treble-userdebug

Change-Id: I7148ee908f8115f6125b2d6971788709fbcf6202
ui/Android.bp
ui/tests/Android.bp
4c76c5b2e722223043757336aae9741c298b9ef7 04-Nov-2016 liangweikang <liangweikang900911@gmail.com> Merge "binder: print the bad cmd error to android log" am: 2e9ff8c5be am: 564e686168 am: 521f992ae8
am: abffee11a8

Change-Id: Ib94eeb78d50607b6644d04422879abb738c8d111
abffee11a82eebbb825c759067ea76f604a8dc7c 04-Nov-2016 liangweikang <liangweikang900911@gmail.com> Merge "binder: print the bad cmd error to android log" am: 2e9ff8c5be am: 564e686168
am: 521f992ae8

Change-Id: I19ad71ec63036a6e4db2477cd6c2a2f75d975fc2
521f992ae8c5dd47b8139235ddd884a703880c4d 04-Nov-2016 liangweikang <liangweikang900911@gmail.com> Merge "binder: print the bad cmd error to android log" am: 2e9ff8c5be
am: 564e686168

Change-Id: Ic6de8bae8f3b138214785e856911d1eef6b4541b
564e686168eded2b9c57420a32cf740cc1ad8eba 04-Nov-2016 liangweikang <liangweikang900911@gmail.com> Merge "binder: print the bad cmd error to android log"
am: 2e9ff8c5be

Change-Id: I3849ae9043c52305798448b89cb82920a4ec13e4
442351128906471310730663613013ce7051dd18 03-Nov-2016 Christopher Tate <ctate@google.com> Correct overflow check in Parcel resize code

Bug 31929765

Change-Id: Ie27b9945f1de056624668869bdf9a5578abff467
inder/Parcel.cpp
7fb30a8251a29cd3293e0bfc75f08e0836df0dc3 20-Oct-2016 Craig Donner <cdonner@google.com> Keep protected content in EGLImage attrs as needed.

When image_crop isn't supported, we also throw away the
protected_content_ext attrs in GLConsumer. Instead, keep them
around if they're used.

Bug: 32222880
Test: manual (cp from internal)
Change-Id: Ic182810cbaacdfaf912c57667f5176d3e47941a9
ui/GLConsumer.cpp
aafbfc0db4d5ff90681dacf584098973624463fc 01-Nov-2016 Marco Nelissen <marcone@google.com> Remove unneeded dependencies from libui and libgui

Test: build/boot
Change-Id: I3714e0c081837060ac6a6b28a32117d29b95e3d0
ui/Android.bp
i/Android.bp
a43ee156098776698a39882bb00ecebc555948d0 25-Oct-2016 liangweikang <liangweikang900911@gmail.com> binder: print the bad cmd error to android log

https://code.google.com/p/android/issues/detail?id=226068

Signed-off-by: liangweikang <liangweikang900911@gmail.com>
inder/IPCThreadState.cpp
35ce4a7cdcd3896fc40b796f51d57aeac377afce 31-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix fd leak in Binder"
d84ff3143605f73b5fedb83d7db4224c6d4f1feb 21-Oct-2016 Fabien Sanglard <sanglardf@google.com> Fix fd leak in Binder

Bug: 29982873
Test: Ran poc executable provided with bug report. After this
patch, the device is able to use the Camera after the DoS attemp.

Change-Id: I5990a25c76e9d78616caec4fc98fb5547f37a0de
inder/Parcel.cpp
9b1d69080c791c669bb6f6b4412847b0db26efe6 28-Oct-2016 Craig Donner <cdonner@google.com> Keep protected content in EGLImage attrs as needed. am: a94d940c75
am: 78d93fcd28

Change-Id: Ifde3502241127dc24e2d16e100e304e07b44c619
78d93fcd28d4fba5e28fa29eee6d373a5e5c180d 28-Oct-2016 Craig Donner <cdonner@google.com> Keep protected content in EGLImage attrs as needed.
am: a94d940c75

Change-Id: I3376d949d387b4d0f70698b26dfd9f66755db88f
1136e487b7ec4f8508126624fde0cb6bbfa91a12 27-Oct-2016 Wei Wang <wvw@google.com> Merge "TextOutput log improvement" am: 3e9e757437
am: 1ccb872a9e

Change-Id: Ic9efec9193ed37c7bbfca966c07224b9e96349fb
1ccb872a9e17b565609091408cb37314442fccb0 27-Oct-2016 Wei Wang <wvw@google.com> Merge "TextOutput log improvement"
am: 3e9e757437

Change-Id: I88fec0002898ec7da19d579d0aa4679b73bfcd53
43e845e77e0578bd6efe5d1a9392a5c1684c3f4d 27-Oct-2016 Connor O'Brien <connoro@google.com> Merge "Enable multiple concurrent binderLibTest instances" am: 06d83ad741 am: 12a04a524b am: ea4dfd2f0d
am: 6bb878f9aa

Change-Id: I0be634aec218d99d57a81655397dac3f777e4565
3e9e757437881c43a90d2e03f062a4460e8b1513 27-Oct-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "TextOutput log improvement"
ea4dfd2f0d909f799b71cbec3900daf8b84a50d2 27-Oct-2016 Connor O'Brien <connoro@google.com> Merge "Enable multiple concurrent binderLibTest instances" am: 06d83ad741
am: 12a04a524b

Change-Id: I4f5d47d6d239d0df4b8e994645cd5bde4e45b88f
12a04a524bcf5802bf46731bfadfc6195ea1943e 27-Oct-2016 Connor O'Brien <connoro@google.com> Merge "Enable multiple concurrent binderLibTest instances"
am: 06d83ad741

Change-Id: I4df9c55a81801972f1b4cbb56f11d24f5bbc9e1d
a94d940c75456714b1c4425dde1e44802cb838f7 20-Oct-2016 Craig Donner <cdonner@google.com> Keep protected content in EGLImage attrs as needed.

When image_crop isn't supported, we also throw away the
protected_content_ext attrs in GLConsumer. Instead, keep them
around if they're used.

Bug: 32222880
Change-Id: Ic182810cbaacdfaf912c57667f5176d3e47941a9
ui/GLConsumer.cpp
87c03cf9e26f066fe7ff0e6a54b88cae6f1f29fd 27-Oct-2016 Connor O'Brien <connoro@google.com> Enable multiple concurrent binderLibTest instances

Each instance tries to register a service with the
same name, so suffix the service name with the
instance's PID to avoid collisions.

Test: Tests run and pass in 2 processes at once
Change-Id: I685b01fbfbad4e9bd3eb6ea06f46ffc157169909
Signed-off-by: Connor O'Brien <connoro@google.com>
inder/tests/binderLibTest.cpp
ecbfb9c9919c8d5784a082c9e93cd43f87190417 26-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "TextOutput log improvement"
4e110b25fc97c30dcc3424960786c1bbd51bdede 24-Oct-2016 Colin Cross <ccross@android.com> Merge "[binder]: Correct the index for getReturnString" am: a340838895 am: 3a3ed21bac am: 218d4e6ce5
am: 22e91a5b8f

Change-Id: Ief9ebb3d80d134d964a3011141da0196c16f87fd
218d4e6ce524c2825f545fec61fd97c81314248e 24-Oct-2016 Colin Cross <ccross@android.com> Merge "[binder]: Correct the index for getReturnString" am: a340838895
am: 3a3ed21bac

Change-Id: I155907b463d85dee5327c1b1df47be6d6c5cc3c9
3a3ed21bacd363b30e574c2b802ff54e389b914b 24-Oct-2016 Colin Cross <ccross@android.com> Merge "[binder]: Correct the index for getReturnString"
am: a340838895

Change-Id: Ide173ea019cceaba9eee1c25edf9fea75acc6caa
236cdb43be0c06d24339cde30da1c1cca16b0ff1 21-Oct-2016 Wei Wang <wvw@google.com> TextOutput log improvement

Add unit tests for log functions
Add support of std::endl
Add back support of char
Add back support of bool
Add back support of String16
Fix a build warning on union initialization

Test: run /data/nativetest(64)/binderTextOutputTest
Bug: 32181382
Change-Id: I4030b142beacc5dcd88a10904710fd6e19f7240c
inder/tests/Android.bp
inder/tests/binderDriverInterfaceTest.cpp
inder/tests/binderTextOutputTest.cpp
78f2a376144057e1390563c22c4f00a872e37671 21-Oct-2016 Wei Wang <wvw@google.com> TextOutput log improvement

Add unit tests for log functions
Add support of std::endl
Add back support of char
Add back support of bool
Add back support of String16
Fix a build warning on union initialization

Test: run /data/nativetest(64)/binderTextOutputTest
Bug: 32181382
Change-Id: I4030b142beacc5dcd88a10904710fd6e19f7240c
inder/tests/Android.bp
inder/tests/binderDriverInterfaceTest.cpp
inder/tests/binderTextOutputTest.cpp
73a7dde7c3e5c8437f396deeb200f250b3346be7 18-Oct-2016 songjinshi <songjinshi@xiaomi.com> [binder]: Correct the index for getReturnString

The cmd code can not as the index drectly.

Change-Id: Icddad46faef7a77acbd7edf118c081ac10501f47
Signed-off-by: songjinshi <songjinshi@xiaomi.com>
inder/IPCThreadState.cpp
0b0f69aecb318525b0b7cb3d4a32ea379965333d 20-Oct-2016 Wei Wang <wvw@google.com> Merge "Fix log function for potential overflow" am: 2e5c7798e1
am: 10155def9a

Change-Id: Ia91d711168bf9e69c583b1a933d69de94916b449
10155def9a1d617a8011c8017c1eb3a2e164fdd0 20-Oct-2016 Wei Wang <wvw@google.com> Merge "Fix log function for potential overflow"
am: 2e5c7798e1

Change-Id: I17a6c6a035e6e85777d0f14db819452d770856ae
2e5c7798e1ac32ef60307bba091be7e239907616 20-Oct-2016 Wei Wang <wvw@google.com> Merge "Fix log function for potential overflow"
c734143ca5bf7acfea782b79cfd6700af206a9ca 19-Oct-2016 Wei Wang <wvw@google.com> Fix log function for potential overflow

On LP64 system, unsigned long can be 64bit
Also clean out unused static variables.

Test: flash on ARM64 device
Bug: 32181382
Change-Id: I44b7ea8a6588c475a3979d7bddeb08da7f54c27a
inder/IPCThreadState.cpp
inder/TextOutput.cpp
13c41d3c7b20c6890889509dbf36b23bd7c20121 19-Oct-2016 Wei Wang <wvw@google.com> Fix log function for potential overflow

On LP64 system, unsigned long can be 64bit
Also clean out unused static variables.

Test: flash on ARM64 device
Bug: 32181382
Change-Id: I44b7ea8a6588c475a3979d7bddeb08da7f54c27a
inder/IPCThreadState.cpp
inder/TextOutput.cpp
a33106352d32328660c22318da3de2fd6212f50f 04-Oct-2016 Dan Willemsen <dwillemsen@google.com> Convert to Android.bp

See build/soong/README.md for more information.

Test: mmma -j frameworks/native/{libs/gui,opengl/libs}
Change-Id: I90b4e299ebd2a38afb6642bc242d4ad5424fb901
Merged-In: I90b4e299ebd2a38afb6642bc242d4ad5424fb901
ui/Android.bp
ui/Android.mk
ui/tests/Android.bp
ui/tests/Android.mk
4149a66f5661f38c36d0110381f5ed372383331f 18-Oct-2016 Dan Willemsen <dwillemsen@google.com> Convert to Android.bp am: 3106c1c4fc
am: 2d4e12f147

Change-Id: Iaed7fa8aa07d9bbcf3614e6a0ec859d623997dbc
2d4e12f1473353c76a113abebda363010e027737 18-Oct-2016 Dan Willemsen <dwillemsen@google.com> Convert to Android.bp
am: 3106c1c4fc

Change-Id: I4e0b4bbe420201473a345ed19eaee753f45a4b80
3106c1c4fc8365312385adb063e808fe4643901e 04-Oct-2016 Dan Willemsen <dwillemsen@google.com> Convert to Android.bp

See build/soong/README.md for more information.

Test: mmma -j frameworks/native/{libs/gui,opengl/libs}
Change-Id: I90b4e299ebd2a38afb6642bc242d4ad5424fb901
ui/Android.bp
ui/Android.mk
ui/tests/Android.bp
ui/tests/Android.mk
48856d970403c1b7d4fe29eea520404d509622e0 18-Oct-2016 Matthew Bouyack <mbouyack@google.com> In SurfaceFlinger, test fence before merging am: 377c203375
am: 29cacbe8fe

Change-Id: I2daf0fe8d3e6c25cd41e46940137842179da1e6e
ea2b73b678cb72ed1c73b65d100a316e291a2e88 18-Oct-2016 Nick Vaccaro <nvaccaro@google.com> Sensors: Add WRIST_TILT_GESTURE as wake sensor am: 5e7f79bf29
am: 0eabfd2d6e

Change-Id: I7f18f764215f341756ce6c495cc24481d2d10df7
29cacbe8fedffe0f6db2c2836f76b6497caf78ab 18-Oct-2016 Matthew Bouyack <mbouyack@google.com> In SurfaceFlinger, test fence before merging
am: 377c203375

Change-Id: Icfbcbe58de9f6930f06774f47e6576ec523115bd
0eabfd2d6e8eb5864149be13f32444ba94e1a57e 18-Oct-2016 Nick Vaccaro <nvaccaro@google.com> Sensors: Add WRIST_TILT_GESTURE as wake sensor
am: 5e7f79bf29

Change-Id: Iffcd4b96d1156d314b42e89f8114b9b1de48d258
a34aade39ae0cf56c1747c13defd996b937dc9f3 18-Oct-2016 Matthew Bouyack <mbouyack@google.com> Merge changes I5d907c33,Ibce48cd2 into cw-f-dev

* changes:
In SurfaceFlinger, test fence before merging
libui: Change hasSignaled to return optional<bool>
5e7f79bf29e488ab589daf98b089697b8c767765 18-Oct-2016 Nick Vaccaro <nvaccaro@google.com> Sensors: Add WRIST_TILT_GESTURE as wake sensor

Include WRIST_TILT_GESTURE sensor type when determining if
a sensor is a wake sensor or not in getDefaultSensor().

Change-Id: Ib9ae3990e063848163edd34be2ec021ed518e346
ui/SensorManager.cpp
377c2033750ad2a47e5c560f982a0242ea7dc79e 08-Oct-2016 Matthew Bouyack <mbouyack@google.com> In SurfaceFlinger, test fence before merging

If the old fence for a given layer has already expired, we can replace
it with the new fence rather than merging the two.

This saves 300-400us per frame on Android Wear

Change-Id: I5d907c336c7383ae4e2e0f71e42f23749494a359
ui/ConsumerBase.cpp
4802d3503cc979d3cb8f6478568a688d091b197d 13-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libui: add support for android.hardware.graphics"
9ba189dc5c03040d45dad2080a81115f48f099c3 22-Sep-2016 Chia-I Wu <olv@google.com> libui: add support for android.hardware.graphics

Add Gralloc2::Allocator and Gralloc2::Mapper as wrappers to
android.hardware.graphics.allocator@2.0 and
android.hardware.graphics.mapper@2.0 respectively. Prefer
Gralloc2::{Allocator,Mapper} in
GraphicBufferAllocator/GraphicBufferMapper.

The new path has these differences

- it does not support gralloc0
- it does not dup-and-close fence fds to and from HAL
(not sure why we did that)
- release implies native_handle_close and native_handle_delete
(same as in gralloc1?)

When all interesting targets have android.hardware.graphics
implementations, the old path will be removed. That is why the new path
is added in the least intrusive way, as in:

if (new-path-valid) {
new-path;
} else {
old-path;
}

despite the ugliness.

Test: booted to launcher, tested with YouTube and some games
Change-Id: Idabb6c62e73c96a59736b497c6d6d1366095e7e3
i/Android.bp
i/GrallocAllocator.cpp
i/GrallocMapper.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
cf307b3a45825a1d74c10ae01c599ea0d586a17a 12-Oct-2016 Elliott Hughes <enh@google.com> Merge "Rely on the platform -std default." am: 26989871a5 am: 35368f2475 am: 274347ebf1
am: 9420a844a5

Change-Id: Ibc3d4f92c9d25893d23e099d9a74862777893438
9420a844a588113d1ac2c940a22d972549d13cd1 12-Oct-2016 Elliott Hughes <enh@google.com> Merge "Rely on the platform -std default." am: 26989871a5 am: 35368f2475
am: 274347ebf1

Change-Id: Idce8ffa834e8ae8298d3ab8f516b4f4f31b02f18
274347ebf122c4d7cf9f71c663b23803faad848d 12-Oct-2016 Elliott Hughes <enh@google.com> Merge "Rely on the platform -std default." am: 26989871a5
am: 35368f2475

Change-Id: I1dffb52b3f59a8fe42c4c42e10ff7c9287e81e63
56a8d3260d1273a50a538f94bb376573c08e0600 11-Oct-2016 Elliott Hughes <enh@google.com> Rely on the platform -std default.

Bug: http://b/32019064
Test: builds
Change-Id: I88ea6b959b9d855a536e1475ed437105370203d0
ui/Android.mk
i/Android.bp
9d1ee208d6bd07c8de15b4ec8b29bbba30343ea7 11-Oct-2016 Elliott Hughes <enh@google.com> Merge "Rely on the platform -std default." am: 53b6fc5ddc am: 0ef01bab39 am: b48bc88b75
am: a16f14f826

Change-Id: Idadc8d71628f57e8c50abc6dd1a928dc42590fbc
a16f14f826bb64185ccaf0b6e872d2d5facc0a33 11-Oct-2016 Elliott Hughes <enh@google.com> Merge "Rely on the platform -std default." am: 53b6fc5ddc am: 0ef01bab39
am: b48bc88b75

Change-Id: I948f14c73030d6d0f0cae8b9e374962ad119f7f6
b48bc88b75dbba55d77543bf6c87f4909366a61a 11-Oct-2016 Elliott Hughes <enh@google.com> Merge "Rely on the platform -std default." am: 53b6fc5ddc
am: 0ef01bab39

Change-Id: I11137b0f1327691fa88acee67d9270fe509aa353
6a242bac1145da44ac9b7aa3a2a7d44a4bee4eed 10-Oct-2016 Matthew Bouyack <mbouyack@google.com> Use snprintf for SurfaceFlinger fence name am: fd4c8c3805
am: c7d352eb17

Change-Id: I41e5e4313af7784cb2ddbd4f278eb4e675cb3a08
c7d352eb17bc507d9e28ec878895bd888166e514 10-Oct-2016 Matthew Bouyack <mbouyack@google.com> Use snprintf for SurfaceFlinger fence name
am: fd4c8c3805

Change-Id: I16d3eb7cde318f2078be36acea22b9bc84975b63
f35d95673e68285b2c25c914e51d9fba8e833a26 10-Oct-2016 Matthew Bouyack <mbouyack@google.com> Merge "Use snprintf for SurfaceFlinger fence name" into cw-f-dev
fd4c8c38051f9dad028e4e43e0eb39ba412b2c0a 07-Oct-2016 Matthew Bouyack <mbouyack@google.com> Use snprintf for SurfaceFlinger fence name

snprintf is significantly faster than String8::format
This change saves ~50us per frame on Android Wear

Change-Id: I6ac47c2434662ca561208daae232f02a9f136aaf
ui/ConsumerBase.cpp
i/Fence.cpp
e390826e3871b68c6a282eef71d8f92bc7758378 08-Oct-2016 Elliott Hughes <enh@google.com> Rely on the platform -std default.

Bug: http://b/32019064
Test: builds
Change-Id: Ie2df259641889b3ce95648bd2be48d061108162c
inder/tests/Android.bp
nput/tests/Android.bp
59ea1049746e67065864928b1350a2edd78cdc4f 07-Oct-2016 Matthew Bouyack <mbouyack@google.com> resolve merge conflicts of 3b8e6b2 to nyc-mr1-dev-plus-aosp
am: 20e9085b51

Change-Id: I5b8f075d9a42ab3de359dc9bef9767d23af493d2
20e9085b51c00b7828e3a8fdfe902adc1c89a924 07-Oct-2016 Matthew Bouyack <mbouyack@google.com> resolve merge conflicts of 3b8e6b2 to nyc-mr1-dev-plus-aosp

Change-Id: I9c02a56d63de5828453aa8926ca801d96b04a6cf
077f38caaf921e394d6819fff4e574c5a07fe4a3 05-Oct-2016 Colin Cross <ccross@android.com> Merge "Fix anonymous struct and union warnings" am: 87e72cb237 am: a3ac6c2b86 am: 86eff80c19
am: ee45b938e8

Change-Id: I3580bd93dca6c863a11435c0fc4fa5bf25f51067
ee45b938e8a45f125a062b73d7111d636141ad68 05-Oct-2016 Colin Cross <ccross@android.com> Merge "Fix anonymous struct and union warnings" am: 87e72cb237 am: a3ac6c2b86
am: 86eff80c19

Change-Id: I6358d387eebddcd9238f250db7429f5846a2260a
86eff80c1961aa716efefbac218841259c6f96d4 05-Oct-2016 Colin Cross <ccross@android.com> Merge "Fix anonymous struct and union warnings" am: 87e72cb237
am: a3ac6c2b86

Change-Id: Iecd9d1b0b6a22d48a1cac59e028f7d31b50a3e3e
b1f30bae12a0df810a62f819ab3ac680b00768b9 01-Oct-2016 Colin Cross <ccross@android.com> Fix anonymous struct and union warnings

gui/BufferItem.h and android/sensor.h uses anymous structs and nested
anonymous unions, which are GNU extensions. sensor.h uses them as part
of its API, so disable the warnings in libgui, the only module that
tries to use it with -Weverything. BufferItem.h only uses the unioned
fields inside libgui, remove the union and do the 64-bit to 32-bit
slicing manually so libvulkan doesn't need the warnings disabled.

Bug: 31752268
Test: m -j
Change-Id: I92d59b1202f4d6e5419edaa6d27b6e1c50ac0042
ui/Android.mk
ui/BufferItem.cpp
6247ea9e71babcb2544331d8d8179d11af5a802e 04-Oct-2016 Colin Cross <ccross@android.com> Fix libgui warnings am: 6c5a17dd26 am: 972cce4cb9
am: af06c61e1b

Change-Id: I191c8a14d54427215922427c4bb497bdb7c27dd9
3b8e6b2f30af0564538c2a660033d6a97ab8038f 04-Oct-2016 Matthew Bouyack <mbouyack@google.com> Eliminate unnecessary calls to onBufferReleased

This change adds a callback to ProducerListener to indicate whether the
listener needs the 'onBufferReleased' notification. This allows us to
avoid making that binder call unnecessarily, saving ~170us per frame on
Android Wear.

By default the new callback returns true, so behavior for existing
clients should be unchanged. Only the DummyProducerListener returns
false.

Also note that it would be simpler to just pass NULL for the
ProducerListener if not for that fact that we still need it for death
notification.

Bug: b/31122630

Change-Id: I730834218a055d89e89f876dd77da8127eb78000
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IProducerListener.cpp
bb6d63ad528f94c350b65fb9f94004c691360066 01-Oct-2016 Colin Cross <ccross@android.com> Merge "Rename dump methods to dumpState" am: c72b9a3ce4
am: 219df2fd5b

Change-Id: I0597aa09cf66820708b125421e0814d1c1f6a4ac
dc782511dcaf46c7fa7488391cc27f0d0be354b0 27-Sep-2016 Colin Cross <ccross@android.com> Rename dump methods to dumpState

The dump methods shadow the IBinder dump method. The warnings were being
hidden by the use of -isystem to include frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: Iafc64da43032d5d9d84b64640e70d93fd7051bcf
(cherry picked from commit 3d1d280fa3cbc30700f728a4b13e5308315433d3)
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
ui/tests/BufferQueue_test.cpp
4308a78ab80b776ae18d4c7a902dc20f2bc3e613 01-Oct-2016 Colin Cross <ccross@android.com> Merge "Rename dump methods to dumpState"
33a6d87795574c7d87fb1a8cdad34ec0eb152a10 30-Sep-2016 Colin Cross <ccross@android.com> Fix logging implicit sign conversions am: 8bafabf1f6
am: 6b2749643f

Change-Id: I22582b46e7490c3a6aae4417628a2d585fd21460
af06c61e1b5ce33fc1afa825f7eb21368c1c6e9b 30-Sep-2016 Colin Cross <ccross@android.com> Fix libgui warnings am: 6c5a17dd26
am: 972cce4cb9

Change-Id: I83e31cd57286bb8fc5a25f7a1f6d895176640a84
5fa1223322175356e6ac943cb06d8b1e1cfc39d9 27-Sep-2016 Colin Cross <ccross@android.com> Rename dump methods to dumpState

The dump methods shadow the IBinder dump method. The warnings were being
hidden by the use of -isystem to include frameworks/native/include.

Bug: 31752268
Test: m -j
Merged-in: Iafc64da43032d5d9d84b64640e70d93fd7051bcf
Change-Id: Iafc64da43032d5d9d84b64640e70d93fd7051bcf
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
6e7e2b44efa6427cc106b20cea76d9a80dadcac9 27-Sep-2016 Colin Cross <ccross@android.com> Fix logging implicit sign conversions

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I2ce11db524ee9d8f846fdf3ed6fb882d5ef57956
(cherry picked from commit 152c3b749a8ec634afc66dddef7d33130472aeb1)
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
8bafabf1f69673340c6504037997293322b9fb89 27-Sep-2016 Colin Cross <ccross@android.com> Fix logging implicit sign conversions

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Merged-in: I2ce11db524ee9d8f846fdf3ed6fb882d5ef57956
Change-Id: I2ce11db524ee9d8f846fdf3ed6fb882d5ef57956
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
6c5a17dd2603b282cb0800c262857dc0f3d55f7e 27-Sep-2016 Colin Cross <ccross@android.com> Fix libgui warnings

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Merged-in: Idba8278bc0a73886ecb7978617854b433c0b5875
Change-Id: Idba8278bc0a73886ecb7978617854b433c0b5875
ui/Surface.cpp
7b84b6b651de8f3111a4e1c055d53b5b092d02d8 30-Sep-2016 Colin Cross <ccross@android.com> Merge "Fix logging implicit sign conversions"
71ebfe44eaf8d4deace2be743969429eea4dfdac 30-Sep-2016 Colin Cross <ccross@android.com> Merge "Fix libgui warnings"
3d1d280fa3cbc30700f728a4b13e5308315433d3 27-Sep-2016 Colin Cross <ccross@android.com> Rename dump methods to dumpState

The dump methods shadow the IBinder dump method. The warnings were being
hidden by the use of -isystem to include frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: Iafc64da43032d5d9d84b64640e70d93fd7051bcf
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
ui/tests/BufferQueue_test.cpp
ed4af7da02d185101f0c14c0834000cfaf7d709b 30-Sep-2016 Colin Cross <ccross@android.com> Merge "Fix weak vtable warnings" am: d93a40c920 am: 11a2bcad06 am: cd77a5a218
am: 97514a25d6

Change-Id: Id5af70ceadd584f0dae7aa4d9bb4811ad822cf28
152c3b749a8ec634afc66dddef7d33130472aeb1 27-Sep-2016 Colin Cross <ccross@android.com> Fix logging implicit sign conversions

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I2ce11db524ee9d8f846fdf3ed6fb882d5ef57956
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
9a80d502c34dc663a2c166eba17de9003fd8605d 27-Sep-2016 Colin Cross <ccross@android.com> Fix libgui warnings

The warnings were being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: Idba8278bc0a73886ecb7978617854b433c0b5875
ui/Surface.cpp
97514a25d6fb0b108882e5e6ddcc6ca9fb2e334d 30-Sep-2016 Colin Cross <ccross@android.com> Merge "Fix weak vtable warnings" am: d93a40c920 am: 11a2bcad06
am: cd77a5a218

Change-Id: Id487011570e506e49a23a793b13e3a173c618a4c
cd77a5a2180ec45d712de08f655225892713fcae 30-Sep-2016 Colin Cross <ccross@android.com> Merge "Fix weak vtable warnings" am: d93a40c920
am: 11a2bcad06

Change-Id: I1fd134d6eedb2f324de36b8e066b7d942fccd2eb
97b64dbe717b7daf29962f44c1b621c633473556 26-Sep-2016 Colin Cross <ccross@android.com> Fix weak vtable warnings

Move virtual destructors into cpp file so that the compiler knows which
translation unit to put the vtable into. Hide the warning for
DeathRecipient, which has no virtual methods to move. The warnings were
being hidden by the use of -isystem to include
frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I25329d66bfc1f6a5064d05ce7d12ad9b090601f8
ui/IConsumerListener.cpp
ui/IProducerListener.cpp
1941a404d642b3dfaac365ba494f1e9912876f00 29-Aug-2016 Dianne Hackborn <hackbod@google.com> Introduce new command callback to shell.

This introduces a new feature of the IBinder command protocol
to allow the shell command implementation to call back into
its caller to ask it to open files in the calling context. This
is needed so that commands that have arguments specifying files
can open those files as the calling shell, not the system (or
whatever) process.

Test: Manual

Change-Id: Idd5b49ea21057864cc9cef816b3e4afbf01948fc
inder/Android.bp
inder/Binder.cpp
inder/IShellCallback.cpp
inder/Parcel.cpp
e26b76214f3fe779f5093e1c543c290bf2ae2d9a 28-Sep-2016 Colin Cross <ccross@android.com> Use uint32_t consistently for region op am: 8f279960c6 am: 19bf9a2f27 am: 66b52bae7a
am: 461b4e449f

Change-Id: Idcb2301afeb7142f54e34545c70e948e3dbcb703
461b4e449f433344fb6167d926893944ff3434a5 28-Sep-2016 Colin Cross <ccross@android.com> Use uint32_t consistently for region op am: 8f279960c6 am: 19bf9a2f27
am: 66b52bae7a

Change-Id: Ic88d190dd73525e901279bdf80897bd0cace004f
66b52bae7ae511711fa29eb2ce1469bda47b280a 28-Sep-2016 Colin Cross <ccross@android.com> Use uint32_t consistently for region op am: 8f279960c6
am: 19bf9a2f27

Change-Id: Ia4ed908c51a32ed3ad255b244609983399b7cc44
8f279960c6ad8803e36503250b7ab89e34c9477b 26-Sep-2016 Colin Cross <ccross@android.com> Use uint32_t consistently for region op

An implicit conversion warning was being hidden by the use of -isystem
to include frameworks/native/include.

Bug: 31752268
Test: m -j
Change-Id: I008ef537a24311d58816fae12ef8c4aeaba07547
i/Region.cpp
4e44cf52e025991bc575140e923c7d2e4ead62b9 15-Sep-2016 Peng Xu <pengxu@google.com> TYPE_DYNAMIC_SENSOR_META should be wake up sensor

This CL makes the default TYPE_DYNAMIC_SENSOR_META sensor a wake-up
type.

Test: m cts-verifier
Test: Run "Dynamic Sensor Discovery Test" with a sensor HAL that
support dynamic sensor discovery (e.g. contexthub + ag/1189124)

Bug: 31068976

Change-Id: I97197df248a9e89af6b72af3bee3c536a58c8df2
ui/Sensor.cpp
4d10804e9e0902b083cd9e4d0c907b455388ea1b 26-Sep-2016 David Pursell <dpursell@google.com> Merge "libgui: add a test for Sensor serialization." am: 01a0c92da0 am: cca7f83210 am: 36c879bb7a
am: 44c72d265c

Change-Id: Ib56d39f7017b743ebc8cc31ddd99240d0793ea5c
44c72d265c09745dadec705d66cb163e8561acec 26-Sep-2016 David Pursell <dpursell@google.com> Merge "libgui: add a test for Sensor serialization." am: 01a0c92da0 am: cca7f83210
am: 36c879bb7a

Change-Id: Ifb3fcb554165a0b2ef6de38e0a71898fe84a0526
36c879bb7a076f9cd70941d7f83d35a70cea4e66 24-Sep-2016 David Pursell <dpursell@google.com> Merge "libgui: add a test for Sensor serialization." am: 01a0c92da0
am: cca7f83210

Change-Id: Id8e064040f9d3a167bd3501fa16c3b5b4d4721d8
6f09ce1dd6bba8550d05896a595caf1b9b47ba71 23-Sep-2016 David Pursell <dpursell@google.com> libgui: add a test for Sensor serialization.

On a few test boards we've hit a problem with Sensor serialization
causing a SIGBUS due to misaligned access. This is being fixed in
Flattenable.h, but adding a test here to verify the fix and detect
regression seems like a good idea.

Bug: http://b/31671510
Test: adb shell /data/nativetest/libgui_test/libgui_test \
--gtest_filter=SensorTest.*

Change-Id: I233359b04789dabe2246b95051290e101e0bd2c1
ui/tests/Android.mk
ui/tests/Sensor_test.cpp
96fc72d19e17d6d6dae1f3bdaca888a2db658f77 23-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Surface: Allow nullable IGBPs when unparceling a Surface"
95c48ed47c2de072697d98609d2575f3ac459eea 23-Sep-2016 Paul Liétar <lietar@google.com> Merge "binder: Replace use of resize()/memcpy() with reserve()/insert()"
3d0becdcec3f27880b345bd05f2120c1f7e668df 23-Sep-2016 Robert Carr <racarr@google.com> Surface: Add force disconnection method. am: 97b9c86338 am: 962b13b9be
am: a9d1c1099d

Change-Id: Iea981cfaddd2be6ecdfebbdfadd9d822f17d682f
a9d1c1099d795d8ccafbbf48ee053d34505fbbde 23-Sep-2016 Robert Carr <racarr@google.com> Surface: Add force disconnection method. am: 97b9c86338
am: 962b13b9be

Change-Id: Ie74482a867c24213a25332650b38c733e183630b
962b13b9be70217fc6f0c8db72891c44629c345c 23-Sep-2016 Robert Carr <racarr@google.com> Surface: Add force disconnection method.
am: 97b9c86338

Change-Id: Ia9f9dbdcbd9527d54dacb2cdc90eda443230e8d9
86d5cee27bc889d77575a21e5bbada6538fba634 23-Sep-2016 Connor O'Brien <connoro@google.com> Merge "Add binder test for bug 30445380"
7407963cd42385ddb73d2acd1be72858d34bf242 23-Sep-2016 Eino-Ville Talvala <etalvala@google.com> Surface: Allow nullable IGBPs when unparceling a Surface

We will write a null IGBP, so we shouldn't error out when reading one;
leave semantics of that to higher-level code.

Test: No camera crash after lots of front-back camera switches
Bug: 31373143
Change-Id: I5f7cf7489aca721057c5731e3a79cf6f8f260774
ui/Surface.cpp
6cc1933af9c0cf656f9a511155f6613f8dbba667 22-Sep-2016 Rob Carr <racarr@google.com> Merge "Surface: Add force disconnection method." into nyc-mr1-dev
627ca65a5186d9799bfd9f70ba80c200ea6acbb9 20-Sep-2016 Connor O'Brien <connoro@google.com> Add binder test for bug 30445380

Test: Ran on fixed and unfixed kernel.
Change-Id: Ic5c49fde75af7a4606871b07a3f39c0c34824c8b
Signed-off-by: Connor O'Brien <connoro@google.com>
inder/tests/binderLibTest.cpp
433e87b221b871727c3bde70c600014b43776dcf 16-Sep-2016 Paul Lietar <lietar@google.com> binder: Replace use of resize()/memcpy() with reserve()/insert()

resize() zero initializes the vector even though data is about to be
copied to it. Moreover it does so with a loop rather than a memset.

Using reserve() and insert() is significantly faster with large
payloads, as it only has to allocate and memcpy.

Benchmarked using system/libhwbinder/tests/benchmarks

Before:
Benchmark Time CPU Iterations
-------------------------------------------------------------
BM_sendVec_binder/4k 89872 ns 45885 ns 15328
BM_sendVec_binder/8k 122753 ns 57713 ns 11667
BM_sendVec_binder/16k 163825 ns 88444 ns 7500
BM_sendVec_binder/32k 261942 ns 153561 ns 4667
BM_sendVec_binder/64k 558372 ns 318525 ns 2386

After:
Benchmark Time CPU Iterations
-------------------------------------------------------------
BM_sendVec_binder/4k 69052 ns 23111 ns 30000
BM_sendVec_binder/8k 71891 ns 25092 ns 27632
BM_sendVec_binder/16k 85439 ns 32822 ns 21429
BM_sendVec_binder/32k 115223 ns 43912 ns 15789
BM_sendVec_binder/64k 203960 ns 82667 ns 8750

Change-Id: Ie83c1d0a9da6f175ffd1a3fc9e0ecc6d542a909a
inder/Parcel.cpp
14107b1e8911d61aad7b56c64458d255928e3404 14-Sep-2016 Dan Willemsen <dwillemsen@google.com> Merge "Convert libui to Android.bp" am: f0346ab68e
am: 55ef158c5d

Change-Id: Id19e76f82b3b3154570e5963d2e2f4f943946db1
c7dd2b905d83cbf7ee98792142a4d078e7cfbb39 26-Aug-2016 Dan Willemsen <dwillemsen@google.com> Convert libui to Android.bp

Along with the libinput tests, which depend on libui. For more
information on Soong, see build/soong/README.md

Change-Id: Id4fbeb114d03e37556dca59a2c9f5c9abb0a1825
Merged-In: Id4fbeb114d03e37556dca59a2c9f5c9abb0a1825
(cherry picked from commit 871dda3d6485617bf3a1ea6c8236071212234433)
nput/Android.bp
nput/Android.mk
nput/tests/Android.bp
nput/tests/Android.mk
i/Android.bp
i/Android.mk
i/tests/Android.bp
i/tests/Android.mk
97b9c86338e2d364d47ea7522c2d81a8014f0e07 08-Sep-2016 Robert Carr <racarr@google.com> Surface: Add force disconnection method.

Add a new method forceScopedDisconnect to Surface. This will
be used by the framework to force disconnection at times where
the underlying GraphicBufferProducer may be about to be reused.
This is scoped by PID to avoid conflicting with remote producers.

Bug: 30236166
Change-Id: I857216483c0b550f240b3baea41977cbc58a67ed
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
69f0cc37faef472f4e738e9c165032c906b1f926 14-Sep-2016 Dan Willemsen <dwillemsen@google.com> Convert libui to Android.bp
am: 871dda3d64

Change-Id: If98fd233e72f8f159e181245d1077bbf55491b96
82e5e2edc733396d24a9e5eca48c365f961ea029 13-Sep-2016 Dan Stoza <stoza@google.com> Squashed: gralloc1/binder/requestor am: f62eaf5994
am: c76b6fb0c8

Change-Id: Ib81919fbddfb24d0429c12cc9fa1d516c195e5ac
0d85101e332c4efaacf4fc78208570ae028c3413 13-Sep-2016 Dan Stoza <stoza@google.com> libui: Add Gralloc1On0Adapter and C++ shim am: eb03fd3a8b
am: e9a0705cf5

Change-Id: I5e67066454b265bf30f96be24e12ec22d4a0df13
5a002874266fdd1c4ece5f4c935811016e95dba2 13-Sep-2016 Kalle Raita <kraita@google.com> Increase YV12BufferPow2 test threshold am: 6a2593ac53
am: b384bc32a0

Change-Id: Idb99f4c01321a4400093ae8fc33cb3a1ab507653
6a2593ac53c6eccf5505e17594e57dab51f816ea 03-Aug-2016 Kalle Raita <kraita@google.com> Increase YV12BufferPow2 test threshold

The NPOT version already has 3 as the threshold and at least one
platform seems to have diff of 3 in one of the internal pixels for POW2
variant.

Bug: 21306103
Bug: 30920650
Change-Id: I7882a6ff43ffc862d95fea32c8ee8e7f19fb759d
Cherry-pick from master (e3747fd25918c943caef4d9c7158a668c786c55d)
ui/tests/SurfaceTextureGL_test.cpp
f62eaf5994ac86f4d84e2d34af727617919d7bb7 02-Jun-2016 Dan Stoza <stoza@google.com> Squashed: gralloc1/binder/requestor

This is a combination of the following three commits:

libui: Convert Allocator and Mapper to gralloc1

Converts GraphicBufferAllocator and GraphicBufferMapper to speak
gralloc 1.0 (via the C++ shim and optionally the 1On0 adapter) instead
of gralloc 0.x.

-----

Create graphic buffer using binder interfaces

Using binder interfaces rather than directly allocating the buffer prevents
SELinux warnings.

-----

Add requestor name to GraphicBuffer alloc metadata

Adds a requestor name (usually the BufferQueue consumer's name) to the
metadata that GraphicBufferAllocator stores on allocation so that
`dumpsys SurfaceFlinger` can attempt to attribute buffer usage to the
correct client.

Bug: 28401203
Bug: 29402015
Bug: 30776557
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
eb03fd3a8bb5b1217b6a0eec513666856d7c6df3 12-Jan-2016 Dan Stoza <stoza@google.com> libui: Add Gralloc1On0Adapter and C++ shim

Adds an adapter which provides the gralloc1 interface on top of a
gralloc 0.x device as well as a C++ shim which wraps a gralloc1 device
and provides a somewhat nicer interface to the rest of the system.

This has also been squashed with a later commit that added mutexes to
protect both the buffer list and the descriptor list from concurrent
access.

Bug: 28401203
Bug: 29420918
Change-Id: I0eeafc998b56e2e2fc39de6fad41e3ed2e19658a
i/Android.mk
i/Gralloc1.cpp
i/Gralloc1On0Adapter.cpp
871dda3d6485617bf3a1ea6c8236071212234433 26-Aug-2016 Dan Willemsen <dwillemsen@google.com> Convert libui to Android.bp

Along with the libinput tests, which depend on libui. For more
information on Soong, see build/soong/README.md

Change-Id: Id4fbeb114d03e37556dca59a2c9f5c9abb0a1825
nput/Android.bp
nput/Android.mk
nput/tests/Android.bp
nput/tests/Android.mk
i/Android.bp
i/Android.mk
i/tests/Android.bp
i/tests/Android.mk
8211047138ea7892c73f4e6f6291a85a11759e0c 22-Jul-2016 Eino-Ville Talvala <etalvala@google.com> DO NOT MERGE ANYWHERE: BufferQueue consumers: Add discardFreeBuffer method

This method releases all free buffers owned by the buffer queue,
in order to save memory (at the cost of potential future
reallocation of buffers).

Bug: 28695173
Change-Id: I458d10373e639e3144faf673af2ba01aca36e65a
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
ui/tests/BufferQueue_test.cpp
d7de179ac5e759efd7d6574d04d24fc3825cffec 01-Sep-2016 Pablo Ceballos <pceballos@google.com> libgui: Add null pointer check in setDisplaySurface am: eddbef88cf am: 8663a03444
am: 739c90cb7b

Change-Id: I587f5160c6abb9e4e4c98657658ff63a91ac1a40
739c90cb7b3a0756d01c3c729476970f72d7e917 01-Sep-2016 Pablo Ceballos <pceballos@google.com> libgui: Add null pointer check in setDisplaySurface am: eddbef88cf
am: 8663a03444

Change-Id: I9ddce6a3f72111aad068bbd13f3618589cbd87fd
8663a03444df4ead2ed5f5f5cb1251e48d55052d 01-Sep-2016 Pablo Ceballos <pceballos@google.com> libgui: Add null pointer check in setDisplaySurface
am: eddbef88cf

Change-Id: I3a3ddac84b3f38f6c911ff65642441fd187bbe54
669867835ba2a8120cc3c171c8dc3e41ae9b9c8c 01-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "libgui: Add null pointer check in setDisplaySurface" into nyc-mr1-dev
eddbef88cf78deb9b08a6cad2c9cb67e4ddcea0d 01-Sep-2016 Pablo Ceballos <pceballos@google.com> libgui: Add null pointer check in setDisplaySurface

Bug 31236602

Change-Id: I78d4e28e40db93f7e7e304355b370af0fa790b9d
ui/SurfaceComposerClient.cpp
ebaa0cf99b5fba04ebc89385d5d1c6fce66f6e70 31-Aug-2016 Eino-Ville Talvala <etalvala@google.com> Surface: Add parcel/unparceling for missing field. am: 529a103fde am: aa516aca42
am: e476eadbbd

Change-Id: Ib48cdf37b9d91f83c62aa245d1e0ee88c92fdfcc
de6f2b288f84e218c89963cc1e397658c353baaf 31-Aug-2016 Dan Willemsen <dwillemsen@google.com> Merge "Remove FRAMEBUFFER_FORCE_FORMAT" am: 0322a7176f am: 04f46f0347 am: df34094ace
am: 79813df861

Change-Id: I11ce27eaeabf8afa580800b6a73532b22f98f7ca
ec8ab15da8bb39fb55e16b216f9bf26e0c3030c9 31-Aug-2016 Pablo Ceballos <pceballos@google.com> Fail setDisplaySurface if can't enable async am: 1aad24c0c4 am: ad685f0f9f
am: 881a8a9cd7

Change-Id: I97891b6c0c7be3462d0033fcb33630d20a9d127e
e476eadbbd5fad47b61aae4992ab0f6206391f8f 30-Aug-2016 Eino-Ville Talvala <etalvala@google.com> Surface: Add parcel/unparceling for missing field. am: 529a103fde
am: aa516aca42

Change-Id: I26bee1ea4d80a2627b8418476fd5adc3aaaef6a4
529a103fde484a6512aaffd9ae063decb93765eb 30-Aug-2016 Eino-Ville Talvala <etalvala@google.com> Surface: Add parcel/unparceling for missing field.

Read/write new isSingleBuffered field in native code as well.
Currently just write 'no' unconditionally and discard on read.

Bug: 31162160
Change-Id: Icfb7a37fb37a41f6437fe08bcfad271474ba6983
ui/Surface.cpp
79813df861ff68e4925d1549253d9e32a6593f6b 30-Aug-2016 Dan Willemsen <dwillemsen@google.com> Merge "Remove FRAMEBUFFER_FORCE_FORMAT" am: 0322a7176f am: 04f46f0347
am: df34094ace

Change-Id: Ie4a9c094fcfe1956d5b1ba2bd3580cdda9f93908
df34094ace9c720b521a7b309e231f53c676e40f 30-Aug-2016 Dan Willemsen <dwillemsen@google.com> Merge "Remove FRAMEBUFFER_FORCE_FORMAT" am: 0322a7176f
am: 04f46f0347

Change-Id: I19d40d6877f9831608c9261370a66799e56a5397
881a8a9cd76df805806492131894fb3c8874a68c 29-Aug-2016 Pablo Ceballos <pceballos@google.com> Fail setDisplaySurface if can't enable async am: 1aad24c0c4
am: ad685f0f9f

Change-Id: Ia025b013bfc8199cfae3f2463a00df0b81329994
ad685f0f9fda27ded1c872a243bd96b61c80867e 29-Aug-2016 Pablo Ceballos <pceballos@google.com> Fail setDisplaySurface if can't enable async
am: 1aad24c0c4

Change-Id: Ie81fb73d61e9c3a6cbb53d7877e8ebbcc9e5aea5
4db50cec13f5fb69e847d1106c78cb972bc62149 29-Aug-2016 Pablo Ceballos <pceballos@google.com> Merge "Fail setDisplaySurface if can't enable async" into nyc-mr1-dev
7a213516a2640ef355cbcb5277bd031df36e436d 01-Aug-2016 Dan Willemsen <dwillemsen@google.com> Remove FRAMEBUFFER_FORCE_FORMAT

It's no longer used, except for a debugging line.

Change-Id: I44e1c17129e71168b263e872e9aaab0f164d3832
i/Android.mk
i/UiConfig.cpp
7d941b72fec37cc68ae143733558e3a7fd64cdb1 25-Aug-2016 Martijn Coenen <maco@google.com> Merge changes from topic 'utf' am: 213f015932 am: 654107c725
am: fac1d16e96

Change-Id: I798cd1f965c87d1e5f3c32a47a181623bda36b37
fac1d16e966a77af582c5153b91586b42ff30902 25-Aug-2016 Martijn Coenen <maco@google.com> Merge changes from topic 'utf' am: 213f015932
am: 654107c725

Change-Id: Ic4c07e7d56f8f78190d7f7e57cad2760b30e90ca
a1d24b45ccb6f68448f478e2a847a5544276002b 23-Aug-2016 Dan Stoza <stoza@google.com> Add requestor name to GraphicBuffer alloc metadata

Adds a requestor name (usually the BufferQueue consumer's name) to the
metadata that GraphicBufferAllocator stores on allocation so that
`dumpsys SurfaceFlinger` can attempt to attribute buffer usage to the
correct client.

Bug: 30776557
Change-Id: I6e0f346584c871bb3b9d5481f82b697b0475a916
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
213f01593296211cea2279190aa20343529cba88 25-Aug-2016 Martijn Coenen <maco@google.com> Merge changes from topic 'utf'

* changes:
Add bound checks to utf16_to_utf8
Unicode: specify destination length in utf8_to_utf16 methods
57a58d9198640b138e8cc442eb1702dea5f2c829 25-Aug-2016 Mark Salyzyn <salyzyn@google.com> Merge "binder: use ashmem_valid()" am: b5ac868729 am: d7f671406c am: 9a057a99df
am: 10e15ecfb2

Change-Id: I3a280d4bfba4f2d8d5d5a909eda43ffa9e0d94bd
10e15ecfb249a567e500bc04f2283b2e2f7b0d83 25-Aug-2016 Mark Salyzyn <salyzyn@google.com> Merge "binder: use ashmem_valid()" am: b5ac868729 am: d7f671406c
am: 9a057a99df

Change-Id: Ie8676d0d7c2dbc37c44c103e0068e7fbe8661a7a
9a057a99dfbeaaa3160929049debdc5df8731021 25-Aug-2016 Mark Salyzyn <salyzyn@google.com> Merge "binder: use ashmem_valid()" am: b5ac868729
am: d7f671406c

Change-Id: I6567609d364e53628e174f3a3c91a6c9edd5ed20
b5ac868729113583ebb17bd92ed4dddf9bad4139 25-Aug-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "binder: use ashmem_valid()"
2628e36fe1499eda9abf05aecff5935ed5ee4fda 25-Aug-2016 Hans Boehm <hboehm@google.com> Merge "Fix memory ordering issues; document IMemory peculiarities" am: 2347fca424 am: 5a558922ca
am: 1f63519780

Change-Id: I25c6956e06f41727b38701ecf024ec7f1f51c57a
1f63519780e4365b069aea911bd70db64c14ab31 25-Aug-2016 Hans Boehm <hboehm@google.com> Merge "Fix memory ordering issues; document IMemory peculiarities" am: 2347fca424
am: 5a558922ca

Change-Id: Ic999217f268bf1482d258c1d4c8e213924081420
8058936f866a16001f1894c0688f87bf5a6c76d9 24-Aug-2016 Mark Salyzyn <salyzyn@google.com> binder: use ashmem_valid()

Bug: 30310689
Change-Id: I38e2720843f1eebec39ce6c7d957ee9a1dafac59
inder/Parcel.cpp
38c7f3b7f35f8ef70e0cf2e5035dd229b4cca00e 25-Aug-2016 Dan Stoza <stoza@google.com> Add requestor name to GraphicBuffer alloc metadata am: d4079aff75
am: a009af9b54

Change-Id: I12f8900605754f5edddc1910ed4b245322f310a2
3eaf53ee5215e0e99dc5658897c9e02f5bc25044 28-Jun-2016 Sergio Giro <sgiro@google.com> Add bound checks to utf16_to_utf8

Bug: 29250543
Change-Id: I518e7b2fe10aaa3f1c1987586a09b1110aff7e1a
(cherry picked from commit 7e93b2ddcb49b5365fbe1dab134ffb38e6f1c719)
inder/Parcel.cpp
e1d310d75c0993e430ed192c7b862d287766d6af 21-Jul-2016 Sergio Giro <sgiro@google.com> Unicode: specify destination length in utf8_to_utf16 methods

Change-Id: I5223caa7d42f4582a982609a898a02043265c6d3
inder/Parcel.cpp
4ce4db768d64d2aa7a958bb25c439e23b8b59fd3 13-Jul-2016 Hans Boehm <hboehm@google.com> Fix memory ordering issues; document IMemory peculiarities

Convert to standard atomics.

Correct mHeapId memory ordering. Required acquire ordering on loads
was missing in several places.

Remove atomic updates to count, since it is only updated with lock
held. (And would be missing fences if this were not true.)

Document the peculiar use of copy-in-write vectors in a context in
which copy-on-write is unsafe.

While we're here, consistently check dup() for errors.

Bug: 28816986

Merged-in: I05b9f96e3867fa2e0abe6f319be8c56b89624c41

Change-Id: I05b9f96e3867fa2e0abe6f319be8c56b89624c41
inder/IMemory.cpp
024e9313ce69ced1f853d737de680ef9f50ed26d 24-Aug-2016 Dan Stoza <stoza@google.com> Add requestor name to GraphicBuffer alloc metadata

Adds a requestor name (usually the BufferQueue consumer's name) to the
metadata that GraphicBufferAllocator stores on allocation so that
`dumpsys SurfaceFlinger` can attempt to attribute buffer usage to the
correct client.

Bug: 30776557
Change-Id: I6e0f346584c871bb3b9d5481f82b697b0475a916
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
d4079aff759713e7c7dd14cecb585a7290e80772 23-Aug-2016 Dan Stoza <stoza@google.com> Add requestor name to GraphicBuffer alloc metadata

Adds a requestor name (usually the BufferQueue consumer's name) to the
metadata that GraphicBufferAllocator stores on allocation so that
`dumpsys SurfaceFlinger` can attempt to attribute buffer usage to the
correct client.

Bug: 30776557
Change-Id: I6e0f346584c871bb3b9d5481f82b697b0475a916
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IGraphicBufferAlloc.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
34449e4581595cfe485e0f112c89aaefb47832df 23-Aug-2016 Arve Hjønnevåg <arve@google.com> Merge changes I5ab71ed0,I0e8803ff

* changes:
binder: tests: Check that cookie and binder high bits are zero
binder: tests: Fix warnings
dfaa429007fb5ead11b396db39043c49a0afcbb3 18-Aug-2016 Hans Boehm <hboehm@google.com> Merge "Fix memory ordering issues; document IMemory peculiarities"
58cd6308e76e3ce2580c0e6e1c6a8733384f9e28 18-Aug-2016 Dmitriy Filchenko <dmitriyf@google.com> Merge "Remove unused include." am: 5242fb42fb am: 23e469f5dc am: def5b03a2e
am: 0e2718ba5f

Change-Id: I78a711fc7a72eb5a0ff7287390e3a604cb88ab55
0e2718ba5fcf4ebac43d62148b5edac0f203b2f3 18-Aug-2016 Dmitriy Filchenko <dmitriyf@google.com> Merge "Remove unused include." am: 5242fb42fb am: 23e469f5dc
am: def5b03a2e

Change-Id: I5dda05a56540ca027158662d679998538c38cbdb
def5b03a2e64628dca657789050a340b33a1796e 18-Aug-2016 Dmitriy Filchenko <dmitriyf@google.com> Merge "Remove unused include." am: 5242fb42fb
am: 23e469f5dc

Change-Id: I830745f6bcf717089a6264a700ccf8a5e5ab96c0
23e469f5dcd20614f7fa0e562f5cde5f8cfe16ba 18-Aug-2016 Dmitriy Filchenko <dmitriyf@google.com> Merge "Remove unused include."
am: 5242fb42fb

Change-Id: Id3ccb5f3dfb9d2188b6e570eaaa6ba23438ae392
e3f8eba20e4cc32b409d70656f10a97fff840190 18-Aug-2016 Dmitriy Filchenko <dmitriyf@google.com> Remove unused include.

BUG: 29824203

Change-Id: Ied8ccb8c30632b41f6c6c3d848dc94d7b1e731e0
inder/ProcessState.cpp
7e20297c52edc7aae41cf7453b2aad1d0a318d8f 13-Jul-2016 Hans Boehm <hboehm@google.com> Fix memory ordering issues; document IMemory peculiarities

Convert to standard atomics.

Correct mHeapId memory ordering. Required acquire ordering on loads
was missing in several places.

Remove atomic updates to count, since it is only updated with lock
held. (And would be missing fences if this were not true.)

Document the peculiar use of copy-in-write vectors in a context in
which copy-on-write is unsafe.

While we're here, consistently check dup() for errors.

Bug: 28816986

Change-Id: I05b9f96e3867fa2e0abe6f319be8c56b89624c41
inder/IMemory.cpp
10b69a22144607f004f493d74b19a04ae96065c7 13-Aug-2016 Arve Hjønnevåg <arve@android.com> binder: tests: Check that cookie and binder high bits are zero

Bug 30768347

Change-Id: I5ab71ed0c613011b52ed59ec9be02c1bf231c38a
inder/tests/binderLibTest.cpp
21298ea28f1d81a05741d0854f52b1efb522a80a 13-Aug-2016 Arve Hjønnevåg <arve@android.com> binder: tests: Fix warnings

Change-Id: I0e8803ff1fc81a83d89a67ce072cf8fd28f2dc67
inder/tests/binderLibTest.cpp
5885800d1977adf414fea5df93077543a22b754b 10-Aug-2016 Kalle Raita <kraita@google.com> Merge "Increase YV12BufferPow2 test threshold"
f697bba2d390d7d7f3bbb3a145fe2587ee11e3a3 06-Aug-2016 Dan Willemsen <dwillemsen@google.com> resolve merge conflicts of 35ea9f8 to nyc-mr1-dev-plus-aosp

Change-Id: I6f0ff0ecfd9c91adc46c059bab440aab6d666e62
35ea9f855639f74cc3a5aca38927977fc6a7c97e 06-Aug-2016 Dan Willemsen <dwillemsen@google.com> resolve merge conflicts of 0783d5f to stage-aosp-master
am: 2a001e8bfe

Change-Id: Ib0fc16f4a35761c0b2a3e3273800e1f27e527577
2a001e8bfe0255242740df7d9674408820f13627 05-Aug-2016 Dan Willemsen <dwillemsen@google.com> resolve merge conflicts of 0783d5f to stage-aosp-master

Change-Id: I4fe9c0391d6d41bae5fbbb0df6e00e264e87649f
1aad24c0c47598b0cce5ea2cadd5c2a5f3c5196d 04-Aug-2016 Pablo Ceballos <pceballos@google.com> Fail setDisplaySurface if can't enable async

Bug 30106031

Change-Id: I1c2d048b59e9805e72542c387fbcdb002496a13f
ui/SurfaceComposerClient.cpp
59e086f536e1dbbbfe9cb6a1826aaddef999d5ce 26-Jul-2016 Dan Willemsen <dwillemsen@google.com> Start converting Android.mk to Android.bp

See build/soong/README.md for more information.

Merged-In: Ifbe9b0072a63b4467c72b3a52148a606e5365f78
Change-Id: Ifbe9b0072a63b4467c72b3a52148a606e5365f78
inder/Android.bp
inder/Android.mk
inder/tests/Android.bp
inder/tests/Android.mk
inder/tests/binderDriverInterfaceTest.cpp
iskusage/Android.bp
iskusage/Android.mk
nput/Android.bp
nput/Android.mk
284d1c5307d97175b490ef8d5bad4ef729d283df 03-Aug-2016 Dan Willemsen <dwillemsen@google.com> Disable host libinput shared library

This doesn't compile on Mac, and we weren't building it in Make. So just
disable the shared host library.

Change-Id: Ia678cf0c66474f08dce0f8dae1444744789ffbc8
nput/Android.bp
e3747fd25918c943caef4d9c7158a668c786c55d 03-Aug-2016 Kalle Raita <kraita@google.com> Increase YV12BufferPow2 test threshold

The NPOT version already has 3 as the threshold and at least one
platform seems to have diff of 3 in one of the internal pixels for POW2
variant.

Bug: 21306103
Change-Id: I7882a6ff43ffc862d95fea32c8ee8e7f19fb759d
ui/tests/SurfaceTextureGL_test.cpp
ea309c20e59a61440888b2130d3cd3ca509debe4 03-Aug-2016 Dan Willemsen <dwillemsen@google.com> Merge "Start converting Android.mk to Android.bp"
206c2b804ac67ed2f97df5646210608fdef6bf41 02-Aug-2016 Sergio Giro <sgiro@google.com> Merge "Unicode: specify destination length in utf8_to_utf16 methods"
c1ba5c4649554e744844b07cfe402b42fbe12ff3 08-Jun-2016 Sahil Dhanju <sahildhanju@google.com> Multithreaded Surface Replayer that replays traces

Change-Id: Id8d17f74e00d4796e1ea266bdaf9e8dd0af6475b
ui/ISurfaceComposer.cpp
ui/SurfaceComposerClient.cpp
e05dc6d59c3be6ac42bdc7f415a7ea80a3ed1e18 26-Jul-2016 Dan Willemsen <dwillemsen@google.com> Start converting Android.mk to Android.bp

See build/soong/README.md for more information.

Change-Id: Ifbe9b0072a63b4467c72b3a52148a606e5365f78
inder/Android.bp
inder/Android.mk
inder/tests/Android.bp
inder/tests/Android.mk
inder/tests/binderDriverInterfaceTest.cpp
iskusage/Android.bp
iskusage/Android.mk
nput/Android.bp
nput/Android.mk
f4607438f2df5f33c77d86e1b84db92af4f60f62 21-Jul-2016 Sergio Giro <sgiro@google.com> Unicode: specify destination length in utf8_to_utf16 methods

Change-Id: I5223caa7d42f4582a982609a898a02043265c6d3
inder/Parcel.cpp
512f006f46ecdb6e964fea99b7bfdad0fe69a1a0 22-Jul-2016 Eino-Ville Talvala <etalvala@google.com> BufferQueue consumers: Add discardFreeBuffer method am: bc2df65a3f
am: 7ac8cefbfc

Change-Id: I5ed889a884b84ae0b0bc8eac2e683d7e1a84f5ef
7ac8cefbfc37bc5bf8cc39be7cf593b63b985f4b 22-Jul-2016 Eino-Ville Talvala <etalvala@google.com> BufferQueue consumers: Add discardFreeBuffer method
am: bc2df65a3f

Change-Id: Ib0f788e9fb8a0e0678f95e9d8e49a19069ed69a7
bc2df65a3f3f4b8abaaaa2a4e576a3a42c2d30f3 22-Jul-2016 Eino-Ville Talvala <etalvala@google.com> BufferQueue consumers: Add discardFreeBuffer method

This method releases all free buffers owned by the buffer queue,
in order to save memory (at the cost of potential future
reallocation of buffers).

Bug: 28695173
Change-Id: I458d10373e639e3144faf673af2ba01aca36e65a
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
ui/tests/BufferQueue_test.cpp
468051e20be19130572231266db306396a56402b 14-Jun-2016 Irvel <irvel@google.com> Integrate SurfaceInterceptor into SurfaceFlinger

Change-Id: If18d967f2b69ed219f17a9afedb61884ad5f1dc8
ui/BufferQueue.cpp
ui/BufferQueueProducer.cpp
2b8ae01ed150e74810c289e5facf77558c46760a 21-Jul-2016 Roshan Pius <rpius@google.com> Merge \\\\"Add |readString8| method which returns failure\\\\" am: 115e6ec7e9 am: 83b9ea5d1f am: 5064822c01
am: a58852c403

Change-Id: Ic599fb2682bb4c5c11a2d214df0ca7434c072812
a58852c4037c803161d60dea8b6f2d1decef6a20 21-Jul-2016 Roshan Pius <rpius@google.com> Merge \\\"Add |readString8| method which returns failure\\\" am: 115e6ec7e9 am: 83b9ea5d1f
am: 5064822c01

Change-Id: Ib669bc4046cd85731af7525f7c1ddf6babe053fa
5064822c0131f8b252b18a3cfbedd82e8643854c 21-Jul-2016 Roshan Pius <rpius@google.com> Merge \\"Add |readString8| method which returns failure\\" am: 115e6ec7e9
am: 83b9ea5d1f

Change-Id: Ib43e53e377a4315c141d9e3bcd16d287d4175cf3
83b9ea5d1f31eedfe2a2e6cb5ec86dd99213c86e 21-Jul-2016 Roshan Pius <rpius@google.com> Merge \"Add |readString8| method which returns failure\"
am: 115e6ec7e9

Change-Id: Iaf1ea3b66ed242dcd82a88ebc0556c08a5fdf85e
115e6ec7e93a68b753c9e859221785bd798ab5f8 21-Jul-2016 Roshan Pius <rpius@google.com> Merge "Add |readString8| method which returns failure"
87b64d2a0e6aa35f39d612ecbd688f36f1046d5a 18-Jul-2016 Roshan Pius <rpius@google.com> Add |readString8| method which returns failure

Add a new method to return |String8| read failures from Parcels.

BUG: 30189542
Change-Id: I65b59887dd9a15068abe95d24d390aa577bc49a6
inder/Parcel.cpp
c4cba997508820c5ffbbcdca8d4769944a7caacf 20-Jul-2016 Michael Wright <michaelwr@google.com> Merge commit '19cd2f88b6914e2f4c43a9595532e81a697304fe' into fresh-again

Change-Id: I6032eea1ad12960fc1c88582ae295f83c84bb37e
19cd2f88b6914e2f4c43a9595532e81a697304fe 20-Jul-2016 Michael Wright <michaelwr@google.com> Merge \"Color transforms are now color modes.\" into nyc-mr1-dev
am: f42ca4da5b

Change-Id: I2b5f704695dbbf84baf56b21369c3c80cc2142e1
f42ca4da5be95b67747055f8d9d96c2323863e60 20-Jul-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Color transforms are now color modes." into nyc-mr1-dev
7aa21c980ffb37eac6ca7f0e3741893f86600269 20-Jul-2016 Christopher Wiley <wiley@google.com> Fix unused variable build errors am: 0a9a1c1ba5 am: 7db2d96db9
am: 1ad6b8d037

Change-Id: I47a77ef905fd65984a391e79b6a7046cf1573dc1
1ad6b8d037ed277baedecad01f6490f1dbf130c8 20-Jul-2016 Christopher Wiley <wiley@google.com> Fix unused variable build errors am: 0a9a1c1ba5
am: 7db2d96db9

Change-Id: Id0e0a5b97210ba7cd0439e5ee0dd404758cb60f3
7db2d96db9aa8f6011d856220977da47d560edf2 20-Jul-2016 Christopher Wiley <wiley@google.com> Fix unused variable build errors
am: 0a9a1c1ba5

Change-Id: I331cd47269fac66990783cb60571e0b9a0a0ba85
0a9a1c1ba5e5b14b583cf8ca5527ce4ac8618c8d 20-Jul-2016 Christopher Wiley <wiley@google.com> Fix unused variable build errors

Change-Id: Ia4f5dc95110b75eefc41b2828990cdbbcb75c033
inder/Binder.cpp
7d6cf0dc6f9333506dd73545888f008615f5943a 20-Jul-2016 Christopher Wiley <wiley@google.com> Merge \\\\"libbinder: Tighten compiler warnings/errors\\\\" am: ead989c34d am: abf1adc163 am: f0e2523943
am: 00d2696ad3

Change-Id: I54bda4c5ecf97ce57e7e53a63eaac053822113b7
00d2696ad3505a4a874bef2727259a561f77812c 20-Jul-2016 Christopher Wiley <wiley@google.com> Merge \\\"libbinder: Tighten compiler warnings/errors\\\" am: ead989c34d am: abf1adc163
am: f0e2523943

Change-Id: Id44c11c3eb5a3190e97747b6729fabd51de3507c
f0e25239437fd416d38389d1b9563af0317ac6e9 20-Jul-2016 Christopher Wiley <wiley@google.com> Merge \\"libbinder: Tighten compiler warnings/errors\\" am: ead989c34d
am: abf1adc163

Change-Id: Ie24c6550d8046f900fa65ed472366df2f23e319d
abf1adc163152be05a685a4d3c8e0a0538a39c8d 20-Jul-2016 Christopher Wiley <wiley@google.com> Merge \"libbinder: Tighten compiler warnings/errors\"
am: ead989c34d

Change-Id: I8d06de42b9ac861b3189db936656cf906ba3597f
3652ff467762c76206a7cc457d2f8179a7eca606 19-Jul-2016 Christopher Wiley <wiley@google.com> libbinder: Tighten compiler warnings/errors

Use all of -Wall -Wextra -Werror and fix the minor errors that result.

Change-Id: Id56e9c454dd3570f713d161577eed6aa8e8074aa
inder/Android.mk
inder/PersistableBundle.cpp
441cf01dcf41862a64d794f845b53a398094cbee 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Merge "Make sure constructors initialize all members"
da6fbde7c5d5d2430041b232253241948686bcc7 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten am: 1a65fccc50 am: fd579a51b5 am: 0e85f4d48d am: 0ec362e024 am: b82c6f52c0 am: e31fd642a4
am: 8a31e5ead9

Change-Id: I265ab97affea7d4fa9d51d0f4e65993508d3351b
8a31e5ead98ad00d4f76bb6e261889bc6d1e32c1 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten am: 1a65fccc50 am: fd579a51b5 am: 0e85f4d48d am: 0ec362e024 am: b82c6f52c0
am: e31fd642a4

Change-Id: I04147fc97057a215e2e50055694be3cc98419490
e31fd642a4bb5a32e7d9e4f77e3163f8dfe935bc 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten am: 1a65fccc50 am: fd579a51b5 am: 0e85f4d48d am: 0ec362e024
am: b82c6f52c0

Change-Id: Iae280f2d174a8144e7c9fa657cd346597658927c
38f2d8aaf4842aba4ca3160ef3c20a4bac1606ce 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten am: 1a65fccc50 am: fd579a51b5 am: 0e85f4d48d am: 0ec362e024
am: b82c6f52c0

Change-Id: I2aed411154ae53dd27b5f8c76f477afe7136eca3
b82c6f52c0b2464f3d44a5c4cc904ae19648b59d 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten am: 1a65fccc50 am: fd579a51b5 am: 0e85f4d48d
am: 0ec362e024

Change-Id: Ibf1f0aedeab8552fe2a211d01d8b5c2c1ddafcdd
0ec362e0248aa4cce166140abe80a6b3b45a15d8 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten am: 1a65fccc50 am: fd579a51b5
am: 0e85f4d48d

Change-Id: I6d8ed780a6ec9d8e5b3ec17b20bce528835b4bf0
0e85f4d48da5a7d5bf9ce6fe2c0463b38efac512 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten am: 1a65fccc50
am: fd579a51b5

Change-Id: I2d584199f001f7da8f4331729d796cf527ba79fd
fd579a51b5787bef19a6f5c2b27fce44db0b05d9 19-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten
am: 1a65fccc50

Change-Id: I597a130dfe82c21c5611f45f6977b189c0a1a8ea
28f24d0ab481bd9c6fd5618414fee694e837c5c6 12-Jul-2016 Michael Wright <michaelwr@google.com> Color transforms are now color modes.

Rename color transforms to color modes for all interfaces exposed to
surfaceflinger clients. Also split it out to be a separate
configuration value from display modes.

Bug: 29044347

Change-Id: I87e937f7c954a50c946e8e2c606797caa416c5d8
ui/ISurfaceComposer.cpp
ui/SurfaceComposerClient.cpp
05cd88ab69b008a88b682b8de2dc1d614f31e2ae 14-Jul-2016 Sergio Giro <sgiro@google.com> Add bound checks to utf16_to_utf8
am: 9b39ebe132

Change-Id: I1b3aa4ab0c3f6f4b577d10dda8ce9604d0fc4e9c
bd3577ef5bae7d65e54bddc04f90b619330edb89 21-Jun-2016 Pablo Ceballos <pceballos@google.com> Make sure constructors initialize all members

- Add default constructors to Parcelables that didn't have them and
make sure all members are initialized by the constructors.
- Add missing fields to BufferItem flatten/unflatten.

Change-Id: I9aa83b326dc3aee757762e63be499dc96a74df91
ui/BufferItem.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferAlloc.cpp
1a65fccc500c9d75adabbc06cd7d26ec01c3f333 13-Jul-2016 Pablo Ceballos <pceballos@google.com> Region: Detect malicious overflow in unflatten

Bug 29983260

Change-Id: Ib6e1cb8ae279010c5e9960aaa03513f55b7d873b
i/Region.cpp
9b39ebe132a18f530a5e5885a9faca514257902a 28-Jun-2016 Sergio Giro <sgiro@google.com> Add bound checks to utf16_to_utf8

Bug: 29250543
Change-Id: I518e7b2fe10aaa3f1c1987586a09b1110aff7e1a
(cherry picked from commit 7e93b2ddcb49b5365fbe1dab134ffb38e6f1c719)
inder/Parcel.cpp
787d72b601fbfa1f410dc8e1bc396cfdf236da95 12-Jul-2016 Pablo Ceballos <pceballos@google.com> Merge \\"BQ: Remove getNextFrameNumber Binder call\\" into nyc-mr1-dev am: f9de6e0d7e
am: 45bb23ad43

Change-Id: I3972481dff062762b914cf3a4d7f4250e4cafae1
fc99724135597eb8cfe7181acc323e2fe5a121da 12-Jul-2016 Pablo Ceballos <pceballos@google.com> Merge \\"BQ: Handle errors in GraphicBuffer/Fence unflatten\\" into nyc-mr1-dev am: 20854e608f
am: bcfff94dba

Change-Id: I0c0e197c3b832a366ed1e7b986f08e244e8392b5
d9fae1e80e1abe5f2a8718eea885c92ce1c4ba47 12-Jul-2016 Sergio Giro <sgiro@google.com> Merge \\"Add bound checks to utf16_to_utf8\\" into nyc-mr1-dev am: 9e3a43e817
am: bd95c7088b

Change-Id: I1e37ce4f3dcf75af5faf6ac06057f94b8476ae84
45bb23ad433a00cd9fc907c1185a0b884118705e 12-Jul-2016 Pablo Ceballos <pceballos@google.com> Merge \"BQ: Remove getNextFrameNumber Binder call\" into nyc-mr1-dev
am: f9de6e0d7e

Change-Id: I8ac76ca4bc0ed97deca8823ed8d4a75f594f7add
bcfff94dba652484a702deb0b193ff6e4ecfc641 12-Jul-2016 Pablo Ceballos <pceballos@google.com> Merge \"BQ: Handle errors in GraphicBuffer/Fence unflatten\" into nyc-mr1-dev
am: 20854e608f

Change-Id: Ia81dcd76950e3c78665deb7127cc9cb6a9d15251
f9de6e0d7e7a12f4d70bb4828863efb035fc133b 12-Jul-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Remove getNextFrameNumber Binder call" into nyc-mr1-dev
20854e608f45aa7cd9c4cc2b8ec0c860fff35e4a 12-Jul-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Handle errors in GraphicBuffer/Fence unflatten" into nyc-mr1-dev
bd95c7088bd5cd128a92c59246fe7b697f73d59a 11-Jul-2016 Sergio Giro <sgiro@google.com> Merge \"Add bound checks to utf16_to_utf8\" into nyc-mr1-dev
am: 9e3a43e817

Change-Id: Idc968c4efd11de8f3d45499cc8ba094ace605d2f
9e3a43e817bb0896c1cd648695037f46a494fa05 11-Jul-2016 Sergio Giro <sgiro@google.com> Merge "Add bound checks to utf16_to_utf8" into nyc-mr1-dev
1cfa1b6bb46d9df6a771a5fa4b340d22f9a43e78 07-Jul-2016 Dan Stoza <stoza@google.com> Surface: Add LAST_[DE]QUEUE_DURATION queries am: 70ccba596c
am: ecc4a4ed06

Change-Id: I242335287e0ee918ca8734fd9bcd33efde5e2f85
ecc4a4ed0620cd0c8c951cbe1df7af7c53987eee 07-Jul-2016 Dan Stoza <stoza@google.com> Surface: Add LAST_[DE]QUEUE_DURATION queries
am: 70ccba596c

Change-Id: I635453d221d45c690ef222cbf9ac0df80497d249
70636b334d75ab77ffc925d9624a72456140d87a 07-Jul-2016 Pablo Ceballos <pceballos@google.com> BQ: Handle errors in GraphicBuffer/Fence unflatten

Bug 29873396

Change-Id: Ieab38091f60722a11e227aecac7508fc11d9f58b
ui/IGraphicBufferProducer.cpp
70ccba596c586b7effde1ff99d36c911873b4ed4 01-Jul-2016 Dan Stoza <stoza@google.com> Surface: Add LAST_[DE]QUEUE_DURATION queries

Adds support for the NATIVE_WINDOW_LAST_DEQUEUE_DURATION and
NATIVE_WINDOW_LAST_QUEUE_DURATION queries.

Bug: 29413700
Change-Id: Iea4efa208e8390fb2de52d5ad9f083ae91bf50b0
ui/Surface.cpp
bc8c1928e1dbdaf6a2820f6e426c96ed61284043 01-Jul-2016 Pablo Ceballos <pceballos@google.com> BQ: Remove getNextFrameNumber Binder call

- Return the value in queueBuffer instead and cache it in Surface

Change-Id: I10ab112afb03cf0231b047d4a4569cd641827043
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/IGraphicBufferProducer_test.cpp
5d232fab57fd543942384705bcfdfab4b884c5ed 01-Jul-2016 Pablo Ceballos <pceballos@google.com> Fix build break
am: fc35258c9d

Change-Id: I1bca6424a4583d1cd3d311be5d465c4f6dc7c637
56b8c6418703bc941c415deb668ff610217d82c8 01-Jul-2016 Pablo Ceballos <pceballos@google.com> resolve merge conflicts of 7467665 to nyc-mr1-dev-plus-aosp
am: 6155b40830

Change-Id: If8e7c75a76e410e13424d1a9c173e9cfbedb17bd
fc35258c9dd71b68dc278fa0c9220d74fd643f31 01-Jul-2016 Pablo Ceballos <pceballos@google.com> Fix build break

Change-Id: Ifb9aeed9bd416d2646d9bdb9a0fe21cfd6b88af5
ui/IGraphicBufferProducer.cpp
0ade247d4b02b81f323480b4ba043927f6b36a73 01-Jul-2016 Pablo Ceballos <pceballos@google.com> resolve merge conflicts of 8e3e92b to nyc-mr1-dev

Change-Id: Ic67f0894e68ea5276eb9187a13cd24f105d55d68
6155b40830e7945e9d4a76fe89af9a6322d4977f 01-Jul-2016 Pablo Ceballos <pceballos@google.com> resolve merge conflicts of 7467665 to nyc-mr1-dev-plus-aosp

Change-Id: I69094217d8f09b44d38fefd48d1717322cfca55d
746766539386226e86b4018c3bb878a07a4f4d11 01-Jul-2016 Pablo Ceballos <pceballos@google.com> BQ: Add and expose a unique id
am: 8e3e92b906

Change-Id: I2602c1d2f5247cf0b3d2718f52dddba6c23c003d
7e93b2ddcb49b5365fbe1dab134ffb38e6f1c719 28-Jun-2016 Sergio Giro <sgiro@google.com> Add bound checks to utf16_to_utf8

Bug: 29250543
Change-Id: I518e7b2fe10aaa3f1c1987586a09b1110aff7e1a
inder/Parcel.cpp
d604941abae881c0a465009f0fd57ae0263a7185 30-Jun-2016 Pablo Ceballos <pceballos@google.com> BQ: Handle buffer allocation failure am: 0a06809457
am: 4131d90855

Change-Id: I6c5e70424c55416171bbdc6bb7a0ae0f7062ea22
4131d908551bfe0f5551312111dec3966df9a0be 30-Jun-2016 Pablo Ceballos <pceballos@google.com> BQ: Handle buffer allocation failure
am: 0a06809457

Change-Id: I8c9e660e93febe88d370f38c34a0d3e92641c320
0a0680945710946f3bf01ae05f933ccec4162dc8 30-Jun-2016 Pablo Ceballos <pceballos@google.com> BQ: Handle buffer allocation failure

Return the slot to the mFreeSlots if we fail to allocate.

Bug 29873396

Change-Id: Icafc5c64c7233d47e160f7a56e5a314e4a01611d
ui/BufferQueueProducer.cpp
8e3e92b906db431c4fa822f21242977d4ee99942 28-Jun-2016 Pablo Ceballos <pceballos@google.com> BQ: Add and expose a unique id

Bug 29422927

Change-Id: I80eab94f073ebc378302f00fa86a740c3643657e
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
9a872a50d80edc319b5f4a01649422093060352b 23-Jun-2016 Greg Kaiser <gkaiser@google.com> Merge \\\"Sensor: Make getId() more varied\\\" into nyc-dev am: c0ca0ceaa5 am: 2bee6c5651
am: 0da71178c1

Change-Id: I08b78668396ec6262ad241bda3499ec7e08511d6
0da71178c119342322d3ad8629c497910b910302 23-Jun-2016 Greg Kaiser <gkaiser@google.com> Merge \\"Sensor: Make getId() more varied\\" into nyc-dev am: c0ca0ceaa5
am: 2bee6c5651

Change-Id: I3bda8f26fdb7c269d05ded520e6d63f92f2c8d02
25aefe9945808e9323d7b8cfb4c784f8bc10d99b 23-Jun-2016 Greg Kaiser <gkaiser@google.com> Merge \"Sensor: Make getId() more varied\" into nyc-dev
am: c0ca0ceaa5

Change-Id: I6b6ecc30646e6e9a912a1ad096bd93fea341968b
2bee6c565136c291bba0c9310f6975c6cc196728 23-Jun-2016 Greg Kaiser <gkaiser@google.com> Merge \"Sensor: Make getId() more varied\" into nyc-dev
am: c0ca0ceaa5

Change-Id: Ifa6208fea63d830d07447d5232b39f9e3ccf870b
53ca2e00c6f2a71b93c8e3c8e85aeeb03c5bd06d 22-Jun-2016 Greg Kaiser <gkaiser@google.com> Sensor: Make getId() more varied

Apps from different developers will now receive a different
ID for the same dynamic sensor. Additionally, all apps
will now receive a different/new ID for the same dynamic
sensor after a factory reset.

Bug: 28775590, 29547335
Change-Id: I368655b0e4bdc16736a7fd163ea3f7dad2886b3b
ui/Sensor.cpp
689fa1e78a3d1a2bfcef08defe34533eba0284c9 22-Jun-2016 Robert Carr <racarr@google.com> Merge changes from topic \\'seamless-rotation\\' into nyc-mr1-dev am: 4bfbe1f7ef
am: d99daf4fe6

Change-Id: Iaabf524a3b835b794b2b1269cd573b66676be9a1
d99daf4fe6e32f3d15482141abf79ef81327fdf4 22-Jun-2016 Robert Carr <racarr@google.com> Merge changes from topic \'seamless-rotation\' into nyc-mr1-dev
am: 4bfbe1f7ef

Change-Id: I05be2795f7b09b92f79627f991c01d7e32840121
4bfbe1f7eff1782ad1f9874954fa2703207317df 22-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes from topic 'seamless-rotation' into nyc-mr1-dev

* changes:
Reset mFreezePositionUpdates earlier.
SurfaceControl: Add getTransformToDisplayInverse
Change setPositionAppliesWithResize to apply to all geometry.
8904b5421ffe9ee1995b90089da739df8d884343 22-Jun-2016 Dan Stoza <stoza@google.com> Merge \\"gralloc1: Add mutexes\\" into nyc-mr1-dev am: 09c53ae0da
am: 25a514b129

Change-Id: I7870f7c3568ee26f695ab69d61cac5f81d4a5ab0
25a514b12939162c2b03cd3a675b275c65620b1a 22-Jun-2016 Dan Stoza <stoza@google.com> Merge \"gralloc1: Add mutexes\" into nyc-mr1-dev
am: 09c53ae0da

Change-Id: I73ff20c45bb54f1a33605062603da5a0bc6b83aa
367c5684f4d417e5176bec12d67f4e2e42738fe0 20-Jun-2016 Robert Carr <racarr@google.com> SurfaceControl: Add getTransformToDisplayInverse

For seamless rotation, the window manager needs
access to this flag, as it will apply the inverse
display transform itself to all other windows.

Bug: 28823590
Change-Id: Ifeee1078a9cb4cd01c8052570c137c6228b2f13d
ui/ISurfaceComposerClient.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
99e27f0bc236e38d88ff4f9912ede514a729b8eb 17-Jun-2016 Robert Carr <racarr@google.com> Change setPositionAppliesWithResize to apply to all geometry.

To support seamless rotation, change setPositionAppliesWithResize
to also include the crop. As the transformation matrix is already
frozen during resize, this enables the window manager to set the
total geometry state before and after resize in a race free fashion.

Bug: 28823590
Change-Id: I3f8f0e162b7ef4e9403c1220c7e4191b3ef30526
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
923c0668eb2427bb148a56bd1ac7834cc371d5a0 22-Jun-2016 Dan Stoza <stoza@google.com> gralloc1: Add mutexes

Adds mutexes to protect both the buffer list and the descriptor list
from concurrent access

Bug: 29420918
Change-Id: I4d14353ceb167276570c56c9f92d48b28b2d4c53
i/Gralloc1On0Adapter.cpp
e38b57e2d454b9fafc088ef9efda88ada3267dbf 18-Jun-2016 Eino-Ville Talvala <etalvala@google.com> Merge \"BufferQueueProducer: Signal consumer when a buffer is detached\" into nyc-dev
am: 51ed38bb13

Change-Id: I7f901c66dd9e2f62bdc15c8b768f27003aa46611
58672bb929832b66fedf1bf20fbfbe65e85d8523 18-Jun-2016 Eino-Ville Talvala <etalvala@google.com> Merge \\\"BufferQueueProducer: Signal consumer when a buffer is detached\\\" into nyc-dev am: 51ed38bb13 am: 36ad49c4b2
am: b38f78b097

Change-Id: Ib6fd64cf9cb46c7247ad9e3612c0caa0f62edb35
b38f78b097f3acd641f8eca347c67ec882ce6578 18-Jun-2016 Eino-Ville Talvala <etalvala@google.com> Merge \\"BufferQueueProducer: Signal consumer when a buffer is detached\\" into nyc-dev am: 51ed38bb13
am: 36ad49c4b2

Change-Id: Iacd73306f490f18cd657eec9c018324e19d80542
36ad49c4b2d576d17cd82f3ea96a45a20acc089b 18-Jun-2016 Eino-Ville Talvala <etalvala@google.com> Merge \"BufferQueueProducer: Signal consumer when a buffer is detached\" into nyc-dev
am: 51ed38bb13

Change-Id: I9adb021022e1ed4b1a5b74eaa59cc88c5de475a6
51ed38bb139c54ed29384f679b5080d4be5792ca 18-Jun-2016 Eino-Ville Talvala <etalvala@google.com> Merge "BufferQueueProducer: Signal consumer when a buffer is detached" into nyc-dev
2b5251391cdbbad574e15b219cbf200fed5f8db7 14-Jun-2016 Dan Stoza <stoza@google.com> Merge changes from topic \\'gralloc1\\' into nyc-mr1-dev am: 4e36f6e29b
am: c152ef3114

Change-Id: Ifad0a3d8fdb63724b04ef80e0327ad5903fb26bd
c152ef31147bf2bb23a9b2af5f2ba49656a2e5db 14-Jun-2016 Dan Stoza <stoza@google.com> Merge changes from topic \'gralloc1\' into nyc-mr1-dev
am: 4e36f6e29b

Change-Id: Iea435085178ff536f9294c59a885687793241d75
4e36f6e29b1642ffba4d645ff543038e7a5e7544 14-Jun-2016 Dan Stoza <stoza@google.com> Merge changes from topic 'gralloc1' into nyc-mr1-dev

* changes:
libui: Convert Allocator and Mapper to gralloc1
libui: Adds C++ shim for gralloc1
libui: Add Gralloc1On0Adapter
ad7ef77a308d4b5984ce493ff4465c32a5b3a848 14-Jun-2016 Craig Donner <cdonner@google.com> Merge \"resolve merge conflicts of 4931fb2 to nyc-mr1-dev-plus-aosp\" into nyc-mr1-dev-plus-aosp
am: 6fdf8966c7

Change-Id: I3b5384931b09040dfb160359d62735db3c95042f
30b71b10302bdfcd6c0679c03cf21d17a715317b 14-Jun-2016 Craig Donner <cdonner@google.com> resolve merge conflicts of 4931fb2 to nyc-mr1-dev-plus-aosp

Change-Id: I5c46d161af4c4d6b6fcec6705f2d9c7dccc41fc2
7aa838826c48fe0ec3c4a75e709316c87ce9aea5 14-Jun-2016 Craig Donner <cdonner@google.com> resolve merge conflicts of 4931fb2 to nyc-mr1-dev-plus-aosp

Change-Id: Ic490104e9b7f01df5ea6404b3b5bab733fa46812
4931fb298e076212981b2acae6752743d7340f02 14-Jun-2016 Craig Donner <cdonner@google.com> Merge \"Revert \"GLConsumer: add build-time disable of gpu protected content\"\" into nyc-dev
am: e1e1e75173

Change-Id: Iea28323a8e7bd2333d396b70703ac4b1a99b1911
e1e1e75173d557466e824782c61802a8415c7073 14-Jun-2016 Craig Donner <cdonner@google.com> Merge "Revert "GLConsumer: add build-time disable of gpu protected content"" into nyc-dev
4df76b2f5f7e8be128b5ec7a2d8d03845effaea0 14-Jun-2016 Craig Donner <cdonner@google.com> Revert "GLConsumer: add build-time disable of gpu protected content"

This reverts commit dea97b7aa2b5cfbb7d42f30bcbf86a01778b609b.

Bug: 28545166

Change-Id: I4b069e14c2b99e190ebdea6df1ed83827ffe17b6
ui/Android.mk
ui/GLConsumer.cpp
8deb4da6e8fe4687991da32ae68fa0bca4cb8212 02-Jun-2016 Dan Stoza <stoza@google.com> libui: Convert Allocator and Mapper to gralloc1

Converts GraphicBufferAllocator and GraphicBufferMapper to speak
gralloc 1.0 (via the C++ shim and optionally the 1On0 adapter) instead
of gralloc 0.x.

Bug: 28401203
Change-Id: Ie1649f0ee72801579be2c2d3c47177b52962a825
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
41b1261e233e78553ad4e3a11dda80b1c5df07c5 20-May-2016 Dan Stoza <stoza@google.com> libui: Adds C++ shim for gralloc1

Adds a C++ shim which wraps a gralloc1 device and provides a somewhat
nicer interface to the rest of the system.

Bug: 28401203
Change-Id: I934ed41999bd4b9aa04d9ad8d40e7f8fba6f30ee
i/Android.mk
i/Gralloc1.cpp
1e2a2a0ee81401072d9fc0f842c7ec1a915c5a07 12-Jan-2016 Dan Stoza <stoza@google.com> libui: Add Gralloc1On0Adapter

Adds an adapter which provides the gralloc1 interface on top of a
gralloc 0.x device.

Bug: 28401203
Change-Id: I0eeafc998b56e2e2fc39de6fad41e3ed2e19658a
i/Android.mk
i/Gralloc1On0Adapter.cpp
235b7649a70a35e7dc646c4947c743944e6d1df2 13-Jun-2016 John Eckerdal <john.eckerdal@sonymobile.com> Merge \\\"Fixed file descriptor leak in IMemory\\\" into nyc-dev am: a13a22649b am: a2db19c4cb
am: dcc07561b2

Change-Id: I94b594501e17e62e20d7d4ca2ac62b9313b671b0
dcc07561b2411dce981426bdf6ba7a6164c4e34d 13-Jun-2016 Amith Yamasani <yamasani@google.com> Merge \\"Fixed file descriptor leak in IMemory\\" into nyc-dev am: a13a22649b
am: a2db19c4cb

Change-Id: I273e03d7d32b2e4456ef2ce98e30cb047fb2532a
a2db19c4cb0146713dca1aa6f1b3caf424809aba 13-Jun-2016 John Eckerdal <john.eckerdal@sonymobile.com> Merge \"Fixed file descriptor leak in IMemory\" into nyc-dev
am: a13a22649b

Change-Id: I8ab67bafd9c9031924cfb7cf3b2c07a7dce45795
1f62b9459e5159ee47dda8f960b7b296bc34460a 13-Jun-2016 John Eckerdal <john.eckerdal@sonymobile.com> Merge \"Fixed file descriptor leak in IMemory\" into nyc-dev
am: a13a22649b

Change-Id: Id692c99cbe9274e51f6d65cb38b3e0a7293e7518
93dd0518a0101844ef435a3425c803c986b38d87 10-Jun-2016 Eino-Ville Talvala <etalvala@google.com> BufferQueueProducer: Signal consumer when a buffer is detached

When a buffer is detached, it should be cleared from the consumer-side
cache as well.

Not doing so can leak buffers no longer owned by the queue for extended
lengths of time, depending on the exact usage patterns of the producer
and consumer.

Bug: 28695173
Change-Id: I2c618be51f2c827d92d0e19b92a2d5befda87c38
ui/BufferQueueProducer.cpp
2eca129e15a3ad95e9df2f7032ecc9c46a4c0e10 09-Jun-2016 Pablo Ceballos <pceballos@google.com> Merge \\"Plumbing for getting FenceTracker timestamps\\" into nyc-mr1-dev am: 9e8143ec78
am: a26e661886

Change-Id: I91220ec2367d97104e0e2f37852fe7679912180a
6b0b06348d4cc8eb0087d95826dbeba9a72565d8 21-Apr-2016 John Eckerdal <john.eckerdal@sonymobile.com> Fixed file descriptor leak in IMemory

Include dup in critical section to avoid multiple dup calls from
different threads.
The leak happens more frequently since patch in frameworks/av -
6773d4777f4ccbbe6377e4ae1b42c117066ae6ba when recording video since it
will access IMemory from CameraUtils::isNativeHandleMetadata

Bug: 28924660
Author: Henrik Antonsson <henrik.antonsson@sonymobile.com>
Change-Id: I769a914c3adc505b522659a0c43719fb2922e6fd
inder/IMemory.cpp
a26e6618867f0a587942fa737b14dc67c2f0c9a9 09-Jun-2016 Pablo Ceballos <pceballos@google.com> Merge \"Plumbing for getting FenceTracker timestamps\" into nyc-mr1-dev
am: 9e8143ec78

Change-Id: Ife1f3e19cc0bde26960c5a480d4fe81188c4c8f3
9e8143ec78a0bf3779f12000b67f21b8fba6e2a7 09-Jun-2016 Pablo Ceballos <pceballos@google.com> Merge "Plumbing for getting FenceTracker timestamps" into nyc-mr1-dev
ce796e78a57018f186b062199c75d94545318aca 05-Feb-2016 Pablo Ceballos <pceballos@google.com> Plumbing for getting FenceTracker timestamps

Change-Id: I1ebee9e42e28658bd3a2b161fdaabb7da756d8f3
ui/BufferQueue.cpp
ui/BufferQueueProducer.cpp
ui/IConsumerListener.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
8a95daddd965fff9d7bb7c86e227f97c6adc5efc 07-Jun-2016 Robert Carr <racarr@google.com> Merge "SurfaceFlinger: Add mode to apply position with resize." into nyc-dev am: c3da482bb8 am: 3fee6ca1d9
am: f7b6b5d956

* commit 'f7b6b5d956f96458567eae519a926a6f51b077c0':
SurfaceFlinger: Add mode to apply position with resize.

Change-Id: Ib4476cc6aff4b4f39093a5047182f3f30ac57a77
f7b6b5d956f96458567eae519a926a6f51b077c0 07-Jun-2016 Robert Carr <racarr@google.com> Merge "SurfaceFlinger: Add mode to apply position with resize." into nyc-dev am: c3da482bb8
am: 3fee6ca1d9

* commit '3fee6ca1d93c1d4b822d2dcd36c61f9722dd88b9':
SurfaceFlinger: Add mode to apply position with resize.

Change-Id: I91f64e194199f1277a9b4e76c68faddcc7ef6660
3fee6ca1d93c1d4b822d2dcd36c61f9722dd88b9 07-Jun-2016 Robert Carr <racarr@google.com> Merge "SurfaceFlinger: Add mode to apply position with resize." into nyc-dev
am: c3da482bb8

* commit 'c3da482bb8081ee2c19b5965585267b8e21cfc7e':
SurfaceFlinger: Add mode to apply position with resize.

Change-Id: Icedb7a6e37da9338b1194edaa32a67257640969f
34703b94e1a9f97f5b225c1b35433a90f8686e38 07-Jun-2016 Robert Carr <racarr@google.com> Merge "SurfaceFlinger: Add mode to apply position with resize." into nyc-dev
am: c3da482bb8

* commit 'c3da482bb8081ee2c19b5965585267b8e21cfc7e':
SurfaceFlinger: Add mode to apply position with resize.

Change-Id: Ic185f162bdb765dfdd19ce35f3dd94e29bb8dea3
82364e3cea0bf88fa8147766433329b3dd5148b8 15-May-2016 Robert Carr <racarr@google.com> SurfaceFlinger: Add mode to apply position with resize.

For some cases, like scaled windows with shadows,
we need to be able to apply the position concurrent with
window resize. This is because the scaling of the shadows causes
the top left coordinate of the non shadow surface content
to change before and after the resize.

Bug: 28899837
Change-Id: I522eacfbbcd79707dc1e5ab71901a263b3004ba9
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
f8f2df4621410582d2c6e7e11ee82e9398f61ece 06-Jun-2016 Mike Stroyan <stroyan@google.com> Merge "Merge "libgui: Check result in hook_dequeueBuffer_DEPRECATED" into nyc-dev am: 09e5f59bc9 am: fbcc332c85" into nyc-mr1-dev-plus-aosp
am: 9f1d77fe1f

* commit '9f1d77fe1fa0a194255a289950dacfe0b95d8d0c':
libgui: Check result in hook_dequeueBuffer_DEPRECATED

Change-Id: I3193a030ccbd5506f7c02d7fb58024782df1c03b
816f9227c26c08d3cb0cddeca6ae7773355090d9 06-Jun-2016 Mike Stroyan <stroyan@google.com> Merge "libgui: Check result in hook_dequeueBuffer_DEPRECATED" into nyc-dev am: 09e5f59bc9
am: fbcc332c85

* commit 'fbcc332c85cb856633d72088a65f55277f5fee23':
libgui: Check result in hook_dequeueBuffer_DEPRECATED

Change-Id: Ia801cc60607c0b5e01bc0a28e1ad8d9e81347615
fbcc332c85cb856633d72088a65f55277f5fee23 06-Jun-2016 Mike Stroyan <stroyan@google.com> Merge "libgui: Check result in hook_dequeueBuffer_DEPRECATED" into nyc-dev
am: 09e5f59bc9

* commit '09e5f59bc9a371c7b83153bb51543ec759684227':
libgui: Check result in hook_dequeueBuffer_DEPRECATED

Change-Id: If91c49dfef52a64c3721da737658cf4645c13fc1
fc06a1a55b5577d9e7269e640a062edd81867bcb 06-Jun-2016 Mike Stroyan <stroyan@google.com> Merge "libgui: Check result in hook_dequeueBuffer_DEPRECATED" into nyc-dev
am: 09e5f59bc9

* commit '09e5f59bc9a371c7b83153bb51543ec759684227':
libgui: Check result in hook_dequeueBuffer_DEPRECATED

Change-Id: I2364a946b82e4f87ec035fca331746bac92d85ee
87709c91ffad0cbe92e6b45cc13a2902b3170a2d 03-Jun-2016 Mike Stroyan <stroyan@google.com> libgui: Check result in hook_dequeueBuffer_DEPRECATED

Surface::hook_dequeueBuffer_DEPRECATED calls c->dequeueBuffer without
checking the returned result value. It should check for failing
result and return on error without using the values that
c->dequeueBuffer did not set.

Bug: 28692406
Change-Id: I10f9a23ad1052c5149040124366e0eb91b616267
ui/Surface.cpp
438b86923454e9b0acdcf67854c2305d4c588fa0 02-Jun-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Don\'t return fences from dequeue in shared buffer mode" into nyc-dev am: eb6377eb13 am: 907e94d3da
am: d1059865cc

* commit 'd1059865cca35932bff96c125d7d1d9a3aef3ccd':
BQ: Don't return fences from dequeue in shared buffer mode

Change-Id: Iac1bc1d6323b3a79008f5434ae21f8f7f2dc95b5
d1059865cca35932bff96c125d7d1d9a3aef3ccd 02-Jun-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Don\'t return fences from dequeue in shared buffer mode" into nyc-dev am: eb6377eb13
am: 907e94d3da

* commit '907e94d3da1215328fe3a5020cd5005e42499eba':
BQ: Don't return fences from dequeue in shared buffer mode

Change-Id: I1a2dbf037ada7477838b3935d3084d1fea6bd09c
217b5d19a6aa4e633214b5038ef5d74813ef336d 02-Jun-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Don\'t return fences from dequeue in shared buffer mode" into nyc-dev
am: eb6377eb13

* commit 'eb6377eb133f902e737fab370df7679430a1d8d1':
BQ: Don't return fences from dequeue in shared buffer mode

Change-Id: Ie66de8e99600c6c69ad1c5bb62c8adaaf3d43a71
907e94d3da1215328fe3a5020cd5005e42499eba 02-Jun-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Don\'t return fences from dequeue in shared buffer mode" into nyc-dev
am: eb6377eb13

* commit 'eb6377eb133f902e737fab370df7679430a1d8d1':
BQ: Don't return fences from dequeue in shared buffer mode

Change-Id: Ieb075d9598edcaec542ee06663aa292111968474
28c65ad1a1bc2cfd232044e9ea704197483cf250 02-Jun-2016 Pablo Ceballos <pceballos@google.com> BQ: Don't return fences from dequeue in shared buffer mode

Bug 29007505

Change-Id: I112ae6bd64ddc9a923ad9080e85a71adb96146af
ui/BufferQueueProducer.cpp
b871b7afa1202d6622432e6164903d5156e6257b 25-May-2016 Dan Stoza <stoza@google.com> Merge "BufferQueue/SF: Add OccupancyTracker" into nyc-mr1-dev am: faa71321b0
am: 3bfd2e196d

* commit '3bfd2e196d248536207bf1e0acfe86bd4d786d1d':
BufferQueue/SF: Add OccupancyTracker

Change-Id: I0afeef4817c982bff0c0034b162aff91d5cd5bb1
3bfd2e196d248536207bf1e0acfe86bd4d786d1d 25-May-2016 Dan Stoza <stoza@google.com> Merge "BufferQueue/SF: Add OccupancyTracker" into nyc-mr1-dev
am: faa71321b0

* commit 'faa71321b0862fac97ad1f7825860fb740cc8507':
BufferQueue/SF: Add OccupancyTracker

Change-Id: I868b56c8502033877b08146c1cffeaaa263acc64
a8fb1c95e98f907b226c222b6b2dc17bae54802f 24-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in libs/binder." am: 44d29d4d07 am: 26c812f077 am: 81ace2ff3e
am: 0617bf2c6f

* commit '0617bf2c6f2667765c75d78b9e3ff477677a2c3b':
Fix misc-macro-parentheses warnings in libs/binder.

Change-Id: I0845ab4cd285e014ea1bd5f5057291f76efd042d
81ace2ff3eeace0c121a3c4e6cf097881cf551f4 24-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in libs/binder." am: 44d29d4d07
am: 26c812f077

* commit '26c812f0774e42d4ab0f90f5448412151bb33367':
Fix misc-macro-parentheses warnings in libs/binder.

Change-Id: I6e9aac1e7373a866b0a5e853d0012a928d9abaa0
44d29d4d07a1262afaf84374ef136e30f24f491d 24-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in libs/binder."
3eae60c18d4b250d60a17fa016fd8d77adcbd9a6 20-May-2016 Chih-Hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in libs/gui." am: 3f5fc8aa6a am: 5abf78e6b8 am: 3495475bfd
am: 556993f4ff

* commit '556993f4ffce1f4fe961fb85868a391a960cebb6':
Fix misc-macro-parentheses warnings in libs/gui.

Change-Id: I0f3187bbe31b78fd79ad7e0a9adaada9fd92c179
57803e766d1371e7549a53a855b6a5b60d76b223 20-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in test macros." am: 23d433c576 am: eb209a41f1 am: ce244b8788
am: 38c213c736

* commit '38c213c736230e0e685b3d6d5377d54fac66ce2c':
Fix misc-macro-parentheses warnings in test macros.

Change-Id: I2f5d1823c50613b6e02cfb419d59d39d96be4586
3495475bfd55f469db9a85475b6b9036dfca9079 20-May-2016 Chih-Hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in libs/gui." am: 3f5fc8aa6a
am: 5abf78e6b8

* commit '5abf78e6b849595b2e937563a5570375b2287bd8':
Fix misc-macro-parentheses warnings in libs/gui.

Change-Id: Ica1eb1e2fcd63b70e470d3d5527c9789a11fbcbe
ce244b87888fa2ba5e2414801159b70848ec9673 20-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix misc-macro-parentheses warnings in test macros." am: 23d433c576
am: eb209a41f1

* commit 'eb209a41f14a30ceccbd52ee254181e36a8a318a':
Fix misc-macro-parentheses warnings in test macros.

Change-Id: Ia7f58971d3c828fa0bed800585cec3ca446ca655
3f5fc8aa6a09f09378a4ab98d2c505830a34b8a1 20-May-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Fix misc-macro-parentheses warnings in libs/gui."
7c5f1090fa1710ab253a2320401f41fb1e4440ad 20-May-2016 Chih-Hung Hsieh <chh@google.com> Fix misc-macro-parentheses warnings in libs/gui.

Bug: 28705665
Change-Id: I9fcebd23e0bcf89c41cb3cbc31cae00c8e623dbd
ui/tests/CpuConsumer_test.cpp
4a186d4579655eec4122369d5bd39a8ce9ece054 20-May-2016 Chih-Hung Hsieh <chh@google.com> Fix misc-macro-parentheses warnings in test macros.

Bug: 28705665
Change-Id: I6e64ccdae5869b66a3caa09d8f32b2fcc9c1b2b9
nput/tests/StructLayout_test.cpp
8f6b9b34783357180f100b0a312c264713a7dd70 20-May-2016 Chih-Hung Hsieh <chh@google.com> Fix misc-macro-parentheses warnings in libs/binder.

Bug: 28705665
Change-Id: I98a1dc5cc93e31609d3feedb6dd6a33685be69a6
inder/PersistableBundle.cpp
e77c7669bee30b7c0099172cf0c38cef92412040 13-May-2016 Dan Stoza <stoza@google.com> BufferQueue/SF: Add OccupancyTracker

Adds an OccupancyTracker to BufferQueue. This module keeps track of
how many buffers are in the queue over time, which, in combination
with various aggregation of these statistics, allows SurfaceFlinger
to report what fraction of the time a given layer was double- or
triple-buffered.

Change-Id: Ida6e967dc5483c00a633e9fe03998e420dd88502
ui/Android.mk
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
ui/OccupancyTracker.cpp
ui/tests/BufferQueue_test.cpp
8b9645f70d92f62b7553b6bd62b0d44404332736 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d am: 775f2e6dbf am: 82afbe2258 am: c2c470c700 am: 56dea28189 am: bca20d8376 am: a8244873a8 am: 93bf31f54d am: f91c66a9a8 am: fb6342d2bb am: c55b4b69d4
am: 8a45b3e0d3

* commit '8a45b3e0d36dba2960e26f0c8778ad1280359062':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: Ie792678b28d4ae7cadffb92925ad66190d913f3d
c55b4b69d49c67cb9602e6ced2c1facb9580e3a1 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d am: 775f2e6dbf am: 82afbe2258 am: c2c470c700 am: 56dea28189 am: bca20d8376 am: a8244873a8 am: 93bf31f54d am: f91c66a9a8
am: fb6342d2bb

* commit 'fb6342d2bbf0f5e324ea1685a0b3cfc4af648ee7':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: Ib7680b30823e6bf41d7591fdb48c244565f323d0
fb6342d2bbf0f5e324ea1685a0b3cfc4af648ee7 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d am: 775f2e6dbf am: 82afbe2258 am: c2c470c700 am: 56dea28189 am: bca20d8376 am: a8244873a8 am: 93bf31f54d
am: f91c66a9a8

* commit 'f91c66a9a889f0ed851953dd0c1b2ff70e622dda':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: Ib4a4fe7d4ca8291fb82fcbbd91c3a0803a1e1b30
f91c66a9a889f0ed851953dd0c1b2ff70e622dda 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d am: 775f2e6dbf am: 82afbe2258 am: c2c470c700 am: 56dea28189 am: bca20d8376 am: a8244873a8
am: 93bf31f54d

* commit '93bf31f54d56617baf0192a451f2269ad78e6c49':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: I436ae48cf652ac717ea74e2eff8a92359562e413
93bf31f54d56617baf0192a451f2269ad78e6c49 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d am: 775f2e6dbf am: 82afbe2258 am: c2c470c700 am: 56dea28189 am: bca20d8376
am: a8244873a8

* commit 'a8244873a881f18cf5cea22dc5f566dbe6394f48':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: I351dad18e1f3b1903553a8cdfacde18c64f3b6d4
a8244873a881f18cf5cea22dc5f566dbe6394f48 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d am: 775f2e6dbf am: 82afbe2258 am: c2c470c700 am: 56dea28189
am: bca20d8376

* commit 'bca20d8376708da7ed835e71442ab52197d1e9c0':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: Ia0845cc9f58fcb2cca204118cbaff6e251ed0b8e
bca20d8376708da7ed835e71442ab52197d1e9c0 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d am: 775f2e6dbf am: 82afbe2258 am: c2c470c700
am: 56dea28189

* commit '56dea28189ff0894d24ebb63650ad5159031549c':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: I283fd9ad78ddb434d831adaef58db22a57b335f6
56dea28189ff0894d24ebb63650ad5159031549c 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d am: 775f2e6dbf am: 82afbe2258
am: c2c470c700

* commit 'c2c470c700a4e0fbbcd5b99da144f02cee7b9b3e':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: I68084d5f6bfd4b209c738b94a0f31fe9db113d9f
82afbe2258c5c5e18ea6e9496d590cff177e67d4 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9 am: 853702ce3d
am: 775f2e6dbf

* commit '775f2e6dbf757d1b1853337c19bf15f15a127e31':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: Ibfc37203a33c603df365ed9cbb85632d34acafbd
775f2e6dbf757d1b1853337c19bf15f15a127e31 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72 am: 275c9f60f9
am: 853702ce3d

* commit '853702ce3d1ba5e45ce58f332ed1d40008a44375':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: I2b8f6070ecc873d67be5a4c72ca870606af93a3d
853702ce3d1ba5e45ce58f332ed1d40008a44375 09-May-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle am: 1de7966c72
am: 275c9f60f9

* commit '275c9f60f94780bd686eca9750ec41cc1fafa333':
Correctly handle dup() failure in Parcel::readNativeHandle

Change-Id: I6516dea7eac82d06e1ffd1d269dbb6415fece948
0933806b5d6896b735326333fc657d304f30657a 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "libgui: Prevent segfaulting in abandoned ConsumerBase" into nyc-dev am: 39e4428c81 am: 2e6d86c7f9
am: f75fbecc42

* commit 'f75fbecc424dff6a3aea28cdcbd0766ebf8d3fb6':
libgui: Prevent segfaulting in abandoned ConsumerBase

Change-Id: Ice13d4ef7cd844cc4e11b02efdb1643b304322f1
f75fbecc424dff6a3aea28cdcbd0766ebf8d3fb6 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "libgui: Prevent segfaulting in abandoned ConsumerBase" into nyc-dev am: 39e4428c81
am: 2e6d86c7f9

* commit '2e6d86c7f99e32e1e8dcaa89e1d5f07b58b4a02f':
libgui: Prevent segfaulting in abandoned ConsumerBase

Change-Id: Ie4a8ea61e1eca9a997d027e78de63b8fbc9a7f86
6096a3a949a2f2b1d547428f4750a4d0ddefdb4f 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "libgui: Prevent segfaulting in abandoned ConsumerBase" into nyc-dev
am: 39e4428c81

* commit '39e4428c8196a99bb882ee8c1e16ad697372a9fb':
libgui: Prevent segfaulting in abandoned ConsumerBase

Change-Id: I59df1d1834beb0c11f957c967aca583a922dfd5f
39e4428c8196a99bb882ee8c1e16ad697372a9fb 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "libgui: Prevent segfaulting in abandoned ConsumerBase" into nyc-dev
a08bf8bc6fabe77fbc23800533b7c318d4bea848 06-May-2016 Christopher Wiley <wiley@google.com> Merge "libbinder: Use char* message with binder::Status" am: 8d9818db1a am: e80bc97ad1 am: b9f5b3a26c
am: 72ed08c641

* commit '72ed08c64170744140600a2de45dfa48f462e9c5':
libbinder: Use char* message with binder::Status

Change-Id: Idabcaab2b89aed86c902fa291a391f93c86843c8
b9f5b3a26cbba7dce4127e47c40d4d85117d66a4 06-May-2016 Christopher Wiley <wiley@google.com> Merge "libbinder: Use char* message with binder::Status" am: 8d9818db1a
am: e80bc97ad1

* commit 'e80bc97ad1903a56e8f36e7c71f6f18d171b6d15':
libbinder: Use char* message with binder::Status

Change-Id: I9904aeda8057aeef9f7157f0b4822319f4b91dab
8d9818db1af53e065442fb5fcc44f69dfd31aec0 06-May-2016 Christopher Wiley <wiley@google.com> Merge "libbinder: Use char* message with binder::Status"
4e624a055c6f34ff86f66e7c5d72751969768c52 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Fix segfault in dump()" into nyc-dev am: ed2c5d1931 am: a5a184241f
am: 6478f9615b

* commit '6478f9615bfc34dd46ca04c91c37ba7c32f1857c':
BQ: Fix segfault in dump()

Change-Id: Ie082ed5f83d4c6290625727144840794790b6dd9
6478f9615bfc34dd46ca04c91c37ba7c32f1857c 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Fix segfault in dump()" into nyc-dev am: ed2c5d1931
am: a5a184241f

* commit 'a5a184241f485c454ee73bd541e46f9468957a57':
BQ: Fix segfault in dump()

Change-Id: I566b1c7ff7bdd45bd818730ea2eb487472f2c922
43e0928eb27d4d18e3a11debd4052ef96422bec5 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Fix segfault in dump()" into nyc-dev
am: ed2c5d1931

* commit 'ed2c5d1931bb48240b9293b0d0c3d370fbbd6f81':
BQ: Fix segfault in dump()

Change-Id: Iae6e4fc005377dde3860e737b8f20f0bdd768faf
ed2c5d1931bb48240b9293b0d0c3d370fbbd6f81 06-May-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Fix segfault in dump()" into nyc-dev
1651ced6a84b3ba5b62917e88b981e6bac3e7e3f 06-May-2016 Christopher Wiley <wiley@google.com> libbinder: Use char* message with binder::Status

Bug: None
Change-Id: Idcb8345cda2bf18960c1c437b7a6de4ec17b59fe
inder/Status.cpp
88aadf55bc4367163a049583d2d5fa6cfb29110c 05-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix google-explicit-constructor warnings." am: caff47a0c4 am: 4a912c41d3 am: ee1cd12a32
am: 22e688356f

* commit '22e688356f9d9cb77fd4d7136cfd0518895f52f7':
Fix google-explicit-constructor warnings.

Change-Id: Icdcd1ec7df432f8ac59e8ab3828b9772d212f2f7
f4276f240993f49c5c5cd096fd8ea6032ae95ae5 05-May-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Add debug dump if about to segfault"" into nyc-dev am: 876c150be2 am: 067b2ca8f5
am: e191d6523f

* commit 'e191d6523f253b38498a3dac3f7b35b6277df9e4':
Revert "Add debug dump if about to segfault"

Change-Id: I013380f001598e9ef00bc11398cd6690ed81fd88
ee1cd12a327f926bba54bb9f6d77098aa63ae6c1 05-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix google-explicit-constructor warnings." am: caff47a0c4
am: 4a912c41d3

* commit '4a912c41d39a1e55fbfc5610ed480b4023b34fd0':
Fix google-explicit-constructor warnings.

Change-Id: If184ceba0bd601eadf3389d98a43dbfcf67f68ab
067b2ca8f53e6331f05fc23820bf5113b88a97b2 05-May-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Add debug dump if about to segfault"" into nyc-dev
am: 876c150be2

* commit '876c150be2164a20d3fc6da44f0e668e00960dda':
Revert "Add debug dump if about to segfault"

Change-Id: Id2f976413b60262c099c28e786d22d417efc09d0
876c150be2164a20d3fc6da44f0e668e00960dda 05-May-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Add debug dump if about to segfault"" into nyc-dev
95b3a64a5f25bea6e0a11d7a1cf581d6aaf24304 05-May-2016 Chih-hung Hsieh <chh@google.com> Merge "Fix google-explicit-constructor warnings."
adf51bac81fa28637d00227a44d7b20ea035980a 05-May-2016 Pablo Ceballos <pceballos@google.com> BQ: Fix segfault in dump()

When dequeueBuffer() is called we put the slot in mActiveBuffers, then
don't hold the BufferQueue lock while allocation occurs. So a slot
might be in mActiveBuffers but not have a buffer attached yet. Prevent
the dump function from segfaulting in this case.

Bug 27128710

Change-Id: Ie1480c0f9b2544554fc3281045e55ad30605e6ec
ui/BufferQueueCore.cpp
65d9f6d63ab3bad1d835df14c662028a748eb3c5 04-May-2016 Pablo Ceballos <pceballos@google.com> libgui: Prevent segfaulting in abandoned ConsumerBase

mConsumer will be null if the ConsumerBase has been abandoned. Prevent
it from being dereferenced in those cases.

Bug 27718219

Change-Id: I9a3ecadb0655ec61cd2fd15ee98b3e1bef078cff
ui/BufferItemConsumer.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
5695ff4eea3bb99f41ba4942d3ab4622f6c0f5d7 04-May-2016 Jesse Hall <jessehall@google.com> resolve merge conflicts of f1d0fda to nyc-mr1-dev-plus-aosp

Change-Id: Idc687824aae05ad41d3ffc8f696f98351d306f8d
19e838ba3944f0a18c21fb396cfaf6c9f6db2c7b 04-May-2016 Jesse Hall <jessehall@google.com> resolve merge conflicts of 0b546c4 to nyc-dev-plus-aosp

Change-Id: I76408f38afc40816ae4cc7ef82d1250225d18032
73f2c8b123abf245f21ed17db6b2ee5f7f762563 04-May-2016 Pablo Ceballos <pceballos@google.com> Revert "Add debug dump if about to segfault"

This reverts commit 6366a10fd8223c91f1a3422620800cd6ac67ef90.

Bug 27674961
ui/GLConsumer.cpp
dea97b7aa2b5cfbb7d42f30bcbf86a01778b609b 04-May-2016 Jesse Hall <jessehall@google.com> GLConsumer: add build-time disable of gpu protected content

Some drivers incorrectly claim support for EGL_EXT_protected_content.
Until we've been able to verify that devices which claim support
actually implement it properly, require that GPU access to protected
content be manually enabled per-device.

Bug: 28545166
Change-Id: Ic10e47a99c38737ce1c39439fe9347d628aec491
ui/Android.mk
ui/GLConsumer.cpp
c406791ead6d864ec693ad01a80c5f471bdc2a7a 03-May-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: I7e061f68acdde368a3b63c029b928133646ebff2
inder/IMediaResourceMonitor.cpp
inder/IResultReceiver.cpp
d9cdadb38229e84f83c56ff2fe195a6a6ef535c3 03-May-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: Icd42a3b0043647fd4c094e8fe195ca0f94445de9
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTextureGL_test.cpp
304f6a01e8a71b356198aae588a6b3a4c422d4af 29-Apr-2016 Craig Donner <cdonner@google.com> Merge "Support EGL_EXT_protected_content in GLConsumer." into nyc-dev
am: 188b9f0035

* commit '188b9f00358d1f9f880b6d9deadc0b54f07b888e':
Support EGL_EXT_protected_content in GLConsumer.

Change-Id: I4a4f15049d62e55395d69e83157fbf4c140c52a3
188b9f00358d1f9f880b6d9deadc0b54f07b888e 29-Apr-2016 Craig Donner <cdonner@google.com> Merge "Support EGL_EXT_protected_content in GLConsumer." into nyc-dev
aec8697fcaa8bb30e335f7850cffdd0364c35532 29-Apr-2016 Craig Donner <cdonner@google.com> Support EGL_EXT_protected_content in GLConsumer.

When the consumer creates an EGLImage, it must now pass
EGL_PROTECTED_CONTENT_EXT to eglCreateImageKHR for protected buffers to be
mapped onto the GPU. This allows us to no longer need QCOM specific flags in
a few places (already removed).

Bug: 27536318
Change-Id: I1c49886d2dcbdceaf5fa9a33288753115651b4f2
ui/GLConsumer.cpp
01f30f165797d06b43eac2ee4738816f2c2a4b04 29-Apr-2016 John Reck <jreck@google.com> Merge "Return the transform to apply in getLastQueuedBuffer" into nyc-dev
am: 1992e9430c

* commit '1992e9430c82cc0d3f1b1fbb66749934a7482e8d':
Return the transform to apply in getLastQueuedBuffer

Change-Id: I04656a473afd254914ac0970fcaa3d27b26e6c3e
d6c480efb4fa5d4ca8cedef5ccec4bf763d467ba 29-Apr-2016 John Reck <jreck@google.com> Merge "Don\'t flatten nullptrs" into nyc-dev
am: 55e5cc0ea2

* commit '55e5cc0ea20f1cbfe71b76b3d3975dc02e061f4c':
Don't flatten nullptrs

Change-Id: Ib4c2d067ec151904048cfb4a54b36d0398d1a670
1a61da5e28fa16ad556a58193c8bbeb32a5f636d 28-Apr-2016 John Reck <jreck@google.com> Return the transform to apply in getLastQueuedBuffer

Bug: 28428955
Change-Id: Id48f7d3bf3f5deb074cf0a6a52a41caac875db41
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ce8e5df3c11616f3eb7867ce89558b530651166c 28-Apr-2016 John Reck <jreck@google.com> Don't flatten nullptrs

Bug: 28428970

BufferQueueProducer can return a nullptr for
the GraphicBuffer if there's nothing queued, which
IGraphicBufferProducer would attempt to flatten.

It's useful to distinguish that there's nothing queued
instead of just generic error, so fix IGraphicBufferProducer
to handle null GraphicBuffers.

Change-Id: I9e2b11e107e093d209a89a01d14feec3e885f268
ui/IGraphicBufferProducer.cpp
68a593e7fa07c947fef2c5de53c42e14ed630a8a 28-Apr-2016 Chih-Hung Hsieh <chh@google.com> resolve merge conflicts of 168dc86 to nyc-dev-plus-aosp

Change-Id: I1554cec6ea880a87921f723bc96972cb8e1d3c5c
a5226fb2cf3d03544da1f9d4d44887c4143e0af0 28-Apr-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Fix google-explicit-constructor warnings."
ac979645609f7c1a73ffbb81d9cd0f2e8e0bf406 27-Apr-2016 Christopher Ferris <cferris@google.com> Merge "Fix use of invalid iterator." into nyc-dev
am: 44e9c02

* commit '44e9c027958ef5d7f8c8a06137ff9832b43114fb':
Fix use of invalid iterator.

Change-Id: Iaf425573fa29066179a12914eeec9bc90a5fab62
44e9c027958ef5d7f8c8a06137ff9832b43114fb 27-Apr-2016 Christopher Ferris <cferris@google.com> Merge "Fix use of invalid iterator." into nyc-dev
19a621eb117d960b6984e376135e314cd0cb8f73 27-Apr-2016 Peng Xu <pengxu@google.com> Merge "Fix sensor uuid, retrofit recent event logger" into nyc-dev
am: cf43c26

* commit 'cf43c2654da64f12d0803c66dd75525b3f1ab09f':
Fix sensor uuid, retrofit recent event logger

Change-Id: Ibb34fafb727e194bf78a2c90588c25d96aa7e51e
cf43c2654da64f12d0803c66dd75525b3f1ab09f 27-Apr-2016 Peng Xu <pengxu@google.com> Merge "Fix sensor uuid, retrofit recent event logger" into nyc-dev
87e94cd1d16281051d5241a25035aa1db0b073d8 26-Apr-2016 Christopher Ferris <cferris@google.com> Fix use of invalid iterator.

The code grabbed an iterator to a slot, but eventually does an erase
of the iterator. Unfortunately, the code then attempts to use this
invalid iterator which can introduce subtle crashes by putting a
garbage value on the free buffer list.

Bug: 28351886
Change-Id: I42a4431b182cee4de829f15fa4ddc175a3d141f7
ui/BufferQueueProducer.cpp
1de7966c72981aebc3c7f9978ab129678ac89258 26-Apr-2016 Marco Nelissen <marcone@google.com> Correctly handle dup() failure in Parcel::readNativeHandle

bail out if dup() fails, instead of creating an invalid native_handle_t

Bug: 28395952

Change-Id: Ia1a6198c0f45165b9c6a55a803e5f64d8afa0572
inder/Parcel.cpp
d760b810722e11bef285c812c13eef4dc7950ea2 26-Apr-2016 Christopher Wiley <wiley@google.com> Merge "libbinder: Replace ScopedFd with base::unique_fd" am: 758973c
am: 512926e

* commit '512926e2d7d9d9ac9e2487c38579c73998e14243':
libbinder: Replace ScopedFd with base::unique_fd

Change-Id: Ie07321addb7a5f2ae49f276e31b80054d1154bd4
758973c497209b0a0d2b3a8afb6c0b0b139b8ab8 26-Apr-2016 Christopher Wiley <wiley@google.com> Merge "libbinder: Replace ScopedFd with base::unique_fd"
3282e043d2e5fb1c257741382b2849a7052c71d9 26-Apr-2016 Elliott Hughes <enh@google.com> Merge "Remove HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE test." am: 32e2d0f
am: 38adc64

* commit '38adc64dee5eb9c4cb9bd3eca1be52b537426a12':
Remove HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE test.

Change-Id: I97ff217d7decafc7ef0a283fa14526ed6ed4e47a
e2347b7953f70232541bdc1b392230d6231aaeb9 26-Apr-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: I0ce850de85e0de6a5472dd142f738856142db9ec
inder/BufferedTextOutput.cpp
inder/IAppOpsCallback.cpp
inder/IAppOpsService.cpp
inder/IBatteryStats.cpp
inder/IMemory.cpp
inder/IPermissionController.cpp
inder/IProcessInfoService.cpp
inder/IServiceManager.cpp
inder/MemoryDealer.cpp
inder/ProcessState.cpp
inder/Static.cpp
ui/IConsumerListener.cpp
ui/IDisplayEventConnection.cpp
ui/IGraphicBufferAlloc.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/IProducerListener.cpp
ui/ISensorEventConnection.cpp
ui/ISensorServer.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/SensorManager.cpp
ui/SurfaceComposerClient.cpp
nput/IInputFlinger.cpp
i/Region.cpp
0c50a3f6ae463c24c5c85de64b4bbcd77269d43e 25-Apr-2016 Elliott Hughes <enh@google.com> Remove HAVE_PTHREAD_COND_TIMEDWAIT_RELATIVE test.

This is no longer defined anywhere, and has never existed on LP64.

Change-Id: Ic2c51410526f6adbdfe872d4c3b99cbe3badb8d1
inder/tests/binderLibTest.cpp
2cf1995d3d1cdca8e0ba2d8fab9a322c4096f809 11-Apr-2016 Christopher Wiley <wiley@google.com> libbinder: Replace ScopedFd with base::unique_fd

unique_fd is a more canonical construct going forward.

Bug: 27804373
Test: checkbuilds pass on aosp x86_64-eng

Change-Id: I53eca34c0f4fd00be770a6898ff06ec2e98b9c8e
inder/Parcel.cpp
6a2d3a06caa337857cf60cfc70a9a78909ad3608 21-Dec-2015 Peng Xu <pengxu@google.com> Fix sensor uuid, retrofit recent event logger

Fix an issue that causes uuid field not being initialzed in
sensorservice.

MostRecentEventLogger in sensorservice is migrated to use RingBuffer
instead of a custom circular buffer. This is expected to improve
readability and maintainability of code.

Dumpsys print format is retouched to offer more information in easier
to read format.

Bug: 28305085

Change-Id: I190e43350b60a22a9fccb92a95d6eab06a471560
ui/Sensor.cpp
76ddac5f35f6c5967fffb49103e750bb69ec707e 21-Apr-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Replace items from back of queue" into nyc-dev
am: 9461b93f7e

* commit '9461b93f7e46e71dd43b021084012ec337a5cee3':
BQ: Replace items from back of queue

Change-Id: I3efbf1485d2fbb4dc5fed5e4b6fa5884faa0e6c7
4d85da4a77203f4c361e48699e5598ebe8c77b32 20-Apr-2016 Pablo Ceballos <pceballos@google.com> BQ: Replace items from back of queue

It's possible to have one or more non-droppable items in the queue
ahead of a droppable item. In that case we want to replace the
droppable one at the end of the queue. By changing the policy to
always replace the last item in the queue (if it's droppable) we
ensure that there will never be more than one droppable item in the
queue and that it will always be the last one.

Bug 27129258

Change-Id: I9a6234fe12a0095ccb93ceb9cdb74616944900b0
ui/BufferQueueProducer.cpp
2f35954b05ac060f4bb871681d1c3c6df05e4954 20-Apr-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Avoid unnecessary calls to consumer listener" into nyc-dev
am: 72b5975

* commit '72b59753f90df64b3dd86fa6a166b24c8b64b985':
BQ: Avoid unnecessary calls to consumer listener

Change-Id: I06c0cf4383e2e3c9c0d3589b8fedc4464ca9c373
e9105ba993a3d6fc5d4fbffe8605e1e32b3d14eb 20-Apr-2016 Dan Stoza <stoza@google.com> Merge "libgui: Add getLastQueuedBuffer to BufferQueue" into nyc-dev
am: 4908a01

* commit '4908a010f63c7d0a6d9a1f4b67c3453a116d1556':
libgui: Add getLastQueuedBuffer to BufferQueue

Change-Id: I3891dc3857fbf9fa762ddb384dc276e5683696bb
72b59753f90df64b3dd86fa6a166b24c8b64b985 20-Apr-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Avoid unnecessary calls to consumer listener" into nyc-dev
50101d02a8eae555887282a5f761fdec57bdaf30 08-Apr-2016 Dan Stoza <stoza@google.com> libgui: Add getLastQueuedBuffer to BufferQueue

Adds the ability to get the last buffer queued to a BufferQueue plus
its acquire fence.

Bug: 27708453
Change-Id: Iee39475740b40c854a5f46178b2934fd930e61b8
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
245cc5b57da46d5852aa820be2a96f37425b3337 19-Apr-2016 Pablo Ceballos <pceballos@google.com> BQ: Avoid unnecessary calls to consumer listener

Try to avoid unnecessary calls to the consumer listener's
onBuffersReleased() since they can potentially deadlock.

Bug 28254168

Change-Id: Ib064e5ebe1403a1028589342b3c33e6f40bb54a9
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
7861c6302b20261f4763af05ebd4f931e10a4aeb 19-Apr-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Include libbase headers in libbinder include path" am: 33dcaf9
am: 875f626

* commit '875f6263481dd08f8a3332f70f0073d003e09be4':
Include libbase headers in libbinder include path

Change-Id: I985e18c3448b879bac0864227ae85e632a642ec5
83e6b989c0cbea66e98becd60611c7d1e58e1001 19-Apr-2016 Christopher Wiley <wiley@google.com> Include libbase headers in libbinder include path

We will eventually switch to using libbase's unique_fd in favor of
ScopedFd. Include the header by itself to check that all build targets
that need libbinder headers are picking up libbase as well.

Bug: 27804373
Test: Compiles

Change-Id: I2920b3d1a5357d81a54267febac3ab72fee88eb1
inder/Android.mk
6e9f94360a2b4b3a3ce93d8c9c33efc87fef344f 19-Apr-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "libgui should re-export libbinder include paths" am: a8d696c
am: 1c5bc16

* commit '1c5bc165310564358cfa7b7d248b0ee7dc2dd8fa':
libgui should re-export libbinder include paths

Change-Id: I05ab8439e147f27dafcb8662b161d0be77702b6d
a8d696c20660afd3181cad3a955a60bfefdfe207 19-Apr-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "libgui should re-export libbinder include paths"
72db0b73ed262c4bcf2fad21f2bbef3c6890f5bb 19-Apr-2016 Christopher Wiley <wiley@google.com> libgui should re-export libbinder include paths

libgui headers include headres from libbinder. Therefor, consumers
need the complete include paths of both libries.

Bug: 27804373
Change-Id: I4c355f32fb58298059abf7c546b48e8b24b4dc3c
Test: Compiles when libbinder include path changes.
ui/Android.mk
7a776ec3717bfe45d48f1c03987c8657ad8a56d5 18-Apr-2016 Robert Carr <racarr@google.com> Add setOverrideScalingMode to SurfaceControl
am: c3574f7

* commit 'c3574f7b0141c69fdca25ccafb80ff334462f9a3':
Add setOverrideScalingMode to SurfaceControl

Change-Id: I8752f95ed3d596c8648e5d527aae4cae00e171b9
0cbee9f0f87841e77f6c4b2449cdd1a472da2982 18-Apr-2016 Christopher Wiley <wiley@google.com> Merge "Revert "libbinder: Replace ScopedFd with base::unique_fd"" am: dcc5575
am: 1c58569

* commit '1c585692a37eef2d28e01db451879f7f53dc97a1':
Revert "libbinder: Replace ScopedFd with base::unique_fd"

Change-Id: Iae20ab4fac161b0785b011b42353ebf46de1c59a
dcc5575f9bb028ef3e64be52190b7f1abbbdf459 18-Apr-2016 Christopher Wiley <wiley@google.com> Merge "Revert "libbinder: Replace ScopedFd with base::unique_fd""
46ef1a7f578d20423961e6b989dad0524bcad13a 18-Apr-2016 Christopher Wiley <wiley@google.com> Revert "libbinder: Replace ScopedFd with base::unique_fd"

This reverts commit b12c5a67f9cf5a55f67c08bef898c48cefa9d03d.

Change-Id: I13ab8151376bc3bda7f96b92db7934720dc62215
inder/Android.mk
inder/Parcel.cpp
7f38c4b9d84c0aa84017b8e211de416d7467cbb6 18-Apr-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "libbinder: Replace ScopedFd with base::unique_fd" am: 747c0bb
am: 7a07e39

* commit '7a07e39801a6bf1d4c1e35017da80a44ee4a343f':
libbinder: Replace ScopedFd with base::unique_fd

Change-Id: I88b06c3e6d86278024e135697a1a024d56ba86ee
747c0bb826190c4314b80c4f3d52b70e2c608ecb 18-Apr-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "libbinder: Replace ScopedFd with base::unique_fd"
c3574f7b0141c69fdca25ccafb80ff334462f9a3 24-Mar-2016 Robert Carr <racarr@google.com> Add setOverrideScalingMode to SurfaceControl

Provide an interface for the window manager to override
the client specified scaling mode. This makes it possible
for the window manager to force windows to be scaleable
for animations, etc, even when a resize is pending.

Bug: 27891386
Change-Id: Ic4aae9917bd6869ee0dbb425979b4e21c68342a3
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
9c0f518fddb935ea8bbee295d6061176ffbdfbad 16-Apr-2016 Peng Xu <pengxu@google.com> Merge "sensorservice: switch to use sp<> in sensor list" into nyc-dev
am: 47babb8

* commit '47babb84bcd2dcf4943687e33595ba58dc0dbe28':
sensorservice: switch to use sp<> in sensor list

Change-Id: I14fa40721296f2937cd8df9b62e32874f0ddfe09
47babb84bcd2dcf4943687e33595ba58dc0dbe28 16-Apr-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "sensorservice: switch to use sp<> in sensor list" into nyc-dev
249f373defa993eb9c8358e4d2e0b620f2c10d57 16-Apr-2016 Colin Cross <ccross@android.com> Merge "Log when binder thread pool is starved" into nyc-dev
am: 43dcac7

* commit '43dcac7500833c465c417805adc4693c60c3bb5e':
Log when binder thread pool is starved

Change-Id: I420d31273aec69eab9d8e4faa10001ef48b17aa8
96e8322f4d11af8538d6d0db5f1a11338b8aee9d 15-Apr-2016 Colin Cross <ccross@android.com> Log when binder thread pool is starved

Log when the number of threads executing binder commands is equal to the
maximium size of the thread pool for >100ms.

Bug: 28201939
Change-Id: I892863d8a81c06e362d4ae18ab08485fdec3c0bb
inder/IPCThreadState.cpp
inder/ProcessState.cpp
755c451c7861a029e26e5f16e319b629169e656d 08-Apr-2016 Peng Xu <pengxu@google.com> sensorservice: switch to use sp<> in sensor list

* Switch to use smart pointer in SensorList to avoid object
life cycle issue.
* Refactor HardwareSensor and various virtual sensor class.
* Change active virtual sensor map into a set of handles.

Change-Id: I674d5eb5c0038179f9ef1b6f0d576b8b605649ec
ui/Sensor.cpp
180cce95140f4b3ecb55dba38e3fa544ce4a519d 14-Apr-2016 Jorge Lucangeli Obes <jorgelo@google.com> Merge "Run \'nativeperms\', remove Brillo #ifdef." am: a7ba9d0
am: f949746

* commit 'f949746cc4a6ce34b227fda53732ca8aa620499c':
Run 'nativeperms', remove Brillo #ifdef.

Change-Id: I97b63439e6ea55db2d5b7bde7cde514666e6d556
a7ba9d0abc640e28874b2bc3a2c184603cb91167 14-Apr-2016 Jorge Lucangeli Obes <jorgelo@google.com> Merge "Run 'nativeperms', remove Brillo #ifdef."
0ed3ca3780986ce3d1f819e9a20dbc449624f5d0 14-Apr-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "libbinder: Remove templated binder::Status stream operator." am: 9e413e9
am: 9ed41a7

* commit '9ed41a7ee40d5d653d7cd632eab2830060ba0dbf':
libbinder: Remove templated binder::Status stream operator.

Change-Id: I82704846becfdcc5e1d9dabf6c369648e8971ec0
8282342215156d77d27fdf10c34a982bf54e66bf 14-Apr-2016 Jorge Lucangeli Obes <jorgelo@google.com> Run 'nativeperms', remove Brillo #ifdef.

Bug: 25663983
Change-Id: I5b9f9747695d75f84bdfb61f90d28e0e5fee612c
inder/IServiceManager.cpp
00cb980fcb6032f3a5ae124dc64ee2df8fb79a31 13-Apr-2016 Ralph Nathan <ralphnathan@google.com> libbinder: Remove templated binder::Status stream operator.

The templated binder::Status stream operator doesn't work with gmock
because of ambiguous operator overloading. Limiting the stream operator
to just std::stringstream allows it to be used with gmock.

BUG=28171901
TEST=Compiles with gmock and CameraBinderTests

Change-Id: Ia674b68cbff4911b3f5cc3d8ee57d04a1d6cf6bf
inder/Status.cpp
63d6ca0bdcd152f0985df02f9a835900ca98f5b8 13-Apr-2016 Robert Carr <racarr@google.com> Merge "Add Surface::waitForNextFrame" into nyc-dev
am: dc71beb

* commit 'dc71bebc3d65918ec5c1c7cea1dae0a0af5468d7':
Add Surface::waitForNextFrame

Change-Id: I348c555c1ff80588fffffbe804f6d3a7ee0e15c0
dc71bebc3d65918ec5c1c7cea1dae0a0af5468d7 13-Apr-2016 Rob Carr <racarr@google.com> Merge "Add Surface::waitForNextFrame" into nyc-dev
aefcad150649c7974c8a2a8b1c724b6112fd354b 13-Apr-2016 Philip Cuadra <philipcuadra@google.com> Merge "Binder: add pid to thread name for binder threads." into nyc-dev
am: 9b9fc47

* commit '9b9fc47133756806e02bf2d0c8798b98be3ad968':
Binder: add pid to thread name for binder threads.

Change-Id: I2b9137cfbe6db90064d2b0bd61e8f516e182fcd2
9b9fc47133756806e02bf2d0c8798b98be3ad968 13-Apr-2016 Philip Cuadra <philipcuadra@google.com> Merge "Binder: add pid to thread name for binder threads." into nyc-dev
a082fa8a6bd4303d5a5921133746f9e2856ab0d4 08-Apr-2016 Philip Cuadra <philipcuadra@google.com> Binder: add pid to thread name for binder threads.

Including the pid in the binder thread name improves attribution of
binder time in systraces.
Change-Id: I40461b6f98c51c6e5f0acc1c24d443d0e7109b69
inder/ProcessState.cpp
9f31e299b3ec93b7bac969846105e7e926e3efcd 11-Apr-2016 Robert Carr <racarr@google.com> Add Surface::waitForNextFrame

We can use this for cases like SurfaceView
where one thread (e.g. the framework code)
wants to wait for an unknown client thread
to render a frame in to the surface before
we report it as shown to the window manager.

Bug: 22207948
Change-Id: I9d3344aa1c0ab0f0efd9df24e90ce0410d5f2e22
ui/Surface.cpp
329bf31be1a298ba078cef88805b9b77d8acb8a5 13-Apr-2016 Jorim Jaggi <jjaggi@google.com> Merge "Revert "Death to synchronous transactions (1/2)"" into nyc-dev
am: ad798d0

* commit 'ad798d03beb54e575abb693f3790c4e3855f32d4':
Revert "Death to synchronous transactions (1/2)"

Change-Id: I516d29a73391e8a2c43c817ec2a9e7ac5297c949
ad798d03beb54e575abb693f3790c4e3855f32d4 13-Apr-2016 Jorim Jaggi <jjaggi@google.com> Merge "Revert "Death to synchronous transactions (1/2)"" into nyc-dev
092123cf5abe88c82deb89bb0188e1cc8d8338be 13-Apr-2016 Jorim Jaggi <jjaggi@google.com> Revert "Death to synchronous transactions (1/2)"

This reverts commit c6a607aa7ab96f6b1bac487cffd1899e1f1cdcf5.

It causes issues when resizing: default buffer size on the consumer side
only gets set when the transaction actually executes. But because
consumer is not blocked on SF over WM anymore, it gets the default
buffer size before the surface is resized, and thus uses wrong bounds
for the buffer to be drawn, and never submits another one.

This needs a more involved fix.

Bug: 28122036
Bug: 28128613
Change-Id: I0e738f99e43fc9ea25426e9e6e607e01413d3bb7
ui/SurfaceComposerClient.cpp
b12c5a67f9cf5a55f67c08bef898c48cefa9d03d 11-Apr-2016 Christopher Wiley <wiley@google.com> libbinder: Replace ScopedFd with base::unique_fd

unique_fd is a more canonical construct going forward.

Bug: 27804373
Test: checkbuilds pass on aosp x86_64-eng

Change-Id: I8c1f202f1a6d646b5468f8c08fdcab7ea7f3178b
inder/Android.mk
inder/Parcel.cpp
5e5a6f3ebf4284858bf4c41c58103fed9ed46c50 11-Apr-2016 Peng Xu <pengxu@google.com> Merge "Refactor sensor list in SensorService" into nyc-dev
am: df4f17e

* commit 'df4f17e100e56a1f2964797ad83499e07ba9e062':
Refactor sensor list in SensorService

Change-Id: Icf06548c50ae7bf38590dc32a212252b95b606a7
df4f17e100e56a1f2964797ad83499e07ba9e062 11-Apr-2016 Peng Xu <pengxu@google.com> Merge "Refactor sensor list in SensorService" into nyc-dev
0cc8f809924706c7d683da30605f432635dd5bb6 06-Apr-2016 Peng Xu <pengxu@google.com> Refactor sensor list in SensorService

Refactor sensor lists management logic in sensorservice:
* Factor all sensor list management code into a separate class.
* Remove error-prone repeated sensor lists.
* Solve synchronization issue when sensor is added or removed during runtime.
* Switch to STL containers.

Bug: b/27911774

Change-Id: I94d5571e1fa3166dbe893ffac2a2a7584be6349c
ui/Sensor.cpp
8b53c14bc1852fe1dbddd52881e49b1be894f190 11-Apr-2016 Jeff Sharkey <jsharkey@android.com> Merge "Use inode numbers for CE storage, fix sizes." into nyc-dev
am: 82b4c7a

* commit '82b4c7a92cfb2482deb57a328f5eb9c95d5fdc5e':
Use inode numbers for CE storage, fix sizes.

Change-Id: I1c1afd079765088a03db70d6d558b9f3bdb16e6e
2f720f7ec5c9d0b91defc85878e7330b10f8e89a 11-Apr-2016 Jeff Sharkey <jsharkey@android.com> Use inode numbers for CE storage, fix sizes.

Certain operations, such as clearing/destroying app data, or just
counting on-disk size, require us to know the CE storage directory
of a particular app. To facilitate these operations, offer a method
to get the inode of a CE directory, and accept that inode number
for later operations.

In previous releases, we started installing apps using a new
directory-based layout, where all app code, unpacked native libraries,
and optimized code is bundled together. So now we only have a single
path to measure for code size.

Start measuring both CE and DE storage data usage for apps, and tweak
the reporting so that empty cache/data directories actually show up
as "0 bytes".

Fix bugs in disk usage counting, since st_blksize has no bearing on
the allocated disk space. Also don't double-count "." and ".."
directories when measuring storage.

Bug: 27828915, 27197819
Change-Id: I350b951f5c24165edb253ac663c9aae020c24dc9
iskusage/dirsize.c
898b1aa86da5425add5deb6f2028b233c563c05f 09-Apr-2016 Jorim Jaggi <jjaggi@google.com> Death to synchronous transactions (1/2)
am: c6a607a

* commit 'c6a607aa7ab96f6b1bac487cffd1899e1f1cdcf5':
Death to synchronous transactions (1/2)

Change-Id: Ie31f3fe60ae1f5a3f2b2c070f19bc82743de1e46
c6a607aa7ab96f6b1bac487cffd1899e1f1cdcf5 08-Apr-2016 Jorim Jaggi <jjaggi@google.com> Death to synchronous transactions (1/2)

Bug: 28068298
Change-Id: I0a9a212a4b19793cf2830193152c53c03b651970
ui/SurfaceComposerClient.cpp
b93445dca508213a9b67619afe006a198d356c4e 09-Apr-2016 Dan Stoza <stoza@google.com> Merge changes I0f07043f,Ib4635ee4,I472ad9f0 into nyc-dev
am: 97a46df

* commit '97a46df0ee9708822f190a76047c490f54c199cd':
Plumb HDR capabilities up to SurfaceComposerClient
HWC2: Add getHdrCapabilities to C++ shim
HWC2: Add getHdrCapabilities stub to adapter

Change-Id: Ia3ad51ebcedf563dbc1275299de125571aa10930
c4f471e75a8ec64ec34e3f2944a5a756215d0bec 24-Mar-2016 Dan Stoza <stoza@google.com> Plumb HDR capabilities up to SurfaceComposerClient

Plumbs HDR capabilities up from HWC2 through SurfaceFlinger and
ISurfaceComposer to SurfaceComposerClient.

Bug: 25684127
Change-Id: I0f07043ff42bfc7a159f785fee3e84936dc3c280
ui/ISurfaceComposer.cpp
ui/SurfaceComposerClient.cpp
7d7ae7345abfb91be55c4aed6c9be9d09a144e4c 16-Mar-2016 Dan Stoza <stoza@google.com> HWC2: Add getHdrCapabilities to C++ shim

Adds support for the getHdrCapabilities call to the HWC2 C++ shim.

Bug: 25684127
Change-Id: Ib4635ee437a06b48945e7f0328492c1e74e27aaa
i/Android.mk
i/HdrCapabilities.cpp
dc5b3513f629929f38918c0f5671357923f8eea1 01-Apr-2016 Stephen Hines <srhines@google.com> Merge "Split increments to silence a compiler warning." am: 0f73649
am: 25b103a

* commit '25b103a4373708cf62bb346e0514d118fa96cbd7':
Split increments to silence a compiler warning.

Change-Id: I62e0baefcebb9288e6dde9d4f954629bca6f967f
9c22c3c8c8e25273cf98454fa8902346cccae7ab 01-Apr-2016 Stephen Hines <srhines@google.com> Split increments to silence a compiler warning.

Upstream clang complains that this line may be a possible misuse of the
comma operator, since the result from "p++" is being discarded. Rather
than overcomplicate things with a static_cast<void>(), it is easiest to
just move this to a separate statement.

Change-Id: I5d005eb82a02430f691f99a2f1e8b7237320f84a
i/Region.cpp
f6fce6b9271b8cefdad7bed8ee34690e4c050614 29-Mar-2016 Peng Xu <pengxu@google.com> Merge "Define typical sensor sample rate in native code" into nyc-dev
am: a84b43c

* commit 'a84b43c914cdd0e665d7555f5800d5c06b895716':
Define typical sensor sample rate in native code
a84b43c914cdd0e665d7555f5800d5c06b895716 29-Mar-2016 Peng Xu <pengxu@google.com> Merge "Define typical sensor sample rate in native code" into nyc-dev
2dcb363c6e86b463a9f4e5925746e2f1089aef16 17-Mar-2016 Pablo Ceballos <pceballos@google.com> Rename single buffer mode to shared buffer mode

Change-Id: Id43d0737d9367981644e498942ebc0077d61038c
(cherry picked from commit 3559fbf93801e2c0d9d8fb246fb9b867a361b464)
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
2f3bf13887257abc9943b7e5bf58e9cd8189eb0a 17-Mar-2016 Peng Xu <pengxu@google.com> Define typical sensor sample rate in native code

Porting typical sensor sample rate (e.g. SENSOR_DELAY_UI)
defined in Java API to native code.

Change-Id: I8b59216415bc952b4e953ca6e8058beb1dd3c645
ui/SensorEventQueue.cpp
59d12e90ae09171fc8b50fd8fd02e3247c04840c 28-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Rename single buffer mode to shared buffer mode" into nyc-dev
ffc5a84a6f84627b001c151197ab00f4f4b49d63 25-Mar-2016 Christopher Tate <ctate@google.com> Merge "Remove spurious log" into nyc-dev
am: 7ff357a

* commit '7ff357ab080d0f3330a5642124a352f745d816bb':
Remove spurious log
bf14e94722a57a545b04396e06e9c5d65e241068 25-Mar-2016 Christopher Tate <ctate@google.com> Remove spurious log

Bug 26696080

Change-Id: I60ce2c1fac653d33a033c1e22f0df87466287fba
inder/Parcel.cpp
fc7e369cc2d222602215fb2e03f5fe9a70cdc0c6 25-Mar-2016 Christopher Tate <ctate@google.com> Merge "Guard against failed array allocation" into nyc-dev
am: 834fde8

* commit '834fde83f9a924f23e920306d9f7590fb6fd0e0b':
Guard against failed array allocation
e4e0ae8abc7f612960fc381a792d0bef4c3eb6f9 25-Mar-2016 Christopher Tate <ctate@google.com> Guard against failed array allocation

Also sanity check the fd count of incoming Parcels. Anything
exceeding our actual rlimit is inherently not legit.

Bug 26696080

Change-Id: Ib983dce8e8977d7e33195a4ee471115cdaf1c56b
inder/Parcel.cpp
e564a36b5ca8ef3cacaebb4707b0e8e38b6d7d2d 23-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder am: 12bafe2
am: b4f0f33

* commit 'b4f0f339c714be74cf0ae17e4c88620130b02121':
Fix issue #27252896: Security Vulnerability -- weak binder
ecc7934d98959a615a8d7cd6c685b7851e1f02f3 23-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder am: ce156f6 am: a202396
am: df806c5

* commit 'df806c5c9a488f02d385e03bf6ec261bf8ffd879':
Fix issue #27252896: Security Vulnerability -- weak binder
df806c5c9a488f02d385e03bf6ec261bf8ffd879 23-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder am: ce156f6
am: a202396

* commit 'a202396ca27e8d5a658585861cfcd4277d978362':
Fix issue #27252896: Security Vulnerability -- weak binder
74d2c4b4c97dbbcf43a9f8870007593d61beb547 23-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder
am: 41e7b17

* commit '41e7b1780f106d2eb4304b1f9cf060ce44177cae':
Fix issue #27252896: Security Vulnerability -- weak binder
a202396ca27e8d5a658585861cfcd4277d978362 23-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder
am: ce156f6

* commit 'ce156f60adb32c7cbebe50e313f51e564f93fe99':
Fix issue #27252896: Security Vulnerability -- weak binder
b4f0f339c714be74cf0ae17e4c88620130b02121 23-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder
am: 12bafe2

* commit '12bafe205c236da50f34ed85adf62a5631525ab6':
Fix issue #27252896: Security Vulnerability -- weak binder
41e7b1780f106d2eb4304b1f9cf060ce44177cae 21-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder

Sending transaction to freed BBinder through weak handle
can cause use of a (mostly) freed object. We need to try to
safely promote to a strong reference first.

Change-Id: Ic9c6940fa824980472e94ed2dfeca52a6b0fd342
(manually cherry picked and resolved conflicts from commit
c11146106f94e07016e8e26e4f8628f9a0c73199)
inder/IPCThreadState.cpp
61be455e943463e72fa108fb01e3d1608446f03a 23-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Add final crop implementation" into nyc-dev
am: 41371bf

* commit '41371bfa0dad4a4332a8cc30b066d95546e4c4fc':
Add final crop implementation
41371bfa0dad4a4332a8cc30b066d95546e4c4fc 23-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Add final crop implementation" into nyc-dev
ce156f60adb32c7cbebe50e313f51e564f93fe99 21-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder

Sending transaction to freed BBinder through weak handle
can cause use of a (mostly) freed object. We need to try to
safely promote to a strong reference first.

Change-Id: Ic9c6940fa824980472e94ed2dfeca52a6b0fd342
(cherry picked from commit c11146106f94e07016e8e26e4f8628f9a0c73199)
inder/IPCThreadState.cpp
12bafe205c236da50f34ed85adf62a5631525ab6 21-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder

Sending transaction to freed BBinder through weak handle
can cause use of a (mostly) freed object. We need to try to
safely promote to a strong reference first.

Change-Id: Ic9c6940fa824980472e94ed2dfeca52a6b0fd342
(cherry picked from commit c11146106f94e07016e8e26e4f8628f9a0c73199)
inder/IPCThreadState.cpp
5b274ca47b441594084f456d836824d020c1883a 23-Mar-2016 Dongwon Kang <dwkang@google.com> Merge "MediaResourceMonitor: Change argument type from string to int" into nyc-dev
am: a8b00c1

* commit 'a8b00c1c666f0d6d280ffa5bfed4aa09a4dab6ad':
MediaResourceMonitor: Change argument type from string to int
a8b00c1c666f0d6d280ffa5bfed4aa09a4dab6ad 23-Mar-2016 Dongwon Kang <dwkang@google.com> Merge "MediaResourceMonitor: Change argument type from string to int" into nyc-dev
a2a6be113f263bc12c81d3c81069f592cc76a6c7 22-Mar-2016 Dongwon Kang <dwkang@google.com> MediaResourceMonitor: Change argument type from string to int

Bug: 27529962
Change-Id: Ic4228aa74c9730134c61a2668932c6ab3b785afc
inder/IMediaResourceMonitor.cpp
ae327b12161fac2d867aa1ae36d0bd3924625add 22-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Add debug dump if about to segfault" into nyc-dev
am: dd264bd

* commit 'dd264bdb06d6caa1e94fcd1d2a760d34d1c0cb89':
Add debug dump if about to segfault
6366a10fd8223c91f1a3422620800cd6ac67ef90 22-Mar-2016 Pablo Ceballos <pceballos@google.com> Add debug dump if about to segfault

Bug 27674961

Change-Id: I82242d2c1b7cc9646d233bab896f718652e9ce2c
ui/GLConsumer.cpp
acbe67888f0bd65d5400400f0115bae6bd6199dc 04-Mar-2016 Pablo Ceballos <pceballos@google.com> Add final crop implementation

Bug 26559810

Change-Id: Idaccd13cd625c92d18665ddecebdbb266ea365f3
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
7f0c6d6e19565e512fc42c2371bc99f4c5e3fe70 21-Mar-2016 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #27252896: Security Vulnerability -- weak binder" into nyc-dev
am: b49576d

* commit 'b49576d5241859a3cf03c9f34b8030ad25d3806b':
Fix issue #27252896: Security Vulnerability -- weak binder
c11146106f94e07016e8e26e4f8628f9a0c73199 21-Mar-2016 Dianne Hackborn <hackbod@google.com> Fix issue #27252896: Security Vulnerability -- weak binder

Sending transaction to freed BBinder through weak handle
can cause use of a (mostly) freed object. We need to try to
safely promote to a strong reference first.

Change-Id: Ic9c6940fa824980472e94ed2dfeca52a6b0fd342
inder/IPCThreadState.cpp
a782c8c707d511cda714c5d0da89e2458912cc5d 18-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables am: 93c617f am: f16b857 am: 1ed2469 am: 46da938 am: b2428c7 am: ce3faa0 am: 6c42071
am: 413dc41

* commit '413dc41e1d310834ace8a24f835b3af2ee86180f':
BQ: fix some uninitialized variables
413dc41e1d310834ace8a24f835b3af2ee86180f 18-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables am: 93c617f am: f16b857 am: 1ed2469 am: 46da938 am: b2428c7 am: ce3faa0
am: 6c42071

* commit '6c42071f84c450a884c72d38a44ab3f45dd16343':
BQ: fix some uninitialized variables
6c42071f84c450a884c72d38a44ab3f45dd16343 18-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables am: 93c617f am: f16b857 am: 1ed2469 am: 46da938 am: b2428c7
am: ce3faa0

* commit 'ce3faa072a58dc01cecffa61d7df0a1d8bca212b':
BQ: fix some uninitialized variables
ce3faa072a58dc01cecffa61d7df0a1d8bca212b 18-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables am: 93c617f am: f16b857 am: 1ed2469 am: 46da938
am: b2428c7

* commit 'b2428c71c20a2e67a257eba540e6de2ca0fbae22':
BQ: fix some uninitialized variables
b2428c71c20a2e67a257eba540e6de2ca0fbae22 18-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables am: 93c617f am: f16b857 am: 1ed2469
am: 46da938

* commit '46da9385ad96fb1c2baab64fdea01eb3b0b41dd0':
BQ: fix some uninitialized variables
46da9385ad96fb1c2baab64fdea01eb3b0b41dd0 18-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables am: 93c617f am: f16b857
am: 1ed2469

* commit '1ed24698aa431aa4c3198fa3b8e830f1c29812a6':
BQ: fix some uninitialized variables
1ed24698aa431aa4c3198fa3b8e830f1c29812a6 18-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables am: 93c617f
am: f16b857

* commit 'f16b85752d7344814663c658175cce1a933e976b':
BQ: fix some uninitialized variables
f16b85752d7344814663c658175cce1a933e976b 18-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables
am: 93c617f

* commit '93c617fd2a5e7910e0ba5c0ed6da152d30920679':
BQ: fix some uninitialized variables
dc5d0f46de1f8a800b3af340ca57278989df151a 18-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "DO NOT MERGE BQ: fix some uninitialized variables" into klp-dev
am: b4eac74

* commit 'b4eac742c9e3f0238d5d03b237b2038df885ed2c':
DO NOT MERGE BQ: fix some uninitialized variables
b4eac742c9e3f0238d5d03b237b2038df885ed2c 18-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "DO NOT MERGE BQ: fix some uninitialized variables" into klp-dev
37958360151becbe5f79098074722e6e9cef8c2c 18-Mar-2016 Lajos Molnar <lajos@google.com> Merge "MemoryDealer: expose internal allocation alignment" into nyc-dev
am: d6c017d

* commit 'd6c017de4238c0aa448596dae23cbdb9d10ae7fd':
MemoryDealer: expose internal allocation alignment
d6c017de4238c0aa448596dae23cbdb9d10ae7fd 18-Mar-2016 Lajos Molnar <lajos@google.com> Merge "MemoryDealer: expose internal allocation alignment" into nyc-dev
3559fbf93801e2c0d9d8fb246fb9b867a361b464 17-Mar-2016 Pablo Ceballos <pceballos@google.com> Rename single buffer mode to shared buffer mode

Change-Id: Id43d0737d9367981644e498942ebc0077d61038c
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
e467ae3b36f4f66e03ac49f2bf53c847a897adea 17-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: Allow shared buffer to be the first queued buffer
am: 295a9fc

* commit '295a9fc8aa87daa2cded5c1a279b8cd24e9a9a9f':
BQ: Allow shared buffer to be the first queued buffer
1001033cbede0196aa020102f6fd4f6796089cd5 17-Mar-2016 Lajos Molnar <lajos@google.com> MemoryDealer: expose internal allocation alignment

Bug: 27722308
Change-Id: Ie4ee1f54edcb711d39f8419a160af1495af0152e
inder/MemoryDealer.cpp
295a9fc8aa87daa2cded5c1a279b8cd24e9a9a9f 15-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: Allow shared buffer to be the first queued buffer

- When single-buffer mode is enabled the shared buffer will now be
either the first buffer dequeued or the first buffer queued.
Whichever comes first.

Bug 24940410

Change-Id: I9f7e2630640e37fe1fb967aed41a3025567247a8
ui/BufferQueueProducer.cpp
ui/tests/BufferQueue_test.cpp
6bd4bf765c4790560b7da86cc86bfa1abab54187 17-Mar-2016 Aniroop Mathur <aniroop.mathur@gmail.com> Merge "Native: Sensor: For ndk sensor enable request, enable sensor with SENSOR_DELAY_NORMAL delay instead of 0 delay, by default " into nyc-dev
am: ec3c05b

* commit 'ec3c05b2d47efaca03ec42572fc2631af5267438':
Native: Sensor: For ndk sensor enable request, enable sensor with SENSOR_DELAY_NORMAL delay instead of 0 delay, by default
bfbd374cab2ea2a477a3d061fbe336e972e4090d 22-Oct-2015 Aniroop Mathur <aniroop.mathur@gmail.com> Native: Sensor: For ndk sensor enable request, enable sensor with
SENSOR_DELAY_NORMAL delay instead of 0 delay, by default

In case of one or more sensor applications running in background
(say Auto Rotation, Auto Brightness, some sensor ndk daemon like
panning, etc), which are using the common sensor (say accelerometer)
running at UI delay(66 ms), and then some 3rd party sensor ndk daemon
starts(say Direct Call feature, GPS ndk daemon for correcting latitude
and longitude using sensor data while using navigation, etc), which
enables the same sensor (accelerometer) but does not set the delay,
then that sensor chip will start to generate data at minimum delay
possible because of passing 0 delay value during enable.

Ideally, this is wrong behaviour because none of the sensor-ndk daemon
or android application has requested for minimum delay yet and so sensor
should generate data still at 66ms only. This in turn will make
significant increment in current consumption because of fastest sampling
rate.

Also, as you know, ASensorEventQueue_enableSensor api and
ASensorEventQueue_setEventRate api are not deprecated and is still used
irrespective of HAL 1_3 or latest 1_4. In fact, these are the only two
api currently available for enabling and setting delay. Direct Call,
panning, Smart alert, gps daemon, etc are such examples which uses these
ndk api

Small Code Snippet:
AutoRotation starts:
mSensorManager.registerListener(
listener1, mAccelerometer, SensorManager.SENSOR_DELAY_UI);

AutoBrightness start:
mSensorManager.registerListener(
listener2, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
mSensorManager.registerListener(
listener2, mLight, SensorManager.SENSOR_DELAY_NORMAL);

Panning:
ASensorEventQueue_enableSensor(mSensorEventQueue1, mAccelerometer);
ASensorEventQueue_setEventRate(
mSensorEventQueue1, mAccelerometer, SENSOR_DELAY_UI);
(Here, first 0 delay will be set, but UI delay will override it with
function call setEventRate)
... more possible android-apps/sensor-ndk daemon

So currently, accelerometer is running at 66 ms delay
because DELAY_UI (66ms) is less than DELAY_NORMAL (200ms)

Now, sensor gps ndk daemon starts, enables the sensor but does not set
delay:
ASensorEventQueue_enableSensor(mSensorEventQueue2, mAccelerometer);
--> This call will request for 0ms delay so minimum delay will be set
(say 10ms)

Therefore now, accelerometer will run at 10 ms delay which is wrong
behavior because delay should still be 66 ms ideally. Also, running
sensor at lowest delay unnecessarily increases current consumption.
(Unless requested for minimum delay like in games)

Change-Id: Ib18d0d77f80b2621a204d491c3f61eed9a8b7251
Signed-off-by: Aniroop Mathur <a.mathur@samsung.com>
Signed-off-by: Aniroop Mathur <aniroop.mathur@gmail.com>
ui/SensorEventQueue.cpp
030172e49c866943203e4906b26e1a132ff94ff4 16-Mar-2016 Pablo Ceballos <pceballos@google.com> DO NOT MERGE BQ: fix some uninitialized variables

Bug 27555981
Bug 27556038

Change-Id: I436b6fec589677d7e36c0e980f6e59808415dc0e
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
93c617fd2a5e7910e0ba5c0ed6da152d30920679 16-Mar-2016 Pablo Ceballos <pceballos@google.com> BQ: fix some uninitialized variables

Bug 27555981
Bug 27556038

Change-Id: I436b6fec589677d7e36c0e980f6e59808415dc0e
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
a58c8265ec3e807a1fe20189ce2a9d55b26e5d1f 16-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Add a callback thread to ConsumerBase"" into nyc-dev
am: 49380be2cf

* commit '49380be2cfbc43adb79ef559b7bd8578040948cc':
Revert "Add a callback thread to ConsumerBase"
e07e3e5ef56b768d73e78fb273f2cfe6ebffc945 15-Mar-2016 Pablo Ceballos <pceballos@google.com> Revert "Add a callback thread to ConsumerBase"

This reverts commit 22b5702b40eca423171124e69c3d4ad03a3e6900.

Bug 27557176

Change-Id: Icc0e79af82329e6414ed44a99e90631cfcf140fa
ui/ConsumerBase.cpp
ui/tests/SurfaceTextureGLToGL_test.cpp
dc87747576c95119067f05bb29aadd5db110d4fb 15-Mar-2016 zhongjie <zhongjie.shi@intel.com> Merge "Release resources when repeating dlopen-dlcose."
am: 88521f6219

* commit '88521f6219b5a8c81e08c347bbdf1413b852fa17':
Release resources when repeating dlopen-dlcose.
88521f6219b5a8c81e08c347bbdf1413b852fa17 15-Mar-2016 Casey Dahlin <sadmac@google.com> Merge "Release resources when repeating dlopen-dlcose."
e5bae2630d542b9d89437283b564d4a1caeeca62 14-Mar-2016 Brian Carlstrom <bdc@google.com> Merge "frameworks/native: Make Thread::run threadName argument required" into nyc-dev
am: 5229d8f558

* commit '5229d8f558dfa7d91037321dcf26fbc1131df15a':
frameworks/native: Make Thread::run threadName argument required
83b1e685d252e589fa4a2e7e54c1f416aca63043 13-Mar-2016 Brian Carlstrom <bdc@google.com> frameworks/native: Make Thread::run threadName argument required

Bug: 27557176
Change-Id: I009046d04cc127ee280c7b2038c04fab540fc5e6
ui/ConsumerBase.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTextureGLThreadToGL.h
ui/tests/SurfaceTextureGL_test.cpp
be5b932dc627d4be931aa7cab985ef12b4f7cfb2 11-Mar-2016 Christopher Wiley <wiley@google.com> Merge "libbinder: Make null handling explicit for strong binders"
am: b5f08e43d8

* commit 'b5f08e43d89081ed48307f8a2e883c6c78d37fa1':
libbinder: Make null handling explicit for strong binders
b5f08e43d89081ed48307f8a2e883c6c78d37fa1 11-Mar-2016 Christopher Wiley <wiley@google.com> Merge "libbinder: Make null handling explicit for strong binders"
ebfa3dbad0487354602db43e6720ede0721e963e 10-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "ui: Fix Rect::reduce" into nyc-dev
am: 91531884dd

* commit '91531884ddca48dcec107860ac263e88603a0af3':
ui: Fix Rect::reduce
91531884ddca48dcec107860ac263e88603a0af3 10-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "ui: Fix Rect::reduce" into nyc-dev
19d72c06ac2bc2f57609a4eed3b228f1b4efae8a 10-Mar-2016 Pablo Ceballos <pceballos@google.com> ui: Fix Rect::reduce

- Properly handle the case where the Rect to be excluded is completely
outside the other Rect.

Bug 27415039

Change-Id: I3331d5b3ab231d023348079c781b194d24ac37dd
i/Rect.cpp
ff405785386ed8bdee50c4afdc4a4f9a73bcb81e 09-Mar-2016 zhongjie <zhongjie.shi@intel.com> Release resources when repeating dlopen-dlcose.

When the libbinder.so is dlopen and dlclose many
times, we need to delete the pthread_key and
munmap the memory mapping.

Otherwise, it will crash as the leakage causes
the pthread_key or memory mapping surpass their
limit.

Change-Id: Ice64d4ef685c1f665350286f9e5ddf790beac236
Signed-off-by: zhongjie <zhongjie.shi@intel.com>
inder/IPCThreadState.cpp
inder/ProcessState.cpp
35d77caf8e7e34fa6ac8f4bbc75a52631adc0272 08-Mar-2016 Christopher Wiley <wiley@google.com> libbinder: Make null handling explicit for strong binders

Bug: 27156495
Test: Compiles

Change-Id: I62cade1761377a9ec2921a758307582552e4c2ac
inder/Parcel.cpp
26fd4307cbfa1ccf408e2d7d22851b68f8d64da8 08-Mar-2016 Chong Zhang <chz@google.com> Merge "Fix warning when force-disconnect but there is no connected API" into nyc-dev
am: 82a7ddc4b1

* commit '82a7ddc4b1ddc76df553c2633ce3bfe72bb9319b':
Fix warning when force-disconnect but there is no connected API
26bb2b1c0d8f7b05feb40b0e5bf1bb384e1b5f55 08-Mar-2016 Chong Zhang <chz@google.com> Fix warning when force-disconnect but there is no connected API

It's not really an error, we can return early.

bug: 27295820
Change-Id: I450ca615cf9c33b9aaef9c31eec8217c97516df5
ui/BufferQueueProducer.cpp
054ce05abb0ea309a6c39cb5095948f1e34c2da8 02-Mar-2016 Eino-Ville Talvala <etalvala@google.com> Merge "GUI: Move Surface.aidl here and implement for native" into nyc-dev
am: cc19ec809e

* commit 'cc19ec809e45616449f332d2e72c754d7debf9fb':
GUI: Move Surface.aidl here and implement for native
cc19ec809e45616449f332d2e72c754d7debf9fb 02-Mar-2016 Eino-Ville Talvala <etalvala@google.com> Merge "GUI: Move Surface.aidl here and implement for native" into nyc-dev
b02287cfb8022a42cf41183acf7860139603d279 02-Mar-2016 Chong Zhang <chz@google.com> Merge "Add SurfaceControl::disconnect() to disconnect currently connected API" into nyc-dev
am: 649449dbb7

* commit '649449dbb777e58ea5f6f1af61f84022d088190c':
Add SurfaceControl::disconnect() to disconnect currently connected API
edf9f2e6cd8043a8bf035de1a9cfa487a49e838a 02-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Revert "Partial revert of "Fix Surface slot caching"""" into nyc-dev
am: 4782b268d5

* commit '4782b268d54d737294de7b51bdff4ecda2f1c1f0':
Revert "Revert "Partial revert of "Fix Surface slot caching"""
4782b268d54d737294de7b51bdff4ecda2f1c1f0 02-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Revert "Partial revert of "Fix Surface slot caching"""" into nyc-dev
3827379b2e414b4c96793dd3555302638db02562 02-Mar-2016 Pablo Ceballos <pceballos@google.com> Revert "Revert "Partial revert of "Fix Surface slot caching"""

This reverts commit 16c9c304a33af36faa352d32777bc48c50bf7b74.

Change-Id: Icbdcba8a646ac40c0533c1c04f5b15769332976c
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IProducerListener.cpp
ui/tests/IGraphicBufferProducer_test.cpp
88612912ac8406f2be0eeff97892274f98509017 06-Jan-2016 Eino-Ville Talvala <etalvala@google.com> GUI: Move Surface.aidl here and implement for native

- Move android/view/Surface.aidl parcelable definition from frameworks/base
- Implement matching native behavior to android.view.Surface parceling,
to enable use of android.view.Surface in generated native AIDL interfaces

Bug: 25091611
Change-Id: I87ffbb9a19c27a99ce0749d0ca1f17aaa6b3fe74
ui/Surface.cpp
1b3a9acb77ee12568fa19740d8eeab165a0dcd98 01-Mar-2016 Chong Zhang <chz@google.com> Add SurfaceControl::disconnect() to disconnect currently connected API

bug: 27295820
Change-Id: I6f51338bc15e018ed7899172653599ab6254c8c9
ui/BufferQueueProducer.cpp
ui/SurfaceControl.cpp
6cc6fc24678208d87290306432c72ff83015d6cb 01-Mar-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Partial revert of "Fix Surface slot caching""" into nyc-dev
am: d8bb8da1b7

* commit 'd8bb8da1b742c34e0d2c97cfd6d097b21df9bc47':
Revert "Partial revert of "Fix Surface slot caching""
d8bb8da1b742c34e0d2c97cfd6d097b21df9bc47 29-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Revert "Partial revert of "Fix Surface slot caching""" into nyc-dev
5ceb6644aa1031f92e445b715c08d50954a4bf4b 26-Feb-2016 Svet Ganov <svetoslavganov@google.com> Merge "Refresh the native app ops manager\'s token if needed." into nyc-dev
am: 78faa5d037

* commit '78faa5d0374a1a9674498f358e1cbd70a6f57961':
Refresh the native app ops manager's token if needed.
21696381afb69703bef709f151b6a1885582b5ca 26-Feb-2016 Svet Ganov <svetoslavganov@google.com> Refresh the native app ops manager's token if needed.

The app ops manager serivce keeps track of started app ops
by a process by stashing them in a binder object that is
passed to the remote process to hold on to. Hence, the data
is in the system process and is referenced by the client
process it tracks to prevent garbage collaction and limit
risk of resource leaks. It is possible that the client
process is longer lived than the system seriver, e.g. camera
server starts an app op, the system server dies for some
reason, the camera server's app ops manager ends up with
a stale token. The solution is to check the validity of the
token and refresh it if needed.

bug:27344593

Change-Id: I0abb39e777b7b66b1b5cefede7e7b41c4404c4b1
inder/AppOpsManager.cpp
408bc7267d1e0ae14f2e23355d9d6ab984775288 23-Feb-2016 Dan Stoza <stoza@google.com> Merge changes I8cc3ce7d,Ie1a7bfd2,Id472ed4e into nyc-dev
am: a4c2c3ba1e

* commit 'a4c2c3ba1ed2d741edfa652bf8f2bab229389e8e':
libgui: Allow for pending releases in GLConsumer
SF: HWC2 C++ shim
SF: HWC2On1Adapter
a4c2c3ba1ed2d741edfa652bf8f2bab229389e8e 23-Feb-2016 Dan Stoza <stoza@google.com> Merge changes I8cc3ce7d,Ie1a7bfd2,Id472ed4e into nyc-dev

* changes:
libgui: Allow for pending releases in GLConsumer
SF: HWC2 C++ shim
SF: HWC2On1Adapter
3ce460440b0ab0b6d6407c9d8735b19f6e3b8408 18-Nov-2015 Dan Stoza <stoza@google.com> libgui: Allow for pending releases in GLConsumer

Adds the ability for GLConsumer to record a pending release instead of
releasing the buffer immediately. This will be used by SurfaceFlinger
to latch a new buffer without having to immediately release the old
one, since it needs to get a fence from HWC before releasing.

Change-Id: I8cc3ce7d5ff80e2ea4b4d681b028db042352d229
ui/GLConsumer.cpp
43158c919463529fa7f7e8fa86e11cabc7bf56f1 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66 am: e39a6e160d am: 5e0fa1d392 am: 5da66d4fca am: ea91df0a24 am: f32db75e29 am: 804776a095
am: c59eed57f0

* commit 'c59eed57f048f3568f99e5d64ea9e15130ace78d':
Add SN logging
c59eed57f048f3568f99e5d64ea9e15130ace78d 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66 am: e39a6e160d am: 5e0fa1d392 am: 5da66d4fca am: ea91df0a24 am: f32db75e29
am: 804776a095

* commit '804776a095086816268d819ebeb7de2934afac1d':
Add SN logging
804776a095086816268d819ebeb7de2934afac1d 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66 am: e39a6e160d am: 5e0fa1d392 am: 5da66d4fca am: ea91df0a24
am: f32db75e29

* commit 'f32db75e29da29d79889b874ad2a8f40ade0dfaf':
Add SN logging
f32db75e29da29d79889b874ad2a8f40ade0dfaf 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66 am: e39a6e160d am: 5e0fa1d392 am: 5da66d4fca
am: ea91df0a24

* commit 'ea91df0a249368d058d409e6d125ebfcd9afa4ec':
Add SN logging
ea91df0a249368d058d409e6d125ebfcd9afa4ec 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66 am: e39a6e160d am: 5e0fa1d392
am: 5da66d4fca

* commit '5da66d4fca1b95ffe45883e637cbcbb693ea6cf4':
Add SN logging
5da66d4fca1b95ffe45883e637cbcbb693ea6cf4 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66 am: e39a6e160d
am: 5e0fa1d392

* commit '5e0fa1d39283de9e41df9fccfee6a8f6102421cb':
Add SN logging
5e0fa1d39283de9e41df9fccfee6a8f6102421cb 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging am: d46695bb66
am: e39a6e160d

* commit 'e39a6e160d4dcf16531c2afe3364e639be58a2f7':
Add SN logging
ec7538a254f283afc7b046aa8ca2fe908d4e3b0c 23-Feb-2016 Pablo Ceballos <pceballos@google.com> DO NOT MERGE Add SN logging
am: 24cd2b9627

* commit '24cd2b96279ac29b936ba09ed708b1bcb922d04c':
DO NOT MERGE Add SN logging
e39a6e160d4dcf16531c2afe3364e639be58a2f7 23-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging
am: d46695bb66

* commit 'd46695bb661ee294a0778e403044cd910c233ec1':
Add SN logging
697b227bcfb92087a8f23626a01453278a776702 22-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Remove unused native binder impl." into nyc-dev
am: f0e9d712b5

* commit 'f0e9d712b5461bdb8b487e9fa6f981fa4fe02a2f':
Remove unused native binder impl.
f0e9d712b5461bdb8b487e9fa6f981fa4fe02a2f 22-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Remove unused native binder impl." into nyc-dev
9ba6f66139ce638c607a05672d914454ed3a07a1 22-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Add a callback thread to ConsumerBase" into nyc-dev
am: d880e517a5

* commit 'd880e517a56d2a73199591bcb9531a4ffa5b53cc':
Add a callback thread to ConsumerBase
d880e517a56d2a73199591bcb9531a4ffa5b53cc 22-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Add a callback thread to ConsumerBase" into nyc-dev
24cd2b96279ac29b936ba09ed708b1bcb922d04c 20-Feb-2016 Pablo Ceballos <pceballos@google.com> DO NOT MERGE Add SN logging

Bug 27046057

Change-Id: I942876c09fdbe841c19807e463f5426287e07803
ui/BufferQueue.cpp
d46695bb661ee294a0778e403044cd910c233ec1 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Add SN logging

Bug 27046057

Change-Id: Iede7c92e59e60795df1ec7768ebafd6b090f1c27
ui/BufferQueueConsumer.cpp
a0ed8e394594aa0b4407fca71a104fbfe204f775 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Add interface for controlling single buffer auto refresh" into nyc-dev
am: aaf51e52cf

* commit 'aaf51e52cfa937a8938a4429a14432a8424c66d0':
Add interface for controlling single buffer auto refresh
aaf51e52cfa937a8938a4429a14432a8424c66d0 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Add interface for controlling single buffer auto refresh" into nyc-dev
22b5702b40eca423171124e69c3d4ad03a3e6900 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Add a callback thread to ConsumerBase

- Add a message queue and callback thread in ConsumerBase.
- This is used to prevent deadlocks when ConsumerBase calls into
BufferQueueConsumer and that generates a callback.

Bug 27229287

Change-Id: I45c41e5a554555511fcfa5c185a7d60b0d969b7e
ui/ConsumerBase.cpp
ui/tests/SurfaceTextureGLToGL_test.cpp
7928be71f5f50abb3defdc55db753400f339c061 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3 am: 7e83de0114 am: f419ec1bfb am: 8b640e6403 am: 5d2c73e7dc am: 724f7954db am: 82b9819d93
am: 738d34b162

* commit '738d34b162e0b54fbbc04f72c46204b5adb6554f':
BQ: Add permission check to BufferQueueConsumer::dump
738d34b162e0b54fbbc04f72c46204b5adb6554f 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3 am: 7e83de0114 am: f419ec1bfb am: 8b640e6403 am: 5d2c73e7dc am: 724f7954db
am: 82b9819d93

* commit '82b9819d930c48124812c1a499a91218305a5d14':
BQ: Add permission check to BufferQueueConsumer::dump
82b9819d930c48124812c1a499a91218305a5d14 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3 am: 7e83de0114 am: f419ec1bfb am: 8b640e6403 am: 5d2c73e7dc
am: 724f7954db

* commit '724f7954dba26a23a36c7832b37ea722987c3491':
BQ: Add permission check to BufferQueueConsumer::dump
724f7954dba26a23a36c7832b37ea722987c3491 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3 am: 7e83de0114 am: f419ec1bfb am: 8b640e6403
am: 5d2c73e7dc

* commit '5d2c73e7dc9d4d23a76ca92c0170233e897fe55c':
BQ: Add permission check to BufferQueueConsumer::dump
5d2c73e7dc9d4d23a76ca92c0170233e897fe55c 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3 am: 7e83de0114 am: f419ec1bfb
am: 8b640e6403

* commit '8b640e6403de9dd328b2605c9f21b62d1d31e7d6':
BQ: Add permission check to BufferQueueConsumer::dump
8b640e6403de9dd328b2605c9f21b62d1d31e7d6 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3 am: 7e83de0114
am: f419ec1bfb

* commit 'f419ec1bfb969f1add4c90b5b188041968f5f227':
BQ: Add permission check to BufferQueueConsumer::dump
f419ec1bfb969f1add4c90b5b188041968f5f227 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev am: 793be16dd3
am: 7e83de0114

* commit '7e83de0114538b006b4299fd608983ecd61b6422':
BQ: Add permission check to BufferQueueConsumer::dump
1d0e811e5ac853669fe96370e499428049a5b7ee 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "DO NOT MERGE BQ: Add permission check to BufferQueueConsumer::dump" into klp-dev
am: c232606413

* commit 'c2326064136adb834d12c3fed47af5d66cd42c15':
DO NOT MERGE BQ: Add permission check to BufferQueueConsumer::dump
7e83de0114538b006b4299fd608983ecd61b6422 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev
am: 793be16dd3

* commit '793be16dd31661e0e95915caa6fc99afc4acc3f6':
BQ: Add permission check to BufferQueueConsumer::dump
793be16dd31661e0e95915caa6fc99afc4acc3f6 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "BQ: Add permission check to BufferQueueConsumer::dump" into lmp-dev
c2326064136adb834d12c3fed47af5d66cd42c15 20-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "DO NOT MERGE BQ: Add permission check to BufferQueueConsumer::dump" into klp-dev
2e6bfcfd6e712bd5f9e82eea5e783c1e9b072291 19-Feb-2016 Ian Pedowitz <ijpedowitz@google.com> Merge "Revert "Revert "Fix warnings in servicemanager and KeyCharacterMap""" into nyc-dev
am: 4318b9c88c

* commit '4318b9c88cca12485082687658ee3bab5ecd9013':
Revert "Revert "Fix warnings in servicemanager and KeyCharacterMap""
750f91cef9ce9cc5cba76661d921511750758252 19-Feb-2016 Ian Pedowitz <ijpedowitz@google.com> Merge "Revert "Fix warnings in servicemanager and KeyCharacterMap"" into nyc-dev
am: 3f0d762955

* commit '3f0d762955d4478256848fef92f7c5b105ff1509':
Revert "Fix warnings in servicemanager and KeyCharacterMap"
4318b9c88cca12485082687658ee3bab5ecd9013 19-Feb-2016 Ian Pedowitz <ijpedowitz@google.com> Merge "Revert "Revert "Fix warnings in servicemanager and KeyCharacterMap""" into nyc-dev
d57d9b900da83b1b5431d90e250f86c0047c618a 19-Feb-2016 Ian Pedowitz <ijpedowitz@google.com> Revert "Revert "Fix warnings in servicemanager and KeyCharacterMap""

This reverts commit b480269b0f8e933fa6fc6bd4c9e1e504e1b51508.

Change-Id: If405c0786c5bdd02e3f2c3356d56a4200c6b9dfb
nput/KeyCharacterMap.cpp
3f0d762955d4478256848fef92f7c5b105ff1509 19-Feb-2016 Ian Pedowitz <ijpedowitz@google.com> Merge "Revert "Fix warnings in servicemanager and KeyCharacterMap"" into nyc-dev
b480269b0f8e933fa6fc6bd4c9e1e504e1b51508 19-Feb-2016 Ian Pedowitz <ijpedowitz@google.com> Revert "Fix warnings in servicemanager and KeyCharacterMap"

This reverts commit d3b4c050f6bcdfd44bfb9c8ed885fd1c482c50bb.

Change-Id: I961f89d4446ac23f0e267c6541b504c4ec6b3af1
nput/KeyCharacterMap.cpp
2d3dcdb8786578f9f5d001309f64b65aebc4a1d8 19-Feb-2016 Aurimas Liutikas <aurimas@google.com> Merge "Fix warnings in servicemanager and KeyCharacterMap" into nyc-dev
am: ee741270dd

* commit 'ee741270dd0c70f12a36a70c72dfeed428f1f273':
Fix warnings in servicemanager and KeyCharacterMap
ee741270dd0c70f12a36a70c72dfeed428f1f273 19-Feb-2016 Aurimas Liutikas <aurimas@google.com> Merge "Fix warnings in servicemanager and KeyCharacterMap" into nyc-dev
d3b4c050f6bcdfd44bfb9c8ed885fd1c482c50bb 19-Feb-2016 Aurimas Liutikas <aurimas@google.com> Fix warnings in servicemanager and KeyCharacterMap

- Suppress unused parameter warnings.
- Remove a few unused parameters.
- Set the correct formatting for size_t log.

Bug: 26936282
Change-Id: I2e2acb15d1bc05c6ba09563a87d5baceebe7ebd9
nput/KeyCharacterMap.cpp
16c9c304a33af36faa352d32777bc48c50bf7b74 19-Feb-2016 Pablo Ceballos <pceballos@google.com> Revert "Partial revert of "Fix Surface slot caching""

This reverts commit 981066c3a5be3e4775b6537ef32268f7e108c912.
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IProducerListener.cpp
ui/tests/IGraphicBufferProducer_test.cpp
8c3d16018eb00eda1cf8c6bb717313a4852e611d 18-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Partial revert of "Fix Surface slot caching"" into nyc-dev
am: 8164ce1d59

* commit '8164ce1d59f505f7e6eb5bce66864879b021f2b6':
Partial revert of "Fix Surface slot caching"
8164ce1d59f505f7e6eb5bce66864879b021f2b6 18-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Partial revert of "Fix Surface slot caching"" into nyc-dev
981066c3a5be3e4775b6537ef32268f7e108c912 18-Feb-2016 Pablo Ceballos <pceballos@google.com> Partial revert of "Fix Surface slot caching"

- Partially reverts commit 789a0c82cb370d6b82f401cc130af58c85802cbf.
- Leaves the fix in Surface, but reverts all changes to the
Producer/Consumer listeners.

Bug 27246023
Bug 27229287

Change-Id: I9283f9e59e666b5ae44c0db25f99a80d05eea3ee
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IProducerListener.cpp
ui/tests/IGraphicBufferProducer_test.cpp
0b1cf331d281d28eb67b3aa2be01026c2ceda4d9 09-Feb-2016 Casey Dahlin <sadmac@google.com> libbinder: Allow readByteVector to take uint8_t

Change-Id: I2f0d1f3b4c04f04e7a866e9a4cf76c899b4b4980
Test: AIDL integration tests pass
Bug: 27078230
inder/Parcel.cpp
c78404c14274ebe69babbbdd0d829948636a72c0 18-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Remove unused native binder impl.

Bug: 27073437
Change-Id: I65eca22cc42164715610e461d2e390decab202f9
inder/IProcessInfoService.cpp
131a1046a22bf4814992d5803d7b0bd4bc11aed0 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab am: ef6908e2b3 am: 97f49e50de am: 84f488f354 am: ebdad60d6b am: fc598c54d9 am: f9e5e80bc1 am: 15364d3ec0 am: 049c5df3e5
am: e72aa1b14d

* commit 'e72aa1b14debdd73d2295724a467fef1a094e9b2':
Sanity check IMemory access versus underlying mmap
e72aa1b14debdd73d2295724a467fef1a094e9b2 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab am: ef6908e2b3 am: 97f49e50de am: 84f488f354 am: ebdad60d6b am: fc598c54d9 am: f9e5e80bc1 am: 15364d3ec0
am: 049c5df3e5

* commit '049c5df3e59a2d56c47deddc6ec20bf1eba4f50e':
Sanity check IMemory access versus underlying mmap
0e93732cf1b32fb001d4e99e6f49b97aab91a247 17-Feb-2016 Bill Yi <byi@google.com> Merge commit 'db5c5bb0259fa024517d9a151726785facba4f02' into HEAD
049c5df3e59a2d56c47deddc6ec20bf1eba4f50e 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab am: ef6908e2b3 am: 97f49e50de am: 84f488f354 am: ebdad60d6b am: fc598c54d9 am: f9e5e80bc1
am: 15364d3ec0

* commit '15364d3ec0fda521cd796fc28a2a8d6a68e2cf95':
Sanity check IMemory access versus underlying mmap
15364d3ec0fda521cd796fc28a2a8d6a68e2cf95 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab am: ef6908e2b3 am: 97f49e50de am: 84f488f354 am: ebdad60d6b am: fc598c54d9
am: f9e5e80bc1

* commit 'f9e5e80bc1fe9255fa65b7185514d86beee5952a':
Sanity check IMemory access versus underlying mmap
f9e5e80bc1fe9255fa65b7185514d86beee5952a 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab am: ef6908e2b3 am: 97f49e50de am: 84f488f354 am: ebdad60d6b
am: fc598c54d9

* commit 'fc598c54d945c48ade547a52a01e2e704df1618b':
Sanity check IMemory access versus underlying mmap
fc598c54d945c48ade547a52a01e2e704df1618b 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab am: ef6908e2b3 am: 97f49e50de am: 84f488f354
am: ebdad60d6b

* commit 'ebdad60d6b0560493e50092c30888d3a7b5cc8c9':
Sanity check IMemory access versus underlying mmap
ebdad60d6b0560493e50092c30888d3a7b5cc8c9 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab am: ef6908e2b3 am: 97f49e50de
am: 84f488f354

* commit '84f488f354c33a7ece30cb569c85cd91f0259066':
Sanity check IMemory access versus underlying mmap
84f488f354c33a7ece30cb569c85cd91f0259066 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab am: ef6908e2b3
am: 97f49e50de

* commit '97f49e50ded651f1ddcf8a9981a7d97fe2816ad7':
Sanity check IMemory access versus underlying mmap
97f49e50ded651f1ddcf8a9981a7d97fe2816ad7 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap am: 94b0d4e3ab
am: ef6908e2b3

* commit 'ef6908e2b3e6ee6514620acc338b458ade7c3640':
Sanity check IMemory access versus underlying mmap
ef6908e2b3e6ee6514620acc338b458ade7c3640 17-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap
am: 94b0d4e3ab

* commit '94b0d4e3ab023cfa03a7a4e85f3e09d3743da715':
Sanity check IMemory access versus underlying mmap
1dba36ce8a0681921e8f3571fac5ec52da16762c 17-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Allocate buffers locally in systems without SurfaceFlinger" am: afcf267cbd
am: 225a2901af

* commit '225a2901af2fb08e1cc47103565bc35eedb45752':
Allocate buffers locally in systems without SurfaceFlinger
afcf267cbd86316cd98c96bc82400479c965d8d6 17-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Allocate buffers locally in systems without SurfaceFlinger"
94b0d4e3ab023cfa03a7a4e85f3e09d3743da715 06-Feb-2016 Christopher Tate <ctate@google.com> Sanity check IMemory access versus underlying mmap

Bug 26877992

Change-Id: Ibbf4b1061e4675e4e96bc944a865b53eaf6984fe
inder/IMemory.cpp
45f33a57d6755c81db3c0dcbc6f49d1c4ca53e56 11-Feb-2016 Christopher Wiley <wiley@google.com> Allocate buffers locally in systems without SurfaceFlinger

In Brillo systems, we have no applications and configure
SELinux policy statically. In this model, we do not need
a special service to allocate buffers, since any process
that needs buffers can be appropriately marked at build time.

Bug: 26936651
Test: A test program on brilloemulator can allocate buffers for
the camera with this patch.

Change-Id: Ifcdb7a4b878f9a26f4899c7b75a12447dcdb0ac9
ui/Android.mk
ui/BufferQueueCore.cpp
3188c3c8d0a1f55d7bd7e541efd4e5d291ce6ac4 16-Feb-2016 Samuel Tan <samueltan@google.com> Merge "libbinder: add getters for PersistableBundle keys" am: 4f321d1629
am: 0c81a4a5fb

* commit '0c81a4a5fbed3c6b8351d567c1737491c11582f3':
libbinder: add getters for PersistableBundle keys
4f321d1629e2b848b4e9a5304ab4a9262bc81569 16-Feb-2016 Samuel Tan <samueltan@google.com> Merge "libbinder: add getters for PersistableBundle keys"
88f692852f99a7d0ae3990211d193b06ad209818 12-Feb-2016 Pablo Ceballos <pceballos@google.com> BQ: Add permission check to BufferQueueConsumer::dump

Bug 27046057

Change-Id: Id7bd8cf95045b497943ea39dde49e877aa6f5c4e
ui/BufferQueueConsumer.cpp
64e357ddf546a069f5c7eaa748de46b7045a6339 12-Feb-2016 Pablo Ceballos <pceballos@google.com> DO NOT MERGE BQ: Add permission check to BufferQueueConsumer::dump

Bug 27046057
Change-Id: I387178708f460596433f75bb059854a26cc22e78
ui/BufferQueue.cpp
3ec34b60f6a27bd363d97c8dfad806a594b10d19 16-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Fix Surface slot caching" into nyc-dev
am: 3130422a1d

* commit '3130422a1d7a7d2a5d528cd161e860fb5f66d353':
Fix Surface slot caching
3130422a1d7a7d2a5d528cd161e860fb5f66d353 16-Feb-2016 Pablo Ceballos <pceballos@google.com> Merge "Fix Surface slot caching" into nyc-dev
8ead8634b302320f76fa06e1c122af004bbcb757 16-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Replace AppOpsManager locking with std::lock_guard" am: d3a9228d1d
am: 3f40743c4f

* commit '3f40743c4f2cc86c505238cf5f597efca41277de':
Replace AppOpsManager locking with std::lock_guard
d3a9228d1d2388f21b4e8013cf2fad7b4c91ace7 16-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Replace AppOpsManager locking with std::lock_guard"
2b133f89ae696fd03c9011ed5f96f11639470f40 13-Feb-2016 Dimitry Ivanov <dimitry@google.com> Merge "Add missing liblog dependency" am: 39f1abac3c
am: 3b3e298583

* commit '3b3e2985832ffb5d3fb3b6af4dc8be66f8fd01b0':
Add missing liblog dependency
1d5a4cb4348a323c091dfaaf49fe6c4877904516 13-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Don\'t rely on AppOpsManager in systems without applications" am: 46c32a1b1c
am: c61c5c05ef

* commit 'c61c5c05ef2c64d6a0dca6be8eab7842143529b6':
Don't rely on AppOpsManager in systems without applications
70fc20c24fde43a4e3c5693668bd0ac797611e33 13-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Fix race in AppOpsManager client library" am: 712fe62ab2
am: f2936d7bec

* commit 'f2936d7bec9ce8e56f1bd4df052376dea192c809':
Fix race in AppOpsManager client library
eca95691e1a733f4995f5342d8f2263a4d10e427 13-Feb-2016 Dimitry Ivanov <dimitry@google.com> Add missing liblog dependency

Bug: http://b/27171986
Change-Id: Ifbe01c6b325e7198a95ea865f557b0c9acb65809
ui/tests/Android.mk
5975c00c4a3b9cca08e6e960826d4bdec93c2dbf 13-Feb-2016 Christopher Wiley <wiley@google.com> Replace AppOpsManager locking with std::lock_guard

Change-Id: Ice4c101659837cea594194cfb335f9f3f6837f38
inder/AppOpsManager.cpp
46c32a1b1c895ec7630686aa8228785479f8fe92 13-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Don't rely on AppOpsManager in systems without applications"
712fe62ab282b3897fc1ee98e35b12d95663be52 13-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Fix race in AppOpsManager client library"
52545f2e3c9f942f59b416ba63e1b6068700d783 12-Feb-2016 Samuel Tan <samueltan@google.com> libbinder: add getters for PersistableBundle keys

Add getters for the keys in each map stored in
PersistableBundle. This will allow users of
PersistableBundle to iterate over entries of
a specific type in PersistableBundle.

Also, add "using" statements to PersistableBundle
for std containers to reduce verbosity.

BUG: 27171235
Change-Id: Idd4b3bf713071ca8d8d023f1f83bdaf3ccbdd46f
TEST: libbinder compiles successfully.
inder/PersistableBundle.cpp
c20f5b904adeb99185a896fd669c211f93ffc1b1 12-Feb-2016 Casey Dahlin <sadmac@google.com> Merge "libbinder: Allow readByteVector to take uint8_t" am: dda39f2a22
am: f226203232

* commit 'f2262032320c31a87659df81b0b1db76ea3310dd':
libbinder: Allow readByteVector to take uint8_t
dce5c559712031b3cb8039067819c11c1a4e16f9 11-Feb-2016 Pablo Ceballos <pceballos@google.com> BQ: Fix iterator use

Don't use an iterator after it's been removed from the container.

Change-Id: I374b454bba95d10dcec6a600bf8f16e5636e426b
ui/BufferQueueProducer.cpp
789a0c82cb370d6b82f401cc130af58c85802cbf 05-Feb-2016 Pablo Ceballos <pceballos@google.com> Fix Surface slot caching

- Now that it's possible to resize a BufferQueue while buffers are
dequeued/acquired, it's no longer correct for Surface to clear its
cache when the BufferQueue is resized since it must keep at least
the currently dequeued buffers.
- Add an onSlotsFreed callback to IProducerListener so that producers
that wish to be notified about buffers being freed can do so. Note
that this isn't currently used in Surface.
- Review and fixup all the places where the producer/consumer
listeners for freed buffers should be called.

Change-Id: I4ab0c92bc69b75a3c072ddf5d74d78f941dba4c8
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IProducerListener.cpp
ui/Surface.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/Surface_test.cpp
ff95aabbcc6e8606acbd7933c90eeb9b8b382a21 14-Jan-2016 Pablo Ceballos <pceballos@google.com> Add interface for controlling single buffer auto refresh

- Adds a boolean to BufferQueue that controls whether or not auto
refresh is enabled in SurfaceFlinger when in single buffer mode.
- Adds plumbing up to ANativeWindow.
- When enabled, it will cache the shared buffer slot in Surface in
order to prevent the Binder transaction with SurfaceFlinger.

Bug 24940410

Change-Id: I83142afdc00e203f198a32288f071d926f8fda95
ui/BufferItem.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
185d3447d8a62d4d93d19125b82dbc3f9e12dda2 09-Feb-2016 Casey Dahlin <sadmac@google.com> libbinder: Allow readByteVector to take uint8_t

Change-Id: I2f0d1f3b4c04f04e7a866e9a4cf76c899b4b4980
Test: AIDL integration tests pass
Bug: 27078230
inder/Parcel.cpp
8ed4270fea554ced8898be205727279db1c5c677 05-Feb-2016 Christopher Wiley <wiley@google.com> Don't rely on AppOpsManager in systems without applications

Brillo has no applications, and doesn't run AppOpsManager. Instead,
services are granted statically configured SELinux permissions at
build time. Rely on that configuration rather than Android's
dynamically configurable permission model.

Bug: 26936651
Test: Test code on Brillo system is able to connect to the camera.

Change-Id: I84b72a762c2f534c2e1cc6f99ef2003388fb1265
inder/AppOpsManager.cpp
d509e55025a8d3519bdb8b4d943605a4a422367b 05-Feb-2016 Mark Salyzyn <salyzyn@google.com> Merge "system_server BINDER_TYPE_FD driver ashmem accessors" am: b23a388c64 am: 3196c839af
am: 6ff4920cb1

* commit '6ff4920cb12fa4776d27b54e2e4daa27bb78fc10':
system_server BINDER_TYPE_FD driver ashmem accessors
6ff4920cb12fa4776d27b54e2e4daa27bb78fc10 05-Feb-2016 Mark Salyzyn <salyzyn@google.com> Merge "system_server BINDER_TYPE_FD driver ashmem accessors" am: b23a388c64
am: 3196c839af

* commit '3196c839af9ea74c59f5860c0d1f6e7e20b7a65e':
system_server BINDER_TYPE_FD driver ashmem accessors
6dd4552614e0dcddeefde322185fe118f175fa47 05-Feb-2016 Christopher Wiley <wiley@google.com> Fix race in AppOpsManager client library

If the service stays down for more than 10 seconds, client threads
will time out attempting to obtain a reference, and never release
the mutex. This causes deadlock on the next attempt to speak
with the AppOpsManager.

Test: System without AppOpsManager service no longer hangs in camera
code.

Change-Id: I5a8ac2f0f35345f72c3d2a45b9d1fc5a78d28a51
inder/AppOpsManager.cpp
70f3665f8272b2f6d05e77ff0c17683b4b7f82b7 02-Feb-2016 Mark Salyzyn <salyzyn@google.com> system_server BINDER_TYPE_FD driver ashmem accessors

check if device matches the ashmem rdev, before calling
ashmem_get_size_region. This eliminates making this call
when associated with other driver file descriptors.

Bug: 26374183
Bug: 26918423
Bug: 26871259
Change-Id: I1f88c2c93ea35a73c8e14125f3d1a6c67fa4f15b
inder/Parcel.cpp
72daab652e3481566c01ce45c6afdb9fcec6f140 08-Dec-2015 Pablo Ceballos <pceballos@google.com> BQ: Flexible resizing

- Allow the producer to call setMaxDequeuedBufferCount and the
consumer to call setMaxAcquiredBufferCount when buffers are
currently dequeued/acquired as long as the new value is not less
than the number of dequeued/acquired buffers.

Bug 22768206

Change-Id: I599a4027a6ae9cb0a1c0d5ec60cb5e65b86a345b
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
9e314337cdc65b1fbf52060e9a6a4ddf2215c352 12-Jan-2016 Pablo Ceballos <pceballos@google.com> BQ: Conditionally compile validateConsistencyLocked

- Only enable it on userdebug and eng builds so that it won't slow
down user builds.

Change-Id: I70933a23d54657fdf5cbc23873da4fbee84b9a26
ui/Android.mk
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
23b4abe024ea88c45e0b94c80e1fb537a573b143 08-Jan-2016 Pablo Ceballos <pceballos@google.com> BQ: Improved buffer/slot tracking

- Explicitly track active buffers and unused slots on top of the
already existing tracking for free slots and free buffers.

Change-Id: Ife2678678e96f0eb0b3fb21571058378134bd868
ui/BufferItem.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/Surface.cpp
8267a0b4d044c345e5bb24e19ea266d52381886c 01-Feb-2016 Andreas Gampe <agampe@google.com> Merge "Binder: Add log output in IPCThreadState::self()" am: 2be113a248 am: e7ae3b1962
am: 35cadd735a

* commit '35cadd735aa3db14e82e7d492f7f7d64357e915a':
Binder: Add log output in IPCThreadState::self()
35cadd735aa3db14e82e7d492f7f7d64357e915a 01-Feb-2016 Andreas Gampe <agampe@google.com> Merge "Binder: Add log output in IPCThreadState::self()" am: 2be113a248
am: e7ae3b1962

* commit 'e7ae3b1962d0b4cb83ede79f625e75c9d88d35fb':
Binder: Add log output in IPCThreadState::self()
2be113a2489e7d56b21f8ec340198959348012b3 01-Feb-2016 Andreas Gampe <agampe@google.com> Merge "Binder: Add log output in IPCThreadState::self()"
040424fdf9378cab658847f97050f725f4d7bdc3 01-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Add support for decoding UTF16 to UTF8" am: ac4728f8ba am: 7b0c8479ae
am: 4ab1dbe559

* commit '4ab1dbe5594b672532db5996dce3b77dbedd7580':
Add support for decoding UTF16 to UTF8
4ab1dbe5594b672532db5996dce3b77dbedd7580 01-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Add support for decoding UTF16 to UTF8" am: ac4728f8ba
am: 7b0c8479ae

* commit '7b0c8479ae68c6596df21879c6470ff21560ea03':
Add support for decoding UTF16 to UTF8
ac4728f8ba54e5f25466efeaf65a1dbda179ca97 01-Feb-2016 Christopher Wiley <wiley@google.com> Merge "Add support for decoding UTF16 to UTF8"
f31a3eb3290c4154bd04113c8bb859a499f288b6 01-Feb-2016 Andreas Gampe <agampe@google.com> Binder: Add log output in IPCThreadState::self()

In the failure case, and on shutdown, add log output. It's highly
likely the client will crash when a null value is returned. Displaying
a possible root cause helps diagnosing issues.

Bug: 26865304
Change-Id: Ie5255ac50d6dcdf9f918dcef785788ea795a4791
inder/IPCThreadState.cpp
9a5e32f141fdb43edc1bb31ceacec781b35281b3 29-Jan-2016 Christopher Wiley <wiley@google.com> Add support for decoding UTF16 to UTF8

This is helpful because many native service developers use std::string
internally, and String16 doesn't work very well with many C++
primitives.

Bug: 26729450
Test: Integration test appears to show this is correct.

Change-Id: Ib75068881da28fd8515685bcbcbe864ba3b7ec23
inder/Parcel.cpp
a20eb797c462189ba6641308d80e638501db0a18 29-Jan-2016 Alain Vongsouvanh <alainv@google.com> Merge changes I68ed9d1c,I4ebccfd0,I3507bdfd,Iaf02f55c into cw-e-dev
am: d6ad64f894

* commit 'd6ad64f89439b61eb1af2e5d8ca957c3887d9e56':
system_server BINDER_TYPE_FD sockets using ashmem accessors
Parcel: file descriptor leak
Parcel: include Android coding standard
Parcel: LOG_TAG cleanup
d6ad64f89439b61eb1af2e5d8ca957c3887d9e56 29-Jan-2016 Alain Vongsouvanh <alainv@google.com> Merge changes I68ed9d1c,I4ebccfd0,I3507bdfd,Iaf02f55c into cw-e-dev

* changes:
system_server BINDER_TYPE_FD sockets using ashmem accessors
Parcel: file descriptor leak
Parcel: include Android coding standard
Parcel: LOG_TAG cleanup
393aa435964aa24413235a34dda686bd0f693e45 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> system_server BINDER_TYPE_FD sockets using ashmem accessors

check if device is a character device, before calling
ashmem_get_size_region. We do not check if the st_rdev
matches /dev/ashmem. So this at least eliminates making
this call when associated with a socket.

Bug: 26374183
Change-Id: I68ed9d1c2cd4c47228ed065e3e18eb4151f038f4
(cherry picked from AOSP commit eab2afc7ac5183750a23693ecee89dad7f7abf5f)
inder/Parcel.cpp
9cc62e8713aa3c53127e676ec084f1c01dcd769a 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Parcel: file descriptor leak

Resolve a file descriptor leak when a request for
ashmem size adjustment is not filed.

Change-Id: I4ebccfd096ec5313725fd99dc3e025f9561d061f
(cherry picked from AOSP commit b454d8ffa928e33dd54c979a747994acbd117397)
inder/Parcel.cpp
8bb1a530ccf02aa7c6cea6a3bcbcdcc59200f0e6 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Parcel: include Android coding standard

Change-Id: I3507bdfd04a06db85b46539338c787395ec652ff
(cherry picked from AOSP commit abed7f7aebdbdd20fdb37d0d6e79e50905c7f5d5)
inder/Parcel.cpp
4d64cf9e09bebd1d7d6851aa00c021f8d2d4e91e 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Parcel: LOG_TAG cleanup

NB: several ALOG messages behind comments, recommend removal

Change-Id: Iaf02f55cbf7ef0ee7c4a6ee67c7f8b57cf97cd26
(cherry picked from AOSP commit e93390b0bd336cd1b69abebf6eeffd18881f531b)
inder/Parcel.cpp
08f41ad292ea8d5d615155489a9a5ed598a17bb5 28-Jan-2016 Peng Xu <pengxu@google.com> Merge "Dynamic Sensor Discovery implementation"
b18a09887b44a68909ce80d52c7f66fb2c0b970f 27-Jan-2016 Ashutosh Joshi <ashutoshj@google.com> Merge "Adding support for new sensor types"
7b46ef23e0d9a74ab122b14b934767c6a8d5b2fd 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Merge "system_server BINDER_TYPE_FD sockets using ashmem accessors" am: cf9944684f
am: becad77245

* commit 'becad77245e5549600e996b287ad47e8c0edcd46':
system_server BINDER_TYPE_FD sockets using ashmem accessors
becad77245e5549600e996b287ad47e8c0edcd46 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Merge "system_server BINDER_TYPE_FD sockets using ashmem accessors"
am: cf9944684f

* commit 'cf9944684f438a1c3a47ab16c3efa4fa5d57f921':
system_server BINDER_TYPE_FD sockets using ashmem accessors
f00283fca166b058ed804f1d19135bad9a5422a6 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Merge changes I4ebccfd0,I3507bdfd,Iaf02f55c am: acca0abaf1
am: f6ec7d5e3a

* commit 'f6ec7d5e3a55ee7eca4203dc386b6d0837b8e660':
Parcel: file descriptor leak
Parcel: include Android coding standard
Parcel: LOG_TAG cleanup
f6ec7d5e3a55ee7eca4203dc386b6d0837b8e660 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Merge changes I4ebccfd0,I3507bdfd,Iaf02f55c
am: acca0abaf1

* commit 'acca0abaf15318a6a260addd78566383bd4110a5':
Parcel: file descriptor leak
Parcel: include Android coding standard
Parcel: LOG_TAG cleanup
eab2afc7ac5183750a23693ecee89dad7f7abf5f 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> system_server BINDER_TYPE_FD sockets using ashmem accessors

check if device is a character device, before calling
ashmem_get_size_region. We do not check if the st_rdev
matches /dev/ashmem. So this at least eliminates making
this call when associated with a socket.

Bug: 26374183
Change-Id: I68ed9d1c2cd4c47228ed065e3e18eb4151f038f4
inder/Parcel.cpp
b454d8ffa928e33dd54c979a747994acbd117397 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Parcel: file descriptor leak

Resolve a file descriptor leak when a request for
ashmem size adjustment is not filed.

Change-Id: I4ebccfd096ec5313725fd99dc3e025f9561d061f
inder/Parcel.cpp
abed7f7aebdbdd20fdb37d0d6e79e50905c7f5d5 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Parcel: include Android coding standard

Change-Id: I3507bdfd04a06db85b46539338c787395ec652ff
inder/Parcel.cpp
e93390b0bd336cd1b69abebf6eeffd18881f531b 27-Jan-2016 Mark Salyzyn <salyzyn@google.com> Parcel: LOG_TAG cleanup

NB: several ALOG messages behind comments, recommend removal

Change-Id: Iaf02f55cbf7ef0ee7c4a6ee67c7f8b57cf97cd26
inder/Parcel.cpp
1b4566c4172244a5ac23a2de7ee53f43000b45bf 15-Jan-2016 Ashutosh Joshi <ashutoshj@google.com> Adding support for new sensor types

Adding support for new sensor types
i) 6DOF pose sensor.
ii) Motion Detect Sensor.
iii) Stationary Detect Sensor.
iv) Heart Beat Sensor.

Change-Id: Icebd222a2301f719bc0d24d4873fa2fabea1b2fa
ui/Sensor.cpp
05249fc2d0da542efa46acdb7b10a619a68538e1 16-Jan-2016 Craig Donner <cdonner@google.com> Adds private EGL extension to create an EGLClientBuffer from a gralloc'd buffer. This lets you create a color EGLimage backed by gralloc, which is needed to support protected textures.

Bug: 22775237
Bug: 22855417

Change-Id: I8e03061d74a74a8fdd6524ffa97a6c75a6ced89c
ui/BufferQueueProducer.cpp
ca19b6a4d347dae318157988134471f9d40e2052 26-Jan-2016 Nick Vaccaro <nvaccaro@google.com> Merge "[DO NOT MERGE ANYWHERE] Fix bodysensor permission" into cw-e-dev
b7beb52d622f901d2c2efd3b8ebd1879514d3e88 22-Jan-2016 Peng Xu <pengxu@google.com> [DO NOT MERGE ANYWHERE] Fix bodysensor permission

Bug: 26481493
Bug: 26447970

Change-Id: Iaadf64814c03ae8098c8553ac98d19b77c1eabcd
ui/SensorManager.cpp
2576cb63b3fe1592f54816625036566b9eb0793a 20-Jan-2016 Peng Xu <pengxu@google.com> Dynamic Sensor Discovery implementation

Defined the dynamic sensor meta data type and UUID of sensor.

Implementation in sensorservice and the native SensorManager to
support Dynamic sensor discovery.

Change-Id: I9df2f2ae51d46cd946a9757393f7a60b52cc4fb8
ui/ISensorServer.cpp
ui/Sensor.cpp
ui/SensorManager.cpp
8af07499231374a259033c009a1616590ac34322 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c am: dc9ec35294 am: 9d959e2755 am: edb7c81a1b am: 2a7a1247cb am: 40ba03fc68 am: ea2b6c68e1 am: 6df23e81f7 am: c748125025
am: db5c5bb025

* commit 'db5c5bb0259fa024517d9a151726785facba4f02':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
2c062b34fb166bbe6b3648a7e82c738c414dca5d 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7 am: 7ee203b59d am: dc252255af am: 202aaa8f97 am: ec87aa5218 am: c5cb7c489b am: e8cceaf02f am: aef60500d2
am: 362647d373

* commit '362647d37327db2ed53301398a9de7c030af2d42':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
db5c5bb0259fa024517d9a151726785facba4f02 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c am: dc9ec35294 am: 9d959e2755 am: edb7c81a1b am: 2a7a1247cb am: 40ba03fc68 am: ea2b6c68e1 am: 6df23e81f7
am: c748125025

* commit 'c7481250259144c2f7795408ad971f4a9319d996':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
c7481250259144c2f7795408ad971f4a9319d996 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c am: dc9ec35294 am: 9d959e2755 am: edb7c81a1b am: 2a7a1247cb am: 40ba03fc68 am: ea2b6c68e1
am: 6df23e81f7

* commit '6df23e81f762ec7bdf3d575582ad51aaef5172cf':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
362647d37327db2ed53301398a9de7c030af2d42 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7 am: 7ee203b59d am: dc252255af am: 202aaa8f97 am: ec87aa5218 am: c5cb7c489b am: e8cceaf02f
am: aef60500d2

* commit 'aef60500d2a505c3dbbea74f62053c0bb072d5a7':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
40ba03fc68e6c234bb8604784716cb2481ad1c67 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c am: dc9ec35294 am: 9d959e2755 am: edb7c81a1b
am: 2a7a1247cb

* commit '2a7a1247cb4829daaaa4e6a6ee3e670cd2f068bf':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
aef60500d2a505c3dbbea74f62053c0bb072d5a7 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7 am: 7ee203b59d am: dc252255af am: 202aaa8f97 am: ec87aa5218 am: c5cb7c489b
am: e8cceaf02f

* commit 'e8cceaf02f7e15e1ef0c3446c4287ce58cc325ba':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
2a7a1247cb4829daaaa4e6a6ee3e670cd2f068bf 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c am: dc9ec35294 am: 9d959e2755
am: edb7c81a1b

* commit 'edb7c81a1b99d2456910b03db9e4ac250eac2fab':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
edb7c81a1b99d2456910b03db9e4ac250eac2fab 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c am: dc9ec35294
am: 9d959e2755

* commit '9d959e275561bcace3aab1f9df009c6c880003fa':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
ec87aa52189d5d3bbf5df214ab099d5de9f5836c 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7 am: 7ee203b59d am: dc252255af
am: 202aaa8f97

* commit '202aaa8f97083b68c0a736f4cd432f61c9b0989d':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
9d959e275561bcace3aab1f9df009c6c880003fa 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c
am: dc9ec35294

* commit 'dc9ec35294b8ec6b6c349b826edc9b44f4ddb96d':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
202aaa8f97083b68c0a736f4cd432f61c9b0989d 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7 am: 7ee203b59d
am: dc252255af

* commit 'dc252255af835bb3a69bc9a0d01da12419c0fc05':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
dc252255af835bb3a69bc9a0d01da12419c0fc05 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7
am: 7ee203b59d

* commit '7ee203b59d9a74d485ce2fdfd07e96b2d10ff23b':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
dc9ec35294b8ec6b6c349b826edc9b44f4ddb96d 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37
am: 413318311c

* commit '413318311c8cc356dd7e0837ce26e937a9f4c56a':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
413318311c8cc356dd7e0837ce26e937a9f4c56a 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak
am: d06421fd37

* commit 'd06421fd37fbb7fd07002e6738fac3a223cb1a62':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
7ee203b59d9a74d485ce2fdfd07e96b2d10ff23b 15-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
am: dded8fdbb7

* commit 'dded8fdbb700d6cc498debc69a780915bc34d755':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
522628219e5860eecc469ae6b396fe28e8577e09 13-Jan-2016 Dongwon Kang <dwkang@google.com> Merge "Add a way for SystemUI to receive media resource (e.g. A/V codec) usage"
2652c17bcf78ba307ef8cf8389a02d51b37d595b 14-Dec-2015 Dongwon Kang <dwkang@google.com> Add a way for SystemUI to receive media resource (e.g. A/V codec) usage

Bug: 26175834
Change-Id: I16320fa41dd852768a370af0a0740691d1ddacdf
inder/Android.mk
inder/IMediaResourceMonitor.cpp
d06421fd37fbb7fd07002e6738fac3a223cb1a62 12-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferProducer: fix QUEUE_BUFFER info leak

Bug: 26338109
Change-Id: I8a979469bfe1e317ebdefa43685e19f9302baea8
ui/IGraphicBufferProducer.cpp
35f475653c2ca922acc358c607b204c8fafd6ad5 12-Jan-2016 Dan Stoza <stoza@google.com> Merge "Revert "libgui: Remove custom BufferQueue allocators""
70982a5f95f68295244e5f6cc037c193713a5259 12-Jan-2016 Dan Stoza <stoza@google.com> Revert "libgui: Remove custom BufferQueue allocators"

This reverts commit acd56150573d3a6d449c0de01f93c6f269d121e3.

Change-Id: I877f63a57fbddb4dcff71b3909b460ecc05981eb
ui/BufferQueue.cpp
ui/BufferQueueCore.cpp
dded8fdbb700d6cc498debc69a780915bc34d755 11-Jan-2016 Robert Shih <robertshih@google.com> IGraphicBufferConsumer: fix ATTACH_BUFFER info leak

Bug: 26338113
Change-Id: I019c4df2c6adbc944122df96968ddd11a02ebe33
ui/IGraphicBufferConsumer.cpp
9c024aa3977ba8ab3bcb72c27a11021d02e372cf 08-Jan-2016 Dan Stoza <stoza@google.com> libui: Remove FramebufferNativeWindow

We no longer support the framebuffer device, so FramebufferNativeWindow
is no longer relevant.

Change-Id: I97c427bb7c0b209bbf33e61900466bde7df43e85
i/Android.mk
i/FramebufferNativeWindow.cpp
acd56150573d3a6d449c0de01f93c6f269d121e3 08-Jan-2016 Dan Stoza <stoza@google.com> libgui: Remove custom BufferQueue allocators

Removes the ability to set a custom GraphicBuffer allocator for a
BufferQueue. Custom-allocated buffers may still be used through the
attachBuffer call.

Change-Id: I127bdfb496fc089a61c7e266c8bd2b906d41f32e
ui/BufferQueue.cpp
ui/BufferQueueCore.cpp
3bb0c8810fb461a64f04bce81f32ca1994fde9b5 06-Jan-2016 Dan Stoza <stoza@google.com> libgui: Remove custom allocator from tests

The StreamSplitter test used a custom allocator to ensure that only one
GraphicBuffer was ever allocated during the test run. Now we can ensure
that by disabling allocation on the relevant BufferQueues after
allocating that one buffer, so the custom allocator is unnecessary.

Change-Id: I98289bda669c50a93ba9b70ceca1781203ad83b2
ui/tests/StreamSplitter_test.cpp
5ecfb68ffd63d352df0392dca6e95ef67a66c679 05-Jan-2016 Dan Stoza <stoza@google.com> libgui: Fix attaching buffers without allocation

This changes the way that BufferQueue selects slots in
waitForFreeSlotThenRelock. This method is called from both
dequeueBuffer and attachBuffer, but those two methods actually have
different preferences:

dequeueBuffer wants a slot with a buffer if possible (to avoid
unnecessary allocations), but will settle for a slot without a buffer
if no free buffers are available.

attachBuffer wants a slot without a buffer if possible (to avoid
clobbering an existing buffer), but will settle with clobbering a free
buffer if no empty slots are available.

These preferences are now respected, which has the side-effect of
fixing a bug where it was not possible to attach a buffer if allocation
is disabled (since the previous implementation assumed finding a slot
without a buffer meant that the caller intended to allocate a buffer,
which would accordingly be blocked since allocation is disabled).

Bug: 26387372
Change-Id: Iefd550fd01925d8c51d6f062d5708d1f6d517edd
ui/BufferQueueProducer.cpp
ui/tests/BufferQueue_test.cpp
127fc63e8a15366b4395f1363e8e18eb058d1709 30-Jun-2015 Dan Stoza <stoza@google.com> libgui: Add dequeue/attach timeout

Adds the ability to specify the timeout when dequeueBuffer or
attachBuffer block due to the lack of a free buffer/slot. By default,
these will block indefinitely (which is signified by a timeout of -1).

When a timeout (other than -1) is specified, non-blocking mode is
disabled and the given timeout will be used instead.

Bug: 25196773
Change-Id: I17fdbeebccb7c8d878703d758ac1209608258e61
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ff1697c120a5d97a61307709fc2227830ceefa38 24-Dec-2015 Nick Kralevich <nnk@google.com> Merge "More O_CLOEXEC" am: 43e4260831
am: 66824c36ce

* commit '66824c36ce08ae86a057440e33a5fe1a23ef01f1':
More O_CLOEXEC
66824c36ce08ae86a057440e33a5fe1a23ef01f1 24-Dec-2015 Nick Kralevich <nnk@google.com> Merge "More O_CLOEXEC"
am: 43e4260831

* commit '43e4260831cc3d0d96c05fe18a8cad3018b5795f':
More O_CLOEXEC
0fe7ce375ed6c9fcd86b8bb3a836bc37c9740831 24-Dec-2015 Nick Kralevich <nnk@google.com> More O_CLOEXEC

Change-Id: I31991ed089f395174857e86e509b8190ad98f92a
inder/ProcessState.cpp
inder/tests/binderDriverInterfaceTest.cpp
c2e7788721489c5a2ef681fd0bfa591d2ce41175 17-Dec-2015 Robert Carr <racarr@google.com> Expose setScalingMode from Surface.

While we are here fix a validation error causing
NATIVE_WINDOW_SCALING_MODE_NO_SCALE_CROP to never be applied.
Furthermore, we remove GLConsumer logic causing the scaling mode to
be reinitialized when buffers change.

Bug: 26010823
Change-Id: I1bf1e4fdc2eded67ff401783cf24f920e4684326
ui/GLConsumer.cpp
ui/Surface.cpp
79a27adb5a5993a72d2c77f9ca692bfc57baf22c 17-Dec-2015 Samuel Tan <samueltan@google.com> Remove repeated ProcessInfoService.cpp include from Android.mk

BUG: None

Change-Id: I990f3bc7a10a98cfb52fbfd741a0f00492abb94a
inder/Android.mk
2b6725e53a59ce50871405024b7086a73088721a 17-Dec-2015 Samuel Tan <samueltan@google.com> Merge "Fix format specifiers for size_t types" am: 0d77698233
am: 656186456f

* commit '656186456f2413831bc0127ac6843ca6f2d8e66e':
Fix format specifiers for size_t types
7556ad481bf1bbba2d5556f69bee9fca01c72b93 17-Dec-2015 Samuel Tan <samueltan@google.com> resolve merge conflicts of ee6b4b6467 to master.

Change-Id: Ia17df264a6d7800a8fd2f0d39c2017ab48181894
656186456f2413831bc0127ac6843ca6f2d8e66e 17-Dec-2015 Samuel Tan <samueltan@google.com> Merge "Fix format specifiers for size_t types"
am: 0d77698233

* commit '0d77698233ffcbc812c2586693546355ce521603':
Fix format specifiers for size_t types
715dec70e0d3b61679ddac3355e567a787b66f69 17-Dec-2015 Samuel Tan <samueltan@google.com> Fix format specifiers for size_t types

Use %zu instead of %u for logging size_t types, which
are of the unsigned long type, not the unsigned int type.

BUG: None
Change-Id: I5af6c2ea544a5f11b283bc9aebe8b5f0cfc605ec
inder/PersistableBundle.cpp
ee6b4b6467f11d77f7e26fd4f5f242ccdd1e3365 17-Dec-2015 Samuel Tan <samueltan@google.com> Merge "Add support for PersistableBundle in C++"
am: aca58acb59

* commit 'aca58acb594efb35b51e49d2d330fe1dbe16d7fd':
Add support for PersistableBundle in C++
aca58acb594efb35b51e49d2d330fe1dbe16d7fd 17-Dec-2015 Samuel Tan <samueltan@google.com> Merge "Add support for PersistableBundle in C++"
f15194ae49b77b030a4062d2a083803dce410467 16-Dec-2015 Casey Dahlin <sadmac@google.com> Merge "Allow null values for Parcel readers and writers"
am: 4df4842186

* commit '4df484218624081ee5de68798fe8bbf26efdc069':
Allow null values for Parcel readers and writers
a3b9b1dd3983f534af5b8b219de4f611316751e0 26-Nov-2015 Casey Dahlin <sadmac@google.com> Allow null values for Parcel readers and writers

Test: AIDL integration tests pass
Bug: 25969194
Change-Id: Ib7023c8e02af49e08c9921f1d097e5967c1d378e
Signed-off-by: Casey Dahlin <sadmac@google.com>
inder/Parcel.cpp
b9872623ca0f2366c348d6d40a8ba45ee0e87710 26-Nov-2015 Casey Dahlin <sadmac@google.com> Allow null values for Parcel readers and writers

Test: AIDL integration tests pass
Bug: 25969194
Change-Id: Ib7023c8e02af49e08c9921f1d097e5967c1d378e
Signed-off-by: Casey Dahlin <sadmac@google.com>
inder/Parcel.cpp
0a31202370581a91b3425e7b60757268d0f6b539 24-Nov-2015 Samuel Tan <samueltan@google.com> Add support for PersistableBundle in C++

Add support for PersistableBundle, a mapping from
String values to various types, in C++.

BUG: 25815410
Change-Id: If609b294a1709314bb4220afc4f2269b556babb8
inder/Android.mk
inder/PersistableBundle.cpp
9547da037ae1a96b67e9410b25e236ce3efe5849 11-Dec-2015 Colin Cross <ccross@android.com> Merge "Fix allocation count" am: b25116f735
am: 4b5d182fd5

* commit '4b5d182fd5055a4052237785164f543fe49b8f1d':
Fix allocation count
4b5d182fd5055a4052237785164f543fe49b8f1d 10-Dec-2015 Colin Cross <ccross@android.com> Merge "Fix allocation count"
am: b25116f735

* commit 'b25116f735e00467057085c18a984aca0cc93a84':
Fix allocation count
b25116f735e00467057085c18a984aca0cc93a84 10-Dec-2015 Colin Cross <ccross@android.com> Merge "Fix allocation count"
491efee877d1f0e631f651a7c1b2bd736fc52a00 09-Dec-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Enable service specific error codes" am: dff3651eed
am: 4be265f142

* commit '4be265f14235aa8e3339fca9abca847517fd3a74':
libbinder: Enable service specific error codes
4be265f14235aa8e3339fca9abca847517fd3a74 09-Dec-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Enable service specific error codes"
am: dff3651eed

* commit 'dff3651eed393f4a6e7b5fcbea1d91de981e91a0':
libbinder: Enable service specific error codes
dff3651eed393f4a6e7b5fcbea1d91de981e91a0 09-Dec-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Enable service specific error codes"
c1e491d5a4923298b612de919537d4293574b443 21-Nov-2015 Christopher Wiley <wiley@google.com> libbinder: Enable service specific error codes

Add another factory method that takes a message and service
specific error code.

Bug: 25800533
Test: system/tools/aidl integration tests pass

Change-Id: I592cb7def0538576965d14c200ab58548b3bef32
inder/Status.cpp
83ec65e19a8b5e1ae11e789b3d79d08543b09193 09-Dec-2015 Colin Cross <ccross@android.com> Fix allocation count

The realloc case in continueWrite should not increment the counter,
the pointer passed to realloc is guaranteed to be non-NULL so the total
number of allocations will not have changed.

When realloc is called in restartWrite mData has not been checked
against NULL, increment the counter if it was NULL.

Bug: 26086286
Change-Id: I4c8af450cca1868b91793c0c5f0d8c4b4b5badbe
inder/Parcel.cpp
0bd49eb442c0e6913617380cd6f520a0b488773d 08-Dec-2015 Dan Stoza <stoza@google.com> Merge "Fix the execution point of onFrameAvailable/onFrameReplaced callbacks" am: 789ede379d am: 67322258c0
am: d76538a4db

* commit 'd76538a4dbc69b4231150a8902049fb13f5140be':
Fix the execution point of onFrameAvailable/onFrameReplaced callbacks
d76538a4dbc69b4231150a8902049fb13f5140be 08-Dec-2015 Dan Stoza <stoza@google.com> Merge "Fix the execution point of onFrameAvailable/onFrameReplaced callbacks" am: 789ede379d
am: 67322258c0

* commit '67322258c0a42852bee446a5a99f8b64e1953683':
Fix the execution point of onFrameAvailable/onFrameReplaced callbacks
67322258c0a42852bee446a5a99f8b64e1953683 08-Dec-2015 Dan Stoza <stoza@google.com> Merge "Fix the execution point of onFrameAvailable/onFrameReplaced callbacks"
am: 789ede379d

* commit '789ede379d2f19ce284866c72bcaad7e8255b1cc':
Fix the execution point of onFrameAvailable/onFrameReplaced callbacks
82fbb121763e16dcf58fb2a3e65d2f93543d9078 07-Dec-2015 Christian Poetzsch <christian.potzsch@imgtec.com> Fix the execution point of onFrameAvailable/onFrameReplaced callbacks

In a4650a5 the concept of a maximum frame number allowance for the consumer was
introduced. A call to acquireBuffers will only return buffers when their frame
number is less-than-or-equal-to this maximum frame number. When SurfaceFlinger
is the consumer, this maximum frame number is calculated in the
onFrameAvailable/onFrameReplaced callbacks. These callbacks are called when a
new buffer is dequeued by the application. The problem is that these callbacks
are called _after_ the fence wait which is used to throttle the frame
production of client apps. When the previous frame needs a long time to draw,
those waits can potentially be a long time. As a result SurfaceFlinger won't do
any composition with the new frame until the wait is over.

Normally this isn't a big problem because there is a queue of buffers for
SurfaceFlinger to work with. However, this changes massively when a client app
is using a swap interval of zero. In this case, a new frame will instantly
replace the previous queued frame. However, SurfaceFlinger doesn't know this
until the onFrameReplaced callback gets called - which is delayed by the fence
wait. If the timing is bad, SurfaceFlinger never gets a chance to pick up a new
frame to do the composition with.

We see this behaviour on our TC development system (slow GPU) with legacy
on-screen benchmarks. Such apps are using a swap interval of zero and sometimes
frames don't get updated for several seconds. This behaviour can be also seen
on a Nexus5, although it isn't as obvious as on our TC.

The fix in this cl is to move the EGL throttling to the end of the queueBuffers
function. This ensures that if a frame gets replaced in the queue, all
consumers who installed the callbacks, get called in a timely fashion.

Change-Id: I36e9ecda162150f41e97d4fb7437963a3d86b371
Signed-off-by: Christian Poetzsch <christian.potzsch@imgtec.com>
ui/BufferQueueProducer.cpp
f26a8c22c189363013636752af0dacde369a8485 03-Dec-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Handle transaction failures correctly" am: 823fa55aec am: 302abd03b6
am: 20034368bc

* commit '20034368bcfabeb307d4ff6ee653a9e0287f7fed':
libbinder: Handle transaction failures correctly
20034368bcfabeb307d4ff6ee653a9e0287f7fed 03-Dec-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Handle transaction failures correctly" am: 823fa55aec
am: 302abd03b6

* commit '302abd03b6db600c41b353213002ba552b3e0097':
libbinder: Handle transaction failures correctly
302abd03b6db600c41b353213002ba552b3e0097 03-Dec-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Handle transaction failures correctly"
am: 823fa55aec

* commit '823fa55aec55684605e6f4c764ec20901066553c':
libbinder: Handle transaction failures correctly
cff7f175c1a4f790fdc64a56695c5b4b08b6bb6e 23-Nov-2015 Christopher Wiley <wiley@google.com> libbinder: Handle transaction failures correctly

Java code expects status_t != OK to be caught at the JNI level in
android_util_Binder.cpp (see signalExceptionForError). We were
incorrectly mapping this kind of failure to a special exception type
and writing that exception type to parcels.

Instead, refuse to write EX_TRANSACTION_FAILED to a parcel and return
the status value instead.

While here, remove non-trivial constructors to push authors toward the
more explicit factory methods. Remove getException() and push authors
toward using the simpler getter methods. Fix minor camelCase issues.

Bug: 25615695
Test: system/tools/aidl integration tests still pass

Change-Id: I7cad3ac8ae8300b5ac0b466606f4934d01e503c5
inder/Status.cpp
c72a90a335556be566628e1b0a76b3bd818498b4 01-Dec-2015 Chong Zhang <chz@google.com> Add API for retrieving oom scores from ActivityManagerService

bug: 25853091
Change-Id: I3848ee96dc845eb654b5177edc5a6b472024a852
inder/IProcessInfoService.cpp
8c3e55f4149deda3ec7c7a67fda81216d5f9af25 02-Dec-2015 Ben Fennema <fennema@google.com> Revert "DO NOT MERGE ANYWHERE Add new interface for sensor physical data"

This reverts commit d4db70a7b8b2d136c46c50f89b276f8150be5fc2.

Change-Id: Ifb52d5595970a5178e12c2a90da4aac0e38f5942
ui/ISensorServer.cpp
ui/SensorManager.cpp
d4db70a7b8b2d136c46c50f89b276f8150be5fc2 09-Oct-2015 Jani Suonpera <jasuonpe@gmail.com> DO NOT MERGE ANYWHERE Add new interface for sensor physical data

This is special solution only for emerald branch.

Changes including new const char* value/interface for sensor physical data. Sensor service and manager does not take care of content, structure or other
details of string. Sensor HAL is taking care of parsing data from string and setting values to Sensor HW.

Change-Id: I3abc3ddc7c6adc4b32a40b9a43f2a94c5af7b2b0
Signed-off-by: Ben Fennema <fennema@google.com>
ui/ISensorServer.cpp
ui/SensorManager.cpp
afc0f5551d7d886bb853fe0d27d50f1e4811ce9a 26-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for file descriptors and vectors thereof" am: 8f237272e0 am: 0ebbd1ef19
am: 8c0dbf9121

* commit '8c0dbf91213ce1ac25df68b6efdc13fa7f89ca80':
Add support for file descriptors and vectors thereof
8c0dbf91213ce1ac25df68b6efdc13fa7f89ca80 23-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for file descriptors and vectors thereof" am: 8f237272e0
am: 0ebbd1ef19

* commit '0ebbd1ef19a4a4f6b0dfcc8d8d7c625ab5211f9d':
Add support for file descriptors and vectors thereof
0ebbd1ef19a4a4f6b0dfcc8d8d7c625ab5211f9d 23-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for file descriptors and vectors thereof"
am: 8f237272e0

* commit '8f237272e0630b8f279db7f90aebfff73a1a9c00':
Add support for file descriptors and vectors thereof
06673e38983baad380e818c5493b7faccf3b2393 23-Nov-2015 Casey Dahlin <sadmac@google.com> Add support for file descriptors and vectors thereof

We use ScopedFd from nativehelper to manage the lifetime.

Test: Passes AIDL unit and integration tests. Full build completes and
runs.
Bug: 25242023
Signed-off-by: Casey Dahlin <sadmac@google.com>

Change-Id: I22c87ed1cb3bd4bf667b372ea4a2e9fcd4dd986a
inder/Parcel.cpp
e0c44ed2625f28533736b91a1922b71c53803ab0 23-Nov-2015 Pablo Ceballos <pceballos@google.com> Merge "Don't generate EGL fence in single buffer mode"
bd6a46d44cc950c49e94bb242a8ac7e3c4cf08cb 23-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Add support for C++ Parcelable" am: 49b5443a49 am: 6c31acd969
am: cf6d7d1925

* commit 'cf6d7d1925531b4a327294757fb8595387c170e7':
libbinder: Add support for C++ Parcelable
cf6d7d1925531b4a327294757fb8595387c170e7 23-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Add support for C++ Parcelable" am: 49b5443a49
am: 6c31acd969

* commit '6c31acd969ffc754e514885fa7f4d0c25403f580':
libbinder: Add support for C++ Parcelable
6c31acd969ffc754e514885fa7f4d0c25403f580 23-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Add support for C++ Parcelable"
am: 49b5443a49

* commit '49b5443a49d737d13c8d05dfd9b827b2c4198edc':
libbinder: Add support for C++ Parcelable
b36705eb098122fbf1f63ff44481684c27385f8e 22-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Move vector writing templates to header" am: e1aa1c7e13 am: 709ae9a0a5
am: 14b02baada

* commit '14b02baadaa7143c5e059ab0e58c48c1a39de14b':
libbinder: Move vector writing templates to header
33fcc2ecf707bfa15360d6d3ec95c778423d3032 21-Nov-2015 Pablo Ceballos <pceballos@google.com> Don't generate EGL fence in single buffer mode

Don't do sync operations or generate an EGLFence in SurfaceFlinger's
GLConsumer if re-using the same slot for consecutive buffers.

Bug 24940410

Change-Id: I1d42c6e1ebb3be241d3e332e726c898e8671cc8d
ui/GLConsumer.cpp
14b02baadaa7143c5e059ab0e58c48c1a39de14b 20-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Move vector writing templates to header" am: e1aa1c7e13
am: 709ae9a0a5

* commit '709ae9a0a5775c75b81d011ae9624f28787e5b15':
libbinder: Move vector writing templates to header
709ae9a0a5775c75b81d011ae9624f28787e5b15 20-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Move vector writing templates to header"
am: e1aa1c7e13

* commit 'e1aa1c7e136e7372c17b8db7a6d8b307ba4cd571':
libbinder: Move vector writing templates to header
dfefb3c7c87063783b0baeee9c6b534526f51658 20-Nov-2015 Nick Kralevich <nnk@google.com> handle size_t > java max int size
am: cfe27deac7

* commit 'cfe27deac7e0ede89a78b9f03fb4a4159d68be8e':
handle size_t > java max int size
6e361344fda22c98a36c596819470a699896dcac 10-Nov-2015 Christopher Wiley <wiley@google.com> libbinder: Add binder::Status type

(cherry-pick of 09eb749704afd9e226e1347cb20c90be2016cd21)

This object implements equivalent functionality to the Java logic which
serializes and re-throws exceptions from services.

Bug: 25615695
Test: Integration test for generated AIDL code reveals this to work
correctly.

Change-Id: I5a57710a148ffbd18a4a2c6f0f4fb6d409e0bf8f
inder/Android.mk
inder/Parcel.cpp
inder/Status.cpp
97f048d19e51da4ea6ff98d8a9daf38f2577f182 19-Nov-2015 Christopher Wiley <wiley@google.com> libbinder: Add support for C++ Parcelable

Bug: 23600712
Test: compiles, integration tests for Java/C++ compatibility pass

Change-Id: I0919571919a3633350169ed5668bbb000da9691c
inder/Parcel.cpp
03d1eb6bf90bcd0a04b176988478d2e939d3fba0 19-Nov-2015 Christopher Wiley <wiley@google.com> libbinder: Move vector writing templates to header

This allows us to reuse them to read and write vectors of parcelables.

Bug: 23600712
Test: Compiles, aidl integration tests pass

Change-Id: Ibbfc2f158b6b3000b13f35f3c09a0cd3741e8128
inder/Parcel.cpp
f672d2a176d7db706fd8903687e18bbe8be27359 19-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Revert "Add support for unique_fds and vectors of file descriptors"" am: 5cd09786eb am: fb92cfcd3e
am: 4c9066efd0

* commit '4c9066efd0de825247d77c227f264ab4423110be':
Revert "Add support for unique_fds and vectors of file descriptors"
0b04158832292d8b332494a4114513cd6d40cc6f 19-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for unique_fds and vectors of file descriptors" am: b1819fc295 am: 0dd1a5d2f4
am: 7dff1b17af

* commit '7dff1b17afe10c042b799f8e7d4fc9751f65d144':
Add support for unique_fds and vectors of file descriptors
f5504da647324f7e5402d18d9cc10972bf7650aa 19-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Add binder::Status type" am: babed3ea52 am: d352198294
am: a62a2d7629

* commit 'a62a2d7629cf4ff7681912ee488585652e09b63a':
libbinder: Add binder::Status type
fb92cfcd3e8977a6cac0147de80bf2a0fb6a2d87 18-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Revert "Add support for unique_fds and vectors of file descriptors""
am: 5cd09786eb

* commit '5cd09786eb4ff6e99351e8a317205a5efd12ac74':
Revert "Add support for unique_fds and vectors of file descriptors"
5cd09786eb4ff6e99351e8a317205a5efd12ac74 18-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Revert "Add support for unique_fds and vectors of file descriptors""
25a365623c4d703872d8faa4f0674d9514910c45 18-Nov-2015 Casey Dahlin <sadmac@google.com> Revert "Add support for unique_fds and vectors of file descriptors"

This reverts commit 9626d88882972d45576dcceedc037d2e9843196b.

Change-Id: I6121f388d17c6f2d0cf6f31bc42f0804dd72aba2
inder/Android.mk
inder/Parcel.cpp
0dd1a5d2f4e69c5df233fa9468191c03dc9b639f 18-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for unique_fds and vectors of file descriptors"
am: b1819fc295

* commit 'b1819fc295811ca3a005042a80149c8d0655211f':
Add support for unique_fds and vectors of file descriptors
b1819fc295811ca3a005042a80149c8d0655211f 18-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for unique_fds and vectors of file descriptors"
9626d88882972d45576dcceedc037d2e9843196b 05-Nov-2015 Casey Dahlin <sadmac@google.com> Add support for unique_fds and vectors of file descriptors

Change-Id: Ic61e69d9db438b4686032459c896aed2a482c9a5
Test: Unit tests pass
Bug: 25242023
Signed-off-by: Casey Dahlin <sadmac@google.com>
inder/Android.mk
inder/Parcel.cpp
d3521982942874f4149ebc686be581d0ff857734 18-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Add binder::Status type"
am: babed3ea52

* commit 'babed3ea523822f4f5084c3e8a951f2cdf924695':
libbinder: Add binder::Status type
32d29a534b0ed403230c2f213e9391d8ce76318c 13-Nov-2015 Casey Dahlin <sadmac@google.com> Use templates for write*Vector methods

Test: AIDL integration tests still pass
Bug: None
Signed-off-by: Casey Dahlin <sadmac@google.com>

(cherry picked from commit 5f0625695ce6999ec70f5699f70a8a0fa84a1bf6)

Change-Id: I902dd90faa77cba7a2212793bd26a3cfe49fc443
inder/Parcel.cpp
6264c4c194e0bbcd060409e0e8c0abfaae3bdf10 10-Nov-2015 Christopher Wiley <wiley@google.com> libbinder: Return UNEXPECTED_NULL when appropriate

Return a meaningful and consistent error code when libbinder encounters
a null reference that it didn't expect. This allows us to detect these
situations and cause a corresponding NullPointerException to be thrown
on the remote callsite.

While here, consolidate places we read vector<T> from a parcel into a
single templated version. This dramatically reduces code duplication.

Bug: 25617251
Test: Integration tests asserting that vectors serialize correctly
passes. Integration test asserting that we throw
NullPointerException on seeing a null reference also passes.

(cherry picked from commit 4db672ddccb02b2bd70ddb4812c00a5060174c93)

Change-Id: Icdb0b29aaff93e85884314c0304cd786e7b4e34f
inder/Parcel.cpp
3e4b6d219f1f015cdf16a5ae750acd8050d7d9d9 03-Nov-2015 Casey Dahlin <sadmac@google.com> Add support for reading/writing a vector of binders

Test: unit tests pass
Bug: 24470786
Signed-off-by: Casey Dahlin <sadmac@google.com>

(cherry picked from commit eb8e15f9bb29f8794f8be819530631c358fd6a15)

Change-Id: Ia5a282b80c8dea65db296a74edba4f4d4e1000de
inder/Parcel.cpp
714a3ab7ae00f768a92f213119181a7422342c8a 31-Oct-2015 Christopher Wiley <wiley@google.com> Fix bug in byte vector serialization

Byte vectors are used by the generated C++ code as the representation
of Java byte[]. This type is serialized as a packed byte array on
the java side.

Bug: 25012838
Test: integration tests for byte[] show this type crossing language
boundaries correctly.

(cherry picked from commit f0fc52b59be0bf39912f7b698d9bde26415a6096)

Change-Id: I0afd4c9655d642613fd9012c7c1e4e9fc4edd1db
inder/Parcel.cpp
930a572ec310359844d2ab184de85b1ecf1d58be 28-Oct-2015 Casey Dahlin <sadmac@google.com> Add readStrongBinder that takes an interface

We use a template function to let us pass arbitrary interfaces, all of which
can be cast to IBinder.

Test: unit tests
Bug: 23600713
Signed-off-by: Casey Dahlin <sadmac@google.com>

(cherry picked from commit f0c13772d95486d98f034361883b2415bb26a614)

Change-Id: I69e8b534343c299c25cfb591dbdf122860c9ccc5
inder/Parcel.cpp
489931b6ce22434b943bdf8381b376f429b58633 28-Oct-2015 Christopher Wiley <wiley@google.com> libbinder: Fix out of bounds in readBoolVector

Bug: 25012838
Test: This code now works at runtime.

(cherry picked from commit 97887989495318803643c91b196b6bcabf2a7a03)

Change-Id: If9b69836092f40d121a7e62d890c2e1c41080448
inder/Parcel.cpp
210648c40e7c2001cc2a52df532a6ae8f89ac029 21-Oct-2015 Dan Austin <danielaustin@google.com> Fix benign integer overflow in printHexDump

There is an instance where an unsigned integer is multiplied by -1.
Refactor the code to eliminate this operation.

Bug: 25085348

(cherry picked from commit c2bf8e837ecf36639425fc3015cce078f6a08fb9)

Change-Id: I7efa5c3c2f4ff7bd895c1cc74ec244561dc59bb8
inder/Debug.cpp
a5bcc9590a76c2ec0be5a6e8d1db8d8a69d80753 21-Oct-2015 Casey Dahlin <sadmac@google.com> Fix build breakage due to extraneous dereference

(cherry picked from commit 1515ea103e00f6672afad4d27f2e0dec5648d7b6)

Change-Id: I6dd029f5c2a07cfe593da40906f3402ef7a175cc
inder/Parcel.cpp
08bb145a3c82d86ee26d3c567a929a2db41d9101 20-Oct-2015 Casey Dahlin <sadmac@google.com> Add read/write methods for vectors

Also a readString16 with the expected semantics.

Test: Unit tests pass
Bug: 25012838
Signed-off-by: Casey Dahlin <sadmac@google.com>

(cherry picked from commit 451ff582d730e27f4e22d9f158f8ee24d1bc2729)

Change-Id: Iaecde0e94c4cd11126b7efbc2d9876ddae16b090
inder/Parcel.cpp
a37749140585cd76178a93faf3abd27cd2fc30dc 16-Oct-2015 Casey Dahlin <sadmac@google.com> Add methods to Parcel for bool and char and byte

We lift these to int, but handling the details of that here will be better
than having AIDL generate casting code all the time.

Test: unit tests pass
Bug: 24981507
Signed-off-by: Casey Dahlin <sadmac@google.com>

(cherry picked from commit d6848f52e60be17b7f0992be7827dcae4ea2efb1)

Change-Id: I471586463360c37e837b1b8f862da3b5e17f905d
inder/Parcel.cpp
cfe27deac7e0ede89a78b9f03fb4a4159d68be8e 16-Sep-2015 Nick Kralevich <nnk@google.com> handle size_t > java max int size

Cleanly abort if we would have returned a value which can't be safely
handled by the java APIs. I'm not sure this code is reachable, but
adding the check just in case.

Bug: 16676699

(cherry picked from commit 3f6b702b5834330ef061f4ed97677ae90a541f23)

Change-Id: Iddc16f32cb5d46219a4dcb3548bcfeaade0f9c9e
inder/Parcel.cpp
f28b295df90da3b9610cc5d6100039e54d95f49a 10-Sep-2015 Dan Austin <danielaustin@google.com> Benign unsigned integer overflow in Parcel

The realloc case in continueWrite did not update the
gParcelGlobalAllocCount value when an allocation occurred.

In addition, there are conditions that could cause the
gParcelGlobalAllocCount value to be decremented below 0, resulting
in a benign unsigned integer overflow that can cause corrupted values
to be returned through system profiling mechanisms.

BUG: 23972600

(cherry picked from commit 48fd7b457bb0657253d6012e787f50498b32ae42)

Change-Id: I1ad2ac02ab370402481550f6ab8f21fce42455e4
inder/Parcel.cpp
2ab8014d78fe89b022cd8f69024112780fecdd30 19-Aug-2015 Bailey Forrest <bcf@google.com> binder: Change from C11 <stdatomic.h> to C++11 <atomic>.

(cherry picked from commit 6913c46492f1153cecc647a87217fbb0b0d19689)

Change-Id: I6e1c62425864e000eda56fe4ba697ac429438659
inder/Binder.cpp
09eb749704afd9e226e1347cb20c90be2016cd21 10-Nov-2015 Christopher Wiley <wiley@google.com> libbinder: Add binder::Status type

This object implements equivalent functionality to the Java logic which
serializes and re-throws exceptions from services.

Bug: 25615695
Test: Integration test for generated AIDL code reveals this to work
correctly.

Change-Id: Ic80c9def0dd232582ea9c49717ec50894af6bfc2
inder/Android.mk
inder/Parcel.cpp
inder/Status.cpp
b6c59c09b17f32e44bbad297cde12b4ca336d314 13-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Use templates for write*Vector methods" am: 81960facb6 am: d6bb937114
am: 18f0bd5731

* commit '18f0bd57311457a0a9f6229c4c409d985651e56d':
Use templates for write*Vector methods
d6bb937114a945dd1ebe4299ab2dab1bd6ff795e 13-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Use templates for write*Vector methods"
am: 81960facb6

* commit '81960facb673740acd41b72d21febea16ba4986c':
Use templates for write*Vector methods
5f0625695ce6999ec70f5699f70a8a0fa84a1bf6 13-Nov-2015 Casey Dahlin <sadmac@google.com> Use templates for write*Vector methods

Change-Id: I86223bd54940ebe3e8f090b7786ddfa3ee57195e
Test: AIDL integration tests still pass
Bug: None
Signed-off-by: Casey Dahlin <sadmac@google.com>
inder/Parcel.cpp
32ea6a32a3d23de0ed025294d5b31a6f1785eed2 13-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Return UNEXPECTED_NULL when appropriate" am: 41e50f99bc am: fb1f4cf4d4
am: e6dde7a85d

* commit 'e6dde7a85d51ec85da7e3e2463686ec8dbb6925f':
libbinder: Return UNEXPECTED_NULL when appropriate
fb1f4cf4d481f1614bae977b187cdb888c8af09a 12-Nov-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Return UNEXPECTED_NULL when appropriate"
am: 41e50f99bc

* commit '41e50f99bc3b832df2b7249ce1d3fc92e718c98d':
libbinder: Return UNEXPECTED_NULL when appropriate
4db672ddccb02b2bd70ddb4812c00a5060174c93 10-Nov-2015 Christopher Wiley <wiley@google.com> libbinder: Return UNEXPECTED_NULL when appropriate

Return a meaningful and consistent error code when libbinder encounters
a null reference that it didn't expect. This allows us to detect these
situations and cause a corresponding NullPointerException to be thrown
on the remote callsite.

While here, consolidate places we read vector<T> from a parcel into a
single templated version. This dramatically reduces code duplication.

Bug: 25617251
Test: Integration tests asserting that vectors serialize correctly
passes. Integration test asserting that we throw
NullPointerException on seeing a null reference also passes.

Change-Id: Ia59c264884ec89539c1b99cd7bd28ac201b5b7ac
inder/Parcel.cpp
6eaede6acbc672c552579ba54714227f13afae36 05-Nov-2015 Pablo Ceballos <pceballos@google.com> Merge changes from topic 'single_buffer_mode'

* changes:
SF: Force refresh when in single buffer mode
BQ: Add support for single buffer mode
180d61db048389d1a234384836beab943bef6b45 05-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for reading/writing a vector of binders" am: fd6843236f am: 4ed5d8c98e
am: e6788fa5c2

* commit 'e6788fa5c2548db912a098174eb93b784dc8b7dd':
Add support for reading/writing a vector of binders
4ed5d8c98ea74c953b767a84ebfedf9d038dba3b 05-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for reading/writing a vector of binders"
am: fd6843236f

* commit 'fd6843236fe9094fc8868f1a58e6ba4364a485a7':
Add support for reading/writing a vector of binders
fd6843236fe9094fc8868f1a58e6ba4364a485a7 05-Nov-2015 Casey Dahlin <sadmac@google.com> Merge "Add support for reading/writing a vector of binders"
14f8cf12e2764ff554dd0e3b72cc8711b14adffe 03-Nov-2015 Bill Yi <byi@google.com> Merge commit '75c5de42b759bdcfa7c0e6103fb959c28d686116' into HEAD
eb8e15f9bb29f8794f8be819530631c358fd6a15 03-Nov-2015 Casey Dahlin <sadmac@google.com> Add support for reading/writing a vector of binders

Change-Id: Iaa8da704b2ae3c1ca5456177441a335991b40e8a
Test: unit tests pass
Bug: 24470786
Signed-off-by: Casey Dahlin <sadmac@google.com>
inder/Parcel.cpp
063121849890da78b1ad7fb96c54c795de5d1fd6 08-Oct-2015 Pablo Ceballos <pceballos@google.com> SF: Force refresh when in single buffer mode

- Add a boolean to BufferItem to track whether single buffer mode is
enabled. When it is, force SurfaceFlinger to acquire a new buffer
and refresh on every vsync.

Bug 24940410

Change-Id: Iea67330c416b6fb14500865f98c67f1c12f23197
ui/BufferItem.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
ccdfd60d79a8b7f1ed6401d0f2e8e29166a10584 08-Oct-2015 Pablo Ceballos <pceballos@google.com> BQ: Add support for single buffer mode

- Adds a single buffer mode to BufferQueue. In this mode designate the
first dequeued buffer as the shared buffer. All calls to dequeue()
and acquire() will then return the shared buffer, allowing the
producer and consumer to share it.
- Modify the buffer slot state tracking. Add a new SHARED state for
the shared buffer in single buffer mode. Also track how many times
a buffer has been dequeued/queued/acquired as it's possible for a
shared buffer to be both dequeued and acquired at the same time, or
dequeued/acquired multiple times. This tracking is needed to know
when to drop the buffer out of the SHARED state after single buffer
mode has been disabled.
- Add plumbing for enabling/disabling single buffer mode from Surface.

Bug 24940410

Change-Id: I3fc550c74bacb5523c049a227111356257386853
ui/BufferItem.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/BufferSlot.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ef904301b40a4bf841c33e25c824529d451611b9 03-Nov-2015 Christopher Wiley <wiley@google.com> Merge "Fix bug in byte vector serialization" am: fe98e8d6e5 am: 28df99d077
am: 3c0a4d288e

* commit '3c0a4d288eee41b2df2c1f75a0cd8561d8c8cb70':
Fix bug in byte vector serialization
3c0a4d288eee41b2df2c1f75a0cd8561d8c8cb70 03-Nov-2015 Christopher Wiley <wiley@google.com> Merge "Fix bug in byte vector serialization" am: fe98e8d6e5
am: 28df99d077

* commit '28df99d077e86bd395e0f6235238d283773125cf':
Fix bug in byte vector serialization
28df99d077e86bd395e0f6235238d283773125cf 03-Nov-2015 Christopher Wiley <wiley@google.com> Merge "Fix bug in byte vector serialization"
am: fe98e8d6e5

* commit 'fe98e8d6e53ffef172c4571e6c408c4801c3e96c':
Fix bug in byte vector serialization
f0fc52b59be0bf39912f7b698d9bde26415a6096 31-Oct-2015 Christopher Wiley <wiley@google.com> Fix bug in byte vector serialization

Byte vectors are used by the generated C++ code as the representation
of Java byte[]. This type is serialized as a packed byte array on
the java side.

Bug: 25012838
Test: integration tests for byte[] show this type crossing language
boundaries correctly.

Change-Id: I8bb1b8ffcb77ced44f99f6b370226a32694f7df1
inder/Parcel.cpp
b0c8d787040974128dc7c7c2e484da66a2437815 29-Oct-2015 Rob Carr <racarr@google.com> Merge "Support SurfaceView synchronization."
7dde599bf1a0dbef7390d91c2689d506371cdbd7 22-May-2015 Dan Stoza <stoza@google.com> Support SurfaceView synchronization.

Add API for fetching the next frame number to be produced by
a given buffer producer. Add an API to SurfaceComposer to
defer execution of the current transaction until a given frame number.
Together these may be used to synchronize app drawing and surface
control updates.

Change-Id: I8e0f4993332ac0199c768c88581a453fefbaff1d
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/LayerState.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
fe914cc8b4fc57f5787f64f3a217a4ac626998f3 29-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Add readStrongBinder that takes an interface" am: 71b70a244c am: 6319281c24
am: 75c5de42b7

* commit '75c5de42b759bdcfa7c0e6103fb959c28d686116':
Add readStrongBinder that takes an interface
75c5de42b759bdcfa7c0e6103fb959c28d686116 29-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Add readStrongBinder that takes an interface" am: 71b70a244c
am: 6319281c24

* commit '6319281c24284a83f8bab090c6048d864635f0dd':
Add readStrongBinder that takes an interface
6319281c24284a83f8bab090c6048d864635f0dd 29-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Add readStrongBinder that takes an interface"
am: 71b70a244c

* commit '71b70a244c56719d30654b7123a944d971eb8d02':
Add readStrongBinder that takes an interface
f0c13772d95486d98f034361883b2415bb26a614 28-Oct-2015 Casey Dahlin <sadmac@google.com> Add readStrongBinder that takes an interface

We use a template function to let us pass arbitrary interfaces, all of which
can be cast to IBinder.

Change-Id: Iadf21c495cde43e8a5adb85a49e6592196f401ff
Test: unit tests
Bug: 23600713
Signed-off-by: Casey Dahlin <sadmac@google.com>
inder/Parcel.cpp
905f57fa47dd2485e514157dd29133ac4323f7c2 28-Oct-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Fix out of bounds in readBoolVector" am: 1f76049c95 am: 87a30d930a
am: 23cd9ff6d8

* commit '23cd9ff6d80cfb33873728369211e014fd0351a2':
libbinder: Fix out of bounds in readBoolVector
23cd9ff6d80cfb33873728369211e014fd0351a2 28-Oct-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Fix out of bounds in readBoolVector" am: 1f76049c95
am: 87a30d930a

* commit '87a30d930a76a9e73643bbac8737781d72fed33f':
libbinder: Fix out of bounds in readBoolVector
87a30d930a76a9e73643bbac8737781d72fed33f 28-Oct-2015 Christopher Wiley <wiley@google.com> Merge "libbinder: Fix out of bounds in readBoolVector"
am: 1f76049c95

* commit '1f76049c955c605b61ef0d923582c740c325b1a0':
libbinder: Fix out of bounds in readBoolVector
97887989495318803643c91b196b6bcabf2a7a03 28-Oct-2015 Christopher Wiley <wiley@google.com> libbinder: Fix out of bounds in readBoolVector

Bug: 25012838
Test: This code now works at runtime.

Change-Id: I3d6b2677f11276e6be4c51451ca36572a4ee573d
inder/Parcel.cpp
0d2a22ece851b5ee358ac18214ccbfa28c3eb121 23-Oct-2015 Adrian Roos <roosa@google.com> Merge changes from topic \'parcel-v2\' into mnc-dr-dev am: cf33d50d25 am: 0c11f9918c
am: bcc709b94d

* commit 'bcc709b94d72e7f2d03d952dbf8a21b6980fd3a9':
Maintain Parcel ABI
Revert "Revert "Track ashmem memory usage in Parcel""
0aba1c9c49f5c90d2bd816da94eacbc99c1219c7 23-Oct-2015 Adrian Roos <roosa@google.com> Maintain Parcel ABI

Makes sure we don't change the memory layout of the Parcel class
to maintain binary compatibility with prebuilts linking against
libbinder.

Bug: 25004154
Change-Id: I656687497f08bb85cefda796aafa2341e601e30a
(cherry picked from commit 6bb3114246f6f6aa406e65452dbaa12b135029ea)
inder/Parcel.cpp
d5c3a1c080c576b8f3a6e037fe3564900f8c8fb1 23-Oct-2015 Adrian Roos <roosa@google.com> Revert "Revert "Track ashmem memory usage in Parcel""

This reverts commit 6880307e8e35a6c484942443fb4ddd6173126152.

Bug: 25004154
Change-Id: I9b432d1ebc39f3bbcd7afdefc403f0fb6ced8158
(cherry picked from commit cbf3726357966539c2a685f46e61c3fc8937f19e)
inder/Parcel.cpp
6bb3114246f6f6aa406e65452dbaa12b135029ea 23-Oct-2015 Adrian Roos <roosa@google.com> Maintain Parcel ABI

Makes sure we don't change the memory layout of the Parcel class
to maintain binary compatibility with prebuilts linking against
libbinder.

Bug: 25004154
Change-Id: I656687497f08bb85cefda796aafa2341e601e30a
inder/Parcel.cpp
cbf3726357966539c2a685f46e61c3fc8937f19e 23-Oct-2015 Adrian Roos <roosa@google.com> Revert "Revert "Track ashmem memory usage in Parcel""

This reverts commit 6880307e8e35a6c484942443fb4ddd6173126152.

Bug: 25004154
Change-Id: I9b432d1ebc39f3bbcd7afdefc403f0fb6ced8158
inder/Parcel.cpp
4daca51a1a27b1cf47c72e32889506585b9a3757 23-Oct-2015 Ian Pedowitz <ijpedowitz@google.com> Revert "Track ashmem memory usage in Parcel" am: 6880307e8e am: 159a5c3372 am: 7a2643cd77
am: f4ccbf8103

* commit 'f4ccbf8103dadabfc8e2eb01b582d9711f7d2931':
Revert "Track ashmem memory usage in Parcel"
f4ccbf8103dadabfc8e2eb01b582d9711f7d2931 23-Oct-2015 Ian Pedowitz <ijpedowitz@google.com> Revert "Track ashmem memory usage in Parcel" am: 6880307e8e am: 159a5c3372
am: 7a2643cd77

* commit '7a2643cd77f1836844032f8a14f3c03a40c4e581':
Revert "Track ashmem memory usage in Parcel"
a82ace99f76ed815e16ab64eae2e9e55871a8b8f 23-Oct-2015 Flanker <i@flanker017.me> add number constraint for samples per MotionEvent am: 5d17838ade am: 72c8ca4a01 am: 9964d83869 am: 90dc6dc825
am: 9830f11dc6

* commit '9830f11dc6b6aa4001c79147966fdb9eaa71c2f2':
add number constraint for samples per MotionEvent
6880307e8e35a6c484942443fb4ddd6173126152 23-Oct-2015 Ian Pedowitz <ijpedowitz@google.com> Revert "Track ashmem memory usage in Parcel"

This reverts commit e2f499fb734bc30a1e1c947112caa0727349b6ed.

Bug: 25169267
Bug: 25191602
Bug: 25004154
Change-Id: I24bb0da4e8739ee5a0c251e4adac9904827144e0
inder/Parcel.cpp
c1caa5eb6d8ba584b115fae72e87b4f1d540a006 22-Oct-2015 Michael Wright <michaelwr@google.com> Merge "Limit the number of keys read by KeyCharacterMaps."
4c971c001f401d7742db326c8e5654693eb3687e 21-Oct-2015 Michael Wright <michaelwr@google.com> Limit the number of keys read by KeyCharacterMaps.

Apps can send us a KCM containing a ridiculous key count, which will
cause us to crash when an allocation fails. Limit the key count so this
doesn't happen.

Bug: 24876135
Change-Id: I2bb4a5acabfc9184a867a406eef756c28c28f0ad
nput/KeyCharacterMap.cpp
9830f11dc6b6aa4001c79147966fdb9eaa71c2f2 22-Oct-2015 Flanker <i@flanker017.me> add number constraint for samples per MotionEvent am: 5d17838ade am: 72c8ca4a01 am: 9964d83869
am: 90dc6dc825

* commit '90dc6dc825ebd1f0f4c9474fad887cd7eac8e9bd':
add number constraint for samples per MotionEvent
90dc6dc825ebd1f0f4c9474fad887cd7eac8e9bd 22-Oct-2015 Flanker <i@flanker017.me> add number constraint for samples per MotionEvent am: 5d17838ade am: 72c8ca4a01
am: 9964d83869

* commit '9964d83869565cf4dda432129cfe50f6ede19338':
add number constraint for samples per MotionEvent
9964d83869565cf4dda432129cfe50f6ede19338 22-Oct-2015 Flanker <i@flanker017.me> add number constraint for samples per MotionEvent am: 5d17838ade
am: 72c8ca4a01

* commit '72c8ca4a0191827fd3265c0820b685a6cf420be1':
add number constraint for samples per MotionEvent
72c8ca4a0191827fd3265c0820b685a6cf420be1 22-Oct-2015 Flanker <i@flanker017.me> add number constraint for samples per MotionEvent
am: 5d17838ade

* commit '5d17838adef13062717322e79d4db0b9bb6b2395':
add number constraint for samples per MotionEvent
46c369673ef006e1d621b9757f6b78627be11b91 22-Oct-2015 Daniel Erat <derat@google.com> Merge "libbinder: Stub out checkPermissions() on Brillo." am: 0d6d2917cb am: 0923d1017d
am: ce0f028e07

* commit 'ce0f028e07a1659a29b188429dc8bcabf77ffc86':
libbinder: Stub out checkPermissions() on Brillo.
ce0f028e07a1659a29b188429dc8bcabf77ffc86 22-Oct-2015 Daniel Erat <derat@google.com> Merge "libbinder: Stub out checkPermissions() on Brillo." am: 0d6d2917cb
am: 0923d1017d

* commit '0923d1017daf3a56f19027d5ad10355301662455':
libbinder: Stub out checkPermissions() on Brillo.
0923d1017daf3a56f19027d5ad10355301662455 22-Oct-2015 Daniel Erat <derat@google.com> Merge "libbinder: Stub out checkPermissions() on Brillo."
am: 0d6d2917cb

* commit '0d6d2917cb22ba09da632552c7074d3aa110fbdb':
libbinder: Stub out checkPermissions() on Brillo.
0d6d2917cb22ba09da632552c7074d3aa110fbdb 22-Oct-2015 Daniel Erat <derat@google.com> Merge "libbinder: Stub out checkPermissions() on Brillo."
c2832705373b1ba058aafa6064f6ebd30ac6ee48 13-Oct-2015 Daniel Erat <derat@google.com> libbinder: Stub out checkPermissions() on Brillo.

When BRILLO is defined at build-time, avoid checking
permissions with ActivityManager (which isn't built for
Brillo).

Bug: 24907738
Change-Id: I8e277fe45d73d551e3a8ab41bd9dfa2535967522
inder/IServiceManager.cpp
b73f66ec1a31c5910c63fea199b222afb7c5a417 22-Oct-2015 Adrian Roos <roosa@google.com> Track ashmem memory usage in Parcel am: e2f499fb73 am: a0c1be2617
am: cb09f2c82f

* commit 'cb09f2c82fa202b3e4069b74ca103d8ba502c4c3':
Track ashmem memory usage in Parcel
12a19532387175c72a1d2c547ee9a9f619dd82b4 22-Oct-2015 Adrian Roos <roosa@google.com> Merge "Track ashmem memory usage in Parcel"
e2f499fb734bc30a1e1c947112caa0727349b6ed 21-Oct-2015 Adrian Roos <roosa@google.com> Track ashmem memory usage in Parcel

Bug: 25004154
Change-Id: Id9d5656dd0605f1b50525596b75601309f67ebdc
inder/Parcel.cpp
e4d8e39bcf998177fcdc418d5cc3bd109b8e4ba7 21-Oct-2015 Adrian Roos <roosa@google.com> Track ashmem memory usage in Parcel

Bug: 25004154
Change-Id: Id9d5656dd0605f1b50525596b75601309f67ebdc
inder/Parcel.cpp
a9d26e5e3fead369a36a003309dbb930b8d15311 21-Oct-2015 Dan Austin <danielaustin@google.com> Merge "Fix benign integer overflow in printHexDump" am: b36c7d0b6e am: dd2ead5220
am: cfde9e1de2

* commit 'cfde9e1de27372f2df26fa703019b8d156629cc3':
Fix benign integer overflow in printHexDump
cfde9e1de27372f2df26fa703019b8d156629cc3 21-Oct-2015 Dan Austin <danielaustin@google.com> Merge "Fix benign integer overflow in printHexDump" am: b36c7d0b6e
am: dd2ead5220

* commit 'dd2ead5220eb50e759e41b1b70e82085d20557bc':
Fix benign integer overflow in printHexDump
dd2ead5220eb50e759e41b1b70e82085d20557bc 21-Oct-2015 Dan Austin <danielaustin@google.com> Merge "Fix benign integer overflow in printHexDump"
am: b36c7d0b6e

* commit 'b36c7d0b6e793fae2d27b43d0022981c0d366d55':
Fix benign integer overflow in printHexDump
c2bf8e837ecf36639425fc3015cce078f6a08fb9 21-Oct-2015 Dan Austin <danielaustin@google.com> Fix benign integer overflow in printHexDump

There is an instance where an unsigned integer is multiplied by -1.
Refactor the code to eliminate this operation.

Bug: 25085348
Change-Id: I9c5dc1cc22a27dc998ae8eeacc9f889373d993cd
inder/Debug.cpp
a1bbfab4e154b78aa985b3e00d73236f2267ff99 21-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Fix build breakage due to extraneous dereference" am: a763da3f1f am: 3a5841286c
am: 476ecb24db

* commit '476ecb24dbf4492e27247be7c81f337d4da2de4c':
Fix build breakage due to extraneous dereference
476ecb24dbf4492e27247be7c81f337d4da2de4c 21-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Fix build breakage due to extraneous dereference" am: a763da3f1f
am: 3a5841286c

* commit '3a5841286c49d8944cee9e621fc971948c3f2cf3':
Fix build breakage due to extraneous dereference
3a5841286c49d8944cee9e621fc971948c3f2cf3 21-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Fix build breakage due to extraneous dereference"
am: a763da3f1f

* commit 'a763da3f1fc010576b4807fa9b050c0720f81d00':
Fix build breakage due to extraneous dereference
1515ea103e00f6672afad4d27f2e0dec5648d7b6 21-Oct-2015 Casey Dahlin <sadmac@google.com> Fix build breakage due to extraneous dereference

Change-Id: If84d8b68a6af1e04a6085351655e588ebef65664
inder/Parcel.cpp
cbb098c484446f94be252f9bbb482ed45944c8c8 21-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Add read/write methods for vectors" am: d83a34d8c7 am: 1dd0cbdb49
am: 29bf29d1aa

* commit '29bf29d1aa9e0b467819519334d494ea4039af31':
Add read/write methods for vectors
29bf29d1aa9e0b467819519334d494ea4039af31 21-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Add read/write methods for vectors" am: d83a34d8c7
am: 1dd0cbdb49

* commit '1dd0cbdb4957f675a2a6663bda89c6bfac95eb69':
Add read/write methods for vectors
1dd0cbdb4957f675a2a6663bda89c6bfac95eb69 21-Oct-2015 Casey Dahlin <sadmac@google.com> Merge "Add read/write methods for vectors"
am: d83a34d8c7

* commit 'd83a34d8c7fa4be9bd2fa3da4d3ca2c16febd651':
Add read/write methods for vectors
451ff582d730e27f4e22d9f158f8ee24d1bc2729 20-Oct-2015 Casey Dahlin <sadmac@google.com> Add read/write methods for vectors

Also a readString16 with the expected semantics.

Change-Id: Idbeaff1b4337089b2a5a7124f77226a693b2be4f
Test: Unit tests pass
Bug: 25012838
Signed-off-by: Casey Dahlin <sadmac@google.com>
inder/Parcel.cpp
5d17838adef13062717322e79d4db0b9bb6b2395 07-Sep-2015 Flanker <i@flanker017.me> add number constraint for samples per MotionEvent

Bug:23905002

Signed-off-by: Adam Lesinski <adamlesinski@google.com>

(cherry picked from commit 552a8a5d8df32f659b8d11311a244cdc6d3b7733)

Change-Id: I9b7ea859889b7697bee4165a2746602212120543
nput/Input.cpp
3ce5a2840f8afcc4b443c48df4d728ba636dedae 16-Oct-2015 Casey Dahlin <sadmac@google.com> am e313bf95: am 41c989aa: am 4e6d8c5b: Merge "Add methods to Parcel for bool and char and byte"

* commit 'e313bf9552745986fbc3a76d9176e7ec3727c725':
Add methods to Parcel for bool and char and byte
e313bf9552745986fbc3a76d9176e7ec3727c725 16-Oct-2015 Casey Dahlin <sadmac@google.com> am 41c989aa: am 4e6d8c5b: Merge "Add methods to Parcel for bool and char and byte"

* commit '41c989aa15c7a26aef4d2414137f9875fd22a161':
Add methods to Parcel for bool and char and byte
41c989aa15c7a26aef4d2414137f9875fd22a161 16-Oct-2015 Casey Dahlin <sadmac@google.com> am 4e6d8c5b: Merge "Add methods to Parcel for bool and char and byte"

* commit '4e6d8c5b9d51f11db7e8dbe91971c8b46beae5c0':
Add methods to Parcel for bool and char and byte
d6848f52e60be17b7f0992be7827dcae4ea2efb1 16-Oct-2015 Casey Dahlin <sadmac@google.com> Add methods to Parcel for bool and char and byte

We lift these to int, but handling the details of that here will be better
than having AIDL generate casting code all the time.

Test: unit tests pass
Bug: 24981507
Change-Id: If6aa33ab5fe365dd237136a95c5d9a702af41d15
Signed-off-by: Casey Dahlin <sadmac@google.com>
inder/Parcel.cpp
99497cd85b75667adc4b546f3570b91982959163 15-Oct-2015 Dianne Hackborn <hackbod@google.com> Merge "Temporary hack to get rid of new virtuals."
f2bf93bb080b07159ec1395c1ea8edcf5e00e829 15-Oct-2015 Dianne Hackborn <hackbod@google.com> Temporary hack to get rid of new virtuals.

Seems like it breaks some prebuilt binaries.

Change-Id: Ia5e35beb4538364b2ab3618fbf21b2e9c9ee2363
inder/Binder.cpp
inder/BpBinder.cpp
313fb8cd3c5b7d6cfc038afceb8f4e6cc21d8631 14-Oct-2015 Aravind Akella <aakella@google.com> am 0221b4bd: am 263b020b: am 6427e719: am 2ac7405b: Merge "Set DATA_INJECTION mode flag for sensors." into mnc-dr-dev

* commit '0221b4bd2d0443ec634d4264df32e7184a0e47c5':
Set DATA_INJECTION mode flag for sensors.
0221b4bd2d0443ec634d4264df32e7184a0e47c5 14-Oct-2015 Aravind Akella <aakella@google.com> am 263b020b: am 6427e719: am 2ac7405b: Merge "Set DATA_INJECTION mode flag for sensors." into mnc-dr-dev

* commit '263b020b6eb442aa0f82860b34f68ab3f5a3971a':
Set DATA_INJECTION mode flag for sensors.
2ac7405bda4f621f07cbcc0b562d16f7a9611c7b 14-Oct-2015 Aravind Akella <aakella@google.com> Merge "Set DATA_INJECTION mode flag for sensors." into mnc-dr-dev
d9ecfe45c03b880ad37e4b22c1b625f15e4c59ff 13-Oct-2015 Adam Lesinski <adamlesinski@google.com> am 0ee1b1ff: am 5bba4236: am 76fc5f18: am 16b0ae10: Merge "add number constraint for samples per MotionEvent" into mnc-dr-dev

* commit '0ee1b1ff1f454e72a5b2ef2fbe78f7b66eba8bd4':
add number constraint for samples per MotionEvent
0ee1b1ff1f454e72a5b2ef2fbe78f7b66eba8bd4 13-Oct-2015 Adam Lesinski <adamlesinski@google.com> am 5bba4236: am 76fc5f18: am 16b0ae10: Merge "add number constraint for samples per MotionEvent" into mnc-dr-dev

* commit '5bba4236a86bbf4537bc27810803b9b224b0840f':
add number constraint for samples per MotionEvent
16b0ae105e4e94ff09d1517b68f7c66f2022a19e 13-Oct-2015 Adam Lesinski <adamlesinski@google.com> Merge "add number constraint for samples per MotionEvent" into mnc-dr-dev
552a8a5d8df32f659b8d11311a244cdc6d3b7733 07-Sep-2015 Flanker <i@flanker017.me> add number constraint for samples per MotionEvent

Bug:23905002
Change-Id: Ifd24802977c3dcdd1dbc5120a78aac41beae4603

Signed-off-by: Adam Lesinski <adamlesinski@google.com>
nput/Input.cpp
23eb1e20cf59e1238b65cc108f31dfbfd85b2337 08-Oct-2015 Dianne Hackborn <hackbod@google.com> Add new "shell command" feature to Binder objects.

IBinder has a new common interface for sending shell commands
to it. This can be implemented by system services to provide
a shell interface to the service, without needing to have separate
shell java code.

Also add a new "cmd" command line tool, which invokes the shell
command method on a system service. This is much like dumpsys,
but for shell commands.

Change-Id: I95dc80c881a28cefb76957ad4d4fd9b3ed9630df
inder/Android.mk
inder/Binder.cpp
inder/BpBinder.cpp
inder/IResultReceiver.cpp
bfe1f35f8454f133b1633425f94ea7f7a8725d1e 08-Oct-2015 Pablo Ceballos <pceballos@google.com> Merge "BQ: fix Volantis test failures"
4ea0de334f5d287ed9eb777e5700f04a50a299d4 08-Oct-2015 Dmitry Torokhov <dtor@google.com> am 3b921160: resolved conflicts for b9163905 to mnc-dr-dev-plus-aosp

* commit '3b9211608669eb5aafba65d35b4cfbec89755499':
Allow defining replacement key events in keymap
3b9211608669eb5aafba65d35b4cfbec89755499 08-Oct-2015 Dmitry Torokhov <dtor@google.com> resolved conflicts for b9163905 to mnc-dr-dev-plus-aosp

Change-Id: I83afd79491533b1c7ae2aed50a927db175ba555f
2f3c3eb4e47d7cb6ef67e0fd2063e4b93e38e9ec 08-Oct-2015 Puneet Kumar <puneetster@google.com> Merge "Allow defining replacement key events in keymap" into mnc-dr-dev
b687a2814ca9db576eb1ea33dea90ac35cd61bc1 06-Oct-2015 Pablo Ceballos <pceballos@google.com> BQ: fix Volantis test failures

The Volantis driver will dequeue a buffer in eglCreateWindowSurface.

- Remove the requirement that no buffers be dequeued when calling
setAsyncMode() on a BufferQueueProducer, since this gets called
from eglSwapInterval.
- Modify the tests to call setMaxDequeuedBufferCount before calling
eglCreateWindowSurface.

Change-Id: Icc64e9933f151771bbd57035549cd5928c0b7216
ui/BufferQueueProducer.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/SurfaceTextureGLThreadToGL_test.cpp
ui/tests/SurfaceTextureGLToGL.h
ui/tests/SurfaceTextureGLToGL_test.cpp
d661f2813ffd61c49a6ecf59c7c76c2311838037 06-Oct-2015 Marco Nelissen <marcone@google.com> Merge "libgui: assign handle to NULL after free"
200316cce07b280d46ef3e407dd83f89f72452b8 05-Oct-2015 Pablo Ceballos <pceballos@google.com> Merge "BQ: get rid of async in producer interface"
78c05b84cad3213d509545eca30cedf4ec43239c 02-Oct-2015 Andrew de los Reyes <adlr@google.com> am d120254f: am c9b39239: am 6c51a07d: am de18f6c3: InputResampling: Don\'t extrapolate for very low frame rates.

* commit 'd120254f5ec511f441e5d4e8942b16068294afad':
InputResampling: Don't extrapolate for very low frame rates.
d120254f5ec511f441e5d4e8942b16068294afad 02-Oct-2015 Andrew de los Reyes <adlr@google.com> am c9b39239: am 6c51a07d: am de18f6c3: InputResampling: Don\'t extrapolate for very low frame rates.

* commit 'c9b392395f3eada767cf9d1dce1eb40930ca1b95':
InputResampling: Don't extrapolate for very low frame rates.
de18f6c32add6fb22065807a00ddc88b363df527 02-Oct-2015 Andrew de los Reyes <adlr@google.com> InputResampling: Don't extrapolate for very low frame rates.

In very low framerate situations, extrapolation is generally going to
either cause no benefit or make a mistake. We can safely turn it off
with no user-visible negative impact.

BUG=https://buganizer.corp.google.com/u/0/issues/24550942
TEST=Scrolled very slowly and saw mispredictions on Angler. With change,
saw the log message that the mispredictions were suppressed.

Change-Id: Ic9747d3ff098d7918047ada2ed1c2d21282c65b0
nput/InputTransport.cpp
115f93eeebf7f33b56ed090de70d6e8c733e5d88 18-Sep-2015 Dmitry Torokhov <dtor@google.com> Allow defining replacement key events in keymap

Currently keyboard maps allow to assign character sequences to key
events and allow specifying a so-called "fallback" key events that are
re-injected into input stream if target application indicates that it
was not able to handle the original key event. Unfortunately there is no
way to perform substitution before handing the event to applicationis.

This change adds a new keymap keyword "replace" that allows users query
"replacement" actions for key (if any), with the intent that such
replacement happens early in the event handling process.

Bug: 24504154

Change-Id: I3e6a2476c856524171df00ad22ff56f2018c1278
nput/KeyCharacterMap.cpp
nput/Keyboard.cpp
be802d2c08c640cb05a2ce2879a7d1f3ead88398 25-Sep-2015 Naveen Leekha <leekha@google.com> am bac4a44a: am 53aa7d80: am b0127aad: am 69412a51: am c4bd7211: resolved conflicts for 7534e4e6 to lmp-mr1-ub-dev

* commit 'bac4a44ac909dbf09ce7a25bd2173164fc437c74':
resolved conflicts for 7534e4e6 to lmp-mr1-ub-dev
b0127aadafbf3b314475e48772fdcc17939c5a9c 25-Sep-2015 Naveen Leekha <leekha@google.com> am 69412a51: am c4bd7211: resolved conflicts for 7534e4e6 to lmp-mr1-ub-dev

* commit '69412a51f58fa9450f1cb077c8d4b6410128d993':
resolved conflicts for 7534e4e6 to lmp-mr1-ub-dev
69412a51f58fa9450f1cb077c8d4b6410128d993 25-Sep-2015 Naveen Leekha <leekha@google.com> am c4bd7211: resolved conflicts for 7534e4e6 to lmp-mr1-ub-dev

* commit 'c4bd7211373cf5b745c7d4f849f43f7a2d2b1141':
resolved conflicts for 7534e4e6 to lmp-mr1-ub-dev
c4bd7211373cf5b745c7d4f849f43f7a2d2b1141 25-Sep-2015 Naveen Leekha <leekha@google.com> resolved conflicts for 7534e4e6 to lmp-mr1-ub-dev

Change-Id: I543df164076b44578b14d41031800bb62b81586d
ui/IGraphicBufferProducer.cpp
94d219913bfbb21b4d3708bc853b6edc6c0c7c8b 25-Sep-2015 Naveen Leekha <leekha@google.com> am b062a7a1: am 62e5463e: am 83e60e42: am 571e27e2: am e889592e: am 73887c08: am b414255f: Initialize local variables to avoid data leak

* commit 'b062a7a10d014c30f2c59761010fa4e4f876e85c':
Initialize local variables to avoid data leak
83e60e42573ebc1bb06a408170bcdac2824e8dd6 25-Sep-2015 Naveen Leekha <leekha@google.com> am 571e27e2: am e889592e: am 73887c08: am b414255f: Initialize local variables to avoid data leak

* commit '571e27e20e30560985d7c3a3ba8885693695b0fc':
Initialize local variables to avoid data leak
567dbbb6dd42be5013fcde0dadb3316d85f2fa0d 27-Aug-2015 Pablo Ceballos <pceballos@google.com> BQ: get rid of async in producer interface

- Get rid of the async flag in dequeueBuffer, allocateBuffers,
waitForFreeSlotThenRelock, and QueueBufferInput.
- Instead use the persistent flags mDequeueBufferCannotBlock and
mAsyncMode to determine whether to use the async behavior.

Bug 13174928

Change-Id: Ie6f7b9e46ee3844ee77b102003c84dddf1bcafdd
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/StreamSplitter.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/StreamSplitter_test.cpp
571e27e20e30560985d7c3a3ba8885693695b0fc 25-Sep-2015 Naveen Leekha <leekha@google.com> am e889592e: am 73887c08: am b414255f: Initialize local variables to avoid data leak

* commit 'e889592e33891c9b88ff6ba655426118f8ef12ee':
Initialize local variables to avoid data leak
7534e4e63afedeb826a8d8a4b0cf3f9d40d243ea 25-Sep-2015 Naveen Leekha <leekha@google.com> am 18165848: am e2c4f4fb: am c1e6fbb5: Initialize local variables to avoid data leak

* commit '18165848e86feab8656bfdac3173bccf45a9a6df':
Initialize local variables to avoid data leak
e889592e33891c9b88ff6ba655426118f8ef12ee 25-Sep-2015 Naveen Leekha <leekha@google.com> am 73887c08: am b414255f: Initialize local variables to avoid data leak

* commit '73887c0864c9a928db6f66bd48c5aea4d31d9a8b':
Initialize local variables to avoid data leak
18165848e86feab8656bfdac3173bccf45a9a6df 25-Sep-2015 Naveen Leekha <leekha@google.com> am e2c4f4fb: am c1e6fbb5: Initialize local variables to avoid data leak

* commit 'e2c4f4fb8b34e36a4f2760f3812c942604cabfb6':
Initialize local variables to avoid data leak
73887c0864c9a928db6f66bd48c5aea4d31d9a8b 25-Sep-2015 Naveen Leekha <leekha@google.com> am b414255f: Initialize local variables to avoid data leak

* commit 'b414255f53b560a06e642251535b019327ba0d7b':
Initialize local variables to avoid data leak
e2c4f4fb8b34e36a4f2760f3812c942604cabfb6 25-Sep-2015 Naveen Leekha <leekha@google.com> am c1e6fbb5: Initialize local variables to avoid data leak

* commit 'c1e6fbb52c3f85cc7610d1d07d12be38f70b4ed4':
Initialize local variables to avoid data leak
34ab4b4d3d76b03332116d8225f3a442028a8175 23-Sep-2015 Dan Austin <danielaustin@google.com> am c3af99f4: am 476398ab: am 0830bb16: Merge "Enable integer overflow sanitization in libinput."

* commit 'c3af99f441749b82c16a90ae4b0faaecf7cc079c':
Enable integer overflow sanitization in libinput.
40dceaf10addcbc540cee911b6b300f96467ade2 23-Sep-2015 Dan Austin <danielaustin@google.com> am 4cf79dbb: am 0ba3db9e: am bffbd09f: Merge "Eliminate multiple benign overflow conditions."

* commit '4cf79dbbc9767b2bdb5bfa42825fba3a5afd954a':
Eliminate multiple benign overflow conditions.
c3af99f441749b82c16a90ae4b0faaecf7cc079c 23-Sep-2015 Dan Austin <danielaustin@google.com> am 476398ab: am 0830bb16: Merge "Enable integer overflow sanitization in libinput."

* commit '476398ab60f4f777b0d7c85986f0185350468d5d':
Enable integer overflow sanitization in libinput.
4cf79dbbc9767b2bdb5bfa42825fba3a5afd954a 23-Sep-2015 Dan Austin <danielaustin@google.com> am 0ba3db9e: am bffbd09f: Merge "Eliminate multiple benign overflow conditions."

* commit '0ba3db9e91d683a75af244cccfa62c8778a4c62a':
Eliminate multiple benign overflow conditions.
48d1d1fc902543ea16e5826a4739346714691d8c 23-Sep-2015 Sergio Giro <sgiro@google.com> am f1519eeb: am 64b83133: Merge "Remove usage of SharedBuffer"

* commit 'f1519eeb21ee03a956d973545f9f0f742727faaa':
Remove usage of SharedBuffer
476398ab60f4f777b0d7c85986f0185350468d5d 23-Sep-2015 Dan Austin <danielaustin@google.com> am 0830bb16: Merge "Enable integer overflow sanitization in libinput."

* commit '0830bb169717f920817e66afb18abe2c86d20161':
Enable integer overflow sanitization in libinput.
0ba3db9e91d683a75af244cccfa62c8778a4c62a 23-Sep-2015 Dan Austin <danielaustin@google.com> am bffbd09f: Merge "Eliminate multiple benign overflow conditions."

* commit 'bffbd09f65d3bc594d844a185d75700e8b4789eb':
Eliminate multiple benign overflow conditions.
f1519eeb21ee03a956d973545f9f0f742727faaa 23-Sep-2015 Sergio Giro <sgiro@google.com> am 64b83133: Merge "Remove usage of SharedBuffer"

* commit '64b83133d5ec40828a10e57cfbb37c642bb7f510':
Remove usage of SharedBuffer
29b3555f344471de8e08ed00e5df4451aa953a8d 22-Sep-2015 Dan Austin <danielaustin@google.com> Enable integer overflow sanitization in libinput.

Bug: 24171356
Change-Id: I1412b78171c60b0252560956a672f2d92a7011e6
nput/Android.mk
bffbd09f65d3bc594d844a185d75700e8b4789eb 23-Sep-2015 Dan Austin <danielaustin@google.com> Merge "Eliminate multiple benign overflow conditions."
64b83133d5ec40828a10e57cfbb37c642bb7f510 23-Sep-2015 Sergio Giro <sgiro@google.com> Merge "Remove usage of SharedBuffer"
1ec0f48cbd44a56c360d075849655ab2c3f36476 23-Sep-2015 Dan Austin <danielaustin@google.com> am d37734a4: am c6a6c6de: am ad2a1592: Merge "Enable multiple benign overflow conditions."

* commit 'd37734a4871013d067a033914579281bf5d1c13a':
Enable multiple benign overflow conditions.
39f1cd8045e242db411a5c3940f1ad3f9f8f8490 23-Sep-2015 Dan Austin <danielaustin@google.com> am 9040362b: am fc6a2bff: am 146f31b6: Merge "Eliminate benign overflow condition triggered upon loop termination in Input.cpp"

* commit '9040362b1ec56f077e9bca395939a6669ffa8303':
Eliminate benign overflow condition triggered upon loop termination in Input.cpp
d37734a4871013d067a033914579281bf5d1c13a 23-Sep-2015 Dan Austin <danielaustin@google.com> am c6a6c6de: am ad2a1592: Merge "Enable multiple benign overflow conditions."

* commit 'c6a6c6de7c43198dc93f92f935ebc120de1050c8':
Enable multiple benign overflow conditions.
9040362b1ec56f077e9bca395939a6669ffa8303 23-Sep-2015 Dan Austin <danielaustin@google.com> am fc6a2bff: am 146f31b6: Merge "Eliminate benign overflow condition triggered upon loop termination in Input.cpp"

* commit 'fc6a2bff11e342acb3c098bc2be7557e0876efac':
Eliminate benign overflow condition triggered upon loop termination in Input.cpp
c6a6c6de7c43198dc93f92f935ebc120de1050c8 23-Sep-2015 Dan Austin <danielaustin@google.com> am ad2a1592: Merge "Enable multiple benign overflow conditions."

* commit 'ad2a1592cf01a5393ad645fea81b6c36ee11f73e':
Enable multiple benign overflow conditions.
fc6a2bff11e342acb3c098bc2be7557e0876efac 23-Sep-2015 Dan Austin <danielaustin@google.com> am 146f31b6: Merge "Eliminate benign overflow condition triggered upon loop termination in Input.cpp"

* commit '146f31b6c44f557270779106e95c769783270fed':
Eliminate benign overflow condition triggered upon loop termination in Input.cpp
ad2a1592cf01a5393ad645fea81b6c36ee11f73e 23-Sep-2015 Dan Austin <danielaustin@google.com> Merge "Enable multiple benign overflow conditions."
b414255f53b560a06e642251535b019327ba0d7b 23-Sep-2015 Naveen Leekha <leekha@google.com> Initialize local variables to avoid data leak

The uninitialized local variables pick up
whatever the memory content was there on stack.
This data gets sent to the remote process in
case of a failed transaction, which is a security
issue. Fixed.

(Partial manual merge of master change
12ba0f57d028a9c8f4eb3afddc326b70677d1e0c. Rest
to automerge from klp-dev)

For b/23696300

Change-Id: I704c9fab327b3545c58e8a9a96ac542eb7469c2a
ui/IGraphicBufferProducer.cpp
c1e6fbb52c3f85cc7610d1d07d12be38f70b4ed4 23-Sep-2015 Naveen Leekha <leekha@google.com> Initialize local variables to avoid data leak

The uninitialized local variables pick up
whatever the memory content was there on stack.
This data gets sent to the remote process in
case of a failed transaction, which is a security
issue. Fixed.

(Manual merge of master change
12ba0f57d028a9c8f4eb3afddc326b70677d1e0c )

For b/23696300

Change-Id: I665212d10da56f0803b5bb772d14c77e632ba2ab
ui/IGraphicBufferProducer.cpp
1faef80170b71ee4162dc910bfe1aea9d7181e58 22-Sep-2015 Dan Austin <danielaustin@google.com> Eliminate multiple benign overflow conditions.

In InputTransport.cpp, there are multiple loops in which loop
termination occurs when the value becomes zero. These termination
conditions are all written value-- > 0, which, since value is
unsigned, result in an unsigned integer overflow when value is 0.
These loops were refactored to eliminate these conditions.

Bug: 24171356
Change-Id: Ie135c4306d1f2cef2778e295242305ed5139221a
nput/InputTransport.cpp
389ddbad52b32beeee6d3f361145b7431bae3536 22-Sep-2015 Dan Austin <danielaustin@google.com> Enable multiple benign overflow conditions.

In VelocityTracker.cpp, there are multiple loops in which loop
termination occurs when the value becomes zero. These termination
conditions are all written value-- > 0, which, since value is
unsigned, result in an integer overflow condition when value is 0.
These loop were refactored to eliminate these conditions.

Bug: 24171356
Change-Id: Ie44940cfef8a122ee1aff59c021274ba39a368bf
nput/VelocityTracker.cpp
c94fc45bc5c07724e63e4da5151cfea90bd87986 22-Sep-2015 Dan Austin <danielaustin@google.com> Eliminate benign overflow condition triggered upon loop termination in Input.cpp

In readFromParcel, a while loop is terminated when sampleCount = 0. The
decrement operation that was here would decrease sampleCount, an unsigned value,
below 0, triggering an unsigned integer overflow. The while loop was refactored
to eliminate this condition.

Bug: 24171356
Change-Id: I7669f54a41d11548b33e322b025431c6f6038952
nput/Input.cpp
68b88fc14f3915cfa8d0f1849caab333aa469f61 22-Sep-2015 Naveen Leekha <leekha@google.com> Merge "Initialize local variables to avoid data leak"
12ba0f57d028a9c8f4eb3afddc326b70677d1e0c 22-Sep-2015 Naveen Leekha <leekha@google.com> Initialize local variables to avoid data leak

The uninitialized local variables pick up
whatever the memory content was there on stack.
This data gets sent to the remote process in
case of a failed transaction, which is a security
issue. Fixed.

For b/23696300

Change-Id: Ie37a34851ffe203f9579f63f1fe1b8605a880c30
ui/IGraphicBufferProducer.cpp
22e4cc36cd965046ea1b17376a40bdf3b6e23301 16-Sep-2015 Praveen Chavan <pchavan@codeaurora.org> libgui: assign handle to NULL after free

to avoid use-after-free situations.

Change-Id: If9c09f509bc55795856302e5ca34470df019c622
i/GraphicBuffer.cpp
f53f3c80bf2dcf6c1b70320765f9fc8019b829a2 11-Sep-2015 Pablo Ceballos <pceballos@google.com> Remove usage of SharedBuffer

- Remove getSharedBuffer() from Region
- Don't use SharedBuffer for memory management in HWCLayerVersion1,
instead keep shallow copies of the Regions.

Bug 23962051

(cherry picked from commit d814cf2a3e3a2fdb73efa80539fe8af0a93da1db)

Change-Id: I8fa17beed57936648c7b4defc9219dff1d5b337f
i/Region.cpp
583b1b32191992d6ada58b3c61c71932a71c0c4b 04-Sep-2015 Pablo Ceballos <pceballos@google.com> BQ: Prevent operations on disconnected BQs

- Update unit tests to match

Bug 23763412

Change-Id: I77e59bf6b57b328433c3835450455f80a8fa454b
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTextureFBO_test.cpp
ui/tests/SurfaceTextureGL_test.cpp
ui/tests/SurfaceTextureMultiContextGL_test.cpp
ui/tests/Surface_test.cpp
ff12cba77b5b88f3978070bb970d7721225271ee 16-Sep-2015 Pablo Ceballos <pceballos@google.com> Merge "BQ: Modify consumer buffer count interfaces"
3f6b702b5834330ef061f4ed97677ae90a541f23 16-Sep-2015 Nick Kralevich <nnk@google.com> handle size_t > java max int size

Cleanly abort if we would have returned a value which can't be safely
handled by the java APIs. I'm not sure this code is reachable, but
adding the check just in case.

Bug: 16676699
Change-Id: Iae59b2885fd14b7db152d4880305e7add134faef
inder/Parcel.cpp
a811a37b21ecc21754665bb0d0685992d4927366 15-Sep-2015 Daniel Erat <derat@google.com> am 12727b8d: am d7fb1d2a: am f2e53c5e: Merge "Remove BnServiceManager."

* commit '12727b8dbd0a86428d33e12d7f5e76ea281447eb':
Remove BnServiceManager.
12727b8dbd0a86428d33e12d7f5e76ea281447eb 15-Sep-2015 Daniel Erat <derat@google.com> am d7fb1d2a: am f2e53c5e: Merge "Remove BnServiceManager."

* commit 'd7fb1d2a5bed8941c8bc21ed50f6a129c2ebef3d':
Remove BnServiceManager.
d7fb1d2a5bed8941c8bc21ed50f6a129c2ebef3d 15-Sep-2015 Daniel Erat <derat@google.com> am f2e53c5e: Merge "Remove BnServiceManager."

* commit 'f2e53c5e1f3fd27c9131f20b2f8147c82372f746':
Remove BnServiceManager.
1835c85fb4367dc75e79571081f2919a1ea1e301 15-Sep-2015 Daniel Erat <derat@google.com> Remove BnServiceManager.

As far as I can tell (e.g. https://goo.gl/nxpFBZ from 2009),
BnServiceManager is unused. It's only relevant for
libbinder-based C++ daemons implementing the
IServiceManager.aidl interface. service_manager.c rolls its
own binder code instead.

Change-Id: I837a897d8a201b04bf3ff65c87b0d35d10196199
inder/IServiceManager.cpp
e1b63cc6d4e92b95d9d5e504035a44e3cb40b722 14-Sep-2015 Pablo Ceballos <pceballos@google.com> Merge "Remove usage of SharedBuffer"
4aa427b964f22e3cf10381f8fc27e7042c322b9c 14-Sep-2015 Pablo Ceballos <pceballos@google.com> Merge "native: Rename mBuf to mSlot"
5e160e1651a908701a14d7fbd026580162efdb8a 14-Sep-2015 Haixia Shi <hshi@google.com> Merge "libgui: Fix missing va_end in Surface::hook_perform()"
d89c2bb6d265c653d3e1d2d94177c75636760abd 14-Sep-2015 Haixia Shi <hshi@google.com> libgui: Fix missing va_end in Surface::hook_perform()

BUG=23667255
TEST=libgui builds and volantis still works

Change-Id: I01de6ade6a47072c3a32c3eedc8568b1fd571363
ui/Surface.cpp
d814cf2a3e3a2fdb73efa80539fe8af0a93da1db 11-Sep-2015 Pablo Ceballos <pceballos@google.com> Remove usage of SharedBuffer

- Remove getSharedBuffer() from Region
- Don't use SharedBuffer for memory management in HWCLayerVersion1,
instead keep shallow copies of the Regions.

Bug 23962051

Change-Id: I8fa17beed57936648c7b4defc9219dff1d5b337f
i/Region.cpp
f9b7f8548eb95f2c387c4c2331acfaa04b6099b8 10-Sep-2015 Aravind Akella <aakella@google.com> Set DATA_INJECTION mode flag for sensors.

Bug: 24001171
Change-Id: I70133546c68fb478b2c2062f05a4164a36cd9e4b
ui/Sensor.cpp
6ffcb0097e5f000eda39f12f91766a27d772e120 11-Sep-2015 Dan Austin <danielaustin@google.com> am 0823223c: am f0f131f3: am 6c8c8138: Merge "Benign unsigned integer overflow in Parcel"

* commit '0823223c6fa6b97fd15d11de5ddb38b21fccf2de':
Benign unsigned integer overflow in Parcel
4107f8fc7c077591fa8ce4b7e13f135424f27a15 11-Sep-2015 Dan Austin <danielaustin@google.com> am 1769e697: am 6d59e98b: am 8c77ec50: Merge "Enable fsanitize integer in ui"

* commit '1769e697542bd5fac2014bb7eb15210e6cdc20d3':
Enable fsanitize integer in ui
0823223c6fa6b97fd15d11de5ddb38b21fccf2de 11-Sep-2015 Dan Austin <danielaustin@google.com> am f0f131f3: am 6c8c8138: Merge "Benign unsigned integer overflow in Parcel"

* commit 'f0f131f36b5ce2a25992576aa75e7c08654e5a8d':
Benign unsigned integer overflow in Parcel
1769e697542bd5fac2014bb7eb15210e6cdc20d3 11-Sep-2015 Dan Austin <danielaustin@google.com> am 6d59e98b: am 8c77ec50: Merge "Enable fsanitize integer in ui"

* commit '6d59e98bb19d2d63fc3b3761e51fda2948976c03':
Enable fsanitize integer in ui
f0f131f36b5ce2a25992576aa75e7c08654e5a8d 11-Sep-2015 Dan Austin <danielaustin@google.com> am 6c8c8138: Merge "Benign unsigned integer overflow in Parcel"

* commit '6c8c8138434d2381a78407e9876121d3bcef55a7':
Benign unsigned integer overflow in Parcel
6d59e98bb19d2d63fc3b3761e51fda2948976c03 11-Sep-2015 Dan Austin <danielaustin@google.com> am 8c77ec50: Merge "Enable fsanitize integer in ui"

* commit '8c77ec506a83538d85cf68b8095541ca8aa8c788':
Enable fsanitize integer in ui
6c8c8138434d2381a78407e9876121d3bcef55a7 11-Sep-2015 Dan Austin <danielaustin@google.com> Merge "Benign unsigned integer overflow in Parcel"
8c77ec506a83538d85cf68b8095541ca8aa8c788 10-Sep-2015 Dan Austin <danielaustin@google.com> Merge "Enable fsanitize integer in ui"
48fd7b457bb0657253d6012e787f50498b32ae42 10-Sep-2015 Dan Austin <danielaustin@google.com> Benign unsigned integer overflow in Parcel

The realloc case in continueWrite did not update the
gParcelGlobalAllocCount value when an allocation occurred.

In addition, there are conditions that could cause the
gParcelGlobalAllocCount value to be decremented below 0, resulting
in a benign unsigned integer overflow that can cause corrupted values
to be returned through system profiling mechanisms.

BUG: 23972600
Change-Id: Ibe07db91a811a04b486760eb78d81c926ba8503d
inder/Parcel.cpp
feaa3d34bc403ae7d9d9743741d2b2bda5a87ff1 09-Sep-2015 Dan Austin <danielaustin@google.com> am 37616292: am 8e2a4f27: am bf04509f: Merge "Enable fsanitize integer in binder"

* commit '376162928b9464fbd31066eeee34ae6f878d3652':
Enable fsanitize integer in binder
376162928b9464fbd31066eeee34ae6f878d3652 09-Sep-2015 Dan Austin <danielaustin@google.com> am 8e2a4f27: am bf04509f: Merge "Enable fsanitize integer in binder"

* commit '8e2a4f2723ee1d3fb7187af7078256c6a94f8930':
Enable fsanitize integer in binder
8e2a4f2723ee1d3fb7187af7078256c6a94f8930 09-Sep-2015 Dan Austin <danielaustin@google.com> am bf04509f: Merge "Enable fsanitize integer in binder"

* commit 'bf04509ff42fc1e179b518caada5d0b663f2a8ee':
Enable fsanitize integer in binder
acc5c6209e0ab2032961b55432e3c4e579403ea7 09-Sep-2015 Dan Austin <danielaustin@google.com> Enable fsanitize integer in binder

Enables checks for undefined or suspicious integer behavior. If
suspicious behavior is detected, the process is aborted instead of
potentially resulting in a security bug, such as #20674694 and
#19573085.

Bug: 23836686
Change-Id: I14d6d565afcb8a6435fd5a8e8175e00bbe5d9b6c
inder/Android.mk
ff7ede32f576651bacc4f0c6145e54d8f3c12ef6 08-Sep-2015 Dan Austin <danielaustin@google.com> Enable fsanitize integer in ui

Enables checks for undefined or suspicious integer behavior. If
suspicious behavior is detected, the process is aborted instead of
potentially resulting in a security bug.

Bug: 23834892
Change-Id: I9111bce2ebb36e045f4da1dbf78f90f04a0aa81c
i/Android.mk
8660a319e203afbc2918ee54d9347d9abfda97ed 03-Sep-2015 Prashant Malani <pmalani@google.com> am be8dbebe: am 07da55f9: am 2f7531fb: am 13c63825: am e35c7d65: Add body sensors app op for custom sensors

* commit 'be8dbebed2319b299bf16c09b792acd1889d4487':
Add body sensors app op for custom sensors
be8dbebed2319b299bf16c09b792acd1889d4487 03-Sep-2015 Prashant Malani <pmalani@google.com> am 07da55f9: am 2f7531fb: am 13c63825: am e35c7d65: Add body sensors app op for custom sensors

* commit '07da55f93377a134ce31eace004d9975eeffa888':
Add body sensors app op for custom sensors
13c638255f2223cb9c455d519ff1003fc0221537 03-Sep-2015 Prashant Malani <pmalani@google.com> am e35c7d65: Add body sensors app op for custom sensors

* commit 'e35c7d65bb3c226fe3c5fc5e3933f64f0963eaeb':
Add body sensors app op for custom sensors
e35c7d65bb3c226fe3c5fc5e3933f64f0963eaeb 21-Aug-2015 Prashant Malani <pmalani@google.com> Add body sensors app op for custom sensors

If the custom sensor requires the BODY SENSOR permission, we should add
the body sensors app op for the custom sensor

Bug: 23396558
Change-Id: I132917d1bca12c76c8a9fb146e00951cba3e6d7a
ui/Sensor.cpp
19e3e06e3c65a7c001a6fe0971744ba5ff536515 20-Aug-2015 Pablo Ceballos <pceballos@google.com> BQ: Modify consumer buffer count interfaces

- Rename setDefaultMaxBufferCount() to setMaxBufferCount(). Modify it
to be hard maximum on the number of buffers that can't be overwritten
by the producer.
- Enforce the maximum buffer count in setMaxAcquiredBufferCount(),
setMaxDequeuedBufferCount(), and setAsyncMode().
- Remove mOverrideMaxBufferCount as it's no longer needed since
overriding is no longer possible.
- Expose setMaxAcquiredBufferCount() in GLConsumer.
- Remove disableAsyncBuffer(), it was only being used for single buffer
mode. Single buffer mode is now achievable with setMaxBufferCount().

Bug 13174928

Change-Id: Ia33799f42751272a711fbd8559f7602ce9f18e4f
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/SurfaceTextureGLThreadToGL_test.cpp
ui/tests/SurfaceTextureGLToGL_test.cpp
ui/tests/SurfaceTextureGL_test.cpp
ui/tests/SurfaceTextureMultiContextGL_test.cpp
e60fff5def350d1a53ae083b52d8be0641d24552 29-Aug-2015 Pablo Ceballos <pceballos@google.com> Merge "BQ: Get rid of setBufferCount"
ec907e472865f390bc37a79fde932dc19c387fea 27-Aug-2015 Pablo Ceballos <pceballos@google.com> Merge "BQ: add setMaxDequeuedBufferCount"
e6dc6eaab0166e628dade5687368a2733b468295 25-Aug-2015 Aravind Akella <aakella@google.com> am d5c3541d: am ba3f1a27: am 4baa69dd: am 8f35ca97: SensorManager fixes.

* commit 'd5c3541d10c9a641722ab66a84c7ea48d5c7cf66':
SensorManager fixes.
d5c3541d10c9a641722ab66a84c7ea48d5c7cf66 25-Aug-2015 Aravind Akella <aakella@google.com> am ba3f1a27: am 4baa69dd: am 8f35ca97: SensorManager fixes.

* commit 'ba3f1a27a245cf22dbaef0dc20e91329f895985e':
SensorManager fixes.
8f35ca973063e1449c5ec40b618393187a47ec58 18-Aug-2015 Aravind Akella <aakella@google.com> SensorManager fixes.

i) Use pingBinder() to check the status of sensorservice everytime an
event_queue is created. Retry to establish the binder connection if
SensorService has recovered from a runtime restart.
ii) LOG_ALWAYS_FATAL_IF getService(SensorService) returns NULL or malloc
returns NULL.

Bug: 22634472
Change-Id: I4e3912839b6f4114be1a124510878774dbd576a4
ui/SensorManager.cpp
e5b755a045f4203fdd989047441259893c6fbe2d 14-Aug-2015 Pablo Ceballos <pceballos@google.com> BQ: Get rid of setBufferCount

- Remove setBufferCount from BufferQueueProducer and
IGraphicsBufferQueueProducer.
- Get rid of the unit tests for it.
- In Surface, convert setBufferCount calls into calls to
setMaxDequeuedBufferCount.
- Change mOverrideMaxBufferCount to a boolean since it can now be
derived from mMaxAcquiredBufferCount, mMaxDequeuedBufferCount, and
mAsyncMode.

Bug 13174928

Change-Id: Ia0adc737fae9e13f186df832b8428a0829041bf9
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/IGraphicBufferProducer_test.cpp
fa455354557f6283ff3a7d76979e52fd251c155f 13-Aug-2015 Pablo Ceballos <pceballos@google.com> BQ: add setMaxDequeuedBufferCount

Adds the new setMaxDequeuedBufferCount() function to
BufferQueueProducer. This will eventually replace setBufferCount.

Also add setAsyncMode.

Bug 13174928

Change-Id: Iea1adcd5d74a75f67d8e9dde06d521695628ad5a
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
60d6922a011fe18c111b8d30fb6ef1f655b6b15e 07-Aug-2015 Pablo Ceballos <pceballos@google.com> libsgui: Change Rect default constructor

The current Rect default constructor initializes to all zeroes. Change
it to initialize to an invalid Rect.

Modify all of the existing invocations of the default constructor to
maintain the existing behavior.

Bug 18173359

Change-Id: Ibbad076f1550a94f56d7b1cf5350071f2022e09a
ui/BufferItem.cpp
ui/BufferQueueProducer.cpp
ui/GLConsumer.cpp
ui/ISurfaceComposer.cpp
ui/LayerState.cpp
ui/Surface.cpp
i/Rect.cpp
i/Region.cpp
b1fff84f676d44af8277d68f8122f220538db345 20-Aug-2015 Elliott Hughes <enh@google.com> am a6d2ff29: am 110ddef1: Merge "binder: Change from C11 <stdatomic.h> to C++11 <atomic>."

* commit 'a6d2ff29c4920b440b16bc6ceaa90710361b9be9':
binder: Change from C11 <stdatomic.h> to C++11 <atomic>.
72f314a50f34de593686661b0a99906125d18bfd 20-Aug-2015 Elliott Hughes <enh@google.com> am 6ed91a55: am a6d2ff29: am 110ddef1: Merge "binder: Change from C11 <stdatomic.h> to C++11 <atomic>."

* commit '6ed91a55599c0f21f075981bc38a56e29b0b5971':
binder: Change from C11 <stdatomic.h> to C++11 <atomic>.
6ed91a55599c0f21f075981bc38a56e29b0b5971 20-Aug-2015 Elliott Hughes <enh@google.com> am a6d2ff29: am 110ddef1: Merge "binder: Change from C11 <stdatomic.h> to C++11 <atomic>."

* commit 'a6d2ff29c4920b440b16bc6ceaa90710361b9be9':
binder: Change from C11 <stdatomic.h> to C++11 <atomic>.
6913c46492f1153cecc647a87217fbb0b0d19689 19-Aug-2015 Bailey Forrest <bcf@google.com> binder: Change from C11 <stdatomic.h> to C++11 <atomic>.

Change-Id: Ib831a9ccfcc7089940d37883d860574359c270e2
inder/Binder.cpp
7a8f2f77c90565ae328cb912c18d5516bf7efc0d 17-Aug-2015 Riley Andrews <riandrews@google.com> am 9c445f09: am 7a1ccf7c: am d974a364: Merge "binder: Add a throughput performance test for binder."

* commit '9c445f091b970c02a23708a34efb153362d3d522':
binder: Add a throughput performance test for binder.
9c445f091b970c02a23708a34efb153362d3d522 17-Aug-2015 Riley Andrews <riandrews@google.com> am 7a1ccf7c: am d974a364: Merge "binder: Add a throughput performance test for binder."

* commit '7a1ccf7c7d1dd0defa1a82d973a8b80f3370c52c':
binder: Add a throughput performance test for binder.
43ab57ccbf2c0adfad5298b662675b59e52b2e01 17-Aug-2015 Riley Andrews <riandrews@google.com> am 7a1ccf7c: am d974a364: Merge "binder: Add a throughput performance test for binder."

* commit '7a1ccf7c7d1dd0defa1a82d973a8b80f3370c52c':
binder: Add a throughput performance test for binder.
515aa0b911aebb0bd4665bc0b61a693d6951e994 11-Aug-2015 Riley Andrews <riandrews@google.com> binder: Add a throughput performance test for binder.

Change-Id: I04801cd505a439307f2a963f6267db1831b3829f
inder/tests/Android.mk
inder/tests/binderThroughputTest.cpp
3bb9d0ec9c976f4438f9a1e5f6036524cfcde2dd 13-Aug-2015 Elliott Hughes <enh@google.com> am 30dddd6f: am 6a846dd5: am 5f5a0e0f: Merge "Lose HAVE_ANDROID_OS from frameworks/native."

* commit '30dddd6f49b04ac5160c1de702cafe09b42ce1d1':
Lose HAVE_ANDROID_OS from frameworks/native.
30dddd6f49b04ac5160c1de702cafe09b42ce1d1 13-Aug-2015 Elliott Hughes <enh@google.com> am 6a846dd5: am 5f5a0e0f: Merge "Lose HAVE_ANDROID_OS from frameworks/native."

* commit '6a846dd51885df861f4e1e30fcca86b9dd2f4092':
Lose HAVE_ANDROID_OS from frameworks/native.
c6ada3b169827f581cd61749c6056c4209ebb650 13-Aug-2015 Elliott Hughes <enh@google.com> am 6a846dd5: am 5f5a0e0f: Merge "Lose HAVE_ANDROID_OS from frameworks/native."

* commit '6a846dd51885df861f4e1e30fcca86b9dd2f4092':
Lose HAVE_ANDROID_OS from frameworks/native.
6071da7ef84c60645572654504813d492b8b21d5 13-Aug-2015 Elliott Hughes <enh@google.com> Lose HAVE_ANDROID_OS from frameworks/native.

Change-Id: I8e6af2a46a9d875192fc7957ada9b5f66d84bad6
inder/IPCThreadState.cpp
nput/Input.cpp
nput/KeyCharacterMap.cpp
47650f4f66a49e1815ad08ca4fb12a661d133abc 05-Aug-2015 Pablo Ceballos <pceballos@google.com> native: Rename mBuf to mSlot

Remove the union in BufferItem.

Bug: 19769719
Change-Id: I4e496b5aafce0fc5206dc7551a741f9c262c2cd0
ui/BufferItemConsumer.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/StreamSplitter.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/StreamSplitter_test.cpp
53390e1e8c33ebee5bb8100e846f5263ba05ff73 04-Aug-2015 Pablo Ceballos <pceballos@google.com> libgui/SF: Fix some code warnings

A couple of fixes to satisfy the Eclipse static code analysis tool.
- Initialize all members in constructors
- Remove unused forward declarations
- Add parentheses when combining logical and bitwise operators
- Fix a case statement with no break (it was intentional)

Change-Id: Icecb8cc98c6f58b97ab33fffb621f0edc33a7d3c
ui/Sensor.cpp
ui/SurfaceComposerClient.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/GLTest.h
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTextureMultiContextGL.h
ui/tests/TextureRenderer.cpp
i/FramebufferNativeWindow.cpp
i/GraphicBuffer.cpp
c5c3213fb881bff25411f377940dd027f5dcbc7a 31-Jul-2015 Aravind Akella <aakella@google.com> am cbf4004f: Bug fix in SensorManager.

* commit 'cbf4004fc45d2f5a14ec9e00d39cd6ca49bd07ad':
Bug fix in SensorManager.
cbf4004fc45d2f5a14ec9e00d39cd6ca49bd07ad 30-Jul-2015 Aravind Akella <aakella@google.com> Bug fix in SensorManager.

If SensorService hasn't started when SensorManager instance is requested, keep retrying for a
longer duration.

Bug: 22529981
Change-Id: I3c506d962b61347085fc80b2c5832289539d6853
(cherry picked from commit e2806cb4456e3815e979f333ed23ec7df591a9ff)
ui/SensorManager.cpp
e2806cb4456e3815e979f333ed23ec7df591a9ff 30-Jul-2015 Aravind Akella <aakella@google.com> Bug fix in SensorManager.

If SensorService hasn't started when SensorManager instance is requested, keep retrying for a
longer duration.

Bug: 22529981
Change-Id: I3c506d962b61347085fc80b2c5832289539d6853
ui/SensorManager.cpp
36ccc3d9fd53a36828638c56b3ae45f8548d7afc 29-Jul-2015 Narayan Kamath <narayan@google.com> am 68b84a1c: am 14d2548a: am 65f1d44c: am a29db50c: Merge "Revert "Bug fix in SensorManager."" into mnc-dev

* commit '68b84a1c2e2034abf30f87c295839e047ee159fa':
Revert "Bug fix in SensorManager."
8034fc63a06768678a7afe0bfcc7070a65eda1ab 29-Jul-2015 Narayan Kamath <narayan@google.com> Revert "Bug fix in SensorManager."

This reverts commit 869eb2089ec8a6286b944bfcff57e4cbe0c7e207.

Change-Id: I4fb865e3b18bbb011fa4e4b4732336930c3a45ae
ui/SensorManager.cpp
cd26fdde79154d23f911fca39b9973d3f970601f 29-Jul-2015 Aravind Akella <aakella@google.com> am e622edeb: am b04e02b9: am 3a77d009: am 2376bd68: Merge "Bug fix in SensorManager." into mnc-dev

* commit 'e622edebfb980e9697977fe5bd32cbef08297a7a':
Bug fix in SensorManager.
869eb2089ec8a6286b944bfcff57e4cbe0c7e207 24-Jul-2015 Aravind Akella <aakella@google.com> Bug fix in SensorManager.

If SensorService hasn't started when SensorManager instance is requested, keep retrying for a
longer duration.

Bug: 22529981
Change-Id: I4ba6b760608e34d79273aeb39568f0fa72fbaf9d
ui/SensorManager.cpp
e5942ea296bd6e44a72d661ea4f4771e01023f18 17-Jul-2015 Lajos Molnar <lajos@google.com> am 1c9f278a: am 173e09a1: am 59d6f2c3: am 5f920c1a: BufferQueueConsumer: signal onFrameReleased on dropped frames

* commit '1c9f278ae6935186b0bee62a3939a1ac3ec98392':
BufferQueueConsumer: signal onFrameReleased on dropped frames
5f920c1a2cf12c0638c05fbddee8ff6c1193731c 14-Jul-2015 Lajos Molnar <lajos@google.com> BufferQueueConsumer: signal onFrameReleased on dropped frames

Bug: 22552826
Change-Id: I9bdfeb8c68f403301af90d4b494f0ae7166a767c
ui/BufferQueueConsumer.cpp
153008efb5a00ed3c18d588ce15f90d2442a9786 09-Jul-2015 Elliott Hughes <enh@google.com> am 9df25446: am 9bad590e: Merge "Binder on Windows? Unlikely."

* commit '9df254460b2dfd3db1132affc9489d0be01def23':
Binder on Windows? Unlikely.
4d2f4bba0d9fb72a7d3340e68ddaea448f2dc36e 09-Jul-2015 Elliott Hughes <enh@google.com> Binder on Windows? Unlikely.

Change-Id: I36c1bee4ed33b9b0d24109a6dbaefa0548dd5aa8
inder/ProcessState.cpp
134fd91bccde911bf9497f09841ec9922bbefec9 02-Jul-2015 Christopher Tate <ctate@google.com> am 708b42e0: am eba7afcc: am 2f340be3: Disregard alleged binder entities beyond parcel bounds

* commit '708b42e0ee5ad97b8426a6245f73131ddfc59a33':
Disregard alleged binder entities beyond parcel bounds
dc3d6af97d521678981c773ad9f4e1da088d7870 02-Jul-2015 Christopher Tate <ctate@google.com> am bb686c25: Disregard alleged binder entities beyond parcel bounds

* commit 'bb686c25b214edadd1830abd056db2d570d716ff':
Disregard alleged binder entities beyond parcel bounds
eba7afcc14f55e7fd32db9254f2b186108e1c776 02-Jul-2015 Christopher Tate <ctate@google.com> am 2f340be3: Disregard alleged binder entities beyond parcel bounds

* commit '2f340be345612d9fc2ecb1ea2a4c9e147610a593':
Disregard alleged binder entities beyond parcel bounds
bbd4f23247b3599bdda0149fcb68f311900ecf4f 01-Jul-2015 Amith Dsouza <amithds@google.com> Merge "Revert "Revert "Modify EGL to disconnect the window when the surface gets destroyed.""" into mnc-dev
8719e3b6310f97a736620395024c858ca8ec7e0c 01-Jul-2015 Aravind Akella <aakella@google.com> Merge "Enable sensor data injection mode through adb." into mnc-dev
4f21a4cc22a94eeb65742fcbb0a8516624474fe5 01-Jul-2015 Amith Dsouza <amithds@google.com> Revert "Revert "Modify EGL to disconnect the window when the surface gets destroyed.""

This reverts commit 6e1a2fea67006b58e83ebbcc72f7b12f18c49d15.

Driver level issues fixed by an updated graphics driver.

Bug: 21266976
Change-Id: I93339fb6c6bab988f3550adb49ef8e70cda6473e
ui/BufferQueueProducer.cpp
841a5926fc9b3f9f0e654ba3aab8e43bea7de7f1 29-Jun-2015 Aravind Akella <aakella@google.com> Enable sensor data injection mode through adb.

Change-Id: I415cf8ff0871fa74babaf9b879c68f210298b472
ui/ISensorServer.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
e59cb43edad0eff28a81b18c3c4484442ff680dd 30-Jun-2015 Chad Brubaker <cbrubaker@google.com> Fix writeByteArray/writeInt32Array size on x64

writeByteArray writes the size using sizeof(size_t), however it is always
read using readInt32(). On devices where sizeof(size_t) != 4 this causes
extra bytes to be written.

BUG: 22204736
Change-Id: I8d4507b6b616857ef5827f1fe9da0907d09abf0e
inder/Parcel.cpp
db4850c01ff02bf7f936aa427e1fa8af9abc8f22 26-Jun-2015 Dan Stoza <stoza@google.com> libgui: Fix handling of rotated surface damage

Incoming surface damage was not aware that the EGL implementation was
rotating buffers in response to SurfaceFlinger's transform hint. This
didn't affect all cases because the effect was to apply a 90 degree
rotation instead of a 270 degree rotation. For full-screen updates,
things more or less worked, but in other cases this caused corruption.

This fixes that by correctly undoing the effect of rotated buffers on
the incoming surface damage, and then passing that damage down
untouched to HWC.

Bug: 22068334
Change-Id: I226ecfc7a91fe2e16edd2aa6d9149f0d26b529d6
ui/Surface.cpp
bb686c25b214edadd1830abd056db2d570d716ff 28-May-2015 Christopher Tate <ctate@google.com> Disregard alleged binder entities beyond parcel bounds

When appending one parcel's contents to another, ignore binder
objects within the source Parcel that appear to lie beyond the
formal bounds of that Parcel's data buffer.

Bug 17312693

Change-Id: If592a260f3fcd9a56fc160e7feb2c8b44c73f514
(cherry picked from commit 27182be9f20f4f5b48316666429f09b9ecc1f22e)
inder/Parcel.cpp
2f340be345612d9fc2ecb1ea2a4c9e147610a593 28-May-2015 Christopher Tate <ctate@google.com> Disregard alleged binder entities beyond parcel bounds

When appending one parcel's contents to another, ignore binder
objects within the source Parcel that appear to lie beyond the
formal bounds of that Parcel's data buffer.

Bug 17312693

Change-Id: If592a260f3fcd9a56fc160e7feb2c8b44c73f514
(cherry picked from commit 27182be9f20f4f5b48316666429f09b9ecc1f22e)
inder/Parcel.cpp
1b8a2f82fedffbc0b24c884def197db392b16576 28-May-2015 Christopher Tate <ctate@google.com> Disregard alleged binder entities beyond parcel bounds

When appending one parcel's contents to another, ignore binder
objects within the source Parcel that appear to lie beyond the
formal bounds of that Parcel's data buffer.

Bug 17312693

Change-Id: If592a260f3fcd9a56fc160e7feb2c8b44c73f514
(cherry picked from commit 27182be9f20f4f5b48316666429f09b9ecc1f22e)
inder/Parcel.cpp
231160866738f6ed2175701f300fed1a8e8e02b0 18-Jun-2015 Dan Stoza <stoza@google.com> libgui/SF: Propagate SECURE Layer flag changes

This allows changes to the SECURE flag to propagate down to
Layers in SurfaceFlinger so that WindowManager can change it on the fly
in response to device policy updates.

Bug: 20934462
Change-Id: I558f6d22c6273be373f1f480365e42536af18a33
ui/SurfaceComposerClient.cpp
68efa84e7e9e51a9f0d8c8bdd824664eb97aed98 10-Jun-2015 Dan Stoza <stoza@google.com> GLConsumer: Fix crop math

When we have excess pixels that need to be removed from (for example)
the left and right sides, we currently do something like:

left += excess / 2;
right -= excess / 2;

If excess is odd, however, this removes 1 too few pixels since the odd
pixel gets rounded down twice. This changes the math to effectively:

left += excess / 2;
right -= (excess - excess / 2);

Which removes the correct total number of pixels.

Bug: 19611086
Change-Id: I8d1ad9fe7ba67c149794c148663d12acbccccef0
(cherry picked from commit ec4cb387502d5bd09e49b55605cf679fe3a0207a)
ui/GLConsumer.cpp
6cd8771c9cb9512e094bc2944bb7dd38665c1838 11-Jun-2015 Dan Stoza <stoza@google.com> Merge "GLConsumer: Fix crop math" into mnc-dev
ec4cb387502d5bd09e49b55605cf679fe3a0207a 10-Jun-2015 Dan Stoza <stoza@google.com> GLConsumer: Fix crop math

When we have excess pixels that need to be removed from (for example)
the left and right sides, we currently do something like:

left += excess / 2;
right -= excess / 2;

If excess is odd, however, this removes 1 too few pixels since the odd
pixel gets rounded down twice. This changes the math to effectively:

left += excess / 2;
right -= (excess - excess / 2);

Which removes the correct total number of pixels.

Bug: 19611086
Change-Id: I8d1ad9fe7ba67c149794c148663d12acbccccef0
ui/GLConsumer.cpp
53a2e97a78a2a567a17b44feaebbe57a28aa8a56 08-Jun-2015 Dan Stoza <stoza@google.com> libgui/SurfaceFlinger: Add getConsumerName

Adds a getConsumerName method to IGraphicBufferProducer and Surface.
Currently, the name is cached inside of IGBP and is update on connect
and dequeueBuffer, which should be good enough for most uses.

Bug: 6667401
Change-Id: I22c7881d778e495cf8276de7bbcd769e52429915
(cherry picked from commit c6f30bdee1f634eb90d68cb76efe935b6535a1e8)
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/DummyConsumer.h
ui/tests/Surface_test.cpp
ed7a50cc7d490ae7aece2d16422c5f7941876468 08-Jun-2015 Christopher Tate <ctate@google.com> Prevent integer overflow when calculating buffer resizes

Make sure that we don't go haywire if an exponential buffer growth
operation winds up wrapping integer range. Along the way, fix a
bookkeeping bug in BufferedTextOutput that would cause it to keep
spuriously realloc()ing on every append().

Bug 20674694

Change-Id: Ia845b7de36b90672a151a918ffc26c7da68e20a2
inder/BufferedTextOutput.cpp
inder/Parcel.cpp
98e67d352b8805a868ca0e7c2be3ea830fb7c338 04-Jun-2015 Christopher Tate <ctate@google.com> Don't corrupt parcel when writeFileDescriptor() fails

We now check for fd-legality before committing binder objects to
the flattened data buffer rather than after. Previously we would
wind up corrupting the parcel and incurring driver-level errors,
as well as potentially leaking FDs.

Bug 21428802

Change-Id: Ice0d641b3dcc41fb1b8c68ce2e2ebd744c2863a1
inder/Parcel.cpp
993772a60ac43e458f16b08c27e1f97dcfcfe3e1 03-Jun-2015 Dan Stoza <stoza@google.com> libgui: Add generation numbers to BufferQueue

This change allows producers to set a generation number on a
BufferQueue. This number will be embedded in any new GraphicBuffers
created in that BufferQueue, and attempts to attach buffers which have
a different generation number will fail.

It also plumbs the setGenerationNumber method through Surface, with the
additional effect that any buffers attached to the Surface after
setting a new generation number will automatically be updated with the
new number (as opposed to failing, as would happen on through IGBP).

Bug: 20923096
Change-Id: I32bf726b035f99c3e5834beaf76afb9f01adcbc2
(cherry picked from commit 812ed0644f8f8f71ca403f4e5793f0dbc1fcf9b2)
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/Surface_test.cpp
i/GraphicBuffer.cpp
c6f30bdee1f634eb90d68cb76efe935b6535a1e8 08-Jun-2015 Dan Stoza <stoza@google.com> libgui/SurfaceFlinger: Add getConsumerName

Adds a getConsumerName method to IGraphicBufferProducer and Surface.
Currently, the name is cached inside of IGBP and is update on connect
and dequeueBuffer, which should be good enough for most uses.

Bug: 6667401
Change-Id: I22c7881d778e495cf8276de7bbcd769e52429915
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/DummyConsumer.h
ui/tests/Surface_test.cpp
5b36ea44c58f8def561bf37c79d3452b21e2deab 08-Jun-2015 Dan Stoza <stoza@google.com> Merge "Revert "libgui: Add getConsumerName"" into mnc-dev
a2ca9bf0a9789e9e5e37961ebfb356347f59309e 08-Jun-2015 Dan Stoza <stoza@google.com> Revert "libgui: Add getConsumerName"

This reverts commit 107fbe5599016b0e35145a1a00c4f238b63d61e4.

Change-Id: I0c2b0f7c81193b05eb3dd2f5a59f83598434b744
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/DummyConsumer.h
ui/tests/Surface_test.cpp
5b23b5bf45b115d2c91448747ea40b63377d4abd 08-Jun-2015 Dan Stoza <stoza@google.com> Merge "libgui: Add getConsumerName" into mnc-dev
13b1604018968408bcc5553e1fa5ea9df3e4e009 12-Nov-2014 Jeff Brown <jeffbrown@google.com> Enable more flexible usage of blobs in parcels.

Add functions to allow a client to take over the ashmem region
that was transferred so that it can claim it for its own and
reuse it.

Add support for mutable ashmem regions too.

Bug: 21428802
Change-Id: I16eca338cdb99b07d81fc43573d53ce86dbc60c8
inder/Parcel.cpp
107fbe5599016b0e35145a1a00c4f238b63d61e4 06-Jun-2015 Dan Stoza <stoza@google.com> libgui: Add getConsumerName

Adds a getConsumerName method to IGraphicBufferProducer and Surface.
Currently, the name is cached inside of IGBP and is updated on connect
and dequeueBuffer, which should be good enough for most uses.

Bug: 6667401
Change-Id: Ife94bd89023fe7c00bad916932b9a19233fd2290
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/DummyConsumer.h
ui/tests/Surface_test.cpp
9d2c5a7c678bd384df0fb29952cf8943e7b1b160 05-Jun-2015 Dan Stoza <stoza@google.com> Merge "libgui: Add generation numbers to BufferQueue" into mnc-dev
9e6d2ee0302c6f6108488237821958c42ac380a1 03-Jun-2015 Tim Kilbourn <tkilbourn@google.com> DO NOT MERGE Remove unused ParcelFileDescriptor methods in parcel.

Attempts to replicate Java parceling in native code is fraught with
peril.

Change-Id: I4359036c5dddd1b886d886beef1d060523e53e5f
(cherry picked from commit f47a381001d4d4ce66c2e35aac5b96a26acc0730)
inder/Parcel.cpp
812ed0644f8f8f71ca403f4e5793f0dbc1fcf9b2 03-Jun-2015 Dan Stoza <stoza@google.com> libgui: Add generation numbers to BufferQueue

This change allows producers to set a generation number on a
BufferQueue. This number will be embedded in any new GraphicBuffers
created in that BufferQueue, and attempts to attach buffers which have
a different generation number will fail.

It also plumbs the setGenerationNumber method through Surface, with the
additional effect that any buffers attached to the Surface after
setting a new generation number will automatically be updated with the
new number (as opposed to failing, as would happen on through IGBP).

Bug: 20923096
Change-Id: I32bf726b035f99c3e5834beaf76afb9f01adcbc2
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/Surface_test.cpp
i/GraphicBuffer.cpp
7e5bb3701a313e539447c96ee2b31df62edc79fe 02-Jun-2015 Ruben Brunk <rubenbrunk@google.com> Merge "Track camera and flashlight usage in battery stats." into mnc-dev
5a31f1abf69eaf4c25a84d53e318c0a716911786 02-Jun-2015 Christopher Tate <ctate@google.com> Merge "Disregard alleged binder entities beyond parcel bounds" into mnc-dev
d47da608366cf1c2649b5dd2759d36e30377fa54 27-May-2015 Ruben Brunk <rubenbrunk@google.com> Track camera and flashlight usage in battery stats.

Bug: 15986092

Change-Id: I272ec070113a0bfc41c637c45a6e1a2ab346e87b
inder/IBatteryStats.cpp
3d6022a43e18dbb209da485e1c6353e916d5de12 01-Jun-2015 Dan Stoza <stoza@google.com> libgui: Propagate error by clearing sp<GB>

Clears the sp<GraphicBuffer> returned by createGraphicBuffer when there
is an error during unflattening.

Bug: 21498231
Change-Id: I886da4474fc06853cc59188d62044b7d7549126b
(cherry picked from commit 6a04e5fcf67e754b215301fe38a6401db567f4b5)
ui/IGraphicBufferAlloc.cpp
6a04e5fcf67e754b215301fe38a6401db567f4b5 01-Jun-2015 Dan Stoza <stoza@google.com> libgui: Propagate error by clearing sp<GB>

Clears the sp<GraphicBuffer> returned by createGraphicBuffer when there
is an error during unflattening.

Bug: 21498231
Change-Id: I886da4474fc06853cc59188d62044b7d7549126b
ui/IGraphicBufferAlloc.cpp
34228137cc4d2417266558b521908eff3e865745 30-May-2015 Michael Lentine <mlentine@google.com> Fix libgui crop matrix test.

On devices that have the crop image extension the crop is not applied to the
transform matrix so we have to expect different results in this case.

Change-Id: If62dec1111fb77c9fa2c4332d121665960ce0216
(cherry picked from commit 04b00cea67b406c4a971b24b9f91e95c754813ed)
ui/tests/SurfaceTextureClient_test.cpp
24fa67f62ac9a751b6fcbd7bd69960388a4b2f5b 29-May-2015 Dan Stoza <stoza@google.com> libui: Apply GRALLOC_USAGE_ALLOC_MASK during alloc

Applies GRALLOC_USAGE_ALLOC_MASK to the incoming usage bits before
calling alloc on the gralloc module. This filters out the new flag
GRALLOC_USAGE_FOREIGN_BUFFERS, which is used to send a hint to the
producer, but which does not affect the allocation of buffers.

Bug: 19801661
Change-Id: Ia37a3eddba2e97598e50ac3e10877430adfa9247
(cherry picked from commit b8efdc40039e4900ae2c64fbdfa03906c867ec84)
i/GraphicBufferAllocator.cpp
da5a3f40a7d64f685433b764f13c67d8ffd5d759 01-Jun-2015 Dan Stoza <stoza@google.com> Merge "libui: Apply GRALLOC_USAGE_ALLOC_MASK during alloc" into mnc-dev
04b00cea67b406c4a971b24b9f91e95c754813ed 30-May-2015 Michael Lentine <mlentine@google.com> Fix libgui crop matrix test.

On devices that have the crop image extension the crop is not applied to the
transform matrix so we have to expect different results in this case.

Change-Id: If62dec1111fb77c9fa2c4332d121665960ce0216
ui/tests/SurfaceTextureClient_test.cpp
b8efdc40039e4900ae2c64fbdfa03906c867ec84 29-May-2015 Dan Stoza <stoza@google.com> libui: Apply GRALLOC_USAGE_ALLOC_MASK during alloc

Applies GRALLOC_USAGE_ALLOC_MASK to the incoming usage bits before
calling alloc on the gralloc module. This filters out the new flag
GRALLOC_USAGE_FOREIGN_BUFFERS, which is used to send a hint to the
producer, but which does not affect the allocation of buffers.

Bug: 19801661
Change-Id: Ia37a3eddba2e97598e50ac3e10877430adfa9247
i/GraphicBufferAllocator.cpp
6e1a2fea67006b58e83ebbcc72f7b12f18c49d15 29-May-2015 Michael Lentine <mlentine@google.com> Revert "Modify EGL to disconnect the window when the surface gets destroyed."

This reverts commit 00699fa64197cc72a160d69e1f0003cdd43dc136.
ui/BufferQueueProducer.cpp
d2fb7a6e49f04182ba7b639c340414b1745137f2 29-May-2015 Adam Lesinski <adamlesinski@google.com> am 8728c390: am 2c4f5fde: am 861c3f56: am 9004e7f5: am 4ff0cb44: Verify that the native handle was created

* commit '8728c390476110857dd6b290dac3bfdf13b33e81':
Verify that the native handle was created
8728c390476110857dd6b290dac3bfdf13b33e81 28-May-2015 Adam Lesinski <adamlesinski@google.com> am 2c4f5fde: am 861c3f56: am 9004e7f5: am 4ff0cb44: Verify that the native handle was created

* commit '2c4f5fdeca8e7a6f672bbcb8c25e6b81bf4eaa5b':
Verify that the native handle was created
2c4f5fdeca8e7a6f672bbcb8c25e6b81bf4eaa5b 28-May-2015 Adam Lesinski <adamlesinski@google.com> am 861c3f56: am 9004e7f5: am 4ff0cb44: Verify that the native handle was created

* commit '861c3f56157813627467054f488ecff7d339f2b0':
Verify that the native handle was created
87dd528beebe478b6c3abef4dd09453dd216e2fb 23-Jul-2014 Michael Lentine <mlentine@google.com> Modify EGL to disconnect the window when the surface gets destroyed.

Bug: 14445579

Change-Id: I1d263ff6cffcb6e448761fca7ca4b06466ad65aa
(cherry picked from commit 00699fa64197cc72a160d69e1f0003cdd43dc136)
ui/BufferQueueProducer.cpp
861c3f56157813627467054f488ecff7d339f2b0 28-May-2015 Adam Lesinski <adamlesinski@google.com> am 9004e7f5: am 4ff0cb44: Verify that the native handle was created

* commit '9004e7f5516c5b4a1b4178fa6a8bb4b3ca4ddcd0':
Verify that the native handle was created
076d25b19d50bc71775b72ed95b1b49fb544100c 26-May-2015 Dan Stoza <stoza@google.com> libgui: Fix surface damage on rotated buffers

Flips the width and height when the buffer comes in with a 90 degree
rotation so that performing the Y-flip from GL works correctly.

Bug: 20761426
Change-Id: I41c9edc8549c6cbdb534277b996ff20c59034582
(cherry picked from commit 0e65e6c283c96d514c5ecefbb46a976939cfa64a)
ui/Surface.cpp
e0d3e7073aa6b8b99a2f732e58dcf2b003eabf5b 20-May-2015 Michael Lentine <mlentine@google.com> Fix libgui tests.

Update IGraphicsBufferProducerTest to the new maximum enum value which is now
NATIVE_WINDOW_BUFFER_AGE. Update SurfaceTextureGLToGL_test to use the correct
counts for GraphicsBuffer refs.

Buf: 18138368

Change-Id: Ie2f7e00b414d63100b16944e3ab36b1ffceecd57
(cherry picked from commit d8ead0ccd4b700e43a78efe9b140d4a069dc343d)
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/SurfaceTextureGLToGL_test.cpp
ffe17a14ad6c8e21baf2ff765e31b975815bef73 22-May-2015 Chong Zhang <chz@google.com> fix BufferItem flatten/unflatten alignment

bug: 21370100
Change-Id: Ia3991dc591c176bdbd1d78d1804aa22777525b62
(cherry picked from commit 47f674dfeca31b29810ecb90f1277918b67c4cf8)
ui/BufferItem.cpp
235da8da1a291488cdf5407ff478d4690a0c2a7e 18-May-2015 Michael Lentine <mlentine@google.com> Refactor ConsumerBase and it's derived classes.

Move setDefaultBufferSize, setDefaultBufferFormat, and
setDefaultBufferDataSpace into ConsumerBase and remove them from
CpuConsumer and BufferItemConsumer.

Bug: 19977701

Change-Id: Ic68992464c5da6da7a41c4063a53029a69efcd1b
(cherry picked from commit 847f11e215e86b107ab50c1359fc7bc3cd7a3a11)
ui/BufferItemConsumer.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
e57621598f2566653faebd3fe221919ef964c2cc 15-May-2015 John Reck <jreck@google.com> Add ConsumerBase::isAbandoned

Bug: 20105644
Change-Id: I21526b5397ea51a15500c44a99daa9d75fc4ea67
(cherry picked from commit e478305181bb8dc8706361bc702256fe73f958de)
ui/ConsumerBase.cpp
9004e7f5516c5b4a1b4178fa6a8bb4b3ca4ddcd0 28-May-2015 Adam Lesinski <adamlesinski@google.com> am 4ff0cb44: Verify that the native handle was created

* commit '4ff0cb4404db31576cd8a81ca5ef3b044d492904':
Verify that the native handle was created
27182be9f20f4f5b48316666429f09b9ecc1f22e 28-May-2015 Christopher Tate <ctate@google.com> Disregard alleged binder entities beyond parcel bounds

When appending one parcel's contents to another, ignore binder
objects within the source Parcel that appear to lie beyond the
formal bounds of that Parcel's data buffer.

Bug 17312693

Change-Id: If592a260f3fcd9a56fc160e7feb2c8b44c73f514
inder/Parcel.cpp
0e65e6c283c96d514c5ecefbb46a976939cfa64a 26-May-2015 Dan Stoza <stoza@google.com> libgui: Fix surface damage on rotated buffers

Flips the width and height when the buffer comes in with a 90 degree
rotation so that performing the Y-flip from GL works correctly.

Bug: 20761426
Change-Id: I41c9edc8549c6cbdb534277b996ff20c59034582
ui/Surface.cpp
01f9e920b093c6414b32434cdd6efda7fe578ca5 22-May-2015 Michael Lentine <mlentine@google.com> Merge "Fix libgui tests." into mnc-dev
d8ead0ccd4b700e43a78efe9b140d4a069dc343d 20-May-2015 Michael Lentine <mlentine@google.com> Fix libgui tests.

Update IGraphicsBufferProducerTest to the new maximum enum value which is now
NATIVE_WINDOW_BUFFER_AGE. Update SurfaceTextureGLToGL_test to use the correct
counts for GraphicsBuffer refs.

Buf: 18138368

Change-Id: Ie2f7e00b414d63100b16944e3ab36b1ffceecd57
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/SurfaceTextureGLToGL_test.cpp
041b945e07168712fd4d2fec06f76aeaeaa5fc9e 22-May-2015 Chong Zhang <chz@google.com> Merge "fix BufferItem flatten/unflatten alignment" into mnc-dev
47f674dfeca31b29810ecb90f1277918b67c4cf8 22-May-2015 Chong Zhang <chz@google.com> fix BufferItem flatten/unflatten alignment

bug: 21370100
Change-Id: Ia3991dc591c176bdbd1d78d1804aa22777525b62
ui/BufferItem.cpp
699a32bcdfaf0390a269a275b979d46ca815654a 18-May-2015 Michael Lentine <mlentine@google.com> Merge "Refactor ConsumerBase and it's derived classes." into mnc-dev
847f11e215e86b107ab50c1359fc7bc3cd7a3a11 18-May-2015 Michael Lentine <mlentine@google.com> Refactor ConsumerBase and it's derived classes.

Move setDefaultBufferSize, setDefaultBufferFormat, and
setDefaultBufferDataSpace into ConsumerBase and remove them from
CpuConsumer and BufferItemConsumer.

Bug: 19977701

Change-Id: Ic68992464c5da6da7a41c4063a53029a69efcd1b
ui/BufferItemConsumer.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
3db36803b247bfbb582632be58416a0a11d1227b 15-May-2015 John Reck <jreck@google.com> Merge "Add ConsumerBase::isAbandoned" into mnc-dev
e478305181bb8dc8706361bc702256fe73f958de 15-May-2015 John Reck <jreck@google.com> Add ConsumerBase::isAbandoned

Bug: 20105644
Change-Id: I21526b5397ea51a15500c44a99daa9d75fc4ea67
ui/ConsumerBase.cpp
51c8c502f63624af8090fe42477b95791faec2c9 14-May-2015 Michael Lentine <mlentine@google.com> Merge "Modify EGL to disconnect the window when the surface gets destroyed." into mnc-dev
7c000280a57f352c2485dcaea1d5bfe20f7bfe63 14-May-2015 Michael Wright <michaelwr@google.com> Merge changes from topic 'button_actions' into mnc-dev

* changes:
Fix input tests to work with new MotionEvent member
Revert "Revert "Add new MotionEvent actions for button press and release.""
b03f103fd40d9028731a81e87a817a3e3bd07fa4 14-May-2015 Michael Wright <michaelwr@google.com> Fix input tests to work with new MotionEvent member

Change-Id: I0dde0f91f693903f26edc116b5dbcbf33bac2b93
nput/tests/InputEvent_test.cpp
nput/tests/InputPublisherAndConsumer_test.cpp
nput/tests/StructLayout_test.cpp
7b159c9a4f589da7fdab7c16f3aefea25e0e7e4f 14-May-2015 Michael Wright <michaelwr@google.com> Revert "Revert "Add new MotionEvent actions for button press and release.""

This reverts commit 70b41ef580644fd0fe6fa9b8ac7e4a745cfb6db3.
nput/Input.cpp
nput/InputTransport.cpp
c921ce268155e8e1d75bd423514bb5a3ee363440 14-May-2015 Michael Wright <michaelwr@google.com> Merge "Revert "Add new MotionEvent actions for button press and release."" into mnc-dev
70b41ef580644fd0fe6fa9b8ac7e4a745cfb6db3 14-May-2015 Michael Wright <michaelwr@google.com> Revert "Add new MotionEvent actions for button press and release."

This reverts commit 48a8a0e4322969e1551536d6183af3a1faa2240b.
nput/Input.cpp
nput/InputTransport.cpp
f27e6681048f3ee7a589ab824a1041667ff838e0 14-May-2015 Michael Wright <michaelwr@google.com> Merge "Add new MotionEvent actions for button press and release." into mnc-dev
48a8a0e4322969e1551536d6183af3a1faa2240b 11-May-2015 Michael Wright <michaelwr@google.com> Add new MotionEvent actions for button press and release.

Introduce ACTION_BUTTON_PRESS and ACTION_BUTTON_RELEASE as actions to
signal a button press or release. If these actions happen
simulanteously with a DOWN or UP event then they're explicitly
ordered to happen after the DOWN or preceding the UP in order to send
them to the most recently targeted view.

Also, introduce new stylus button constants that differ from the
constants we use for mouse buttons.

Bug: 20704355
Change-Id: Ib960a5004db5429ad2fc8db020704773e2978327
nput/Input.cpp
nput/InputTransport.cpp
00699fa64197cc72a160d69e1f0003cdd43dc136 23-Jul-2014 Michael Lentine <mlentine@google.com> Modify EGL to disconnect the window when the surface gets destroyed.

Bug: 14445579

Change-Id: I1d263ff6cffcb6e448761fca7ca4b06466ad65aa
ui/BufferQueueProducer.cpp
4ff0cb4404db31576cd8a81ca5ef3b044d492904 13-May-2015 Adam Lesinski <adamlesinski@google.com> Verify that the native handle was created

The inputs to native_handle_create can cause an overflowed allocation,
so check the return value of native_handle_create before accessing
the memory it returns.

Bug:19334482
Change-Id: I1f489382776c2a1390793a79dc27ea17baa9b2a2
(cherry picked from commit eaac99a7172da52a76ba48c26413778a74951b1a)
inder/Parcel.cpp
e64a79cd8525d502723feea2190d2a85450194ee 12-May-2015 Dan Stoza <stoza@google.com> Fix PTS handling for buffer replacement

This changes the way that SurfaceFlinger's shadow buffer management
works such that instead of tracking the size of the shadow queue in the
BufferQueue, SF tracks the last frame number it has seen, and passes
that into the acquireBuffer call. BufferQueueConsumer then ensures that
it never returns a buffer newer than that frame number, even if that
means that it must return PRESENT_LATER for an otherwise valid buffer.

Change-Id: I3fcb45f683ed660c3f18a8b85ae1f8a962ba6f0e
(cherry picked from commit a4650a50a0b35e9e4342d6600b6eb24fd94bb8e5)
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
f183395296328a0eb96065c1e426b91bbd11b54b 16-Mar-2015 Ronghua Wu <ronghuawu@google.com> binder: add uint64 support to Parcel.

Bug: 19620911
Change-Id: Ifce5319e4e35afd344dead67ab7ba1cd399476a3
(cherry picked from commit 2d13afdfa1f43973bf3cb917c7d6496a38baa446)
inder/Parcel.cpp
09d561dbee9a28db9632ff3d51f633c18aefe023 13-May-2015 Dan Stoza <stoza@google.com> Merge "Fix PTS handling for buffer replacement" into mnc-dev
4b4820db4b83875ec5bbae11e468f36f21e5334c 13-May-2015 Adam Lesinski <adamlesinski@google.com> Merge "Verify that the native handle was created" into mnc-dev
eaac99a7172da52a76ba48c26413778a74951b1a 13-May-2015 Adam Lesinski <adamlesinski@google.com> Verify that the native handle was created

The inputs to native_handle_create can cause an overflowed allocation,
so check the return value of native_handle_create before accessing
the memory it returns.

Bug:19334482
Change-Id: I1f489382776c2a1390793a79dc27ea17baa9b2a2
inder/Parcel.cpp
cbe5459a99dcbd6e989fc1385d4575369b79d8ef 12-May-2015 Dan Stoza <stoza@google.com> libgui: Always allow allocation on connect

This change places BufferQueue into a predictable state where
allocation is allowed whenever a producer connects. This allows clients
to disconnect and reconnect without having to worry about being locked
out of allocation.

Bug: 20554276
Change-Id: Ic0f920a3d4204f2cafdfa69e46f3bb4204571d7e
(cherry picked from commit 2b83cc920ac98498bee161e2b0e7befdfc82ca2b)
ui/BufferQueueProducer.cpp
2b83cc920ac98498bee161e2b0e7befdfc82ca2b 12-May-2015 Dan Stoza <stoza@google.com> libgui: Always allow allocation on connect

This change places BufferQueue into a predictable state where
allocation is allowed whenever a producer connects. This allows clients
to disconnect and reconnect without having to worry about being locked
out of allocation.

Bug: 20554276
Change-Id: Ic0f920a3d4204f2cafdfa69e46f3bb4204571d7e
ui/BufferQueueProducer.cpp
a4650a50a0b35e9e4342d6600b6eb24fd94bb8e5 12-May-2015 Dan Stoza <stoza@google.com> Fix PTS handling for buffer replacement

This changes the way that SurfaceFlinger's shadow buffer management
works such that instead of tracking the size of the shadow queue in the
BufferQueue, SF tracks the last frame number it has seen, and passes
that into the acquireBuffer call. BufferQueueConsumer then ensures that
it never returns a buffer newer than that frame number, even if that
means that it must return PRESENT_LATER for an otherwise valid buffer.

Change-Id: I3fcb45f683ed660c3f18a8b85ae1f8a962ba6f0e
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
a3b66932727503943b1c59e1846af60e0d95afa6 12-May-2015 Dan Stoza <stoza@google.com> libgui: Hook up onFrameReplaced

This completes the plumbing from ConsumerListener::onFrameReplaced into
SurfaceFlinger (and other consumers that may care).

Change-Id: I376e78ace95d6748e8662e6b4d47c0dfa697a300
(cherry picked from commit dc13c5b85b099050c73297a19f1ef89308f7620b)
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
dc13c5b85b099050c73297a19f1ef89308f7620b 12-May-2015 Dan Stoza <stoza@google.com> libgui: Hook up onFrameReplaced

This completes the plumbing from ConsumerListener::onFrameReplaced into
SurfaceFlinger (and other consumers that may care).

Change-Id: I376e78ace95d6748e8662e6b4d47c0dfa697a300
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
79e287890da9de37a834cceebdefe32a7d3ac0ac 04-May-2015 Dan Stoza <stoza@google.com> Merge "libgui: Clear frame number while freeing slot" into mnc-dev
24056507af3873431b58fa3859cec77cb24c701e 02-May-2015 Dan Stoza <stoza@google.com> libgui: Clear frame number while freeing slot

Clears the frame number of a slot when it is freed, since it is used
to determine if a released buffer is stale.

Bug: 20445852
Change-Id: I02415e7b25a1eafe7414d6eb1cedf62ac5543cd9
(cherry picked from commit 52937cd9a543fe66696c38ae50ec141aa70ec1e4)
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
52937cd9a543fe66696c38ae50ec141aa70ec1e4 02-May-2015 Dan Stoza <stoza@google.com> libgui: Clear frame number while freeing slot

Clears the frame number of a slot when it is freed, since it is used
to determine if a released buffer is stale.

Bug: 20445852
Change-Id: I02415e7b25a1eafe7414d6eb1cedf62ac5543cd9
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
c28fe8f5c54c5e98be7664dcffdbd5b324b850d6 02-May-2015 Svetoslav <svetoslavganov@google.com> Merge "Add body sensors app op - framework native" into mnc-dev
b412f6e203b38f8047f760261a5e3dc6d0722f08 30-Apr-2015 Svetoslav <svetoslavganov@google.com> Add body sensors app op - framework native

Change-Id: I727a2bb1e28ae9158f2df9c74dd0aee977dfd47f
inder/AppOpsManager.cpp
inder/IAppOpsService.cpp
inder/IPermissionController.cpp
ui/ISensorServer.cpp
ui/Sensor.cpp
ui/SensorManager.cpp
bb58111c22b41f605a8edb6599fd3df42f6d8e4e 01-May-2015 Dan Stoza <stoza@google.com> Merge "SurfaceFlinger: Fix PTS on stale buffers"
ecc504043fddb7a75042ce402c67aedfac04d5e2 28-Apr-2015 Dan Stoza <stoza@google.com> SurfaceFlinger: Fix PTS on stale buffers

SurfaceFlinger's (Layer's) shadow copy of the BufferQueue queue was
getting out of sync for a few reasons. This change fixes these by
doing the following:

- Adds a check to re-synchronize the shadow copy every time we
successfully acquire a buffer by first dropping stale buffers before
removing the current buffer.
- Avoids trying to perform updates for buffers which have been rejected
(for incorrect dimensions) by SurfaceFlinger.
- Adds IGraphicBufferConsumer::setShadowQueueSize, which allows the
consumer to notify the BufferQueue that it is maintaining a shadow
copy of the queue and prevents it from dropping so many buffers
during acquireBuffer that it ends up returning a buffer for which the
consumer has not yet received an onFrameAvailable call.

Bug: 20096136
Change-Id: I78d0738428005fc19b3be85cc8f1db498043612f
(cherry picked from commit 2e36f2283f48ab764b496490c73a132acf21df3a)
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/IGraphicBufferConsumer.cpp
2e36f2283f48ab764b496490c73a132acf21df3a 28-Apr-2015 Dan Stoza <stoza@google.com> SurfaceFlinger: Fix PTS on stale buffers

SurfaceFlinger's (Layer's) shadow copy of the BufferQueue queue was
getting out of sync for a few reasons. This change fixes these by
doing the following:

- Adds a check to re-synchronize the shadow copy every time we
successfully acquire a buffer by first dropping stale buffers before
removing the current buffer.
- Avoids trying to perform updates for buffers which have been rejected
(for incorrect dimensions) by SurfaceFlinger.
- Adds IGraphicBufferConsumer::setShadowQueueSize, which allows the
consumer to notify the BufferQueue that it is maintaining a shadow
copy of the queue and prevents it from dropping so many buffers
during acquireBuffer that it ends up returning a buffer for which the
consumer has not yet received an onFrameAvailable call.

Bug: 20096136
Change-Id: I78d0738428005fc19b3be85cc8f1db498043612f
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/IGraphicBufferConsumer.cpp
4d0cd3f5241df28d8259c5ee7df33649c5c10f2d 30-Apr-2015 Taiju Tsuiki <tzik@google.com> Close Fence FDs in error cases of Surface and GraphicBufferMapper

Surface::{cancel,queue}Buffer and GraphicBufferMapper::lockAsyncYCbCr take the
ownership of |fenceFd|s. Though they don't close it on error cases.

Change-Id: I49a7ce8837d5c510c4ac4ad4649f310d18610e80
(cherry picked from commit c7263fb43297744eb04b11025424c0c526d5584c)
ui/Surface.cpp
i/GraphicBufferMapper.cpp
ed6e907bc7a259d85c6a6c141a06a06e5c0b224c 30-Apr-2015 Dan Stoza <stoza@google.com> Merge "Close Fence FDs in error cases of Surface and GraphicBufferMapper"
84f1d9c288f35fa399f97207b6af43a261d5989a 30-Apr-2015 Taiju Tsuiki <tzik@google.com> Avoid closing invalid FD in Surface and GraphicBufferMapper

GraphicBufferMapper::lockAsync{,YCbCr} close the fence FD even when the FD
is invalid.

Change-Id: Ia2b4dae3b2c06426e34f623f19ba92435f486ab7
(cherry picked from commit dcfe91e1f3f15b68793a69650f9bd0ca6a58ff4c)
i/GraphicBufferMapper.cpp
f0c17b0831512cc700414d12dee1e84fb174bbbe 30-Apr-2015 Dan Stoza <stoza@google.com> Merge "Avoid closing invalid FD in Surface and GraphicBufferMapper"
dcfe91e1f3f15b68793a69650f9bd0ca6a58ff4c 30-Apr-2015 Taiju Tsuiki <tzik@google.com> Avoid closing invalid FD in Surface and GraphicBufferMapper

GraphicBufferMapper::lockAsync{,YCbCr} close the fence FD even when the FD
is invalid.

Change-Id: Ia2b4dae3b2c06426e34f623f19ba92435f486ab7
i/GraphicBufferMapper.cpp
c7263fb43297744eb04b11025424c0c526d5584c 30-Apr-2015 Taiju Tsuiki <tzik@google.com> Close Fence FDs in error cases of Surface and GraphicBufferMapper

Surface::{cancel,queue}Buffer and GraphicBufferMapper::lockAsyncYCbCr take the
ownership of |fenceFd|s. Though they don't close it on error cases.

Change-Id: I49a7ce8837d5c510c4ac4ad4649f310d18610e80
ui/Surface.cpp
i/GraphicBufferMapper.cpp
7a6c5861619ab42f2a34903591ed24a265f68c26 29-Apr-2015 Svet Ganov <svetoslavganov@google.com> Merge "Respect the record audio app op - frameworks native" into mnc-dev
8de71a2408f632407c25942a39c31f78c7f64ffd 29-Apr-2015 Dan Stoza <stoza@google.com> Merge "BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query"
ca8c569598d79b4bbe4fc08a4ea97619df3b7262 29-Apr-2015 Dan Stoza <stoza@google.com> Merge "libgui: Implement onTransact for sideband streams"
e9881a3961888c4264034473021f42f9f0305026 29-Apr-2015 Nick Kralevich <nnk@google.com> Parcel.cpp: use calloc instead of malloc

(cherrypicked from commit 6329f0199ed04030e6c2bd7aecd036387b732c71)

Bug: 20669363
Change-Id: Ia4c8d8ca9d8b4b87954d7267e8b1c94cf4e570e1
inder/Parcel.cpp
f1377f506c764a8b254b60ee28e38e12ccc8135c 28-Apr-2015 Svet Ganov <svetoslavganov@google.com> Respect the record audio app op - frameworks native

Change-Id: Id747767377953fd644a538aad3f603d6c50875a2
inder/IPermissionController.cpp
6329f0199ed04030e6c2bd7aecd036387b732c71 29-Apr-2015 Nick Kralevich <nnk@google.com> Parcel.cpp: use calloc instead of malloc

Bug: 20669363
Change-Id: Ia4c8d8ca9d8b4b87954d7267e8b1c94cf4e570e1
inder/Parcel.cpp
81cde67a5528af6fbb7a3d49930fd3ca8ff49b34 26-Feb-2015 Dan Stoza <stoza@google.com> BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query

Adds a NATIVE_WINDOW_BUFFER_AGE query, which returns the age of the
contents of the most recently dequeued buffer as the number of frames
that have elapsed since it was last queued.

Change-Id: Ib6fd62945cb62d1e60133a65beee510363218a23
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
800b41ab8486b9d885124071659c774f6c1856e2 28-Apr-2015 Dan Stoza <stoza@google.com> libgui: Fix buffer age on 64-bit targets

Changes a %llu to a PRIu64 to fix compilation on 64-bit targets.

Change-Id: I8ba982662dbe8ee2e1e47c4f6ce4bbdbe2020960
ui/BufferQueueProducer.cpp
4afd8b67f9be307e6c6ed89deab2e85516bb3a0e 26-Feb-2015 Dan Stoza <stoza@google.com> BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query

Adds a NATIVE_WINDOW_BUFFER_AGE query, which returns the age of the
contents of the most recently dequeued buffer as the number of frames
that have elapsed since it was last queued.

Change-Id: Ib6fd62945cb62d1e60133a65beee510363218a23
(cherry picked from commit 49f810c72df8d1d64128e376757079825c8decd4)
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
80640fca047bb5f4e792cd87138e24586a3a37c4 28-Apr-2015 Dan Stoza <stoza@google.com> libgui: Implement onTransact for sideband streams

Implements the GET_SIDEBAND_STREAM case of
IGraphicBufferConsumer::onTransact

Change-Id: I46138b87ce2d70dde48b3561dcd378ce5fd8f383
(cherry picked from commit 17166698d935a004adab216aca83a585f91e9d96)
ui/IGraphicBufferConsumer.cpp
17166698d935a004adab216aca83a585f91e9d96 28-Apr-2015 Dan Stoza <stoza@google.com> libgui: Implement onTransact for sideband streams

Implements the GET_SIDEBAND_STREAM case of
IGraphicBufferConsumer::onTransact

Change-Id: I46138b87ce2d70dde48b3561dcd378ce5fd8f383
ui/IGraphicBufferConsumer.cpp
d9c4971da2f2c4f980a748006bd40469c3332a13 27-Apr-2015 Dan Stoza <stoza@google.com> libgui: Change detachNextBuffer to return sp<GB>

Changes Surface::detachNextBuffer to return an sp<GraphicBuffer>
instead of an ANativeWindowBuffer* to ensure that reference counting
works correctly.

Bug: 20092217
Change-Id: I3979ea6121aaf14845f0554477b778770413581e
(cherry picked from commit 8b2daa3ca29492b181fb67840640d771c4a2b3ac)
ui/Surface.cpp
745ac038b986d826a767ddc891a224b59165e9fb 27-Apr-2015 Dan Stoza <stoza@google.com> libgui: Change detachNextBuffer to return sp<GB>

Changes Surface::detachNextBuffer to return an sp<GraphicBuffer>
instead of an ANativeWindowBuffer* to ensure that reference counting
works correctly.

Bug: 20092217
Change-Id: I3979ea6121aaf14845f0554477b778770413581e
ui/Surface.cpp
63a0f428230208b9f3601eb7c99a08100c6f3a0b 25-Apr-2015 Aravind Akella <aakella@google.com> Build fix SensorEventQueue.

Change-Id: I3e6ba031d42bd37067591771f378b7185169ab48
ui/SensorEventQueue.cpp
cc60dc2128a98f952beb187da22b28dcba0124ad 25-Apr-2015 Aravind Akella <aakella@google.com> Merge "Enable data injection mode in SensorService."
6febf6c150b47a8e9ec7d77d988c176fe89ccbf2 24-Apr-2015 Dan Stoza <stoza@google.com> am 5d10894c: am ef47c080: am 958f5011: Merge "libgui: Allow an IGBProducer to disable allocation"

* commit '5d10894c9d547449cf231f02b736da9dfdebec11':
libgui: Allow an IGBProducer to disable allocation
7536ef4f07a3e8bfe227dbabe2298965af9d9e0e 24-Apr-2015 Dan Stoza <stoza@google.com> am 437fb850: am f96a7581: am fb6d43ff: Merge "libgui: Change BufferQueue to use free lists"

* commit '437fb850b0667be3e8655cb1ac6a8d491f59d045':
libgui: Change BufferQueue to use free lists
958f501189a29e53767f41bc8172e4af8d1ce2bf 24-Apr-2015 Dan Stoza <stoza@google.com> Merge "libgui: Allow an IGBProducer to disable allocation"
fb6d43ff44bb2b708494749a7f6037505ccd7bf6 24-Apr-2015 Dan Stoza <stoza@google.com> Merge "libgui: Change BufferQueue to use free lists"
a9e6cc387072e25706a6d847a97b02a6f25a918b 17-Apr-2015 Aravind Akella <aakella@google.com> Enable data injection mode in SensorService.

Change-Id: I0cd32a017235c31c54816e4a357ce3b988350ed6
ui/ISensorServer.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
8efa4fb3704ace5cd764203af9d23125e97b7bcd 24-Apr-2015 Dan Stoza <stoza@google.com> am 65f68d5c: am fece8306: am 56f1f16c: Merge "libgui: Fix some bitrot/warnings in tests"

* commit '65f68d5cb4a758a8e6faac95817f70383748a9c0':
libgui: Fix some bitrot/warnings in tests
1925bd9219eb7b1fe1efe610511cd77183cb6062 24-Apr-2015 Dan Stoza <stoza@google.com> am 17df593e: am 9aae16a4: am 82e4d49b: Merge "libui/libgui: Fix errors in parceling"

* commit '17df593eb386940a26377d2db9fcb8a60e8badba':
libui/libgui: Fix errors in parceling
56f1f16c7b01a53282d483259ae80d035cc6496b 24-Apr-2015 Dan Stoza <stoza@google.com> Merge "libgui: Fix some bitrot/warnings in tests"
82e4d49b0ecb205d49f02cc07496f7508c56443c 24-Apr-2015 Dan Stoza <stoza@google.com> Merge "libui/libgui: Fix errors in parceling"
9de7293b0a1b01ebe6fb1ab4a498f144adc8029f 17-Apr-2015 Dan Stoza <stoza@google.com> libgui: Allow an IGBProducer to disable allocation

Adds a new method IGBP::allowAllocation, which controls whether
dequeueBuffer is permitted to allocate a new buffer. If allocation is
disallowed, dequeueBuffer will block or return an error as it
normally would (as controlled by *ControlledByApp).

If there are free buffers, but they are not of the correct dimensions,
format, or usage, they may be freed if a more suitable buffer is not
found first.

Bug: 19801715
Change-Id: I0d604958b78b2fd775c2547690301423f9a52165
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/tests/BufferQueue_test.cpp
i/GraphicBuffer.cpp
0de7ea752900b5da29ad19c2799040235477f3c5 23-Apr-2015 Dan Stoza <stoza@google.com> libgui: Change BufferQueue to use free lists

BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.

Fixes an issue with the first version of this change, found in bugs
20482952, 20443314, and 20464549.

Bug: 13175420
Change-Id: I9b6e83cfe8f9b4329a976025cb8e291d51fb6d4a
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
83e9f6e75e0c32efba8a337bcf9eb44cbab2346c 23-Apr-2015 Dan Stoza <stoza@google.com> am 41422980: am d2c12e4c: am 7637e35d: Merge "Revert "libgui: Change BufferQueue to use free lists""

* commit '41422980fabb087390791d951c28fef072d93be1':
Revert "libgui: Change BufferQueue to use free lists"
7637e35d17e06d532b0d2d11c0eef60594726209 22-Apr-2015 Dan Stoza <stoza@google.com> Merge "Revert "libgui: Change BufferQueue to use free lists""
1fc9cc25a487d4d9dea3cc185331e3481ead36ff 22-Apr-2015 Dan Stoza <stoza@google.com> Revert "libgui: Change BufferQueue to use free lists"

This reverts commit 8dddc990103b71137be2a6365a26b1ac36598e68.

Change-Id: I0b0fed9f1394c6f6ae812f6c562ead4473a8226e
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
2bff43a91240ba3e2f98778233f3c9fb8221bbf7 22-Apr-2015 Dan Stoza <stoza@google.com> am 3805a00d: am 91f16b1b: am e647ddde: Merge "libgui: Fix CPU rendering on Surface"

* commit '3805a00d6efef02535aaed96f412e0c55a9875f8':
libgui: Fix CPU rendering on Surface
1c38c4192bdb3fc5d856e6882268f3d4b76032e3 22-Apr-2015 Wale Ogunwale <ogunwale@google.com> Merge "Fixed build error with clang/llvm."
c62acbd12711ee6cff1ef94c146316dfe5169045 22-Apr-2015 Dan Stoza <stoza@google.com> libgui: Fix CPU rendering on Surface

When the surface damage code went in, it incorrectly assumed that if
an application was doing CPU rendering, it would be using lock and
unlockAndPost instead of dequeue and queue, so it repurposed the dirty
region too aggressively. This change keeps it from clobbering the
dirty region if a CPU producer is attached.

Bug: 20431815
Change-Id: Id4dfd71378311ea822f0289f6de2d20a7bd84014
ui/Surface.cpp
a3206e690bcfe5c982a0d7fff7c845b83a3ed91f 21-Apr-2015 Wale Ogunwale <ogunwale@google.com> Fixed build error with clang/llvm.

Change-Id: Ideacdc974ebad542df724464ccba9fcfb2b7ea91
inder/IPCThreadState.cpp
8f91a6fb040ca22dde5408426abea28ac03d0c86 21-Apr-2015 Dan Sandler <dsandler@android.com> Merge "Add ashmem stats to Parcels"
97ef903db12c72b24afba66c9971bbf35ec68de5 20-Apr-2015 Dan Stoza <stoza@google.com> am aadb236d: am 483c76dc: am ff5c1a6b: Merge "libgui: Change BufferQueue to use free lists"

* commit 'aadb236d2e944791c1e7600eae9439fcb8a6caa9':
libgui: Change BufferQueue to use free lists
f8cebe54576c8100769e2515d4f67bdd013a6927 20-Apr-2015 Dan Stoza <stoza@google.com> libgui: Fix some bitrot/warnings in tests

These tests hadn't been run in a while and had accumulated some rot.
This fixes most of the compile warnings and some tests which fail
incorrectly, but 2 failures remain on N6.

Change-Id: I7fee78cd058a32f4d7df40ec9f899ff767f68517
ui/tests/Android.mk
ui/tests/BufferQueue_test.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/SRGB_test.cpp
ui/tests/StreamSplitter_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTextureFBO_test.cpp
ui/tests/SurfaceTextureGL_test.cpp
eea6d682b8b0f7081f0fe8fab8feadb16e22b30b 20-Apr-2015 Dan Stoza <stoza@google.com> libui/libgui: Fix errors in parceling

BufferItem and GraphicBuffer were not parceling correctly, which had
not been noticed because the libgui tests (specifically, one that
tests placing a BufferQueue in a separate process from the IGBP/C)
had not been run recently. This change fixes the errors found in
those classes.

Change-Id: Ie224361a534a79115a3481d83ff97f21d154d4f5
ui/BufferItem.cpp
i/GraphicBuffer.cpp
8dddc990103b71137be2a6365a26b1ac36598e68 17-Apr-2015 Dan Stoza <stoza@google.com> libgui: Change BufferQueue to use free lists

BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.

Bug: 13175420
Change-Id: Ic8398e7511bd11a60a1c82e3ad2ee271c9822be1
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
aa5c2346c7291465aaca53f59878582dccbe4835 10-Apr-2015 Dan Sandler <dsandler@android.com> Add ashmem stats to Parcels

Requires change Ifaf115da in frameworks/base.

Bug: 20079551
Change-Id: Ifaf115dabd1a59cdb1b46e2d49c41f64ac107de4
inder/Parcel.cpp
2992fcd0b2da1b98b0dfd9c80459e8648e72447e 15-Apr-2015 Dan Stoza <stoza@google.com> am 057a561a: am 57a9f5a0: am fd5f41be: Merge "libgui: Pass surface damage through BufferQueue"

* commit '057a561afbf30ede99b5ec627deec7ee11701f6d':
libgui: Pass surface damage through BufferQueue
45e51aedac922a02c02247daa70572c45854997c 15-Apr-2015 Dan Stoza <stoza@google.com> am a161b6ce: am c02377e6: am 4d769d8b: Merge "libui: Clean up Fence and Region flattening"

* commit 'a161b6cee9253a17be6b8dc232b05a41fde0030a':
libui: Clean up Fence and Region flattening
5065a55291b67f584d7b0be3fa3cfc4e29a3cd1c 18-Mar-2015 Dan Stoza <stoza@google.com> libgui: Pass surface damage through BufferQueue

This change adds support for passing surface damage all of the way
down from the EGL interface through the consumer side of the
BufferQueue. Depends on system/core change
Ie645e6a52b37b5c1b3be19481e8348570d1aa62c

Bug: 11239309
Change-Id: I4457ea826e9ade4ec187f973851d855b7b93a31b
ui/BufferItem.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
i/Rect.cpp
i/Region.cpp
4d769d8bdc2fd57d34ab0fa4b9208ac0eb67cd61 15-Apr-2015 Dan Stoza <stoza@google.com> Merge "libui: Clean up Fence and Region flattening"
6fbefbbd8edc9953041289fbd77bb18c4964dce5 23-Mar-2015 Dan Stoza <stoza@google.com> libui: Clean up Fence and Region flattening

Fence was flattening incorrectly, causing issues with any fields
flattened after it, and Region was relying on being the last object
flattened. This change addresses both.

Change-Id: If49de061de6e2f11f4d846b4d8c18627dfb7e109
i/Fence.cpp
i/Region.cpp
376b822728c582a9deb26ce339deb5204ae4d22e 14-Apr-2015 Wale Ogunwale <ogunwale@google.com> Added IPCThreadState::blockUntilThreadAvailable() method.

Will be used by the system_server watchdog to monitor the
availability of binder threads in the process to handle
incoming IPC requests.

Bug: 19297165
Change-Id: I39175f3869ad14da5620fddb47f454e6e4ee2b25
inder/IPCThreadState.cpp
inder/ProcessState.cpp
e88e3669632972fedc85b23a2b108f56222c6eb4 14-Apr-2015 Dan Stoza <stoza@google.com> am 6ea912c0: am ddabf640: am a3f8c2aa: Merge "Fix a memory corruption issue when vector resize"

* commit '6ea912c0494fe67d342224b737078dd90b991db6':
Fix a memory corruption issue when vector resize
a3f8c2aaf1bb82b436306f65b86d25d4ea955d4d 14-Apr-2015 Dan Stoza <stoza@google.com> Merge "Fix a memory corruption issue when vector resize"
aef0445c6f1fbd818b594383217a13571bbd95ad 26-Mar-2015 ywen <ywen@codeaurora.org> Fix a memory corruption issue when vector resize

There is memory corruption in below code

const Rect* prev = &dst[prevIndex];
dst.add(Rect(prev->right, top, right, bottom));

prev points to a memory of vector dst, when dst resize in add()
call, the memory that prev points to will be copy to the new
allocated vector memory and the old memory will become undefined

Avoid pointer in this case, use a local copy instead

Change-Id: I4d95ceedd00c8fb615ac153082ade1b1ce0d0fa8
i/Region.cpp
063ff53d0b0a0d670ea0185e687526d8fd302820 08-Apr-2015 Tim Kilbourn <tkilbourn@google.com> Pass through availability of audio mic for input devices.

Bug: 15374820
Change-Id: Id2ca6da10165e3a887ebfbb18f663a3bf316ac79
nput/InputDevice.cpp
668285721ba81fc4fb6f5e223b382f5e604c64c2 08-Apr-2015 Dan Stoza <stoza@google.com> am 172ff24c: am 5977851b: am 00afb817: Merge "libgui: Plumb detachBuffer through ConsumerBase"

* commit '172ff24ccbc232cdf244a2bcbbb51df754929521':
libgui: Plumb detachBuffer through ConsumerBase
634f5ee6a713b3cf4086a2af8e9b56e76cba245f 03-Apr-2015 Dan Stoza <stoza@google.com> libgui: Plumb detachBuffer through ConsumerBase

Exposes IGraphicBufferConsumer::detachBuffer as a ConsumerBase
method. attachBuffer is not currently exposed, because all current
clients will be recycling buffers through the allocator.

Bug: 19628705
Change-Id: I3e519767fa43d5d880c1d5695e31b60f6ad588af
ui/ConsumerBase.cpp
c1487b1a602c510d9dc6168f5aebe744a1208ff6 03-Apr-2015 Dan Stoza <stoza@google.com> Merge "Revert "libgui: Plumb attach/detach through CpuConsumer""
921d1d7a61f527b7bbf42e9ba46bd92342cc7c99 02-Apr-2015 Dan Stoza <stoza@google.com> Revert "libgui: Plumb attach/detach through CpuConsumer"

This reverts commit 20c5672883796c0dedf38f51dc2fc6f140b09ae6.
ui/BufferQueueConsumer.cpp
ui/CpuConsumer.cpp
231832eb27107fb561467f5f4a9be2c577c61ea8 11-Mar-2015 Dan Stoza <stoza@google.com> DO NOT MERGE libgui: Plumb attach/detach through Surface

Exposes the attachBuffer and detachNextBuffer calls from
IGraphicBufferProducer to the public Surface interface. Also moves
the version of connect that takes a producer callback from protected
to public.

Bug: 19628705
Change-Id: I9ebc3013c4d9c84c4e8ef150c00e03f8af80319e
(cherry picked from commit c14ecb9de243af8864610fd3c74342e3ca2cb4bc)
ui/Surface.cpp
b6b1423c87e457097875dc304fbbe38db6c41abd 02-Apr-2015 Nick Kralevich <nnk@google.com> Parcel.cpp: reject size_t arguments greater than INT32_MAX

It's a security best practice for size_t values to be rejected if
they are greater than INT32_SIZE. This is intended to prevent the
common error of inadvertently passing a negative int value to a
function, which after conversion to an unsigned type, becomes a huge
number, defeating the purpose of bounds checking.

This patch also addresses a bug where the call to:
Parcel::write(buf, (size_t) -1);
would call writeInPlace() which uses PAD_SIZE on the supplied
argument. This would then cause an integer overflow, with PAD_SIZE
returning a small value, but the memcpy in Parcel::write using the
old large length value.

Bug: 19573085
Change-Id: Ib11bfb3dae4f3be91cd17b2c676926700972c7b8
inder/Parcel.cpp
b1b219368026cf19c5a38c40eb472715f8e5d707 01-Apr-2015 Marco Nelissen <marcone@google.com> Merge "Add backwards compatible versions of IInterface::asBinder()"
5c6ec52ff8ab4e8471f98fe4fcde64221b23d72a 18-Nov-2014 Marco Nelissen <marcone@google.com> Add backwards compatible versions of IInterface::asBinder()

This makes apps linked against the previous non-static versions
work with the new libbinder.

Bug: 19060033
Bug: 19773812

Change-Id: I3b5c78cbb4f4c0681ca1042e4d8503d98f969502
inder/IInterface.cpp
4949c50372de4c7fdb57de1dc0c1f5bb3ac463eb 12-Feb-2015 Aravind Akella <aakella@google.com> Support restricted mode in SensorService.

In restricted mode, only CTS tests can register for sensors or call flush() on them. The requests
from other applications will be ignored.

Change-Id: Ieb923df3e0cfe3390fe2d052af776da79589744b
ui/ISensorServer.cpp
ui/SensorManager.cpp
1c87e474d87d6d1380fb61d476d606b1a2fda1c1 13-Mar-2015 Dan Stoza <stoza@google.com> DO NOT MERGE libgui: Remove IGBC::BufferItem

Removes IGraphicBufferConsumer::BufferItem. Depends on the
following changes:
I187b3a7d05196b6289596afac8fb9a9d4aebff76
I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc

Cherry-pick of Id1fa56d092188f2cb712768d5d2fc6a9027fb73c

Change-Id: I3edf0db8fba656fd78e18a5a7f1137f0fb6b237d
ui/BufferItem.cpp
ui/BufferItemConsumer.cpp
ui/BufferQueue.cpp
ui/BufferQueueConsumer.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
2d13afdfa1f43973bf3cb917c7d6496a38baa446 16-Mar-2015 Ronghua Wu <ronghuawu@google.com> binder: add uint64 support to Parcel.

Bug: 19620911
Change-Id: Ifce5319e4e35afd344dead67ab7ba1cd399476a3
inder/Parcel.cpp
cf3834db104e0b052056e3a06d46e3f222f0d372 11-Mar-2015 Dan Stoza <stoza@google.com> DO NOT MERGE libgui: Prepare for IGBC::BufferItem removal

Currently, there are two instances of BufferItem: one inside of
IGraphicBufferConsumer, and a standalone one inside of libgui. They
only differ in the name of one of the fields, and we want to remove
the IGBC version. This changes things so that client code may be
incrementally switched over to the libgui version.

This is a squashed commit containing the following changes:
I64f495105f56cbf5803cea4aa6b072ea29b70cf5
I1394e693314429ada93427889f10b7b01c948053
I9c3bc8037fa9438d4d9080b8afb694219ef2f71f
I699ed0a6837076867ca756b28d1ffb2238f7a0d9
Iac8425e1241774304a131da2fb9dec6e82922f13

Change-Id: Ic4d51f5df6dbc70b376d13fceba2335b9bae4f3d
ui/BufferItem.cpp
ui/BufferItemConsumer.cpp
ui/BufferQueueConsumer.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
ui/StreamSplitter.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/StreamSplitter_test.cpp
82c6bcc9705eabcaf5b9e45bc81867b0e2d61a02 20-Feb-2015 Eino-Ville Talvala <etalvala@google.com> DO NOT MERGE Add dataSpace to buffer queues; remove old format enums.

- Wire up new dataSpace parameter through buffer queue stack
- Update tests to include the parameter
- Switch eglApi to using dataSpace to indicate sRGB gamma/linear
difference
- Remove RAW_SENSOR in favor of RAW16
- Remove use of sRGB format enums
- Add default dataspace to buffer queue core
- Add query for default dataspace

Cherry pick of I070bd2e7c56506055c419004c29e2e3feac725df

Change-Id: I461952389c18051176c6b75e664f20ad369f5760
ui/BufferItem.cpp
ui/BufferItemConsumer.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/StreamSplitter.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/SRGB_test.cpp
ui/tests/StreamSplitter_test.cpp
ui/tests/Surface_test.cpp
i/PixelFormat.cpp
ad36432de81c4c88d726680b7c52e8357df98455 19-Mar-2015 Dan Stoza <stoza@google.com> Merge "Surface: Permit an IProducerListener on connect"
744fc02fe85884e2cc456303b7471e56a877b970 05-Dec-2014 Dan Stoza <stoza@google.com> libgui: Only allow one return from useFenceSync

An #ifdef was causing multiple returns in this function, which was
triggering an unreachable code error on some build targets. This
adds an #else to ensure that only one return is exposed in any given
build.

Cherry pick of I9ed7c3e769bc9094ad31d810944227d1d8302886

Change-Id: Ibddc5706159d168031d1805fcce3eedc068296cf
ui/SyncFeatures.cpp
48245f0c6de556daa79564a1637da4e71e25f455 19-Mar-2015 Dan Stoza <stoza@google.com> Merge "libgui: Plumb attach/detach through Surface"
966b98bd86abc6473167bc98ddf8ddb1f8dd2ed5 03-Mar-2015 Dan Stoza <stoza@google.com> Surface: Permit an IProducerListener on connect

This change allows clients of Surface to provide an IProducerListener
callback object to Surface::connect, which will be passed down to the
underlying IGraphicBufferProducer.

Cherry pick of I5ea5229bf3a329bf02c6bd20e7247039c75d136b

Change-Id: I6f8f52c72654e4cee649721383819bafe378f964
ui/Surface.cpp
2632350ac88cdf007c62e18345b71411755ed6ba 04-Mar-2015 Dan Stoza <stoza@google.com> GLConsumer: Fix unsigned subtraction during crop

Since some variables had been switched from signed to unsigned, there
was a section of code that was guaranteed to be incorrect because it
effectively did 'if (a < b) { c = a - b; }'. This change fixes it.

Cherry pick of I9cdd6c9a0179801addebb5d6dc1fbaddf8f53c62

Bug: 19346631
Change-Id: Id13a46f74c9ae7278463ce22b586f4dc21b5e453
ui/GLConsumer.cpp
c168b8a5a9dcc0e45e32fc3cd40b9410e0288fb1 18-Feb-2015 Michael Lentine <mlentine@google.com> Update maxNumber to be smaller.

There shouldn't be more than 4096 fds (probably signficantly smaller) and
there shouldn't be more than 4096 ints.

Cherry pick of I3a3e50ee3078a4710e9737114e65afc923ed0573

Bug: 18076253
Change-Id: I82a883572b401f115d252dcd3d00aa7252b49b0e
i/GraphicBuffer.cpp
3be1c6b60a188dc10025e2ce156c11fac050625d 18-Nov-2014 Dan Stoza <stoza@google.com> libgui: Enable -Weverything and -Werror

Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Cherry pick of I034abec27bf4020d84af60d7acc1939c59986dd6 plus a
couple of minor changes to CpuConsumer.cpp to make it work with a
prior change:
Uncomment CC_LOGV on line 46
Change C-style cast to static_cast on line 71

Change-Id: Iaec610477ea0122317b0578fb74caf2383d4cf08
ui/Android.mk
ui/BitTube.cpp
ui/BufferItemConsumer.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
ui/BufferSlot.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IConsumerListener.cpp
ui/IDisplayEventConnection.cpp
ui/IGraphicBufferAlloc.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/IProducerListener.cpp
ui/ISensorEventConnection.cpp
ui/ISensorServer.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/Sensor.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
ui/StreamSplitter.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
ui/SyncFeatures.cpp
20c5672883796c0dedf38f51dc2fc6f140b09ae6 16-Mar-2015 Dan Stoza <stoza@google.com> libgui: Plumb attach/detach through CpuConsumer

Adds CpuConsumer::{detachNextBuffer,attachAndReleaseBuffer}, which
can be used to more carefully manage the ownership of GraphicBuffers.

Bug: 19628705
Change-Id: Ia7a7e30da6d81eb2367241998f14988db0afc3bf
ui/BufferQueueConsumer.cpp
ui/CpuConsumer.cpp
724768f9163ea2483614877895fa74140fbb386e 17-Mar-2015 Dan Stoza <stoza@google.com> Revert "libgui: Plumb attach/detach through CpuConsumer"

This reverts commit 43078e2827211139f0614719c920f3c5bff6c3fa.

Change-Id: Ifef774d9922bb90450384e810e4767b56cc29de3
ui/BufferQueueConsumer.cpp
ui/CpuConsumer.cpp
c14ecb9de243af8864610fd3c74342e3ca2cb4bc 11-Mar-2015 Dan Stoza <stoza@google.com> libgui: Plumb attach/detach through Surface

Exposes the attachBuffer and detachNextBuffer calls from
IGraphicBufferProducer to the public Surface interface. Also moves
the version of connect that takes a producer callback from protected
to public.

Bug: 19628705
Change-Id: I9ebc3013c4d9c84c4e8ef150c00e03f8af80319e
ui/Surface.cpp
43078e2827211139f0614719c920f3c5bff6c3fa 16-Mar-2015 Dan Stoza <stoza@google.com> libgui: Plumb attach/detach through CpuConsumer

Adds CpuConsumer::{detachNextBuffer,attachAndReleaseBuffer}, which
can be used to more carefully manage the ownership of GraphicBuffers.

Bug: 19628705
Change-Id: Ia7aa1ac59c2f768f2d8a0f35ad23067936a7427c
ui/BufferQueueConsumer.cpp
ui/CpuConsumer.cpp
54716317b5752010134edc64421a3f492bd608ab 13-Mar-2015 Dan Stoza <stoza@google.com> libgui: Remove IGBC::BufferItem

Removes IGraphicBufferConsumer::BufferItem. Depends on the
following changes:
I187b3a7d05196b6289596afac8fb9a9d4aebff76
I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc

Change-Id: Id1fa56d092188f2cb712768d5d2fc6a9027fb73c
ui/BufferItem.cpp
ui/BufferItemConsumer.cpp
ui/BufferQueue.cpp
ui/BufferQueueConsumer.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
9cf51a7c86717cd33d0717c48d6acece9caff3b3 13-Mar-2015 Dan Stoza <stoza@google.com> libgui: Fix infinite recursion

One of the overloads of BufferQueueConsumer::acquireBuffer was
calling itself infinitely instead of calling the other overload.
This fixes that issue.

Bug: 19733425
Change-Id: Iac8425e1241774304a131da2fb9dec6e82922f13
ui/BufferQueueConsumer.cpp
dd26416fe135f93ef2c8570738f8e1ca5e2ca3a3 12-Mar-2015 Dan Stoza <stoza@google.com> libgui: Prepare for IGBC::BufferItem removal

Switches some dependencies from IGraphicBufferConsumer::BufferItem to
android::BufferItem and adds some methods to facilitate incrementally
changing client code to do the same.

Change-Id: I699ed0a6837076867ca756b28d1ffb2238f7a0d9
ui/BufferItemConsumer.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/StreamSplitter.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/StreamSplitter_test.cpp
de7100ab2304434f73cbd1022823835184511d04 12-Mar-2015 Dan Stoza <stoza@google.com> libgui: Add a BufferItem overload to IGBC::acquire

Adds an overload of IGraphicBufferConsumer::acquireBuffer which takes
an android::BufferItem instead of an IGBC::BufferItem.

Change-Id: I9c3bc8037fa9438d4d9080b8afb694219ef2f71f
ui/BufferQueueConsumer.cpp
ui/IGraphicBufferConsumer.cpp
8757c016c8b8fd039347ab8f773dee28603a7a1c 11-Mar-2015 Dan Stoza <stoza@google.com> libgui: Add BufferItem(IGBC::BufferItem)

Add a constructor for building a BufferItem from an
IGraphicBufferConsumer::BufferItem.

Change-Id: I1394e693314429ada93427889f10b7b01c948053
ui/BufferItem.cpp
94d5ac480286d5e4d856bb968263e6991a62002d 06-Mar-2015 Eino-Ville Talvala <etalvala@google.com> Merge "Add dataSpace to buffer queues; remove old format enums."
d8bf6e0bafc0bbc9eb41086f3942aae8563c6270 06-Mar-2015 Dan Stoza <stoza@google.com> Merge "Surface: Permit an IProducerListener on connect"
abf952c1b121405ebb6720a779817b7850fb43b9 04-Mar-2015 Dan Stoza <stoza@google.com> GLConsumer: Fix unsigned subtraction during crop

Since some variables had been switched from signed to unsigned, there
was a section of code that was guaranteed to be incorrect because it
effectively did 'if (a < b) { c = a - b; }'. This change fixes it.

Bug: 19346631
Change-Id: I9cdd6c9a0179801addebb5d6dc1fbaddf8f53c62
ui/GLConsumer.cpp
5b75a513e431c097ae704cba2f7affa6bfaecec9 20-Feb-2015 Eino-Ville Talvala <etalvala@google.com> Add dataSpace to buffer queues; remove old format enums.

- Wire up new dataSpace parameter through buffer queue stack
- Update tests to include the parameter
- Switch eglApi to using dataSpace to indicate sRGB gamma/linear
difference
- Remove RAW_SENSOR in favor of RAW16
- Remove use of sRGB format enums
- Add default dataspace to buffer queue core
- Add query for default dataspace

Change-Id: I070bd2e7c56506055c419004c29e2e3feac725df
ui/BufferItem.cpp
ui/BufferItemConsumer.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/StreamSplitter.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/SRGB_test.cpp
ui/tests/StreamSplitter_test.cpp
ui/tests/Surface_test.cpp
i/PixelFormat.cpp
f8e3c6b6d8051331f3d7d535635dfbb2c40ed1b9 03-Mar-2015 Dan Stoza <stoza@google.com> Surface: Permit an IProducerListener on connect

This change allows clients of Surface to provide an IProducerListener
callback object to Surface::connect, which will be passed down to the
underlying IGraphicBufferProducer.

Change-Id: I5ea5229bf3a329bf02c6bd20e7247039c75d136b
ui/Surface.cpp
700619e73eef4d9a08e34a48e95b6047e056d6fc 20-Feb-2015 Elliott Hughes <enh@google.com> am 58573ecd: am 485d3730: am f3f22e55: Merge "Add missing <unistd.h> include for close."

* commit '58573ecdd201f3c678a68377f682e64ddaef0be6':
Add missing <unistd.h> include for close.
58573ecdd201f3c678a68377f682e64ddaef0be6 20-Feb-2015 Elliott Hughes <enh@google.com> am 485d3730: am f3f22e55: Merge "Add missing <unistd.h> include for close."

* commit '485d3730042381ed203e312ad70fec9cb0d2d934':
Add missing <unistd.h> include for close.
485d3730042381ed203e312ad70fec9cb0d2d934 20-Feb-2015 Elliott Hughes <enh@google.com> am f3f22e55: Merge "Add missing <unistd.h> include for close."

* commit 'f3f22e555bae8e362f3cac1efb289ca321266035':
Add missing <unistd.h> include for close.
14df3564fbff5ea9e5fd7d43806258faed46f046 20-Feb-2015 Elliott Hughes <enh@google.com> Add missing <unistd.h> include for close.

Change-Id: Iebce6d74eecb8c275e800b7f47f74bbd4374860d
iskusage/dirsize.c
f6303459d1917cdbc956719b6e4a97ee2e4ba3f9 19-Feb-2015 Michael Lentine <mlentine@google.com> am a4201c10: am 592cc33c: am e86f7e96: am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.

* commit 'a4201c10aeb977a6e4e8c1bcb9ceca5ab591d0ad':
Update maxNumber to be smaller.
a4201c10aeb977a6e4e8c1bcb9ceca5ab591d0ad 19-Feb-2015 Michael Lentine <mlentine@google.com> am 592cc33c: am e86f7e96: am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.

* commit '592cc33c408d5c91ad87e1a51d72269d4525a10b':
Update maxNumber to be smaller.
592cc33c408d5c91ad87e1a51d72269d4525a10b 19-Feb-2015 Michael Lentine <mlentine@google.com> am e86f7e96: am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.

* commit 'e86f7e96a75a7bf7bfa85d52cd9f2145fe25878c':
Update maxNumber to be smaller.
e86f7e96a75a7bf7bfa85d52cd9f2145fe25878c 19-Feb-2015 Michael Lentine <mlentine@google.com> am 3c0272ba: am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.

* commit '3c0272ba8fbb98b5f1d45c52b1ae5292a8978e7d':
Update maxNumber to be smaller.
3c0272ba8fbb98b5f1d45c52b1ae5292a8978e7d 19-Feb-2015 Michael Lentine <mlentine@google.com> am dc2d031a: am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.

* commit 'dc2d031a7ee05725ad3d8cab4887d6c7a4063967':
Update maxNumber to be smaller.
dc2d031a7ee05725ad3d8cab4887d6c7a4063967 19-Feb-2015 Michael Lentine <mlentine@google.com> am da9fd70d: am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.

* commit 'da9fd70de125b0e6df4fb6285f538be9133c7b22':
Update maxNumber to be smaller.
da9fd70de125b0e6df4fb6285f538be9133c7b22 19-Feb-2015 Michael Lentine <mlentine@google.com> am 2758eb2e: am fde92eb0: Update maxNumber to be smaller.

* commit '2758eb2e67d935cf1f04e3d713438c6ac7fe8b89':
Update maxNumber to be smaller.
2758eb2e67d935cf1f04e3d713438c6ac7fe8b89 19-Feb-2015 Michael Lentine <mlentine@google.com> am fde92eb0: Update maxNumber to be smaller.

* commit 'fde92eb0ffcc37106d5fe85bf1f1ba30d8639d17':
Update maxNumber to be smaller.
fde92eb0ffcc37106d5fe85bf1f1ba30d8639d17 18-Feb-2015 Michael Lentine <mlentine@google.com> Update maxNumber to be smaller.

There shouldn't be more than 4096 fds (probably signficantly smaller) and
there shouldn't be more than 4096 ints.

Bug: 18076253

Change-Id: I3a3e50ee3078a4710e9737114e65afc923ed0573
i/GraphicBuffer.cpp
fc35dd8bc9601f693eeed6d807c261666d09378f 11-Feb-2015 Nick Vaccaro <nvaccaro@google.com> am 26cc3d0b: am b9bb1f13: Merge "Add support for SENSOR_TYPE_WRIST_TILT_GESTURE" into lmp-mr1-modular-dev

* commit '26cc3d0b67ff4daf31eaeed0ecd87b391978aadb':
Add support for SENSOR_TYPE_WRIST_TILT_GESTURE
26cc3d0b67ff4daf31eaeed0ecd87b391978aadb 11-Feb-2015 Nick Vaccaro <nvaccaro@google.com> am b9bb1f13: Merge "Add support for SENSOR_TYPE_WRIST_TILT_GESTURE" into lmp-mr1-modular-dev

* commit 'b9bb1f139bd1cbf3b3faa002b509f3f0a167e20b':
Add support for SENSOR_TYPE_WRIST_TILT_GESTURE
9bb99b1570a1715cce1d02a776c06f1596d61ecd 22-Jan-2015 Nick Vaccaro <nvaccaro@google.com> Add support for SENSOR_TYPE_WRIST_TILT_GESTURE

Change-Id: I7e5516de805618df41de0f9b06805002e32708c3
ui/Sensor.cpp
a27e2f71799a7a21f82d8d407faccfa2018e1dbc 03-Feb-2015 Ruben Brunk <rubenbrunk@google.com> Merge "Add ProcessInfoService to activity manager."
52f0407d6871c43d1e6502ec6754d5811c86ed82 29-Jan-2015 Ruben Brunk <rubenbrunk@google.com> Add ProcessInfoService to activity manager.

- Adds a new AIDL interface for querying process
information from activity manager.

Bug: 19186859

Change-Id: Ic08858f346d6b66e7bfc9da6faa2c6e38d9b2e82
inder/Android.mk
inder/IProcessInfoService.cpp
inder/ProcessInfoService.cpp
b3ca72ce1ea0d5e9ef1601dd35520f9fcf23cbca 29-Jan-2015 Lajos Molnar <lajos@google.com> CpuConsumer: fix build error
ui/CpuConsumer.cpp
bacce71e40661f908be8f3138ae6c9144c69ba65 29-Jan-2015 Chad Jones <chadj@google.com> Merge commit 'ec41d55b8d018f349f7687cfe491651db600b51d'
1bca4eeba195a526d59056492c186f234703e213 29-Jan-2015 Chad Jones <chadj@google.com> Merge commit '180c2ba763c32793c6d3c5fe2683f8f2b233ca10'
ec41d55b8d018f349f7687cfe491651db600b51d 29-Jan-2015 Lajos Molnar <lajos@google.com> am 94ee9b59: Merge "CpuConsumer: lock buffers that could be YUV as ycbcr" into lmp-mr1-dev

* commit '94ee9b5916903e6ee23bb1ce8f688900a4eb6f65':
CpuConsumer: lock buffers that could be YUV as ycbcr
94ee9b5916903e6ee23bb1ce8f688900a4eb6f65 29-Jan-2015 Lajos Molnar <lajos@google.com> Merge "CpuConsumer: lock buffers that could be YUV as ycbcr" into lmp-mr1-dev
180c2ba763c32793c6d3c5fe2683f8f2b233ca10 29-Jan-2015 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 1f9f71e1 to lmp-mr1-dev-plus-aosp

Change-Id: I627e58fe738e9a3b9831508853f26f9adc350f90
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.cpp
1f9f71e183946b390fff4d20900bc4a03246a882 29-Jan-2015 Lajos Molnar <lajos@google.com> GraphicBufferMapper: handle devices that do not implement lock_ycbcr

Bug: 19179927
Change-Id: I09ffca954fed3cd2d3466c8396627dc7dbc0052d
i/GraphicBufferMapper.cpp
3d6c56914052228d7772517acd51952467947b69 28-Jan-2015 Yabin Cui <yabinc@google.com> am 39d890d9: am 6e32c037: Merge "Kill HAVE_PTHREADS."

* commit '39d890d9aed5cb07b8a166a749299b9d24d8f137':
Kill HAVE_PTHREADS.
39d890d9aed5cb07b8a166a749299b9d24d8f137 27-Jan-2015 Yabin Cui <yabinc@google.com> am 6e32c037: Merge "Kill HAVE_PTHREADS."

* commit '6e32c0377db89bafa477715b3a02431d651978cf':
Kill HAVE_PTHREADS.
8fb2d25ff3e9ade7c03ebe52a89c671ee75ce484 27-Jan-2015 Yabin Cui <yabinc@google.com> Kill HAVE_PTHREADS.

Bug: 19083585
Change-Id: I355491de945590f43c82bdcb7968b01b4bff6e06
inder/IPCThreadState.cpp
31bf9335cacbd64eaa63e628980cebe1e1905aaa 22-Jan-2015 Dan Stoza <stoza@google.com> am e18155e1: am 4ecf6ec9: Merge "Restore Region::set(uint32_t, uint32_t)"

* commit 'e18155e1c68a2ccd8ed2eb86b7c8c8481747ac0c':
Restore Region::set(uint32_t, uint32_t)
e18155e1c68a2ccd8ed2eb86b7c8c8481747ac0c 22-Jan-2015 Dan Stoza <stoza@google.com> am 4ecf6ec9: Merge "Restore Region::set(uint32_t, uint32_t)"

* commit '4ecf6ec932644b680d5e13791275dd3bc1a1ee6d':
Restore Region::set(uint32_t, uint32_t)
4ecf6ec932644b680d5e13791275dd3bc1a1ee6d 21-Jan-2015 Dan Stoza <stoza@google.com> Merge "Restore Region::set(uint32_t, uint32_t)"
1011032570ca9c88cd15049a6438e7ed88ef0a16 16-Jan-2015 Jeff Sharkey <jsharkey@android.com> am 499127ea: am 8f3ade0c: Merge "Follow StrictMode refactoring."

* commit '499127eab812088ca24421b59ebfac6f47ea850f':
Follow StrictMode refactoring.
499127eab812088ca24421b59ebfac6f47ea850f 16-Jan-2015 Jeff Sharkey <jsharkey@android.com> am 8f3ade0c: Merge "Follow StrictMode refactoring."

* commit '8f3ade0c9ab52a1e4f13d6ff1922dd98e3ccdbcc':
Follow StrictMode refactoring.
a377321c61404b3b9ca2146a89960e5d55212dd1 14-Jan-2015 Riley Andrews <riandrews@google.com> am 15411a00: am aec92242: Merge "Replace all instances of intptr_t with uintptr_t."

* commit '15411a00e15ecb169b3ee8251aac01cfa4b4fb84':
Replace all instances of intptr_t with uintptr_t.
a7f0432a3b8433b2739849151063c37a1b86a349 14-Jan-2015 Riley Andrews <riandrews@google.com> am d66ba520: am 41a160c4: Merge "Fix signed/unsigned comparison warnings in driver interface test."

* commit 'd66ba5209a8bb10abd7514544159a19fedd81e52':
Fix signed/unsigned comparison warnings in driver interface test.
0c1f5cbb8a41d19195ab49dcfeb5caaea2d3fcda 18-Dec-2014 Jeff Sharkey <jsharkey@android.com> Follow StrictMode refactoring.

Bug: 18335678
Change-Id: Iea920cfa26b5ebfd77b4601c9e6e65b21599342a
inder/Parcel.cpp
15411a00e15ecb169b3ee8251aac01cfa4b4fb84 14-Jan-2015 Riley Andrews <riandrews@google.com> am aec92242: Merge "Replace all instances of intptr_t with uintptr_t."

* commit 'aec922426620804768f00a6c5cb902f278f2967f':
Replace all instances of intptr_t with uintptr_t.
d66ba5209a8bb10abd7514544159a19fedd81e52 14-Jan-2015 Riley Andrews <riandrews@google.com> am 41a160c4: Merge "Fix signed/unsigned comparison warnings in driver interface test."

* commit '41a160c4cda1ef2c916028ec2d0801da738b5249':
Fix signed/unsigned comparison warnings in driver interface test.
29d8cf91bed3c9f72a97046655bc3bdc05952d3a 13-Jan-2015 Riley Andrews <riandrews@google.com> Replace all instances of intptr_t with uintptr_t.

When compiling 32 bit binaries against a 64 bit binder interface,
implicit promotions of intptr_t types to uint64_t for fields in the
binder ioctl structures can result in invalid pointers because of sign
extension.
inder/tests/binderDriverInterfaceTest.cpp
50bcb00a9112b70183f7826675d8455cfd978e6a 13-Jan-2015 Riley Andrews <riandrews@google.com> Fix signed/unsigned comparison warnings in driver interface test.
inder/tests/binderDriverInterfaceTest.cpp
fe4966d59b31ae6fd6dd4d81dd73d2f4f7be33fe 22-Dec-2014 Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> Restore Region::set(uint32_t, uint32_t)

The Region::set(uint32_t,uint32_t) ABI is used by the Nexus 10 graphics
driver blobs.
After commit dd883c0b08d2a60f89542b9b9f5fdabcb14885c7, Nexus 10 blobs
need a rebuild unless the old ABI is added back

Change-Id: I138dcc1cc281b8d3cde0021282bf874054ec4eaf
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
i/Region.cpp
c872fa81c6ed56bfa1021bd8c232a113839c5506 19-Dec-2014 Riley Andrews <riandrews@google.com> am 68047ffd: am 53186a4d: Merge "Add binder tests"

* commit '68047ffd4327bf5695ebf26833c3e2f40a3dfbd3':
Add binder tests
7e21cad70893359f2995bd90ddf166dc1bbabea2 19-Dec-2014 Riley Andrews <riandrews@google.com> am bf247a3d: am dbd252ea: Merge "Add binder driver interface test"

* commit 'bf247a3d3797c2e729fd15b7a93913b24ce8ac72':
Add binder driver interface test
68047ffd4327bf5695ebf26833c3e2f40a3dfbd3 19-Dec-2014 Riley Andrews <riandrews@google.com> am 53186a4d: Merge "Add binder tests"

* commit '53186a4d78479ba21213b6e055c7a85faeb318e2':
Add binder tests
bf247a3d3797c2e729fd15b7a93913b24ce8ac72 19-Dec-2014 Riley Andrews <riandrews@google.com> am dbd252ea: Merge "Add binder driver interface test"

* commit 'dbd252eab09d669a7d4b917890d75408193a85d3':
Add binder driver interface test
06b01adcb882b4dd736b34bbcccf7a45f43d96a6 18-Dec-2014 Riley Andrews <riandrews@google.com> Add binder tests

Change-Id: Ib0b38708dd6387fc4d5a4857ca74a217f3edad1a
inder/tests/Android.mk
inder/tests/binderLibTest.cpp
dc9b148985f5b75f2ea9faf1b045b50400b3e141 18-Dec-2014 Riley Andrews <riandrews@google.com> Add binder driver interface test

Test ioctls and some binder commands without using libbinder.

Change-Id: I86dde56ff1380bca17d086021ac5324dc5210354
inder/tests/Android.mk
inder/tests/binderDriverInterfaceTest.cpp
a21b7a0686b9d179d4e717678c1f88bb5eed9dc6 10-Dec-2014 Andreas Gampe <agampe@google.com> am b93bca5d: am a59d7a6a: Merge "GUI: Remove unused variables"

* commit 'b93bca5d0831068cd599f905ba43dc8334095d65':
GUI: Remove unused variables
80ea4e03734363e70b3f9d43a09a67238f7d5818 10-Dec-2014 Andreas Gampe <agampe@google.com> am 5d11a72b: am 8fd567b1: Merge "Libui: Remove unused variables"

* commit '5d11a72bcd7d92ea0c0bf3959ed45380264f0495':
Libui: Remove unused variables
b93bca5d0831068cd599f905ba43dc8334095d65 09-Dec-2014 Andreas Gampe <agampe@google.com> am a59d7a6a: Merge "GUI: Remove unused variables"

* commit 'a59d7a6a66a2b8dcb2d00dbd6371fa89ae45ab04':
GUI: Remove unused variables
5d11a72bcd7d92ea0c0bf3959ed45380264f0495 09-Dec-2014 Andreas Gampe <agampe@google.com> am 8fd567b1: Merge "Libui: Remove unused variables"

* commit '8fd567b127170a3962bc9de637eb7987cee71810':
Libui: Remove unused variables
7398a5af38a9eead2ac6c87da876ba834b450519 09-Dec-2014 Andreas Gampe <agampe@google.com> GUI: Remove unused variables

For build-system CFLAGS clean-up, remove unused variables.

Bug: 18632512
Change-Id: I79fdcf830683d7278f4bf114cfb76a26da1b88ff
ui/CpuConsumer.cpp
ui/ISurfaceComposer.cpp
ui/Surface.cpp
e22262ffd0bbed53e6d964f2fbcd5ecd85c04403 08-Dec-2014 Dan Stoza <stoza@google.com> Merge "libgui: Enable -Weverything and -Werror"
ff78750c6432f3b73c97cac05728c5d165ba0f27 06-Dec-2014 Andreas Gampe <agampe@google.com> Libui: Remove unused variables

For build-system CFLAGS clean-up, remove unused variables.

Bug: 18632512
Change-Id: Ib78912ae442ddc6410960ab1efb4fb2faa1a9208
i/FramebufferNativeWindow.cpp
dd883c0b08d2a60f89542b9b9f5fdabcb14885c7 18-Nov-2014 Dan Stoza <stoza@google.com> libgui: Enable -Weverything and -Werror

Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

This is a squashed commit based on an initial change with a couple of
fixes to avoid breaking certain targets. The source commits are:
d723bd7669b4fc88dc282d8bf8ba5ecb2849d22f
00d504c06ea034befe143e6b8cb34d004670ed02
429ba89cd293633d2f882165066b422c96597df2

Change-Id: I034abec27bf4020d84af60d7acc1939c59986dd6
ui/Android.mk
ui/BitTube.cpp
ui/BufferItemConsumer.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
ui/BufferSlot.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IConsumerListener.cpp
ui/IDisplayEventConnection.cpp
ui/IGraphicBufferAlloc.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/IProducerListener.cpp
ui/ISensorEventConnection.cpp
ui/ISensorServer.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/Sensor.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
ui/StreamSplitter.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
ui/SyncFeatures.cpp
00d504c06ea034befe143e6b8cb34d004670ed02 05-Dec-2014 Dan Stoza <stoza@google.com> libgui: Only allow one return from useFenceSync

An #ifdef was causing multiple returns in this function, which was
triggering an unreachable code error on some build targets. This
adds an #else to ensure that only one return is exposed in any given
build.

Change-Id: I9ed7c3e769bc9094ad31d810944227d1d8302886
ui/SyncFeatures.cpp
ae33effd43a615183f089f0a216b5965e8104842 31-Oct-2014 Michael Lentine <mlentine@google.com> Fix crash when user provides large values in the Parcel.

Bug: 18102648
Change-Id: Ie6a24718e586a34424238363de80f9545951514f
(cherry-picked from commit 8afa1c4ab86d724feb7716e153b7835385534590)
ui/ISurfaceComposer.cpp
ui/LayerState.cpp
d723bd7669b4fc88dc282d8bf8ba5ecb2849d22f 18-Nov-2014 Dan Stoza <stoza@google.com> libgui: Enable -Weverything and -Werror

Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Change-Id: I034abec27bf4020d84af60d7acc1939c59986dd6
ui/Android.mk
ui/BitTube.cpp
ui/BufferItemConsumer.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
ui/BufferSlot.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/GraphicBufferAlloc.cpp
ui/IConsumerListener.cpp
ui/IDisplayEventConnection.cpp
ui/IGraphicBufferAlloc.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/IProducerListener.cpp
ui/ISensorEventConnection.cpp
ui/ISensorServer.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/Sensor.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
ui/StreamSplitter.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
ui/SyncFeatures.cpp
6efc505bd8dbddf96f9f8f1984196c511d48b3b0 05-Dec-2014 Dan Albert <danalbert@google.com> am 09b9193d: Merge "Fix -Werror on 64-bit builds"

* commit '09b9193d10b3849e426c5370a757a0eedc65a7ff':
Fix -Werror on 64-bit builds
bcf7f22102db47e37a8398d71895fa233ff84d84 05-Dec-2014 Dan Albert <danalbert@google.com> am 67df03d0: Merge "Disable struct padding warning/error"

* commit '67df03d054f0cc4bd0e47066642b791198e9b0ad':
Disable struct padding warning/error
bb3715357781c6a0cecc0aaf36ff3d5394155180 05-Dec-2014 Dan Albert <danalbert@google.com> am 35df7531: Merge "libui: Enable -Weverything and -Werror"

* commit '35df753169397d9b647b251446af7093e237d047':
libui: Enable -Weverything and -Werror
753011461964c5a610c12d4dfc9ab85ab20b6977 05-Dec-2014 Dan Albert <danalbert@google.com> am 5588d900: Merge "Enable clang for libui/libgui/surfaceflinger"

* commit '5588d9000cd1ef217185c9001d6b5ecd84db9741':
Enable clang for libui/libgui/surfaceflinger
133caacf87423a738f31b6e1f58d0abcb377058d 02-Dec-2014 Dan Stoza <stoza@google.com> Fix -Werror on 64-bit builds

Add another static_cast to avoid an error on 64-bit builds

Change-Id: I62fb2c67766c4aab70d9d1834f255d06ff82dd8d
(cherry picked from commit 116c7a113cb2db4d3f7708627ac4713c7e92cd43)
i/GraphicBuffer.cpp
42af27817360d338f83fed4b87a535bb0ac4e65b 02-Dec-2014 Dan Stoza <stoza@google.com> Disable struct padding warning/error

Adds -Wno-padded, which was triggering on 64-bit devices

Change-Id: If27bac27881f2081a222b32213901f5087554b07
(cherry picked from commit 4e84bd310c876e1450077959333c87e6e83dbf63)
i/Android.mk
d31824004277f554000417cea349d69f18655e95 17-Nov-2014 Dan Stoza <stoza@google.com> libui: Enable -Weverything and -Werror

Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Change-Id: I470a267e9b1c373f2d5c960f005c3b0e02b2db63
(cherry picked from commit 303b9a51239d36d237a7d40c67b5085cdb3c1059)
i/Android.mk
i/Fence.cpp
i/FramebufferNativeWindow.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
i/PixelFormat.cpp
i/Region.cpp
i/UiConfig.cpp
01049c8321aab30cd431e2febeddd79242ae5a4f 11-Nov-2014 Dan Stoza <stoza@google.com> Enable clang for libui/libgui/surfaceflinger

Enables clang and C++11 for libui/libgui/surfaceflinger, and
eliminates all compile-time warnings.

Change-Id: Ie237fdb5ae44f2bfcddaa884f9c65ec3f08ae50f
(cherry picked from commit f10c46ef855b6410b20ebd8b1351d4d78d8eca8e)
ui/Android.mk
ui/SensorEventQueue.cpp
ui/SurfaceComposerClient.cpp
i/Android.mk
i/FramebufferNativeWindow.cpp
i/GraphicBuffer.cpp
38803268570f90e97452cd9a30ac831661829091 31-Oct-2014 Michael Lentine <mlentine@google.com> Fix for corruption when numFds or numInts is too large.

Bug: 18076253
Change-Id: I4c5935440013fc755e1d123049290383f4659fb6
(cherry picked from commit dfd06b89a4b77fc75eb85a3c1c700da3621c0118)
i/GraphicBuffer.cpp
784fd39a19f659e3b464bd9a78361c0adc1cdcab 02-Dec-2014 Michael Lentine <mlentine@google.com> resolved conflicts for merge of d6308379 to lmp-dev

Change-Id: I92ed61b6fdfe458cf5f8bfd6f0b37ff736280500
d6308379d9ddf946f5ce60fa2d0b809fa1238a63 02-Dec-2014 Michael Lentine <mlentine@google.com> am 76ebd319: am 3d89edca: am e6f7a44e: Fix for corruption when numFds or numInts is too large.

* commit '76ebd319d96494049a2a598f4449c0ec417220f6':
Fix for corruption when numFds or numInts is too large.
76ebd319d96494049a2a598f4449c0ec417220f6 02-Dec-2014 Michael Lentine <mlentine@google.com> am 3d89edca: am e6f7a44e: Fix for corruption when numFds or numInts is too large.

* commit '3d89edca65e07319c9ac3b9bb9889e80e8c40578':
Fix for corruption when numFds or numInts is too large.
3d89edca65e07319c9ac3b9bb9889e80e8c40578 02-Dec-2014 Michael Lentine <mlentine@google.com> am e6f7a44e: Fix for corruption when numFds or numInts is too large.

* commit 'e6f7a44e835d320593fa33052f35ea52948ff0b2':
Fix for corruption when numFds or numInts is too large.
116c7a113cb2db4d3f7708627ac4713c7e92cd43 02-Dec-2014 Dan Stoza <stoza@google.com> Fix -Werror on 64-bit builds

Add another static_cast to avoid an error on 64-bit builds

Change-Id: I62fb2c67766c4aab70d9d1834f255d06ff82dd8d
i/GraphicBuffer.cpp
4e84bd310c876e1450077959333c87e6e83dbf63 02-Dec-2014 Dan Stoza <stoza@google.com> Disable struct padding warning/error

Adds -Wno-padded, which was triggering on 64-bit devices

Change-Id: If27bac27881f2081a222b32213901f5087554b07
i/Android.mk
303b9a51239d36d237a7d40c67b5085cdb3c1059 17-Nov-2014 Dan Stoza <stoza@google.com> libui: Enable -Weverything and -Werror

Enables -Weverything and -Werror, with just a few exceptions for
warnings we can't (or shouldn't need to) work around.

Change-Id: I470a267e9b1c373f2d5c960f005c3b0e02b2db63
i/Android.mk
i/Fence.cpp
i/FramebufferNativeWindow.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
i/PixelFormat.cpp
i/Region.cpp
i/UiConfig.cpp
456d35b34ff4303e428a904aef7540d3e6c4e72b 01-Dec-2014 Dan Stoza <stoza@google.com> am e4ea03f7: am 80e81505: Merge "binder: Add {read,write}Uint32 methods to Parcel"

* commit 'e4ea03f74ded76f588501bd2e90ecb767c6426b3':
binder: Add {read,write}Uint32 methods to Parcel
b01eea0a582fb658ba51cdc99603495329af8c48 01-Dec-2014 Dan Stoza <stoza@google.com> am 32ad1d51: am 104e1259: Merge "binder: Return pid_t/uid_t instead of int"

* commit '32ad1d518b8e89b487c8da2f6ec29c9a30ee5529':
binder: Return pid_t/uid_t instead of int
e4ea03f74ded76f588501bd2e90ecb767c6426b3 01-Dec-2014 Dan Stoza <stoza@google.com> am 80e81505: Merge "binder: Add {read,write}Uint32 methods to Parcel"

* commit '80e8150549c9d8380dadf942336d41ab3d92bf78':
binder: Add {read,write}Uint32 methods to Parcel
32ad1d518b8e89b487c8da2f6ec29c9a30ee5529 01-Dec-2014 Dan Stoza <stoza@google.com> am 104e1259: Merge "binder: Return pid_t/uid_t instead of int"

* commit '104e12594e085bc8dd32eedb96643b774b1508a0':
binder: Return pid_t/uid_t instead of int
41a0f2f86c0ca7d2fef50aef6215987f445a7231 01-Dec-2014 Dan Stoza <stoza@google.com> binder: Add {read,write}Uint32 methods to Parcel

Adds readUint32 and writeUint32 methods to the Parcel class. This
saves a lot of static_casting in anything implementing a Binder
interface on the native side.

Change-Id: Iafc73b0633654a3a4c49767f41806b56906c924f
inder/Parcel.cpp
9c634fd2d13722106d475b000b05babcce1f65be 26-Nov-2014 Dan Stoza <stoza@google.com> binder: Return pid_t/uid_t instead of int

Makes IPCThreadState::getCalling{Pid,Uid} return a more
appropriate type.

Change-Id: I97f8a83c1c0722bc1afbf8a6df1a288f8f1f0d2c
inder/IPCThreadState.cpp
627086c2efc87c605dde458603b8f6745a61b342 26-Nov-2014 Chih-hung Hsieh <chh@google.com> am a7c75d1b: am 2d7ec9d7: Merge "Fix build with clang in C++11 mode"

* commit 'a7c75d1b17556d9842a7823c94a2c96982687c63':
Fix build with clang in C++11 mode
a7c75d1b17556d9842a7823c94a2c96982687c63 25-Nov-2014 Chih-hung Hsieh <chh@google.com> am 2d7ec9d7: Merge "Fix build with clang in C++11 mode"

* commit '2d7ec9d7b5dfdb93930b94c134fa2dc10fd27313':
Fix build with clang in C++11 mode
74debb0b8fc47d443aaf7fe79f7b67f53f735f7f 25-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Fix build with clang in C++11 mode

Now that we're in C++11 mode by default, clang complains about switch
statements with case values not matching the type -- since some
binder_driver_return_protocol values are > 0x7fffffff, we need to make
the switch statements operate on uint32_t rather than int32_t.

BUG: 18466763
Change-Id: Iedbfd5c7a3d3d9f087d2eab4ff21343ad7a2a448
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
inder/IPCThreadState.cpp
b54d73d9728a879ef525e57b3af0bc26be82773d 25-Nov-2014 Andreas Gampe <agampe@google.com> am 09efe0ac: am 2e42a906: Merge "Binder: Remove unused functions & variables"

* commit '09efe0ac2a0f34eb951c9a2b91b2d15e3ab7b7ca':
Binder: Remove unused functions & variables
09efe0ac2a0f34eb951c9a2b91b2d15e3ab7b7ca 25-Nov-2014 Andreas Gampe <agampe@google.com> am 2e42a906: Merge "Binder: Remove unused functions & variables"

* commit '2e42a90653abd0fc8a76909b5f101782d187136e':
Binder: Remove unused functions & variables
0b53b5c0b34ff0e14e05e7a4613c7364136f47a5 24-Nov-2014 Andreas Gampe <agampe@google.com> Binder: Remove unused functions & variables

For build-system CFLAGS clean-up, remove unused functions and
variables.

Change-Id: I88abc2bc99e6b91c7aa56470ff9671bf8bf29f8d
inder/BpBinder.cpp
inder/IPCThreadState.cpp
7a6037e9144d7659a88f97deb0d44a04a11a3f98 22-Nov-2014 Elliott Hughes <enh@google.com> am f167968b: am e0f91c37: Merge "We HAVE_LITTLE_ENDIAN."

* commit 'f167968b4667df017958a653f74c60831faf5ad8':
We HAVE_LITTLE_ENDIAN.
f167968b4667df017958a653f74c60831faf5ad8 22-Nov-2014 Elliott Hughes <enh@google.com> am e0f91c37: Merge "We HAVE_LITTLE_ENDIAN."

* commit 'e0f91c3731b16b010eb31117e941e5468bdfeb2e':
We HAVE_LITTLE_ENDIAN.
a5d74599366af171f98577d1d774a45f0cd6294b 22-Nov-2014 Elliott Hughes <enh@google.com> We HAVE_LITTLE_ENDIAN.

Change-Id: I68551ad663f2649a06b1958e9bef152e6d026e72
inder/Debug.cpp
e6f7a44e835d320593fa33052f35ea52948ff0b2 31-Oct-2014 Michael Lentine <mlentine@google.com> Fix for corruption when numFds or numInts is too large.

Bug: 18076253
Change-Id: I4c5935440013fc755e1d123049290383f4659fb6
i/GraphicBuffer.cpp
325c4c9aa74f7238d834465b5ac85f6d3531c8ba 21-Nov-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of c1ced8bb to master

Change-Id: I83db00ff986ace8a1c77648738b93124613ddfc0
c1ced8bbcd0ab8ddb75513290954e8a56f80040e 21-Nov-2014 Dan Albert <danalbert@google.com> am c894c204: Merge "C++11 compatibility."

* commit 'c894c2045f589571c80af0648e7a9dcd7e97b6a8':
C++11 compatibility.
3bdc5b826803dca10d3625c56de38d6c55d869c8 20-Nov-2014 Dan Albert <danalbert@google.com> C++11 compatibility.

* Explicit conversion for atomic_uintptr_t initialization.
* Fix string literal concatenation to not be a UD literal.
* Use __typeof__ instead of typeof (should become decltype once this
actually moves to C++11).

Bug: 18466763
Change-Id: I4eedddfb945a2a703ed27317cb6e2b3041b1ebfc
inder/Binder.cpp
inder/Parcel.cpp
e12cfc23b2399ded0cc4608e47c5ba864fc5ab7d 17-Nov-2014 Marco Nelissen <marcone@google.com> am 55f71bc0: Merge "Replace IInterface::asBinder() with a static"

* commit '55f71bc0800b9ec7a779c5d30d5a90e074c2526b':
Replace IInterface::asBinder() with a static
097ca275f4717a2c47a5d49f302ed2b72c8a1370 14-Nov-2014 Marco Nelissen <marcone@google.com> Replace IInterface::asBinder() with a static

so we can do NULL checks again, and update calls to IInterface::asBinder()
to use the new static version.

Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
inder/AppOpsManager.cpp
inder/IAppOpsService.cpp
inder/IInterface.cpp
inder/IMemory.cpp
inder/IServiceManager.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/ISensorServer.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/SensorManager.cpp
ui/StreamSplitter.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
ui/tests/BufferQueue_test.cpp
2ea926bda2fa30f3ba8d0ed2d2395a8ada952e6e 14-Nov-2014 Marco Nelissen <marcone@google.com> Replace IInterface::asBinder() with a static

so we can do NULL checks again, and update calls to IInterface::asBinder()
to use the new static version.

Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
inder/AppOpsManager.cpp
inder/IAppOpsService.cpp
inder/IInterface.cpp
inder/IMemory.cpp
inder/IServiceManager.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/ISensorServer.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/SensorManager.cpp
ui/StreamSplitter.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
ui/tests/BufferQueue_test.cpp
abd62d66ef8640a4fb339131e132f6a3c844d9ed 14-Nov-2014 Dianne Hackborn <hackbod@google.com> am 1f3ac8b4: am a4cff88d: Fix issue #18356768: some app process may hang at Runtime#exit...

* commit '1f3ac8b42ff784930d8194b75d33aef1098a8231':
Fix issue #18356768: some app process may hang at Runtime#exit...
1f3ac8b42ff784930d8194b75d33aef1098a8231 14-Nov-2014 Dianne Hackborn <hackbod@google.com> am a4cff88d: Fix issue #18356768: some app process may hang at Runtime#exit...

* commit 'a4cff88d80bf1acbdbd063af88ecad83a8b9b7b4':
Fix issue #18356768: some app process may hang at Runtime#exit...
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
inder/Parcel.cpp
inder/Static.cpp
d26b17a1370851b3a6b989cc802a5989bcdb0f45 12-Nov-2014 Dan Stoza <stoza@google.com> Merge "Enable clang for libui/libgui/surfaceflinger"
00326f6409ef390305822b5b84b3ae61b660e6fb 12-Nov-2014 Dianne Hackborn <hackbod@google.com> am ba2e1a33: am ca69e8f2: Merge "Add tracking of parcel memory allocations." into lmp-mr1-dev

* commit 'ba2e1a332eb24fcf4eef3634b8233d1681fd1309':
Add tracking of parcel memory allocations.
ba2e1a332eb24fcf4eef3634b8233d1681fd1309 12-Nov-2014 Dianne Hackborn <hackbod@google.com> am ca69e8f2: Merge "Add tracking of parcel memory allocations." into lmp-mr1-dev

* commit 'ca69e8f2d0a1fc963bd170f9b2bf164028761323':
Add tracking of parcel memory allocations.
7e790af756d7891cb1cf1374bb283a8fbcbe6b49 11-Nov-2014 Dianne Hackborn <hackbod@google.com> Add tracking of parcel memory allocations.

Change-Id: I76ffed0e69ccfe70e87d98646f11d4de7c3fd980
inder/Parcel.cpp
inder/Static.cpp
f10c46ef855b6410b20ebd8b1351d4d78d8eca8e 11-Nov-2014 Dan Stoza <stoza@google.com> Enable clang for libui/libgui/surfaceflinger

Enables clang and C++11 for libui/libgui/surfaceflinger, and
eliminates all compile-time warnings.

Change-Id: Ie237fdb5ae44f2bfcddaa884f9c65ec3f08ae50f
ui/Android.mk
ui/SensorEventQueue.cpp
ui/SurfaceComposerClient.cpp
i/Android.mk
i/FramebufferNativeWindow.cpp
i/GraphicBuffer.cpp
6b7a45859e165dcc33a31540a0ead4b63d6ade82 07-Nov-2014 Dan Stoza <stoza@google.com> am 8e624d4c: am 98d20f82: Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev

* commit '8e624d4cad45532c09879356f3adaa3b65fdcfc9':
Add a BufferItem parameter to onFrameAvailable
8e624d4cad45532c09879356f3adaa3b65fdcfc9 07-Nov-2014 Dan Stoza <stoza@google.com> am 98d20f82: Merge "Add a BufferItem parameter to onFrameAvailable" into lmp-mr1-dev

* commit '98d20f82ca8979b30c81df9639f54ab11e1951f9':
Add a BufferItem parameter to onFrameAvailable
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.cpp
ui/BufferQueue.cpp
ui/BufferQueueProducer.cpp
ui/ConsumerBase.cpp
ui/IConsumerListener.cpp
ui/StreamSplitter.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/DisconnectWaiter.h
ui/tests/FrameWaiter.h
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/StreamSplitter_test.cpp
ui/tests/SurfaceTextureGLThreadToGL.h
cad831fb15f3c35945cb250d95d31c9b43d65785 07-Nov-2014 Dan Albert <danalbert@google.com> am c6f93a43: Merge "Add missing include to fix libc++ build."

* commit 'c6f93a43d636b0ad16b75adf664c6a33d30b39dd':
Add missing include to fix libc++ build.
0d1c700214bc59d522b21e70cd05d6880f7feb9f 07-Nov-2014 Dan Albert <danalbert@google.com> Add missing include to fix libc++ build.

This was previously committed, but I guess it got lost in the merge
queue.

Bug: 15193147
Change-Id: Ic0e5d90ab403fb833d6a3bb7c55d279c56534869
ui/tests/SRGB_test.cpp
585cccc7ff934dc1f078053e3102903d6bc8bc15 05-Nov-2014 Michael Lentine <mlentine@google.com> am a2f27a0d: am 26645298: Merge "Fix for corruption when numFds or numInts is too large." into lmp-mr1-dev

* commit 'a2f27a0d63da87b23bf214355882bbcea6a163ea':
Fix for corruption when numFds or numInts is too large.
a2f27a0d63da87b23bf214355882bbcea6a163ea 05-Nov-2014 Michael Lentine <mlentine@google.com> am 26645298: Merge "Fix for corruption when numFds or numInts is too large." into lmp-mr1-dev

* commit '26645298400c0ae3a95731388364263d6a914ee4':
Fix for corruption when numFds or numInts is too large.
26645298400c0ae3a95731388364263d6a914ee4 05-Nov-2014 Michael Lentine <mlentine@google.com> Merge "Fix for corruption when numFds or numInts is too large." into lmp-mr1-dev
c954a121e10d4944e82619edbd4deba9b3a7fd41 05-Nov-2014 Dan Albert <danalbert@google.com> Add a missing include.

Was being included transitively by stlport.

Bug: 15193147
Change-Id: If462e5ddcf4a620367fb4b5533f44960fd3b7378
ui/tests/SRGB_test.cpp
6eb6b9fd8c62636378ab0002dd1f8dd9a77a4475 04-Nov-2014 Jesse Hall <jessehall@google.com> am 06ce1094: am fee99040: Revert "Add more logging for dup(fd) failure"

* commit '06ce1094706bb0856f6cc876e1f5276adc642446':
Revert "Add more logging for dup(fd) failure"
eab3e59f8b28f4230eb2c2f2ae23432a8976e1c7 04-Nov-2014 Jesse Hall <jessehall@google.com> am 88361aaa: am 8e5cf83a: Revert "Parcel: extra validation/debug code for writeDupFileDescriptor"

* commit '88361aaaf4f2339f50dc32438a261283c642d471':
Revert "Parcel: extra validation/debug code for writeDupFileDescriptor"
06ce1094706bb0856f6cc876e1f5276adc642446 04-Nov-2014 Jesse Hall <jessehall@google.com> am fee99040: Revert "Add more logging for dup(fd) failure"

* commit 'fee99040de000a64f6036a7db172fb7c68d9764a':
Revert "Add more logging for dup(fd) failure"
88361aaaf4f2339f50dc32438a261283c642d471 04-Nov-2014 Jesse Hall <jessehall@google.com> am 8e5cf83a: Revert "Parcel: extra validation/debug code for writeDupFileDescriptor"

* commit '8e5cf83afbe2b671f96d04786cf0d0f967e342f9':
Revert "Parcel: extra validation/debug code for writeDupFileDescriptor"
aa4ccfd123620f8dd28c4ae65a2a5aa3b8a0f83e 04-Nov-2014 Jesse Hall <jessehall@google.com> am de288fe2: Revert "bufferqueue: workaround: allow NULL fence with queueBuffer"

* commit 'de288fe2d43adfa1b2243ae534faaf832bf50491':
Revert "bufferqueue: workaround: allow NULL fence with queueBuffer"
fee99040de000a64f6036a7db172fb7c68d9764a 04-Nov-2014 Jesse Hall <jessehall@google.com> Revert "Add more logging for dup(fd) failure"

Underlying bug has been fixed, extra debug code no longer needed

This reverts commit 36273c991b189c5516819f4d5e3f83061c320593.

Change-Id: Ia47f1ae9ee7338329bfb8d710aff57e15e944f20
inder/Parcel.cpp
8e5cf83afbe2b671f96d04786cf0d0f967e342f9 04-Nov-2014 Jesse Hall <jessehall@google.com> Revert "Parcel: extra validation/debug code for writeDupFileDescriptor"

Underlying bug has been fixed, extra debug code no longer needed.

This reverts commit ccf851f108c008d086b7f3c3923d60d385985e71.

Change-Id: I19ad9239efdf1d8f70cd74af9b7c2ae97713208f
inder/Parcel.cpp
de288fe2d43adfa1b2243ae534faaf832bf50491 04-Nov-2014 Jesse Hall <jessehall@google.com> Revert "bufferqueue: workaround: allow NULL fence with queueBuffer"

Underlying bug has been fixed, workaround no longer needed

This reverts commit 5b0cbcf9464dbcda9d19ae978911222806ec8bdc.

Change-Id: Ic9532b407d1291a7780a12a75aaa117ae4aa9fcb
ui/BufferQueueProducer.cpp
4c1482acb197e687f2587810113e14b852ad8d80 04-Nov-2014 Chih-Hung Hsieh <chh@google.com> am 923b0f6a: am ac5cd96f: am dbab409c: Merge "Avoid two warnings from clang."

* commit '923b0f6a6787462509c23349ac04b8e9360c51cc':
Avoid two warnings from clang.
923b0f6a6787462509c23349ac04b8e9360c51cc 04-Nov-2014 Chih-Hung Hsieh <chh@google.com> am ac5cd96f: am dbab409c: Merge "Avoid two warnings from clang."

* commit 'ac5cd96fe24690d9e0ae823c77334b8579139aa2':
Avoid two warnings from clang.
ac5cd96fe24690d9e0ae823c77334b8579139aa2 04-Nov-2014 Chih-Hung Hsieh <chh@google.com> am dbab409c: Merge "Avoid two warnings from clang."

* commit 'dbab409c49ca5dd6686912d0b3eeb19ef1c37a3e':
Avoid two warnings from clang.
dfd06b89a4b77fc75eb85a3c1c700da3621c0118 31-Oct-2014 Michael Lentine <mlentine@google.com> Fix for corruption when numFds or numInts is too large.

Bug: 18076253
Change-Id: I4c5935440013fc755e1d123049290383f4659fb6
i/GraphicBuffer.cpp
001ed44536bbb6f3a373e882b3da981811b15679 01-Nov-2014 Michael Lentine <mlentine@google.com> am 54430ca2: am 793fc0e1: Merge "Fix crash when user provides large values in the Parcel." into lmp-mr1-dev

* commit '54430ca2a88f57c709ea2924ea0b78820ae62643':
Fix crash when user provides large values in the Parcel.
54430ca2a88f57c709ea2924ea0b78820ae62643 01-Nov-2014 Michael Lentine <mlentine@google.com> am 793fc0e1: Merge "Fix crash when user provides large values in the Parcel." into lmp-mr1-dev

* commit '793fc0e13d25bdecda1219999f8be2cb3c121d20':
Fix crash when user provides large values in the Parcel.
8afa1c4ab86d724feb7716e153b7835385534590 31-Oct-2014 Michael Lentine <mlentine@google.com> Fix crash when user provides large values in the Parcel.

Bug: 18102648
Change-Id: Ie6a24718e586a34424238363de80f9545951514f
ui/ISurfaceComposer.cpp
ui/LayerState.cpp
fb66335bcc7a1b23fb31f0133f6bc63de845496e 01-Nov-2014 Michael Lentine <mlentine@google.com> am 078794ed: am 98536859: Merge "Fix output of pointers for 64bit devices." into lmp-mr1-dev

* commit '078794ed377e7080ee155a632482bb98f1c9ade7':
Fix output of pointers for 64bit devices.
078794ed377e7080ee155a632482bb98f1c9ade7 31-Oct-2014 Michael Lentine <mlentine@google.com> am 98536859: Merge "Fix output of pointers for 64bit devices." into lmp-mr1-dev

* commit '9853685931298ba02066ebb50a8377ad4aa80f00':
Fix output of pointers for 64bit devices.
8e5337de2c67c24f1e5c6144512e2a9ba9fefe12 24-Oct-2014 Chih-Hung Hsieh <chh@google.com> Avoid two warnings from clang.

Clang compiler warns about undefined static functions like getReturnString
before all references are removed inside IF_LOG_COMMANDS.
To remove such warnings, we can leave those static functions defined
and the compiler will remove them at the end when they are not used.

Add a cast to long before converting from int to void*,
to avoid type cast warnings on 64 bit targets.

BUG: 17043248
Change-Id: Ica31101522279d2c8eacc90e2939767002fb827b
inder/IPCThreadState.cpp
fae12d4fb45e2c4e8943811d784db04599c7e202 31-Oct-2014 Michael Lentine <mlentine@google.com> Fix output of pointers for 64bit devices.

Change-Id: I279c1cf8d4c126b98f4a92ca807ade3749d01ff0
inder/TextOutput.cpp
f12f15502a3092a9f7f28cf45b1a00e2efbd6eac 30-Oct-2014 Jesse Hall <jessehall@google.com> am 1834f8ea: GLConsumer: correct EGL_NO_DISPLAY to EGL_NO_CONTEXT

* commit '1834f8ea975e9a882b44dc479320fe02e306e630':
GLConsumer: correct EGL_NO_DISPLAY to EGL_NO_CONTEXT
1834f8ea975e9a882b44dc479320fe02e306e630 06-Aug-2014 Jesse Hall <jessehall@google.com> GLConsumer: correct EGL_NO_DISPLAY to EGL_NO_CONTEXT

Change-Id: I4dcb57a0db9ee3c5222cd453c9213859384212b0
(cherry picked from commit 46a1f6b40e1f7677cd41cd30f729ff66c7c21517)
ui/GLConsumer.cpp
2bb72707833686ae5b0fd7df5005ad812de57445 21-Oct-2014 Michael Lentine <mlentine@google.com> am 15b2ecf5: am dcc959be: Merge "Adding eglInitialize and eglTerminate image creation and deletion." into lmp-mr1-dev

* commit '15b2ecf599414c86cb198f3ffc126b50f88b5aa0':
Adding eglInitialize and eglTerminate image creation and deletion.
15b2ecf599414c86cb198f3ffc126b50f88b5aa0 21-Oct-2014 Michael Lentine <mlentine@google.com> am dcc959be: Merge "Adding eglInitialize and eglTerminate image creation and deletion." into lmp-mr1-dev

* commit 'dcc959beb77099d319a94e3985da2f4ea4064e7b':
Adding eglInitialize and eglTerminate image creation and deletion.
dcc959beb77099d319a94e3985da2f4ea4064e7b 21-Oct-2014 Michael Lentine <mlentine@google.com> Merge "Adding eglInitialize and eglTerminate image creation and deletion." into lmp-mr1-dev
937052fb1ce8c2c5580e53d60ac771cb8fe7b532 20-Oct-2014 Jesse Hall <jessehall@google.com> am a069e853: am 649bafb7: Merge "bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)" into lmp-dev

* commit 'a069e8532ba272ac5b935e332e426a3dacf827fc':
bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)
a069e8532ba272ac5b935e332e426a3dacf827fc 20-Oct-2014 Jesse Hall <jessehall@google.com> am 649bafb7: Merge "bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)" into lmp-dev

* commit '649bafb7ba2c3204295bc3451ff7af7e28e714ed':
bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)
f35a5ba664f53813c2fb7c903e5f4809ad029569 20-Oct-2014 Jesse Hall <jessehall@google.com> am 649bafb7: Merge "bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)" into lmp-dev

* commit '649bafb7ba2c3204295bc3451ff7af7e28e714ed':
bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)
5b0cbcf9464dbcda9d19ae978911222806ec8bdc 19-Oct-2014 Jesse Hall <jessehall@google.com> bufferqueue: workaround: allow NULL fence with queueBuffer (DO NOT MERGE)

On one device there is a bug, not yet root-caused, that causes fence
fds to not make it across binder from producer to consumer in the
IGraphicBufferProducer::queueBuffer call. Rather than returning an
error, which the producer typically treats as a fatal error, this
change allows the buffer to be queued with no fence. This avoids an
application crash at the risk of (likely single-frame) visible
corruption.

Bug: 17946343
Change-Id: I9ca89f94098c455e1e90f5f58d5336c936b04a9c
ui/BufferQueueProducer.cpp
0e978be998c4b8644b616b8f487d5417e948c820 17-Oct-2014 Dan Albert <danalbert@google.com> am 3235d8e4: am c52e54c4: Merge "Some more test cleanup."

* commit '3235d8e477e1a0ad72d22acfff7d9966f882daa6':
Some more test cleanup.
3235d8e477e1a0ad72d22acfff7d9966f882daa6 17-Oct-2014 Dan Albert <danalbert@google.com> am c52e54c4: Merge "Some more test cleanup."

* commit 'c52e54c47184704613d446eb15d051ceb43d82b3':
Some more test cleanup.
55833709ab4b8e6f85d19be0a5b1a096277a2dc2 17-Oct-2014 Dan Albert <danalbert@google.com> am c52e54c4: Merge "Some more test cleanup."

* commit 'c52e54c47184704613d446eb15d051ceb43d82b3':
Some more test cleanup.
ed7d193ae95ce72a014c8ba1ab177f3abf958765 17-Oct-2014 Dan Albert <danalbert@google.com> Some more test cleanup.

Needed to build successfully when libc++ is the default STL.

Also fix a missing include. Not sure how this was getting by before.
Probably some transitive include.

Change-Id: Ie96b79e96b4e154d786fbf2d5ae5cf5892608837
i/tests/Android.mk
i/tests/vec_test.cpp
fad2e3abf0700b7eb969603e03fbc1ad0579413e 16-Oct-2014 Dan Albert <danalbert@google.com> am 27b780b5: am 9cc84950: Merge "Don\'t check if this == NULL."

* commit '27b780b517eb18582f978da64febb31ecfa8e4bf':
Don't check if this == NULL.
27b780b517eb18582f978da64febb31ecfa8e4bf 16-Oct-2014 Dan Albert <danalbert@google.com> am 9cc84950: Merge "Don\'t check if this == NULL."

* commit '9cc849500df0bba42d3ed19b90c38ff1dffd2262':
Don't check if this == NULL.
759115cd6d6e4f7909342e25f1002a9d74ceee5e 16-Oct-2014 Dan Albert <danalbert@google.com> am 9cc84950: Merge "Don\'t check if this == NULL."

* commit '9cc849500df0bba42d3ed19b90c38ff1dffd2262':
Don't check if this == NULL.
9cc849500df0bba42d3ed19b90c38ff1dffd2262 16-Oct-2014 Dan Albert <danalbert@google.com> Merge "Don't check if this == NULL."
25c5d725f047db03955467118ad7b186cdfe198b 10-Oct-2014 Narayan Kamath <narayan@google.com> am 328f9c25: am 16410d45: am 9ea09757: Fix broken error check in Parcel::readBlob

* commit '328f9c259ba9d3586a2496d887a96b610d112b7b':
Fix broken error check in Parcel::readBlob
328f9c259ba9d3586a2496d887a96b610d112b7b 10-Oct-2014 Narayan Kamath <narayan@google.com> am 16410d45: am 9ea09757: Fix broken error check in Parcel::readBlob

* commit '16410d458fdf9915dc8cb82b1bae3949a8100124':
Fix broken error check in Parcel::readBlob
16410d458fdf9915dc8cb82b1bae3949a8100124 09-Oct-2014 Narayan Kamath <narayan@google.com> am 9ea09757: Fix broken error check in Parcel::readBlob

* commit '9ea09757fa63ad2a9bea9c846b51c1210d69c79f':
Fix broken error check in Parcel::readBlob
78be65e7bf6898c6afa55c9016f331ab1aa2503a 02-Oct-2014 Michael Lentine <mlentine@google.com> Adding eglInitialize and eglTerminate image creation and deletion.

Previously it was possible to have the driver's eglTerminate called beofre
eglDestroyImageKHR in GLConsumer. This was because we didn't increment the
refcount for the lifetime of the image. This could lead to a crash or a deadlock
when multiple threads called terminate and destroy simultaneously.

Bug: 17700483
Change-Id: I7010d0f1b3db875332e95630b5e098a5564ba755
ui/GLConsumer.cpp
4335d35c71e777d42fbe8d53fa6b8fbc95d4c2b7 09-Oct-2014 Narayan Kamath <narayan@google.com> am 9ea09757: Fix broken error check in Parcel::readBlob

* commit '9ea09757fa63ad2a9bea9c846b51c1210d69c79f':
Fix broken error check in Parcel::readBlob
3dbf96cf06191d6eb3d934506190ad4fc0e7c294 08-Oct-2014 Jesse Hall <jessehall@google.com> am 20fca75f: am b7702c5c: Merge "BufferQueueProducer: Throttle EGL frame production." into lmp-mr1-dev

* commit '20fca75fbd9141ebae6c9a28f5c09a837eb9caad':
BufferQueueProducer: Throttle EGL frame production.
20fca75fbd9141ebae6c9a28f5c09a837eb9caad 08-Oct-2014 Jesse Hall <jessehall@google.com> am b7702c5c: Merge "BufferQueueProducer: Throttle EGL frame production." into lmp-mr1-dev

* commit 'b7702c5ce7f010fa5f19646fd79f28ff04e7014b':
BufferQueueProducer: Throttle EGL frame production.
b7702c5ce7f010fa5f19646fd79f28ff04e7014b 08-Oct-2014 Jesse Hall <jessehall@google.com> Merge "BufferQueueProducer: Throttle EGL frame production." into lmp-mr1-dev
9ea09757fa63ad2a9bea9c846b51c1210d69c79f 08-Oct-2014 Narayan Kamath <narayan@google.com> Fix broken error check in Parcel::readBlob

mmap returns MAP_FAILED (which is -1) and not NULL on
failure.

Diagnosed by cferris.

bug: 17909809

Change-Id: I609788ebf94742ef88af002d2d3f3bc9b9e520ac
inder/Parcel.cpp
f570be2ef912f09f9af6824dc0ae5fa27851d261 07-Oct-2014 Jesse Hall <jessehall@google.com> am f3b5cea6: am 366998d8: am 78639c22: Merge "Parcel: extra validation/debug code for writeDupFileDescriptor" into lmp-dev

* commit 'f3b5cea662da350684b9fd7a8f486c42e57bee6d':
Parcel: extra validation/debug code for writeDupFileDescriptor
f3b5cea662da350684b9fd7a8f486c42e57bee6d 07-Oct-2014 Jesse Hall <jessehall@google.com> am 366998d8: am 78639c22: Merge "Parcel: extra validation/debug code for writeDupFileDescriptor" into lmp-dev

* commit '366998d87109578eb8c33d2e94d61fe7f189beb8':
Parcel: extra validation/debug code for writeDupFileDescriptor
5cc3b8b4c81c6e157f540a27e70559ee034e313d 07-Oct-2014 Jesse Hall <jessehall@google.com> am 78639c22: Merge "Parcel: extra validation/debug code for writeDupFileDescriptor" into lmp-dev

* commit '78639c22acfa5e56d87fd6fe8340d083536b29fc':
Parcel: extra validation/debug code for writeDupFileDescriptor
78639c22acfa5e56d87fd6fe8340d083536b29fc 07-Oct-2014 Jesse Hall <jessehall@google.com> Merge "Parcel: extra validation/debug code for writeDupFileDescriptor" into lmp-dev
ccf851f108c008d086b7f3c3923d60d385985e71 06-Oct-2014 Jesse Hall <jessehall@google.com> Parcel: extra validation/debug code for writeDupFileDescriptor

Temporary extra debug validation for b/17477219: a Parcel recipient is
getting a positive but invalid fd unexpectedly. Trying to track down
where it's coming from.

Debug code for bug: 17477219
Change-Id: Idb1e71621025a3928c7adc88fd44790e1abd2a01
inder/Parcel.cpp
5b8d3eed87a83f9b0d1d2f35dff16b780c23afc3 04-Oct-2014 Aravind Akella <aakella@google.com> am ae29ee0a: am 93176114: am a7eb4b74: Merge "Fix sockfd leakage in SensorService." into lmp-dev

* commit 'ae29ee0a9eea291316248a90799ff28f35defeb6':
Fix sockfd leakage in SensorService.
ae29ee0a9eea291316248a90799ff28f35defeb6 04-Oct-2014 Aravind Akella <aakella@google.com> am 93176114: am a7eb4b74: Merge "Fix sockfd leakage in SensorService." into lmp-dev

* commit '93176114cf34c9874c2db70fd7665e9f95dda9d0':
Fix sockfd leakage in SensorService.
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.cpp
021543fc657a7f21d1b143c68258282b35262906 03-Oct-2014 Aravind Akella <aakella@google.com> am a7eb4b74: Merge "Fix sockfd leakage in SensorService." into lmp-dev

* commit 'a7eb4b74f74423dafd88adf94a7984ae927c3a23':
Fix sockfd leakage in SensorService.
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.cpp
6051dc2fcca814b983fc545b87e12e0cf2afc5db 03-Oct-2014 Jesse Hall <jessehall@google.com> am 8619132f: am 74efd6e6: am f05ef4e5: Merge "Surface: cancel the dequeued buffer when requestBuffer fails" into lmp-dev

* commit '8619132f167afab3775315acdf6e7097fff41a91':
Surface: cancel the dequeued buffer when requestBuffer fails
8619132f167afab3775315acdf6e7097fff41a91 03-Oct-2014 Jesse Hall <jessehall@google.com> am 74efd6e6: am f05ef4e5: Merge "Surface: cancel the dequeued buffer when requestBuffer fails" into lmp-dev

* commit '74efd6e6bec8a49f66090a5c0c18b65ba8a6fcad':
Surface: cancel the dequeued buffer when requestBuffer fails
0c2da9719bde37305c5724e54f97a8f61c7e8d0b 03-Oct-2014 Jesse Hall <jessehall@google.com> am f05ef4e5: Merge "Surface: cancel the dequeued buffer when requestBuffer fails" into lmp-dev

* commit 'f05ef4e542c3041379025e16497ff23710de5dbf':
Surface: cancel the dequeued buffer when requestBuffer fails
f05ef4e542c3041379025e16497ff23710de5dbf 03-Oct-2014 Jesse Hall <jessehall@google.com> Merge "Surface: cancel the dequeued buffer when requestBuffer fails" into lmp-dev
08c356c68ad4ff7c4ff916db1f397959c6edc4a5 02-Oct-2014 Michael Lentine <mlentine@google.com> am dea55870: am 36462d9d: Merge "Add more logging for dup(fd) failure" into lmp-dev

* commit 'dea558703a737d7e017a4f7991ea7b0367916654':
Add more logging for dup(fd) failure
dea558703a737d7e017a4f7991ea7b0367916654 02-Oct-2014 Michael Lentine <mlentine@google.com> am 36462d9d: Merge "Add more logging for dup(fd) failure" into lmp-dev

* commit '36462d9de00105ae46ee3dbb0f644fa6af599f97':
Add more logging for dup(fd) failure
df035b91df50cf8a308121c43a2660f403b257ee 02-Oct-2014 Michael Lentine <mlentine@google.com> am 36462d9d: Merge "Add more logging for dup(fd) failure" into lmp-dev

* commit '36462d9de00105ae46ee3dbb0f644fa6af599f97':
Add more logging for dup(fd) failure
9f5a1b6abd5d77923bf5e0f1c5e2816fdee832c2 02-Oct-2014 Jesse Hall <jessehall@google.com> Surface: cancel the dequeued buffer when requestBuffer fails

Partial fix for bug: 17477219
Change-Id: Ibf5a9e26e02c4be8854925a77a70f5c9c7dcf6f2
ui/Surface.cpp
36273c991b189c5516819f4d5e3f83061c320593 02-Oct-2014 Michael Lentine <mlentine@google.com> Add more logging for dup(fd) failure

Bug: 17477219
Change-Id: Ide0ae16d777c9af783023c705c18a93c00999147
inder/Parcel.cpp
7a29f687dbb33e85014bdcf1aa4505e8807aed99 02-Oct-2014 Dianne Hackborn <hackbod@google.com> am e5a59e37: am 5ee2c9d2: Work on issue #17656716: Unhandled exception in Window Manager

* commit 'e5a59e37f2a160f71459b1888ed2d268f9faa10e':
Work on issue #17656716: Unhandled exception in Window Manager
e5a59e37f2a160f71459b1888ed2d268f9faa10e 02-Oct-2014 Dianne Hackborn <hackbod@google.com> am 5ee2c9d2: Work on issue #17656716: Unhandled exception in Window Manager

* commit '5ee2c9d20c0fbecf6b4a482eb8d8bfdf85d0d424':
Work on issue #17656716: Unhandled exception in Window Manager
e4499526eee52a6584aba9382783e9fba327a9bc 30-Sep-2014 Dianne Hackborn <hackbod@google.com> am 5ee2c9d2: Work on issue #17656716: Unhandled exception in Window Manager

* commit '5ee2c9d20c0fbecf6b4a482eb8d8bfdf85d0d424':
Work on issue #17656716: Unhandled exception in Window Manager
5ee2c9d20c0fbecf6b4a482eb8d8bfdf85d0d424 30-Sep-2014 Dianne Hackborn <hackbod@google.com> Work on issue #17656716: Unhandled exception in Window Manager

Try to clean up the code paths coming in and out of binder IPCs to
plug any places where we could disrupt the gather flag of a thread,
causing it to keep gathering stack crawls (which is the thing that
is causing our strict mode data to become so large).

We now take care of saving and restoring this state in the core
IPC code path, not at the Java layer.

Change-Id: I73d564778da127bdce00f304225930e7f2318293
inder/IPCThreadState.cpp
5193aea69a4a220ae8f0a798a58f90bc6f9b2e29 23-Sep-2014 Dan Albert <danalbert@google.com> am 56b3f887: am 6ee97e74: Merge "Fix a null dereference."

* commit '56b3f887a2a859eaac9f3c3eb2fa18eb5bf396da':
Fix a null dereference.
56b3f887a2a859eaac9f3c3eb2fa18eb5bf396da 23-Sep-2014 Dan Albert <danalbert@google.com> am 6ee97e74: Merge "Fix a null dereference."

* commit '6ee97e74d2c972dec2aa6a2f231b718eae54898f':
Fix a null dereference.
265f0d9dffb8b3d91c83991067abcd9684f2d712 23-Sep-2014 Dan Albert <danalbert@google.com> am 6ee97e74: Merge "Fix a null dereference."

* commit '6ee97e74d2c972dec2aa6a2f231b718eae54898f':
Fix a null dereference.
c78a0c17337bcd9dcaa38d61db992ced35eaf1f2 23-Sep-2014 Dan Albert <danalbert@google.com> Fix a null dereference.

Change-Id: I7224c3368ff414620062bc08b80a6a94d55d7931
ui/ISurfaceComposerClient.cpp
147372fdf9fae688114121228247497d43514ab7 19-Sep-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 67d8bd66 to lmp-mr1-dev-plus-aosp

Change-Id: I5e7e6fdf0d2afe6c3e4a0ed6ef96afb4713a72bc
435d9cde2777950c1d93b0982839d6796c5688b2 19-Sep-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 67d8bd66 to lmp-dev-plus-aosp

Change-Id: I2e9aab90ac53bb32630598f50cc26f6e46acf6d6
e7bda06398f09d0a28557fcf550ece2c8bb1eb80 19-Sep-2014 Lajos Molnar <lajos@google.com> resolved conflicts for merge of 67d8bd66 to lmp-dev-plus-aosp

Change-Id: Idbe39c6de8fe31ac57a9238c18b4c20d66dc73ad
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.cpp
1474f8864faafebc92ff79959bb5c698bd29b704 09-Sep-2014 Dan Albert <danalbert@google.com> Don't check if this == NULL.

Entering a method with this == NULL is undefined behavior. Clang whines
about this.

Change-Id: Ibde628395ca10dfef0d2f59e81280576f104b83c
inder/IInterface.cpp
ui/LayerState.cpp
94ba882df2aac6d0cf35b6ae445b95d247662e9d 12-Sep-2014 Dan Albert <danalbert@google.com> am 4355c0c9: am e1e3d278: Merge "Clean cruft out of makefiles."

* commit '4355c0c98644c37f0511257403bbfb71b342e2df':
Clean cruft out of makefiles.
d898618914a8c91ae059fa04a160bcdf6559cfd5 12-Sep-2014 Hans Boehm <hboehm@google.com> am e03abcd6: am 4a7001ca: Merge "Work around C11 const atomic restrictions."

* commit 'e03abcd61b127b10391b8257c35fbe66053e417a':
Work around C11 const atomic restrictions.
f627c969e16824abea22d39f4fa513fd3a18e49d 12-Sep-2014 Aravind Akella <aakella@google.com> am 3d0daa57: am 8493b79e: SensorService fixes

* commit '3d0daa57f5f180418fdecbf06f6a5a41e566f6d9':
SensorService fixes
4355c0c98644c37f0511257403bbfb71b342e2df 12-Sep-2014 Dan Albert <danalbert@google.com> am e1e3d278: Merge "Clean cruft out of makefiles."

* commit 'e1e3d278549eb6389eb0b5fa3f13a4ac079a55a2':
Clean cruft out of makefiles.
e03abcd61b127b10391b8257c35fbe66053e417a 12-Sep-2014 Hans Boehm <hboehm@google.com> am 4a7001ca: Merge "Work around C11 const atomic restrictions."

* commit '4a7001cae482e3c9410001360374c8fe9d5a2846':
Work around C11 const atomic restrictions.
3d0daa57f5f180418fdecbf06f6a5a41e566f6d9 12-Sep-2014 Aravind Akella <aakella@google.com> am 8493b79e: SensorService fixes

* commit '8493b79e1cff92450076ca7450c4bf4e434a6816':
SensorService fixes
b79dfe672138805b4f70183fd738d9af58591148 12-Sep-2014 Dan Albert <danalbert@google.com> Clean cruft out of makefiles.

Cleans up manual uses of stlport and bionic (and removes uses of private
bionic headers).

Change-Id: I157309d702e59152adfa3450939082248ae4c043
ui/tests/Android.mk
nput/tests/Android.mk
c0df68bb804d8fc4bc75aa077232ea74f0d53b28 11-Sep-2014 Hans Boehm <hboehm@google.com> Work around C11 const atomic restrictions.

Cast away the const qualifier in BBinder::findObject. C11, unlike C++11,
does not allow loads from const atomics. This is widely regarded as
a bug (see WG14 DR 459). This is a hack to work around it until it's
officially fixed in the spec.

load_const_atomic was adapted from commit
1e8587a479fd8b1ce9b594298a93f517816e8f15

I don't think we want to dignify this by putting it into a header file.

Bug:17067219
Change-Id: Icbfcbda2722e6f80d2bb065a0bb3ec7634bcacb2
inder/Binder.cpp
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/Sensor.cpp
03c2e83e73cbd6f3d83b9c6f1b7bd58875a60e23 10-Sep-2014 Riley Andrews <riandrews@google.com> am 75ec33e0: am d15ef27f: Update ScreenshotClient to take advantage of rotation in surfaceflinger\'s screencap api

* commit '75ec33e0e609e3ef074f4230c2227e52bf82ad06':
Update ScreenshotClient to take advantage of rotation in surfaceflinger's screencap api
25d10ce9ecdd5ffc558277456c27af5a2c8bcf64 10-Sep-2014 Riley Andrews <riandrews@google.com> am 129dc842: am edb86f9f: Merge "Add rotation to surfaceflingers screen cap." into lmp-dev

* commit '129dc8423da319d42af6ef71046c39ba59c0d878':
Add rotation to surfaceflingers screen cap.
75ec33e0e609e3ef074f4230c2227e52bf82ad06 09-Sep-2014 Riley Andrews <riandrews@google.com> am d15ef27f: Update ScreenshotClient to take advantage of rotation in surfaceflinger\'s screencap api

* commit 'd15ef27f9b13727fa7358e3c09572f66bb1e0668':
Update ScreenshotClient to take advantage of rotation in surfaceflinger's screencap api
129dc8423da319d42af6ef71046c39ba59c0d878 09-Sep-2014 Riley Andrews <riandrews@google.com> am edb86f9f: Merge "Add rotation to surfaceflingers screen cap." into lmp-dev

* commit 'edb86f9f681e082a64a670814ee4d73ccf39942a':
Add rotation to surfaceflingers screen cap.
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.cpp
58a81ba5066134f8c546d47c7cd3914fd903d9ce 09-Sep-2014 Dan Albert <danalbert@google.com> am 5273a978: resolved conflicts for merge of 86aeb9ef to lmp-dev-plus-aosp

* commit '5273a978337cbee2c1aae2f4d5c1b0e9d8dd6e1c':
Make string literal concatenation play nice with C++11.
5273a978337cbee2c1aae2f4d5c1b0e9d8dd6e1c 09-Sep-2014 Dan Albert <danalbert@google.com> resolved conflicts for merge of 86aeb9ef to lmp-dev-plus-aosp

Change-Id: I82fe2b385156d9bdb9e7183e308d7b2a4167b6ce
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.cpp
8b49125f10e3fd991c631e12856ce1ebf5a56d7e 09-Sep-2014 Dan Albert <danalbert@google.com> Make string literal concatenation play nice with C++11.

In C++11 mode, "foo"MACRO_THAT_EXPANDS_TO_STRING gets lexed as a user
defined literal. Add space around the macro.

Change-Id: I2741f5be9c0b1562e0f413d1309ef9d687e89b41
ui/BufferItemConsumer.cpp
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
46a1f6b40e1f7677cd41cd30f729ff66c7c21517 06-Aug-2014 Jesse Hall <jessehall@google.com> GLConsumer: correct EGL_NO_DISPLAY to EGL_NO_CONTEXT

Change-Id: I4dcb57a0db9ee3c5222cd453c9213859384212b0
ui/GLConsumer.cpp
553231f65e4e8d20a6f665ba86e3785a7243595f 19-Aug-2014 Hans Boehm <hboehm@google.com> Fix CAS argument type.

Gcc apparently doesn't check; clang does.

Bug:17067219
Change-Id: I184084a5063131dbc857c63f97e70e78a05e1a76
(cherry picked from commit 1ddaadb59883df5ca821b4b08fdd41a1720a3b6f)
inder/Binder.cpp
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.cpp
b207e95b46061342465fe759edd5ebe5ae7fed53 27-Aug-2014 Eric Penner <epenner@google.com> am 57782cd2: am 5c4a1566: Merge "GLConsumer: Fix eglTerminate/eglInit edge case." into lmp-dev

* commit '57782cd25539aa163b885cd336144d4c8bc9f665':
GLConsumer: Fix eglTerminate/eglInit edge case.
57782cd25539aa163b885cd336144d4c8bc9f665 27-Aug-2014 Eric Penner <epenner@google.com> am 5c4a1566: Merge "GLConsumer: Fix eglTerminate/eglInit edge case." into lmp-dev

* commit '5c4a15665968471ddbac0b476514d00503e997c7':
GLConsumer: Fix eglTerminate/eglInit edge case.
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.cpp
ui/tests/SurfaceTextureMultiContextGL_test.cpp
02a1c2cb3745179fc0e92515ef5905fe1f8fb17e 20-Aug-2014 Hans Boehm <hboehm@google.com> am efc0b35f: Merge "Fix CAS argument type."

* commit 'efc0b35fbd256bb3e225f4a1b953d0895ee3e99a':
Fix CAS argument type.
38e451f0574de257eb46d0ba8c9a07c1556db24d 19-Aug-2014 Riley Andrews <riandrews@google.com> am 51d3d176: Merge "Within CpuConsumer, use gralloc lockAsync/unlockAsync" into lmp-dev

* commit '51d3d176e35abc8b72e55035b0f7b81388ee044d':
Within CpuConsumer, use gralloc lockAsync/unlockAsync
5a7ad73bd2a8be38bc3c92c532ddeb1b50b1af3f 19-Aug-2014 Michael Wright <michaelwr@google.com> am 62fbb163: Shelve InputFlinger for another release. DO NOT MERGE

* commit '62fbb16383d6d8268821f947e2c6d0828f7e2b41':
Shelve InputFlinger for another release. DO NOT MERGE
d53e052322c658ce7c67b046caaeee4babc0a657 19-Aug-2014 Riley Andrews <riandrews@google.com> Within CpuConsumer, use gralloc lockAsync/unlockAsync

Change-Id: I6b2cd195e111c3c7bf94c8052af4db92e09649a5
ui/CpuConsumer.cpp
cb3b7ce1d897dfe3339ed2b0cdc48355026f9dd8 18-Aug-2014 Elliott Hughes <enh@google.com> am 703b60ce: Merge "Use gettid directly in binder."

* commit '703b60ce39e52d319074adf53704d33f9c16dbbd':
Use gettid directly in binder.
62fbb16383d6d8268821f947e2c6d0828f7e2b41 18-Aug-2014 Michael Wright <michaelwr@google.com> Shelve InputFlinger for another release. DO NOT MERGE

Change-Id: I0f034a2b8b1d9192f61f5001799bd3aa4b3964c7
nput/Android.mk
nput/IInputFlinger.cpp
b5a2fe50be7cc199930e91f2d7a0788e4ff861b2 20-Aug-2014 Hans Boehm <hboehm@google.com> am 02a1c2cb: am efc0b35f: Merge "Fix CAS argument type."

* commit '02a1c2cb3745179fc0e92515ef5905fe1f8fb17e':
Fix CAS argument type.
82e178cb96c3d6c3d3de817f318c9fc2a18e4571 19-Aug-2014 Riley Andrews <riandrews@google.com> am 38e451f0: am 51d3d176: Merge "Within CpuConsumer, use gralloc lockAsync/unlockAsync" into lmp-dev

* commit '38e451f0574de257eb46d0ba8c9a07c1556db24d':
Within CpuConsumer, use gralloc lockAsync/unlockAsync
efc0b35fbd256bb3e225f4a1b953d0895ee3e99a 20-Aug-2014 Hans Boehm <hboehm@google.com> Merge "Fix CAS argument type."
1ddaadb59883df5ca821b4b08fdd41a1720a3b6f 19-Aug-2014 Hans Boehm <hboehm@google.com> Fix CAS argument type.

Gcc apparently doesn't check; clang does.

Bug:17067219
Change-Id: I184084a5063131dbc857c63f97e70e78a05e1a76
inder/Binder.cpp
fa6ad07c4ed44244f5220a422819919bc37528ba 18-Aug-2014 Elliott Hughes <enh@google.com> Use gettid directly in binder.

Bug: 17048545
Change-Id: I1df378135961e085a52f6cc5694ad74cd73aac19
inder/IPCThreadState.cpp
dc1fb9085707d64cae468a4d303f68acdaab6149 13-Aug-2014 Hans Boehm <hboehm@google.com> am a0187a9c: Merge "Revert "Revert "Revert "Revert "Remove incorrect android_atomic_...64 use."""""

* commit 'a0187a9c83cb042b4cb92dac59214247bb7affcf':
Revert "Revert "Revert "Revert "Remove incorrect android_atomic_...64 use.""""
3effababf2980d029339522fdc914bdeb913d99b 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.

Change-Id: I1645ca5d6f60595bf5d388913665ce4b8780b26d
inder/Binder.cpp
f010a05c7e9a23b6083294aff4a8183ab01f686e 09-Aug-2014 Hans Boehm <hboehm@google.com> Revert "Revert "Revert "Remove incorrect android_atomic_...64 use."""

This reverts commit 66629e0de532376fa3ef43175ad05eccd21114da.

Change-Id: Ic298b345d0e500d18e4297b00e755ce3340f13fb
inder/Binder.cpp
7d1cd4aae2aa42172abdff00ec1601248cf92b02 09-Aug-2014 Rachad <rachad@google.com> Merge "Tunneled Video Playback support" into lmp-dev
66629e0de532376fa3ef43175ad05eccd21114da 08-Aug-2014 Hans Boehm <hboehm@google.com> Revert "Revert "Remove incorrect android_atomic_...64 use.""

This reverts commit 9dc5c269f74ac76f62515e3d9558e67c6e63067d.
Adds a stdint.h include in case stdatomic.h stops including that.

Change-Id: If3dd1db1f1132c0f2dc1efb0a44617d3f36d7cfb
inder/Binder.cpp
45e2fc22261cb8ecac4901b4425bcb7352c71174 08-Aug-2014 Michael Lentine <mlentine@google.com> Revert "Modify EGL to disconnect the window when the surface gets destroyed."

This reverts commit 843cbb241da60ada234918a30cfe9a01a1e04187.
ui/BufferQueueProducer.cpp
9dc5c269f74ac76f62515e3d9558e67c6e63067d 07-Aug-2014 Hans Boehm <hboehm@google.com> Revert "Remove incorrect android_atomic_...64 use."

This reverts commit 88b7541d682a6ad402eff15e58c9c792497096d7.

Change-Id: Ie701c308451a3697bb167aff119318b932133f90
inder/Binder.cpp
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
ui/SensorManager.cpp
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.cpp
64ffcb0944db2cc523374f550fe1535dfe3eedd6 29-Jul-2014 Aravind Akella <aakella@google.com> Sensor.cpp changes.

1) Rename TILT_DETECTOR
2) Set mFlags correctly for wake-up sensors.
2) Log errors for incorrect sensor flags.

Change-Id: Ia449217d3b8a53353ad6b5c33c544ce37eb1de4f
ui/Sensor.cpp
47e45405d1533aa73307014f7bf371e118695cf3 19-Jul-2014 Michael Lentine <mlentine@google.com> Allow for resizing of Virtual Displays.

Modify SurfaceFlinger to use VirtualDisplaySurface in all cases when a virtual
display is used. Add functionality in VirtualDisplaySurface to resize the
buffers aquired in the QueueBufferOutput. Add transaction support in
SurfaceFlinger for resize. Add the modification of the size in DisplayDevice.

Change-Id: Iae7e3556dc06fd18d470adbbd76f7255f6e6dd6b
Tested: None
ui/LayerState.cpp
1f6078aef71b1d3f080cd565adbec350c71088dd 27-Jun-2014 Michael Wright <michaelwr@google.com> Have VirtualDisplays send SF resize messages when resizing

Change-Id: I76d15b22099a659450ec875836c9bf2b6584838f
ui/SurfaceComposerClient.cpp
cd36eb445bcc55c88e157584d9ac229280459463 30-Jul-2014 Michael Lentine <mlentine@google.com> Merge "Modify EGL to disconnect the window when the surface gets destroyed." into lmp-dev
843cbb241da60ada234918a30cfe9a01a1e04187 23-Jul-2014 Michael Lentine <mlentine@google.com> Modify EGL to disconnect the window when the surface gets destroyed.

Bug: 14445579

Change-Id: I1d263ff6cffcb6e448761fca7ca4b06466ad65aa
ui/BufferQueueProducer.cpp
fd8498c41e8904e3636e47cf81466d439aed46a8 29-Jul-2014 Aravind Akella <aakella@google.com> Remove WAKE_UP_* sensor constants.

Change-Id: I3de9d114ce82de4ed841932747d72e1f6f73c24f
ui/Sensor.cpp
11f14871db607718090ae6aa2e5dee3f490b8830 26-Jul-2014 Antoine Labour <piman@google.com> BufferQueueProducer: fix which slot gets pre-allocated

Commit 78014f32da6d0ebf52fb34ebb7663863000520a0 introduced a bug that
made us pre-allocate buffers into the last available free slots instead
of the first available ones. This in turn caused more re-allocations,
and possibly triggered driver bugs.

Change-Id: Ic4a70e676b4f2bbb054bc873be62ced26e3099a0
ui/BufferQueueProducer.cpp
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.cpp
ui/ISensorEventConnection.cpp
ui/SensorEventQueue.cpp
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.cpp
45e695a248ab9548c1e8ab976572f7a978ecd64b 23-Jul-2014 Colin Cross <ccross@android.com> Merge "crash if getNativeBuffer() called on NULL GraphicBuffer" into lmp-dev
88b7541d682a6ad402eff15e58c9c792497096d7 23-Jul-2014 Hans Boehm <hboehm@google.com> Remove incorrect android_atomic_...64 use.

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.

Bug: 16513433
Change-Id: Ibabb88d05025187ee1ce6c7f1aa670b133a547f8
inder/Binder.cpp
18fae75350bcd5f19ef90afb533e3fbedfd4c83b 23-Jul-2014 Colin Cross <ccross@android.com> crash if getNativeBuffer() called on NULL GraphicBuffer

If getNativeBuffer() is called on a NULL GraphicBuffer the
static_cast of this from GraphicBuffer* to ANativeWindowBuffer*
will return a small pointer like (ANativeWindowBuffer*)0x10.
This value can propagate past NULL checks until it causes a crash
far away from the original NULL pointer. Crash immediately
instead.

Change-Id: Id614b9eb1484108b3c3c733545309844c4b87532
i/GraphicBuffer.cpp
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.cpp
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.cpp
ui/BufferQueueProducer.cpp
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.cpp
31d825d7edcaac7254f310d3cf85af9fc1927c25 18-Jul-2014 Jeff Brown <jeffbrown@google.com> Add glance gesture for doze mode.

Change-Id: I038a706c3999200313ff5360c5ff1150ec081f08
ui/Sensor.cpp
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.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
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.cpp
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/tests/MultiTextureConsumer_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTextureGL.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.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
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.cpp
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
ui/Sensor.cpp
7227b96a73aaca975df0a04613f317e6f42545ed 12-Jun-2014 Prashant Malani <pmalani@google.com> Merge "surfaceflinger: Replace blank/unblank with setPowerMode"
55fc54970b674280376bbf037153ca1a5e53bc32 11-Jun-2014 Mark Salyzyn <salyzyn@google.com> am 72676e7d: am 0e1313cd: Merge "libgui: 64-bit compile issues"

* commit '72676e7d0db89d477495245aa15f1a128b5c35bc':
libgui: 64-bit compile issues
f905bc3bdcd48cf1f50a36c779f54eb71216c9c5 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

(cherry picked from commit 7da40c0a84dd89e92201448dd5ed3387dc94df2b)

Change-Id: I8d89f62dbdaee7149ef908e0c97417b85e0c48a2
inder/Parcel.cpp
b37c8c545384e358bc7f54e8c600acc399afd251 10-Jun-2014 Michael Wright <michaelwr@google.com> Merge "Fixup more potential issues / warnings in string formats"
63ff3a84ae5f60fc427aed4f63364b50695266d9 10-Jun-2014 Michael Wright <michaelwr@google.com> Fixup more potential issues / warnings in string formats

Change-Id: I323e44f950b2e758dc9ff4510b2e13ca870eb849
nput/InputTransport.cpp
25be048729d984b5a3fb2cbc6a5edbb2ba9f2487 10-Jun-2014 Michael Wright <michaelwr@google.com> Merge "Fix warning in logging string interpolation"
d0a4a6234f3d97f5e7fb86b028d3ee79dd4e3fa6 10-Jun-2014 Michael Wright <michaelwr@google.com> Fix warning in logging string interpolation

Change-Id: I86623083f68664d31ea277958837a4c2985037b4
nput/InputTransport.cpp
8f515ce1c57379cafac4357bc4fdb61dd346ec5f 09-Jun-2014 Mark Salyzyn <salyzyn@google.com> libgui: 64 bit compile issues (part deux)

- nsecs_t printed with PRId64
- int64_t/uint64_t print issues
- some size_t printing issues.
- missing argument to BQ_LOGV

Change-Id: I493f2b578e801dc38c44f8c536faa45266720402
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/Sensor.cpp
ui/StreamSplitter.cpp
72676e7d0db89d477495245aa15f1a128b5c35bc 09-Jun-2014 Mark Salyzyn <salyzyn@google.com> am 0e1313cd: Merge "libgui: 64-bit compile issues"

* commit '0e1313cdb1d5d21e4d6123f77b4238f1c8c2d564':
libgui: 64-bit compile issues
911004506dcb6ee68efdfd6636e0ffc72e6972b8 09-Jun-2014 Mark Salyzyn <salyzyn@google.com> libgui: 64-bit compile issues

Change-Id: I29961c1567b8431518a7d032ea43385e23b7bb37
ui/BitTube.cpp
ui/ConsumerBase.cpp
e86420e399993e0f49e5d7733b5fc87eb9fe179b 06-Jun-2014 Narayan Kamath <narayan@google.com> Merge "Fix flattening/unflattening of android::Sensor."
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.cpp
ui/SurfaceComposerClient.cpp
c2ac5897eccc681c8642095d4f8af13115de3ffb 04-Jun-2014 Narayan Kamath <narayan@google.com> am 065e9c86: Merge "Fix mips build for libbinder."

* commit '065e9c86e249beac08783c7e9334d5709e2c9080':
Fix mips build for libbinder.
065e9c86e249beac08783c7e9334d5709e2c9080 04-Jun-2014 Narayan Kamath <narayan@google.com> Merge "Fix mips build for libbinder."
2f1f742b903474b60ff58f74db5b9e81f2a9e1bf 04-Jun-2014 Narayan Kamath <narayan@google.com> Fix mips build for libbinder.

Mips specific code was using an uninitialized variable.

(cherry picked from commit 2c68d380c9ef765a7d46e5a4735f39e6c27849f2)

Change-Id: I6b562b3f6d2084b72e747736cbf43684c2049f8e
inder/Parcel.cpp
87947be61828a43fc738ffd204f72ab18b31946e 04-Jun-2014 Narayan Kamath <narayan@google.com> Merge "Fix mips build for libbinder."
2c68d380c9ef765a7d46e5a4735f39e6c27849f2 04-Jun-2014 Narayan Kamath <narayan@google.com> Fix mips build for libbinder.

Mips specific code was using an uninitialized variable.

Change-Id: I445043c76ebfa420b26376ade60f8068b4ea0b11
inder/Parcel.cpp
b09b936d8ec7f1afe77f4f53ff4d4920c8b59092 03-Jun-2014 Mark Salyzyn <salyzyn@google.com> am f0a24759: am a28750ee: Merge "binder: Turn on -Werror"

* commit 'f0a2475905786d5457e7af838ac714acbfdafa4f':
binder: Turn on -Werror
f0a2475905786d5457e7af838ac714acbfdafa4f 03-Jun-2014 Mark Salyzyn <salyzyn@google.com> am a28750ee: Merge "binder: Turn on -Werror"

* commit 'a28750eec38c848230adfeef28725b29cc36a9da':
binder: Turn on -Werror
d4ecccfd206604a9b2d8a1220844fc2df85a5998 31-May-2014 Mark Salyzyn <salyzyn@google.com> binder: Turn on -Werror

Change-Id: I0ee785927a7ae5f731b02176b0b781b87c22a24e
inder/Android.mk
inder/BpBinder.cpp
inder/Parcel.cpp
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"
edcf7f4d3ac452500d68e254d367f559d538695d 29-May-2014 Mark Salyzyn <salyzyn@google.com> binder: rm utils/Debug.h as unutilized

Change-Id: I52eb8b64b71cec7ffd4560e902daf358fda98b4a
inder/IBatteryStats.cpp
403ec9f15a9cf2fedea2e2e0a24421dc30625140 30-May-2014 Narayan Kamath <narayan@google.com> Fix flattening/unflattening of android::Sensor.

Write string lengths as uint32_t so that their width is
the same on 32 and 64 bit processes.

Note that this fixes another bug as a side effect; getFlattenedSize
was assuming that sizeof(uint32_t) == sizeof(size_t).

Change-Id: I7b6e3993e1f1ac45c14832ce59c59e0772855a2f
ui/Sensor.cpp
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/tests/Android.mk
nput/tests/StructLayout_test.cpp
b8b3c536f471b8c5e604701f56f0d1d8edbecb1c 29-May-2014 Mark Salyzyn <salyzyn@google.com> am ea3f1da9: am 1ce5ecbe: am 63645c69: Merge "binder: rm utils/Debug.h"

* commit 'ea3f1da9013b33ecf3f3f8771393c1754a9aec59':
binder: rm utils/Debug.h
ea3f1da9013b33ecf3f3f8771393c1754a9aec59 29-May-2014 Mark Salyzyn <salyzyn@google.com> am 1ce5ecbe: am 63645c69: Merge "binder: rm utils/Debug.h"

* commit '1ce5ecbe3286380f5ff7ace289369ed006e9b40a':
binder: rm utils/Debug.h
1ce5ecbe3286380f5ff7ace289369ed006e9b40a 29-May-2014 Mark Salyzyn <salyzyn@google.com> am 63645c69: Merge "binder: rm utils/Debug.h"

* commit '63645c69e03cf3862c52cfde6cbd5f5143ccd38a':
binder: rm utils/Debug.h
317ff37cf79d31170fa7320f0ba5ded1ec043e4c 29-May-2014 Mark Salyzyn <salyzyn@google.com> binder: rm utils/Debug.h

Change-Id: I16931919a26c16a0d701771c93fa7fe1c6f60ef8
inder/IAppOpsCallback.cpp
inder/IAppOpsService.cpp
inder/IPCThreadState.cpp
inder/IPermissionController.cpp
inder/IServiceManager.cpp
3d5c8a98c1822e5f32f0b7e82a40f14f41769878 28-May-2014 Dan Stoza <stoza@google.com> Merge "SurfaceFlinger: Add sourceCrop to screenshot"
d9441e4c27bb7d0b1dfe2a8b5c1ee1714442648d 14-May-2014 Aravind Akella <aakella@google.com> Surface maxDelay and isWakeUpSensor flag in Sensor.java.

Change-Id: Idd1e9045190beeca87b086b272e8cbf0bed05bae
ui/Sensor.cpp
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.cpp
ui/SurfaceComposerClient.cpp
ui/tests/Surface_test.cpp
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.cpp
d763fc7822e7ab1eb593d479c0354a6bcdb6f09f 13-May-2014 Aravind Akella <aakella@google.com> am 47d871b2: am d35e3af0: Set default values for FifoMaxEventCount and ReservedEventCount.

* commit '47d871b2795f714499a34ffe85b67f8577883f7b':
Set default values for FifoMaxEventCount and ReservedEventCount.
47d871b2795f714499a34ffe85b67f8577883f7b 13-May-2014 Aravind Akella <aakella@google.com> am d35e3af0: Set default values for FifoMaxEventCount and ReservedEventCount.

* commit 'd35e3af04d4b7e850a3b87b2211d1a3993f9b76f':
Set default values for FifoMaxEventCount and ReservedEventCount.
d35e3af04d4b7e850a3b87b2211d1a3993f9b76f 13-May-2014 Aravind Akella <aakella@google.com> Set default values for FifoMaxEventCount and ReservedEventCount.

Change-Id: I4f610c2912ffe1697d1ffb99c556d1c88578466e
ui/Sensor.cpp
f63cbbf0e43e68b5e0855252d2ff90faa28109b3 12-May-2014 Etienne Le Grand <etn@google.com> Merge "Add wake gesture in Sensor.cpp"
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
ui/Surface.cpp
i/GraphicBuffer.cpp
i/GraphicBufferMapper.cpp
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"
a9d49f99e69d8fc0e60b492b131322c96f47a232 09-May-2014 Greg Hackmann <ghackmann@google.com> Merge "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
ui/Surface.cpp
i/GraphicBuffer.cpp
i/GraphicBufferMapper.cpp
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
f60564a13e917877c76c99294194a621d872076b 09-May-2014 Greg Hackmann <ghackmann@google.com> Merge "Use asynchronous lock/unlock API"
f736f2f5daa40061409376435fb6a6e66e48b7ae 08-May-2014 Ying Wang <wangying@google.com> am 114d71ce: am 214b4a61: am 8155ce81: Merge "Remove unused LOCAL_LDLIBS."

* commit '114d71ce7c6ec1ce0327c812a42966c4258b4a46':
Remove unused LOCAL_LDLIBS.
e284a90f5027aed767ff10a31640a9cd9b974838 08-May-2014 Etienne Le Grand <etn@google.com> Add wake gesture in Sensor.cpp

Change-Id: Ifb1744acffc2d57da43112fb9966261e8246d6de
ui/Sensor.cpp
114d71ce7c6ec1ce0327c812a42966c4258b4a46 08-May-2014 Ying Wang <wangying@google.com> am 214b4a61: am 8155ce81: Merge "Remove unused LOCAL_LDLIBS."

* commit '214b4a61ac3fa63e35c79157d3acf0d8b692b3ac':
Remove unused LOCAL_LDLIBS.
214b4a61ac3fa63e35c79157d3acf0d8b692b3ac 08-May-2014 Ying Wang <wangying@google.com> am 8155ce81: Merge "Remove unused LOCAL_LDLIBS."

* commit '8155ce81d4b150e6e453d9443f9fea4cc2c546d2':
Remove unused LOCAL_LDLIBS.
4a793fe95213675da514bc7f92655c3fa0e07ff3 08-May-2014 Ying Wang <wangying@google.com> Remove unused LOCAL_LDLIBS.

Change-Id: I62904c410a66f256da8253764577acae18f964f8
inder/Android.mk
c6e0c64632bdf9183b90307f1a39bd6d83e6a978 07-May-2014 Narayan Kamath <narayan@google.com> Merge "Fix InputEvent_test."
dd02391756dff240c178f7cba21d73d62821007e 06-May-2014 Dan Stoza <stoza@google.com> Merge "Enable changing display configuration"
b8290c2642ec7a0cb8a1703a7e1e8958a6a5f9f3 06-May-2014 Narayan Kamath <narayan@google.com> Fix InputEvent_test.

Axis 0 sets the MSB and Axis 63 sets the LSB, and not
the other way round like the test expects.

This was broken by commit 38dcdff3087f01 which moved this
code over to using BitSet.

Change-Id: I63a72abe7ce14720b0bf26e5f6d651bb42452f79
nput/tests/InputEvent_test.cpp
4522f5749d46adec0189c8dfe7f8e80b9ff4ce7e 06-May-2014 Narayan Kamath <narayan@google.com> Merge "Change InputMessage.motion.pointerSize to a uint32_t."
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.cpp
ui/SurfaceComposerClient.cpp
9fdfa60aaf477cc944013b637a2a35d357d4340f 06-May-2014 Jesse Hall <jessehall@google.com> am 424b093a: am ef923fcf: Merge "fix GraphicBuffer::flatten crash issue when handle is null"

* commit '424b093a58c9f428081da991afa347183bf07847':
fix GraphicBuffer::flatten crash issue when handle is null
424b093a58c9f428081da991afa347183bf07847 06-May-2014 Jesse Hall <jessehall@google.com> am ef923fcf: Merge "fix GraphicBuffer::flatten crash issue when handle is null"

* commit 'ef923fcfd3db9ca1d7df48273cf9a6258aaf15c2':
fix GraphicBuffer::flatten crash issue when handle is null
ef923fcfd3db9ca1d7df48273cf9a6258aaf15c2 06-May-2014 Jesse Hall <jessehall@google.com> Merge "fix GraphicBuffer::flatten crash issue when handle is null"
13de7f1defd259f41da9d1044c8aec779c60c1c4 05-May-2014 Jesse Hall <jessehall@google.com> am 57fdbbda: am 4314ccd1: am 70278fbf: Merge "Add error message for hints when exceptions occur during binder transactions."

* commit '57fdbbda2c475d2abdd828177f942ddb6d164bef':
Add error message for hints when exceptions occur during binder transactions.
57fdbbda2c475d2abdd828177f942ddb6d164bef 05-May-2014 Jesse Hall <jessehall@google.com> am 4314ccd1: am 70278fbf: Merge "Add error message for hints when exceptions occur during binder transactions."

* commit '4314ccd1ba9fe773b0fc91f0a08dc536ebce8dfe':
Add error message for hints when exceptions occur during binder transactions.
4314ccd1ba9fe773b0fc91f0a08dc536ebce8dfe 05-May-2014 Jesse Hall <jessehall@google.com> am 70278fbf: Merge "Add error message for hints when exceptions occur during binder transactions."

* commit '70278fbfe012c1fce3e63a41ffb9feaf1e53a64a':
Add error message for hints when exceptions occur during binder transactions.
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
ui/Surface.cpp
i/GraphicBuffer.cpp
i/GraphicBufferMapper.cpp
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.cpp
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
abf8a2c608cb5f0d1523ab7d0c56e0da8a09cc87 29-Apr-2014 Jun Jiang <jun.a.jiang@intel.com> Add error message for hints when exceptions occur during binder transactions.

It can help to detect some kind of error, such as why GraphicBuffer::flatten
will crash when handle is null.

Change-Id: I703cd035b96edb7afb324cf24d8230d4e55f4f52
Signed-off-by: Jun Jiang <jun.a.jiang@intel.com>
inder/Parcel.cpp
e2d1157381b863a94ccb36a1c6d70cad47e79c1a 29-Apr-2014 Jun Jiang <jun.a.jiang@intel.com> fix GraphicBuffer::flatten crash issue when handle is null

Change-Id: I0d3727e4366cac355791e52cb7790bf8f3c51527
Signed-off-by: Jun Jiang <jun.a.jiang@intel.com>
i/GraphicBuffer.cpp
943de2f71beff9566cc58ce5820495fd9776e1e3 24-Apr-2014 Aravind Akella <aakella@google.com> Merge "Enable wakeup sensors."
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
ui/ISensorEventConnection.cpp
ui/Sensor.cpp
ui/SensorEventQueue.cpp
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.cpp
nput/InputTransport.cpp
nput/KeyCharacterMap.cpp
nput/KeyLayoutMap.cpp
nput/Keyboard.cpp
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.cpp
4cbf3c53447215a31f69d3ac615ba0daa902f717 21-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Guard against unbounded queue growth"
fb39827ebce4637dcba03770f6644cf67e932e06 21-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Increase max slots from 32 to 64"
ae3c3682333f25e860fe54e2bae3599bb466cdb6 19-Apr-2014 Dan Stoza <stoza@google.com> BufferQueue: Guard against unbounded queue growth

Adds logic to dequeueBuffer that blocks if there are currently too
many buffers in the queue. This prevents unbounded growth around
times where the slots are cleared but the queue is not (e.g.,
during rapid connect/disconnect or setBufferCount activity). This
replaces the fix from ag/377958 in a more general way.

Bug: 11293214
Change-Id: Ieb7adfcd076ff7ffe3d4d369397b2c29cf5099c3
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
017a53851628e967e5e103a467acb602010dffdc 18-Apr-2014 Dan Stoza <stoza@google.com> Merge "libgui: Remove unnecessary casts in SurfaceControl"
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.cpp
ui/BufferQueueConsumer.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
d2f81358d392bca8e829f9e6b6b3742f75fd1cde 18-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Add StreamSplitter"
76173383e17a809ac19f0825f23ac80f02c4d5e0 18-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueueProducer: add detachNextBuffer"
c3911c6fa66ed0a41df1e29137ef1a076f9b11b0 15-Apr-2014 Colin Cross <ccross@android.com> am b8ceeb8f: am 85085cd6: Merge "libui: fix passing Fence object over binder"

* commit 'b8ceeb8f6cc3eea53d4b471747c401b9ae54d931':
libui: fix passing Fence object over binder
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/Android.mk
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/IGraphicBufferConsumer.cpp
ui/StreamSplitter.cpp
ui/tests/Android.mk
ui/tests/BufferQueue_test.cpp
ui/tests/StreamSplitter_test.cpp
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.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
b8ceeb8f6cc3eea53d4b471747c401b9ae54d931 15-Apr-2014 Colin Cross <ccross@android.com> am 85085cd6: Merge "libui: fix passing Fence object over binder"

* commit '85085cd6dd5ffed556e0a044ccf4080fbe7c5981':
libui: fix passing Fence object over binder
288f2ef6294b99a4a53355273ae8ad0f5a525f65 15-Apr-2014 Colin Cross <ccross@android.com> libui: fix passing Fence object over binder

The Fence object was writing a size_t into the binder buffer
in flatten, which changes size if the producer and consumer
are running in a 32-bit and a 64-bit process. Use a uint32_t
instead.

Change-Id: Ifed526513800ce27f9d605101cddd922292cca37
i/Fence.cpp
7f605bd4c09e2b086e69751491e25e98f4a0eb98 14-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Hook up IProducerListener"
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"
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
ui/Sensor.cpp
3b3ba78c3c586c2b09b11e0f1ab5347ff51a21e0 10-Apr-2014 Dan Stoza <stoza@google.com> libgui: Remove unnecessary casts in SurfaceControl

There are a number of places where we create a local
sp<SurfaceComposerClient>& to something that is already an
sp<SurfaceComposerClient>, which is redundant. This fixes that
by removing the local references.

Bug: 13814149
Change-Id: Ic558cbda651c344e5cac97022c97563928eed29c
ui/SurfaceControl.cpp
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.cpp
ui/ISurfaceComposerClient.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
i/Android.mk
i/FrameStats.cpp
4cd47b2e0eac8eb1c4a9d69e716e6dc0e2da7227 10-Apr-2014 Wonsik Kim <wonsik@google.com> Merge "Fix sideband stream issues"
fb9bf8725d682568fb509e2dac0587fa4e493572 08-Apr-2014 Dan Stoza <stoza@google.com> Merge "BufferQueue: Remove Bn version of create*"
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.cpp
ui/tests/BufferQueue_test.cpp
5603a2fbbd1aae74c4635e2f600819fb05d112e0 07-Apr-2014 Dan Stoza <stoza@google.com> Remove deprecated BufferQueue constructor

Bug: 13415624
Change-Id: I153b5470b21832cebe3c617d28a4ab9c9bf3b362
ui/tests/CpuConsumer_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
ui/tests/MultiTextureConsumer_test.cpp
ui/tests/SRGB_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTextureGL.h
ui/tests/SurfaceTextureGL_test.cpp
ui/tests/Surface_test.cpp
fc9aeb859096cc02ec9241fad589d361cf9c3ddd 07-Apr-2014 Andy McFadden <fadden@android.com> am 4215f434: am 6dbcebd0: Merge "Always release a buffer" into klp-modular-dev

* commit '4215f434187d518bf8c9807c9a18a7e0b617f7d2':
Always release a buffer
4215f434187d518bf8c9807c9a18a7e0b617f7d2 07-Apr-2014 Andy McFadden <fadden@android.com> am 6dbcebd0: Merge "Always release a buffer" into klp-modular-dev

* commit '6dbcebd0430e026fd5d99ba4b4f005bfaa9b8e2b':
Always release a buffer
afe3081e0e224a3d88da2e8f211e994f833cc6bb 31-Mar-2014 Wonsik Kim <wonsik@google.com> Fix sideband stream issues

- Notify a listener when sideband stream is set
- Mark a layer as visible when sideband stream is set, even though
no buffer is queued.

Change-Id: I9652bf530f2b5ce331533ec1bb3b10a815ca191c
ui/BufferQueueProducer.cpp
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)
ui/Sensor.cpp
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
ui/Sensor.cpp
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
ui/Sensor.cpp
87a678478005026d950bedec49ee80b693777b95 05-Apr-2014 Andy McFadden <fadden@android.com> Always release a buffer

In GLConsumer's updateAndReleaseLocked(), we must release either
the previously-acquired buffer or the newly-acquired buffer.

Bug 13755224

Change-Id: I96adc255400ed008ba6e6ac1725ab3514c7cc8ba
ui/GLConsumer.cpp
cece164b23dbb368de1be2112827dd2df0ab2b5c 04-Apr-2014 Mark Salyzyn <salyzyn@google.com> native gui: 64-bit compile issues

Change-Id: I45f605ff3759fb7ae9f0a6425d557d195f93281e
ui/BufferQueueCore.cpp
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.cpp
9cfa49c95445b968da3170b4fdb0b942af69569e 02-Apr-2014 Wonsik Kim <wonsik@google.com> Merge "Declare ownership of native_handle_t object"
d1c103655533321b5c74fbefff656838a8196153 28-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Hook up IProducerListener

Actually call the producer listener's callback during
IGraphicBufferConsumer::releaseBuffer

Change-Id: Idfa6bb08d62629cd3a198318e6c6fd6a731e73ef
ui/BufferQueueConsumer.cpp
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.cpp
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/Android.mk
ui/BufferQueue.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferProducer.cpp
ui/IProducerListener.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
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.cpp
2443c7903c6910b57bcc615a4bf2e60068c15dbd 24-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Set attached buffers as requested

When a buffer is attached to the producer side, it needs to be marked
as having been requested so that it can be queued successfully.

Change-Id: I90a88b332c415a57921bd094ae635afdf65bff99
ui/BufferQueueProducer.cpp
0ec54e156bed93d59900b742c8e9adcfaee90612 21-Mar-2014 Wonsik Kim <wonsik@google.com> Declare ownership of native_handle_t object

Change-Id: I4e21ff8ea76cfafce943dc059c8f72b42397980e
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
1a0b8617909c94f6c7301b651cb7b07463529c8c 20-Mar-2014 Dan Stoza <stoza@google.com> BufferQueue: Test remote producer and consumer

Adds a test that puts the BufferQueue into its own process and
connects to it over remote binder interfaces. This exposed the fact
that while IGBC was technically binderized, it didn't actually work
when flattened, so this change also fixes that.

Change-Id: I728cdb662a4273ddd3440ed6040a12560313fe68
ui/IGraphicBufferConsumer.cpp
ui/tests/BufferQueue_test.cpp
f4e7008989b683ba35cb63ae420a0184fe098bae 20-Mar-2014 Jesse Hall <jessehall@google.com> am 74ae7490: am 01502981: Merge "fix valgrind ioctl warning."

* commit '74ae749099a3c84f38dbe2f43e6627bb17caf5e4':
fix valgrind ioctl warning.
23c2fcbbf4be87580e64132150aa554b764425c2 20-Mar-2014 Marco Nelissen <marcone@google.com> am c0af9caf: am b14d72bc: am d070009e: am df6774c9: am 7c1cdbdd: am e23f8b8f: am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels

* commit 'c0af9cafba1217e2585777964730c70e40957dcd':
Add support for writing byte arrays to parcels
c0af9cafba1217e2585777964730c70e40957dcd 20-Mar-2014 Marco Nelissen <marcone@google.com> am b14d72bc: am d070009e: am df6774c9: am 7c1cdbdd: am e23f8b8f: am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels

* commit 'b14d72bce04e990639305890b2aca3ccad5b3ebb':
Add support for writing byte arrays to parcels
b14d72bce04e990639305890b2aca3ccad5b3ebb 20-Mar-2014 Marco Nelissen <marcone@google.com> am d070009e: am df6774c9: am 7c1cdbdd: am e23f8b8f: am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels

* commit 'd070009ecdb9e8c58ce5d1540d5bcba5587a0448':
Add support for writing byte arrays to parcels
7c1cdbdd68c4f809dc5616654740ea98a275892d 20-Mar-2014 Marco Nelissen <marcone@google.com> am e23f8b8f: am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels

* commit 'e23f8b8f0bf32e79c1d0f9183c064ab61354c452':
Add support for writing byte arrays to parcels
e23f8b8f0bf32e79c1d0f9183c064ab61354c452 20-Mar-2014 Marco Nelissen <marcone@google.com> am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels

* commit '1f70863d13668dc97047df15cce547ebc8435ff2':
Add support for writing byte arrays to parcels
1f70863d13668dc97047df15cce547ebc8435ff2 20-Mar-2014 Marco Nelissen <marcone@google.com> am 37b44969: Add support for writing byte arrays to parcels

* commit '37b44969c0ca1d00e213da685dfbb2807f2bab30':
Add support for writing byte arrays to parcels
74ae749099a3c84f38dbe2f43e6627bb17caf5e4 20-Mar-2014 Jesse Hall <jessehall@google.com> am 01502981: Merge "fix valgrind ioctl warning."

* commit '01502981cddb69b9ab7e4bf8bc66366ae0eb7035':
fix valgrind ioctl warning.
b0f96c4881c6381bfd518ba1127f726baa26ab3e 20-Mar-2014 Jesse Hall <jessehall@google.com> am 01502981: Merge "fix valgrind ioctl warning."

* commit '01502981cddb69b9ab7e4bf8bc66366ae0eb7035':
fix valgrind ioctl warning.
01502981cddb69b9ab7e4bf8bc66366ae0eb7035 20-Mar-2014 Jesse Hall <jessehall@google.com> Merge "fix valgrind ioctl warning."
38dcdff3087f01ba02aabfc17b3ff6c549bb5707 19-Mar-2014 Michael Wright <michaelwr@google.com> Generate ACTION_CANCEL on joystick disconnect.

Bug: 11480300
Change-Id: I46706838eec0711c6bf345301e7b4ccbad83b063
nput/Input.cpp
8ce5c1cc8d3275c78553227fd9eca3302b6fac1d 19-Mar-2014 Wonsik Kim <wonsik@google.com> Merge "Fill in sideband stream caveat"
6546f2e45861172af83b0c1e6432cae24e97d4cc 15-Mar-2014 Glenn Kasten <gkasten@google.com> Allow creation of heaps that are read-only to partner

Change-Id: I3c2b3d9b1671da4b9d9c58dce27e291d30703b03
inder/MemoryDealer.cpp
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"
74d8acd7fcd5f245feb28618a003b1ac2f762a7e 18-Mar-2014 Andy McFadden <fadden@android.com> Merge "Added null check"
bc96e4714f4cc1ae598f122b3b9f7998c09fe674 18-Mar-2014 Andy McFadden <fadden@android.com> Added null check

Don't dereference "handle" if it's NULL.

Bug 13348578

Change-Id: Ifa6758616c41cf84467af6db29c779d26901a01c
i/GraphicBuffer.cpp
75d840693466125f14613e736fdd6a557f1f8dff 18-Mar-2014 Kenny Root <kroot@google.com> am ca609e43: am 38e2aaaa: am 5b61ad2c: Check the padded size of the read byte array

* commit 'ca609e4300d88ad1e815581ebc6a478b446d3882':
Check the padded size of the read byte array
ca609e4300d88ad1e815581ebc6a478b446d3882 17-Mar-2014 Kenny Root <kroot@google.com> am 38e2aaaa: am 5b61ad2c: Check the padded size of the read byte array

* commit '38e2aaaa3dd62a20eb211808ae6fe45ec37ee6d5':
Check the padded size of the read byte array
38e2aaaa3dd62a20eb211808ae6fe45ec37ee6d5 17-Mar-2014 Kenny Root <kroot@google.com> am 5b61ad2c: Check the padded size of the read byte array

* commit '5b61ad2cda8ec8ab634ce02f388bb2d3c5ab048d':
Check the padded size of the read byte array
9ff2aad010f77a7f095d2802587775a59ed2384a 17-Mar-2014 Kenny Root <kroot@google.com> am 5b61ad2c: Check the padded size of the read byte array

* commit '5b61ad2cda8ec8ab634ce02f388bb2d3c5ab048d':
Check the padded size of the read byte array
5b61ad2cda8ec8ab634ce02f388bb2d3c5ab048d 17-Mar-2014 Kenny Root <kroot@google.com> Check the padded size of the read byte array

Bug: 13509200
Change-Id: Id93894fcc617ec1cd4ce66921c6e1f1c3cf40b09
inder/Parcel.cpp
37b44969c0ca1d00e213da685dfbb2807f2bab30 13-Mar-2014 Marco Nelissen <marcone@google.com> Add support for writing byte arrays to parcels

b/13418320

Cherrypicked from f0190bff38b6c29abbfc4a877442f71fc3d7dad8
https://googleplex-android-review.git.corp.google.com/#/c/433320/

Change-Id: I2285df9e9d3dc8a6a54055b13b352b81660bf45d
inder/Parcel.cpp
0ee14ca23dc2759e213172e38a840da0c36bd3ab 17-Mar-2014 Wonsik Kim <wonsik@google.com> Fill in sideband stream caveat

Change-Id: I20db8aea8f13acf31b42db08d90b338da8a5209c
ui/Surface.cpp
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
c45011f27209d5d548be3f96f2a23f7ff7f48c4c 14-Mar-2014 Mark Salyzyn <salyzyn@google.com> am cdbf28b3: Merge "native frameworks: 64-bit compile issues"

* commit 'cdbf28b3f7f5327f4cb0eb95b8326bf4c24c87ba':
native frameworks: 64-bit compile issues
993146092f8205d9747f082ccd63c09b536caa4e 14-Mar-2014 Mark Salyzyn <salyzyn@google.com> am d4dabf87: am cdbf28b3: Merge "native frameworks: 64-bit compile issues"

* commit 'd4dabf872ac0a12e12aebae9032f7d62762c2aeb':
native frameworks: 64-bit compile issues
49bfda1fbdf828a8ea63ae2c2fa25739f6e48527 13-Mar-2014 Jesse Hall <jessehall@google.com> Fix broken build for more tests

Change-Id: I7bdd12a833233724805d01d993541ee05caa9bf6
ui/tests/BufferQueue_test.cpp
ui/tests/DisconnectWaiter.h
ui/tests/IGraphicBufferProducer_test.cpp
f0190bff38b6c29abbfc4a877442f71fc3d7dad8 13-Mar-2014 Marco Nelissen <marcone@google.com> Add support for writing byte arrays to parcels

b/13418320

Change-Id: I2285df9e9d3dc8a6a54055b13b352b81660bf45d
inder/Parcel.cpp
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.cpp
fe50d2a0a13116238d5321e16c06e6ed533618dc 12-Mar-2014 Dan Stoza <stoza@google.com> BufferItemConsumer: Use IGBC instead of BQ

Change-Id: Id1756ac62954ba412f2c23c5fa6e5d760c299347
ui/BufferItemConsumer.cpp
d4dabf872ac0a12e12aebae9032f7d62762c2aeb 13-Mar-2014 Mark Salyzyn <salyzyn@google.com> am cdbf28b3: Merge "native frameworks: 64-bit compile issues"

* commit 'cdbf28b3f7f5327f4cb0eb95b8326bf4c24c87ba':
native frameworks: 64-bit compile issues
92dc3fc52cf097bd105460cf377779bdcf146d62 12-Mar-2014 Mark Salyzyn <salyzyn@google.com> native frameworks: 64-bit compile issues

- Fix format (print/scanf)
- Suppress unused argument warning messages (bonus)

Change-Id: I05c7724d2aba6da1e82a86000e11f3a8fef4e728
i/FramebufferNativeWindow.cpp
i/Region.cpp
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.cpp
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.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
ui/ConsumerBase.cpp
ui/IConsumerListener.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
a9a80939a7c0cbc3d745672317ff7a8b855f0780 11-Mar-2014 Igor Murashkin <iam@google.com> am 462fb3a8: Merge "gui: Fix return code assert in CpuConsumer_test."

* commit '462fb3a8d597fffef3d5534544428d5cee9d8c16':
gui: Fix return code assert in CpuConsumer_test.
b1078ae88da0f3f177d64ca4b3ce08693a4bc17d 11-Mar-2014 Ying Wang <wangying@google.com> am 6b4e5b7f: Merge "Fix misuse of ."

* commit '6b4e5b7f856c32b75e9a22df4c3f2273ae906acb':
Fix misuse of $(my-dir).
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.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueProducer.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/tests/BufferQueue_test.cpp
614019cd1f73686f9f5883cf0a7505887f44af26 10-Mar-2014 Arve Hjønnevåg <arve@android.com> am d1c87d37: Merge changes I3432d9d3,I90fcf538,I64398603

* commit 'd1c87d37025c49f6a47fe43328572da495ff04c1':
Binder: Fix some valgrind errors.
Binder: Don't cast directly from a pointer to binder_uintptr_t
Binder: Disable attemptIncStrongHandle
8ff043d3fb0eb913aee9afe2a741bf0c30abb7d7 07-Mar-2014 Colin Cross <ccross@android.com> am 74be0f7b: Merge "binder: fix all warnings"

* commit '74be0f7be35e7b40a322fa9a407cb49265333a0b':
binder: fix all warnings
72e7ac9ba4ded6a11c8bc37fbc8112b98ec3991d 07-Mar-2014 Arve Hjønnevåg <arve@android.com> am 4e7fd950: Merge "Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set."

* commit '4e7fd9506103dcc9750788caf1f94b8d1348f37b':
Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set.
eea5b2984204a9da2a59a8092a4191a33c8e7640 07-Mar-2014 Arve Hjønnevåg <arve@android.com> am 58242fc2: Merge changes Ib0e5a037,I1bd7c38e,Icfc67c2a,I96c64312,I59528054, ...

* commit '58242fc29881cf29d56ee6e5fde6d73b16d0b67c':
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
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
ui/tests/BufferQueue_test.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
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/BufferItem.cpp
ui/BufferQueue.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/BufferSlot.cpp
8be494eb0998cc8f7f41c504c71c54856e169806 04-Mar-2014 Igor Murashkin <iam@google.com> am 1738d4fc: am 462fb3a8: Merge "gui: Fix return code assert in CpuConsumer_test."

* commit '1738d4fca78b7678d09d5c8898e1f80fa63b4a6d':
gui: Fix return code assert in CpuConsumer_test.
1738d4fca78b7678d09d5c8898e1f80fa63b4a6d 04-Mar-2014 Igor Murashkin <iam@google.com> am 462fb3a8: Merge "gui: Fix return code assert in CpuConsumer_test."

* commit '462fb3a8d597fffef3d5534544428d5cee9d8c16':
gui: Fix return code assert in CpuConsumer_test.
462fb3a8d597fffef3d5534544428d5cee9d8c16 04-Mar-2014 Igor Murashkin <iam@google.com> Merge "gui: Fix return code assert in CpuConsumer_test."
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/Android.mk
ui/BufferItem.cpp
ui/BufferQueueConsumer.cpp
ui/BufferQueueCore.cpp
ui/BufferQueueProducer.cpp
ui/BufferSlot.cpp
962a108856767d6f5c17cf2854b13fef0315f8ca 18-Oct-2013 Michael Wright <michaelwr@google.com> Parse LED mappings in keylayout files. DO NOT MERGE

Change-Id: I2b34939cc0df256e6b872502ea93f2884b4c8334
nput/KeyLayoutMap.cpp
nput/Keyboard.cpp
c0308d760045fc6c64cceba0e93757cd91ecf059 03-Mar-2014 Igor Murashkin <iam@google.com> Merge "gui: Surface::dequeueBuffer no locker holds mutex while blocking in binder"
0f1889efe77171696bfb3499832ed1732343d9fb 01-Mar-2014 Igor Murashkin <iam@google.com> gui: Surface::dequeueBuffer no locker holds mutex while blocking in binder

- This also fixes a hang in the camera service when trying to shut down
if the producer is infinitely blocked while trying to get a new buffer.

Bug: 13250382
Change-Id: I32ca82162bb8645b97dbe084e13e05ca05529a42
ui/Surface.cpp
646e2fbd9173677566a90810801217760f9bb9a8 01-Mar-2014 Ying Wang <wangying@google.com> am 0a643374: am 6b4e5b7f: Merge "Fix misuse of ."

* commit '0a6433749dcd87039f6e31c04ea662b238310b17':
Fix misuse of $(my-dir).
0a6433749dcd87039f6e31c04ea662b238310b17 01-Mar-2014 Ying Wang <wangying@google.com> am 6b4e5b7f: Merge "Fix misuse of ."

* commit '6b4e5b7f856c32b75e9a22df4c3f2273ae906acb':
Fix misuse of $(my-dir).
a3cc7edfce45aec6c31b7a7193a53491246bfbb4 01-Mar-2014 Ying Wang <wangying@google.com> Fix misuse of $(my-dir).

Change-Id: I8b24f60826abe4b541de646cbc3df66929203301
i/tests/Android.mk
4cab0fd7f788995e3858f992ae760df1cfb7f63d 14-Feb-2014 Arve Hjønnevåg <arve@android.com> Binder: Make sure binder objects do not overlap

Fixes crashing part of bug 11355082.
The driver still leaks references.

Change-Id: Ibc6a63b151c1fc1f7666237f25255ba781e02071
inder/Parcel.cpp
3c98ba77b9c44037a63d84d185d4128216d8b38a 22-Feb-2014 Arve Hjønnevåg <arve@android.com> am c5294424: am d1c87d37: Merge changes I3432d9d3,I90fcf538,I64398603

* commit 'c5294424386bedad2a240074d0845999f28e662d':
Binder: Fix some valgrind errors.
Binder: Don't cast directly from a pointer to binder_uintptr_t
Binder: Disable attemptIncStrongHandle
c5294424386bedad2a240074d0845999f28e662d 22-Feb-2014 Arve Hjønnevåg <arve@android.com> am d1c87d37: Merge changes I3432d9d3,I90fcf538,I64398603

* commit 'd1c87d37025c49f6a47fe43328572da495ff04c1':
Binder: Fix some valgrind errors.
Binder: Don't cast directly from a pointer to binder_uintptr_t
Binder: Disable attemptIncStrongHandle
ee319ab1d29f9cfd98752e8e3e876c9e7fccb264 20-Feb-2014 Arve Hjønnevåg <arve@android.com> am 6f286114: Revert "Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface"

* commit '6f286114ec1d597f3dae987bba6e72dbbc404e32':
Revert "Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface"
5febeff15f71f3826b91a51990c901746f97e950 20-Feb-2014 Arve Hjønnevåg <arve@android.com> am 9b5c3b91: am d5a354c6: am d06f6b00: am 67903293: Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface

* commit '9b5c3b9132831ba9078fc7c4001821bcfe8dd39d':
Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface
6f286114ec1d597f3dae987bba6e72dbbc404e32 20-Feb-2014 Arve Hjønnevåg <arve@android.com> Revert "Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface"

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

This reverts commit 6790329358d1c84af2fe9ba093bcfc1c6176e758.

Change-Id: I9b6d0d653d98dbdb521ef964c5e7c2f14859d340
inder/Parcel.cpp
fb83d84694e385039c3d37ed52cf44fa4ca410e4 20-Feb-2014 Dan Stoza <stoza@google.com> Merge "Fix calls to captureScreen"
8d7599633fedba38d2aba28cc95e0c66c3456694 20-Feb-2014 Dan Stoza <stoza@google.com> Fix calls to captureScreen

Change-Id: Ic0ff47afa29f143131906082dff79d4e907b7143
ui/tests/Surface_test.cpp
da03fe4bfcc5f6626d38798e4d9def8596fd869c 20-Feb-2014 Dan Stoza <stoza@google.com> Merge "Allow disabling layer rotation during screenshots"
9b5c3b9132831ba9078fc7c4001821bcfe8dd39d 20-Feb-2014 Arve Hjønnevåg <arve@android.com> am d5a354c6: am d06f6b00: am 67903293: Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface

* commit 'd5a354c6b7f2ae0b93e018f3024a2fca5f6543a1':
Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface
d5a354c6b7f2ae0b93e018f3024a2fca5f6543a1 20-Feb-2014 Arve Hjønnevåg <arve@android.com> am d06f6b00: am 67903293: Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface

* commit 'd06f6b001484c28a6ede3f1ad83d23dcb9ad3ccf':
Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface
d06f6b001484c28a6ede3f1ad83d23dcb9ad3ccf 20-Feb-2014 Arve Hjønnevåg <arve@android.com> am 67903293: Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface

* commit '6790329358d1c84af2fe9ba093bcfc1c6176e758':
Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface
6790329358d1c84af2fe9ba093bcfc1c6176e758 20-Feb-2014 Arve Hjønnevåg <arve@android.com> Fix "Binder: Make sure binder objects do not overlap" to work old binder kernel interface

DO NOT MERGE into any branch that uses the new interface

Change-Id: Id54308a89327e69a389ac5916c052ad97f57cb28
inder/Parcel.cpp
79aa621330e1fefcfc7ccf7c14ef51a8d0ea8c9c 19-Feb-2014 Arve Hjønnevåg <arve@android.com> am 7cc5b880: am e45636a8: am d437364e: am f50b9eaa: Binder: Make sure binder objects do not overlap

* commit '7cc5b8800c22790b0db9ea0af62fcad2cc998303':
Binder: Make sure binder objects do not overlap
7cc5b8800c22790b0db9ea0af62fcad2cc998303 19-Feb-2014 Arve Hjønnevåg <arve@android.com> am e45636a8: am d437364e: am f50b9eaa: Binder: Make sure binder objects do not overlap

* commit 'e45636a8674b9cbb9305648e21316210e1daf920':
Binder: Make sure binder objects do not overlap
e45636a8674b9cbb9305648e21316210e1daf920 19-Feb-2014 Arve Hjønnevåg <arve@android.com> am d437364e: am f50b9eaa: Binder: Make sure binder objects do not overlap

* commit 'd437364ec156e07c5fbe3fa27a7cd55e5450e9f6':
Binder: Make sure binder objects do not overlap
d437364ec156e07c5fbe3fa27a7cd55e5450e9f6 19-Feb-2014 Arve Hjønnevåg <arve@android.com> am f50b9eaa: Binder: Make sure binder objects do not overlap

* commit 'f50b9eaaeeaeae16981f11b05d3f3a6fb0dea30d':
Binder: Make sure binder objects do not overlap
07fd0f195db6d341cab4e54257f508d802c98832 19-Feb-2014 Arve Hjønnevåg <arve@android.com> Binder: Fix some valgrind errors.

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

Change-Id: I3432d9d36bb251d8ddb0a863661aeb80aabb3d92
inder/IPCThreadState.cpp
inder/Parcel.cpp
87b30d0447829167b2d83f4f61f702638d937524 19-Feb-2014 Arve Hjønnevåg <arve@android.com> Binder: Don't cast directly from a pointer to binder_uintptr_t

When using the 64 bit binder interface from a 32 bit process the
pointer may get sign extended and cause the kernel to fail to read
from it.

Change-Id: I90fcf53880e2aa92e230a9723f9b3f7696170e32
inder/IPCThreadState.cpp
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
ui/SurfaceComposerClient.cpp
11cfdccfd3cfceb08732909a1489419ff0229694 15-Feb-2014 Arve Hjønnevåg <arve@android.com> Binder: Disable attemptIncStrongHandle

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

Change-Id: I643986037341821b27b62dc82df933844f4842b8
inder/IPCThreadState.cpp
f50b9eaaeeaeae16981f11b05d3f3a6fb0dea30d 14-Feb-2014 Arve Hjønnevåg <arve@android.com> Binder: Make sure binder objects do not overlap

Fixes crashing part of bug 11355082.
The driver still leaks references.

Change-Id: Ibc6a63b151c1fc1f7666237f25255ba781e02071
inder/Parcel.cpp
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.cpp
ui/SurfaceComposerClient.cpp
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.cpp
ed4d28dd70448b13eb74a3166ec8d1c1a530e2d4 11-Feb-2014 Jeff Brown <jeffbrown@google.com> Add method to apply offset to PointerCoords. (DO NOT MERGE)

Change-Id: I3dc2ba22b026e5b8e1c3d90f7366ec09a59ce6b6
nput/Input.cpp
1c284a9431f98bbefd27a30c3368bbf7366dff3a 10-Feb-2014 Michael Wright <michaelwr@google.com> Add contains point method to Region

Change-Id: I553433ff7ac39f14ffca8278960d2abc95b4dd63
i/Region.cpp
4ba492f23b6fb0d5a95174cc194ce04e1497c0d7 06-Feb-2014 Colin Cross <ccross@android.com> am 2b957503: am 74be0f7b: Merge "binder: fix all warnings"

* commit '2b957503b77c938e0698ffa8904e20c38c408d81':
binder: fix all warnings
6f4f3ab36c5ed1df84eb3a9f7475f0ac42952f58 06-Feb-2014 Colin Cross <ccross@android.com> binder: fix all warnings

Fix warnings related to casting pointers to ints, using %d or %ld to
print size_t/ssize_t, and unused parameters.

Change-Id: I7a13ba83d402952989c1f795cd9e880a95b98d9e
inder/Binder.cpp
inder/BpBinder.cpp
inder/Debug.cpp
inder/IMemory.cpp
inder/IPCThreadState.cpp
inder/MemoryDealer.cpp
inder/Parcel.cpp
inder/ProcessState.cpp
ba91e5af4510536f1c66a7d2183c976d430788f6 04-Feb-2014 Arve Hjønnevåg <arve@android.com> am 8641112a: am 4e7fd950: Merge "Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set."

* commit '8641112a1c3d4ff3ed68131d07eed01b715ac906':
Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set.
f3ad11cf3ce60436bcdeec577d1e35c67ccae460 03-Feb-2014 Arve Hjønnevåg <arve@android.com> Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set.

Change-Id: I46a29939fa29ec9421ab6dff3285502f69a31745
inder/Android.mk
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
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.cpp
inder/Parcel.cpp
e91fff0a2dfe7d312286b140c8069c820627da8c 29-Jan-2014 Arve Hjønnevåg <arve@android.com> Add BINDER_IPC_32BIT to CFLAGS unless TARGET_USES_64_BIT_BINDER is true

Change-Id: I96c643123b0314c361b7f48a18d5c22c660d4ff5
inder/Android.mk
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/Binder.cpp
inder/IPCThreadState.cpp
inder/MemoryDealer.cpp
inder/Parcel.cpp
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
ui/SurfaceComposerClient.cpp
b8072d84ba9bf43701fcace61414b3cef5910919 29-Jan-2014 Dan Stoza <stoza@google.com> libgui: Fix segfault in SRGB tests

Make the test exit cleanly if the output buffer is never mapped.

Bug: 12761226
Change-Id: If789f02198851a17b11ee06f612f9ba7e06da754
ui/tests/SRGB_test.cpp
809af3aa03294a8de2cb9cfee6e2686a2bf99ac1 27-Jan-2014 Adam Lesinski <adamlesinski@google.com> Moved androidfw back to frameworks/base

Change-Id: Idd57bbbc86c936cbfd60e02f8ac8d4f8fbc94592
ndroidfw/Android.mk
ndroidfw/Asset.cpp
ndroidfw/AssetDir.cpp
ndroidfw/AssetManager.cpp
ndroidfw/BackupData.cpp
ndroidfw/BackupHelpers.cpp
ndroidfw/CursorWindow.cpp
ndroidfw/MODULE_LICENSE_APACHE2
ndroidfw/NOTICE
ndroidfw/ObbFile.cpp
ndroidfw/ResourceTypes.cpp
ndroidfw/StreamingZipInflater.cpp
ndroidfw/ZipFileRO.cpp
ndroidfw/ZipUtils.cpp
ndroidfw/misc.cpp
ndroidfw/tests/Android.mk
ndroidfw/tests/BackupData_test.cpp
ndroidfw/tests/ObbFile_test.cpp
ndroidfw/tests/ZipUtils_test.cpp
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.cpp
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
ui/tests/SRGB_test.cpp
i/PixelFormat.cpp
3ed4e0b3655b4019b9ab9939f6df0cb8a102d37f 12-Dec-2013 Dan Stoza <stoza@google.com> libgui: Add a test suite for SRGB testing

This is the start of an SRGB test suite. Currently it has a test for
SRGB texture reads in GLES3.

Change-Id: I553ee2691dc92b98cae7a003084d4e2823d40d95
ui/tests/Android.mk
ui/tests/SRGB_test.cpp
ec3994f2b30b26f73294950bd2232a8a82e11e3b 11-Dec-2013 Narayan Kamath <narayan@google.com> Merge changes I25acff1d,Iae67e62f

* changes:
Add libutils dependency for libandroidfw host build.
Reimplement ZipFileRO in terms of libziparchive.
ce12e8c318eef3adc3886f450b4f3cbf4be2fdbc 11-Dec-2013 Narayan Kamath <narayan@google.com> Add libutils dependency for libandroidfw host build.

(cherry picked from commit 070274ec0ccb8643c52e41e4119f356f0f51bc36)

Change-Id: I25acff1d36b3adce14b2576485bda93c914d7f5d
ndroidfw/Android.mk
cb1fcdedaaf95acabeac6a2d5bff423d6ca62296 03-Dec-2013 Dan Stoza <stoza@google.com> libgui: Split SurfaceTexture tests into more files

Extract the many different test fixtures and suites in SurfaceTexture_test.cpp
into separate files. No real functional changes, just tweaking headers to keep
things building (and adding a few copyright headers I forgot last time).

Change-Id: Id801bd5d617f0cc61d22508fb9b71b41694bdecf
ui/tests/Android.mk
ui/tests/DisconnectWaiter.h
ui/tests/FillBuffer.cpp
ui/tests/FillBuffer.h
ui/tests/FrameWaiter.h
ui/tests/GLTest.cpp
ui/tests/GLTest.h
ui/tests/MultiTextureConsumer_test.cpp
ui/tests/SurfaceTextureFBO.h
ui/tests/SurfaceTextureFBO_test.cpp
ui/tests/SurfaceTextureGL.h
ui/tests/SurfaceTextureGLThreadToGL.h
ui/tests/SurfaceTextureGLThreadToGL_test.cpp
ui/tests/SurfaceTextureGLToGL.h
ui/tests/SurfaceTextureGLToGL_test.cpp
ui/tests/SurfaceTextureGL_test.cpp
ui/tests/SurfaceTextureMultiContextGL.h
ui/tests/SurfaceTextureMultiContextGL_test.cpp
ui/tests/SurfaceTexture_test.cpp
ui/tests/TextureRenderer.cpp
ui/tests/TextureRenderer.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/Android.mk
ndroidfw/Asset.cpp
ndroidfw/AssetManager.cpp
ndroidfw/ZipFileRO.cpp
ndroidfw/ZipUtils.cpp
ndroidfw/tests/Android.mk
ndroidfw/tests/ZipFileRO_test.cpp
ndroidfw/tests/ZipUtils_test.cpp
de8c80692b0b2fcef705ba9b417477d2bba81e75 05-Dec-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit '1ee45c2d2d816ee912624d81ff1b0aaa98e8fa74' into HEAD
8f76b6bedf5c0b316d02a9f9de3d504c0344cb81 04-Dec-2013 Alistair Strachan <alistair.strachan@imgtec.com> gui: Fix return code assert in CpuConsumer_test.

The CpuConsumer error code was changed recently from INVALID_OPERATION to
NOT_ENOUGH_DATA, however the CpuConsumer_test was not updated. This change
fixes the return code checked by CpuConsumer_test so the test no longer
fails.

Change-Id: Ie548ddcb313fa34c130ac63355090cb44ac15ebf
ui/tests/CpuConsumer_test.cpp
f3730fb8f7da368740f9e5ed2603b405aeb4be72 27-Nov-2013 Dan Stoza <stoza@google.com> libgui: Fix a couple of minor bugs, extract GLTest

Fix a couple of minor bugs in existing tests, and extract the GLTest class into
its own files.

Change-Id: I7d9570a0d3dbc9c5d7f9b13f2017607af42744b3
ui/tests/Android.mk
ui/tests/GLTest.cpp
ui/tests/GLTest.h
ui/tests/SurfaceTexture_test.cpp
fc3cdb936e6b34257a3bfaf30e89db8f11667cc5 22-Nov-2013 The Android Open Source Project <initial-contribution@android.com> Merge commit 'afd0debe4bdf47dc0f968282ca1261842bb65d60' into HEAD

Change-Id: Ic9aed2c57bdfeb250ce2dd7f0e9289ba5b6e936a
ee47adfb1b1493beb8112391fbb2d27d583410db 22-Nov-2013 Elliott Hughes <enh@google.com> am 0d103b59: am f2f74ca6: Merge "Remove references to obsolete pmem functionality."

* commit '0d103b596dd9883898a062beaacf980d4439b835':
Remove references to obsolete pmem functionality.
0d103b596dd9883898a062beaacf980d4439b835 22-Nov-2013 Elliott Hughes <enh@google.com> am f2f74ca6: Merge "Remove references to obsolete pmem functionality."

* commit 'f2f74ca65f34ae0cae6f0cca40f1c18aa771739d':
Remove references to obsolete pmem functionality.
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.cpp
ui/tests/Android.mk
ui/tests/BufferQueue_test.cpp
ui/tests/IGraphicBufferProducer_test.cpp
a5a13a3ecf72554120ce5e856d514b72b70f5cf1 21-Nov-2013 Elliott Hughes <enh@google.com> Remove references to obsolete pmem functionality.

Change-Id: I5d3befd075e51614e6801115388a0a9f32fbb6ea
inder/MemoryHeapBase.cpp
4be18a3566c5d902b7fe94db4cf14b174ed7beb5 18-Nov-2013 Igor Murashkin <iam@google.com> gui: Remove BufferQueue::MIN_UNDEQUEUED_BUFFERS

Change-Id: I7c0cc36046dbbdb9c0e85acfe5027293d1131275
ui/BufferItemConsumer.cpp
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.cpp
ui/ConsumerBase.cpp
ui/IGraphicBufferConsumer.cpp
ui/Surface.cpp
26609e2c306e7f15c15d047d639889f830f5d1b5 29-Oct-2013 Elliott Hughes <enh@google.com> Re-apply androidfw fixes lost by the directory rearrangement.

Assignment to wrong variable in libs/androidfw/AssetManager.cpp.
https://code.google.com/p/android/issues/detail?id=61560

Missing delete[]s in libs/androidfw/ObbFile.cpp.
https://code.google.com/p/android/issues/detail?id=61549

Change-Id: I24e6867284d70a7793d78e62d1a836cbee310fb0
ndroidfw/AssetManager.cpp
ndroidfw/ObbFile.cpp
fddab476170de87d4d4fcd2afc34376c01f68b76 26-Oct-2013 Marco Nelissen <marcone@google.com> am 708cc794: Native counterpart of new power manager method

* commit '708cc794f6ccd4d31e0a00a23b289272c665adc1':
Native counterpart of new power manager method
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.cpp
0a885309aa7be823b4ad1852d0a08f84c301578c 17-Oct-2013 Shuo Gao <shuo.gao@intel.com> fix corruption in Vector<> when malloc falied

1. When alloc or realloc failed in the function SharedBuffer::editResize,
it would return a NULL pointer, then mStorage would update to be 1 by
SharedBuffer::data() if no pointer check here, which is an obviously
wrong address, and would cause corruption when used it e.g. in capacity().

So add the pointer check here for the return value of SharedBuffer::editResize,
if it's NULL do not use it to update mStorage, to avoid the value of mStorage
polluted.

2. when alloc or realloc falied in _grow & _shrink function, mStorage keep
the original value, so mCount should not be updated here.

Otherwise, mStorage might be 0 but mCount>0, so a corruption would happend
when it try to delete items from the Vector since mCount>0.

Change-Id: I7c3814e843c459834ca5eed392e8d63d1cb7d2d8
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 139626
tils/VectorImpl.cpp
2130192c78d872e2c605648e6eadde8ff655463d 22-Oct-2013 Michael Wright <michaelwr@google.com> am 47f0b989: am 3223217a: Only consume touches up until the frame time

* commit '47f0b9894b78a76a1257e0f3299cbe5446035c09':
Only consume touches up until the frame time
47f0b9894b78a76a1257e0f3299cbe5446035c09 22-Oct-2013 Michael Wright <michaelwr@google.com> am 3223217a: Only consume touches up until the frame time

* commit '3223217aed6dcfa55b5b952cd6be71f70e41ba63':
Only consume touches up until the frame time
3223217aed6dcfa55b5b952cd6be71f70e41ba63 21-Oct-2013 Michael Wright <michaelwr@google.com> Only consume touches up until the frame time

When resampling is disabled, it's currently possible to consume
touches after the current frame time. This breaks some guarantees and
could cause unexpected behaviors.

Change-Id: I99908a2cac2df9f795dd4a07188b4451213cf3e4
nput/InputTransport.cpp
0012dbc3c6015ace91275f022116e52da9adc4c6 19-Oct-2013 Andy McFadden <fadden@android.com> am 251b11c2: am 85075869: Wait for buffers to drain

* commit '251b11c2045b2ae97f2ab270a65e11b4ca49b1b6':
Wait for buffers to drain
251b11c2045b2ae97f2ab270a65e11b4ca49b1b6 19-Oct-2013 Andy McFadden <fadden@android.com> am 85075869: Wait for buffers to drain

* commit '8507586903fa803abf535853a169913f2cf2e555':
Wait for buffers to drain
8507586903fa803abf535853a169913f2cf2e555 19-Oct-2013 Andy McFadden <fadden@android.com> Wait for buffers to drain

When a BufferQueue producer disconnects and reconnects, we retain
the previously-queued buffers but empty the slots. This allows
the number of queued buffers to grow without limit. The low-memory
killer does not approve.

Bug 11069934

Change-Id: Ia2eaa954c7a3904b54209a3701dba01689e204d8
ui/BufferQueue.cpp
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/KeyLayoutMap.cpp
nput/Keyboard.cpp
5c0106e134366312206702f1b072347e20c90374 16-Oct-2013 Marco Nelissen <marcone@google.com> Native counterpart of new power manager method

Change-Id: I54c0ed50a57ac870da91db8589a73a2c792dbd8d
inder/Parcel.cpp
218566c303c7b71d6991dce2dfdd8d718659c368 11-Oct-2013 Dave Burke <daveburke@google.com> am 06c964d9: am 9c0dfa09: Merge "Eliminate latency when resampling is disabled" into klp-dev

* commit '06c964d9b31ac81d3521f97427cdab77ee7d1cff':
Eliminate latency when resampling is disabled
06c964d9b31ac81d3521f97427cdab77ee7d1cff 11-Oct-2013 Dave Burke <daveburke@google.com> am 9c0dfa09: Merge "Eliminate latency when resampling is disabled" into klp-dev

* commit '9c0dfa09731a8366a7cdcd7171dde64b73af0d5c':
Eliminate latency when resampling is disabled
9c0dfa09731a8366a7cdcd7171dde64b73af0d5c 11-Oct-2013 Dave Burke <daveburke@google.com> Merge "Eliminate latency when resampling is disabled" into klp-dev
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.
1f1e576840d5b36a091368abb6fe6610384b6449 11-Oct-2013 Aravind Akella <aakella@google.com> am 5d6aa951: Merge "Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection." into klp-dev

* commit '5d6aa95129a13aae37a60b3e4246a0592dab396d':
Change API from flush(handle) to flush(). Call flush on all active sensors in the given SensorEventConnection.
ad526f8505efe2ccd800e4665864b10bdae31e29 11-Oct-2013 Michael Wright <michaelwr@google.com> Eliminate latency when resampling is disabled

Since the latency was introduced to avoid egregious errors during
resampling, remove it when we aren't resampling.

Change-Id: Ia8e9a9afb1e16212fec81a8c9c661c598e1b0ebf
nput/InputTransport.cpp
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.cpp
ui/SensorEventQueue.cpp
59d6992f4da13262da414ba7ea2e9dcea4386195 03-Oct-2013 Mike Lockwood <lockwood@google.com> Fix the build

Change-Id: I73f1c2e9e2e565602aa78b51a2cea2d619d7b0e9
ndroidfw/Android.mk
f99ad113b9e2ce9e91680e37867fcc8af7e5ea5e 03-Oct-2013 Mike Lockwood <lockwood@google.com> Move libandroidfw from frameworks/base

Change-Id: I8228c9a796e68e920c6a7dfc154c4b70ba66b082
ndroidfw/Android.mk
ndroidfw/Asset.cpp
ndroidfw/AssetDir.cpp
ndroidfw/AssetManager.cpp
ndroidfw/BackupData.cpp
ndroidfw/BackupHelpers.cpp
ndroidfw/CursorWindow.cpp
ndroidfw/MODULE_LICENSE_APACHE2
ndroidfw/NOTICE
ndroidfw/ObbFile.cpp
ndroidfw/ResourceTypes.cpp
ndroidfw/StreamingZipInflater.cpp
ndroidfw/ZipFileRO.cpp
ndroidfw/ZipUtils.cpp
ndroidfw/misc.cpp
ndroidfw/tests/Android.mk
ndroidfw/tests/BackupData_test.cpp
ndroidfw/tests/ObbFile_test.cpp
ndroidfw/tests/ZipFileRO_test.cpp
bd381c6164cc7b661dfc3fd7c15696f4225ac810 02-Oct-2013 Jamie Gennis <jgennis@google.com> am 6be1d210: am f0cf5f10: BufferQueue: fix a test crash

* commit '6be1d210eef392f5745d58a0033572b1af4b2f2a':
BufferQueue: fix a test crash
6be1d210eef392f5745d58a0033572b1af4b2f2a 02-Oct-2013 Jamie Gennis <jgennis@google.com> am f0cf5f10: BufferQueue: fix a test crash

* commit 'f0cf5f103cf9c54d59de4ed6f1d8ddd2302dec1b':
BufferQueue: fix a test crash
f0cf5f103cf9c54d59de4ed6f1d8ddd2302dec1b 26-Sep-2013 Jamie Gennis <jgennis@google.com> BufferQueue: fix a test crash

Bug: 10935880
Change-Id: If76e9fb055103bad0db7e6c16487532671573149
ui/BufferQueue.cpp
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
886b152111cc13dcfe1b47724f5e496f12ccc420 02-Oct-2013 Jamie Gennis <jgennis@google.com> am a9c47f32: Merge "GLConsumer: start using EGL_ANDROID_image_crop" into klp-dev

* commit 'a9c47f327373cbe48e187442c7f9554d24a75c08':
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.cpp
63ff1c644f785c78adbf65b9abf6b998cee2c7a1 25-Sep-2013 Mike Lockwood <lockwood@google.com> Cleanup Binder interface between sensorservice and BatteryStats

Change-Id: Ia507160a2534059afe93849c8efc8407a046b50e
inder/Android.mk
inder/IBatteryStats.cpp
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.
6de9653ac876a4cae03d32c1134c56c795b1b11c 20-Sep-2013 Christopher Ferris <cferris@google.com> Merge "Remove unnecessary include."
d142f4b787abae7a5c392ded0dd2741574a0bce2 20-Sep-2013 Christopher Ferris <cferris@google.com> Remove unnecessary include.

All these files are including utils/CallStack.h, but none of the code
uses any CallStack objects.

Change-Id: I38c3a346a3bd0ddbff368d0f7f8b3f3d78fc0432
ui/BufferQueue.cpp
ui/SurfaceControl.cpp
1160e89d31810f2ba66f8ab502281579115b39b0 19-Sep-2013 Eino-Ville Talvala <etalvala@google.com> am d171da97: GLConsumer: Add query for current frame number.

* commit 'd171da973de3c6b30263011334fdcd916739144f':
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.cpp
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
a7e1660b257326f99261e7c9b2d58c9d2e68d0b0 19-Sep-2013 Mathias Agopian <mathias@google.com> am c1c05de4: fix camera API 2.0 orientation

* commit 'c1c05de415854eb7a13a16b7e22a22de8515123a':
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/BufferQueue.cpp
ui/IGraphicBufferConsumer.cpp
2285c008fa53f086c8ccae3ac6eaf3f8a3992218 18-Sep-2013 Mathias Agopian <mathias@google.com> am e803e609: am 799f5126: Fix build (tests)

* commit 'e803e6095e007563df939326fdd3ca5109619a42':
Fix build (tests)
e803e6095e007563df939326fdd3ca5109619a42 18-Sep-2013 Mathias Agopian <mathias@google.com> am 799f5126: Fix build (tests)

* commit '799f51268006f319f6ae538dca670bfc7f522688':
Fix build (tests)
799f51268006f319f6ae538dca670bfc7f522688 18-Sep-2013 Mathias Agopian <mathias@google.com> Fix build (tests)

Change-Id: I5b233ef448e5e7eec3818c6586dfea138b28f7b6
ui/tests/BufferQueue_test.cpp
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.
3f342c113360eacc1e9c1ff481cb03f700a50117 17-Sep-2013 Mathias Agopian <mathias@google.com> am 02b62df7: Merge "Make sure do disconnect from a BQ when its client dies." into klp-dev

* commit '02b62df7119b27c89d91d96938d8f4f5232b296b':
Make sure do disconnect from a BQ when its client dies.
02b62df7119b27c89d91d96938d8f4f5232b296b 17-Sep-2013 Mathias Agopian <mathias@google.com> Merge "Make sure do disconnect from a BQ when its client dies." into klp-dev
cd9fd427ac4ee8312fd42b8e643805861d9d94b2 17-Sep-2013 Jesse Hall <jessehall@google.com> am b8080d9a: am 2a36497e: Merge "Stop using default value for Surface producerControlledByApp parameter" into klp-dev

* commit 'b8080d9a3b760617c5dde7b1d2d63aa2bcecf3a7':
Stop using default value for Surface producerControlledByApp parameter
b8080d9a3b760617c5dde7b1d2d63aa2bcecf3a7 17-Sep-2013 Jesse Hall <jessehall@google.com> am 2a36497e: Merge "Stop using default value for Surface producerControlledByApp parameter" into klp-dev

* commit '2a36497e45d4d96e35fed89cfdcb09b71459ac3c':
Stop using default value for Surface producerControlledByApp parameter
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.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
83cafffeac037ab2f9d00f98f8d2f3da8fc9b857 17-Sep-2013 Jesse Hall <jessehall@google.com> Stop using default value for Surface producerControlledByApp parameter

Bug: 10785749
Change-Id: Ifbf9340e5eabe621a69e990ec3e05ac51f8db66a
ui/SurfaceControl.cpp
06ef81bd707020d579aae980ca30b5f954d9219a 12-Sep-2013 Kenny Root <kroot@google.com> resolved conflicts for merge of 1852eb4f to klp-dev-plus-aosp

Change-Id: I7217c0e859b384a042c02fe339e745996c6ef49e
c668871ac3f54e54dc21990f5d418643e01d636f 12-Sep-2013 Kenny Root <kroot@google.com> Use canonical UniquePtr.h file

Change-Id: Icc75bca078ffaf0c09b88ce5e897d666d1054063
ui/tests/SurfaceTexture_test.cpp
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
7c4f236532692b847b9b103df6490549656ae993 12-Sep-2013 Mathias Agopian <mathias@google.com> am 90ed3e8d: fix a few problems with BitTube

* commit '90ed3e8d7883d9c80fb8bf11b1c593bd8b2b39d0':
fix a few problems with BitTube
0ae966033db8c1a42965ce4dce16ac8d5a7ed3b9 11-Sep-2013 Kenny Root <kroot@google.com> Remove copy of UniquePtr.h

The UniquePtr.h file is no longer in libcore/... so there is no need to
have this extra copy of it anymore.

Change-Id: I4ec4f86d2844e524b50441c3a9100a50a6a45b1a
ui/tests/SurfaceTexture_test.cpp
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.cpp
ui/SensorEventQueue.cpp
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.cpp
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.
e29df8b929128621c8ef90091696d414eb235276 04-Sep-2013 Aravind Akella <aakella@google.com> am a5552de9: Merge "Sensor batching. Changes to the native code." into klp-dev

* commit 'a5552de96f0cff9fb1947d8d21556bfeccf9cd03':
Sensor batching. Changes to the native code.
724d91d778e71c8186399f4955de14b54812b3ed 27-Jun-2013 Aravind Akella <aakella@google.com> Sensor batching. Changes to the native code.

Bug: 10109508
Change-Id: I7333f3aac76125a8226a4c99c901fb904588df04
ui/ISensorEventConnection.cpp
ui/Sensor.cpp
ui/SensorEventQueue.cpp
78181df1efee04bb861893714d8b11a24243153f 18-Oct-2012 Jin Wei <wei.a.jin@intel.com> fix valgrind ioctl warning.

Initialize local variable to avoid syscall ioctl warning.

Change-Id: I33a90917856018a8527305bb362948ef03bd734c
Origin-Change-Id: I022ebce40b3774a815639a5af34bc7aeb2489936
Signed-off-by: Jin Wei <wei.a.jin@intel.com>
Signed-off-by: Jian Luo <jian.luo@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 62797
inder/ProcessState.cpp
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
d213910ab0acc956ee66bd3a0079a6393e7c695c 31-Aug-2013 Mathias Agopian <mathias@google.com> am 9b5534b0: Merge changes I8283a989,I64add89a into klp-dev

* commit '9b5534b0e5e1510f56e6a2c58ad0816167603ebd':
switch to use mat4
vector and matrix classes for graphics use
9b5534b0e5e1510f56e6a2c58ad0816167603ebd 31-Aug-2013 Mathias Agopian <mathias@google.com> Merge changes I8283a989,I64add89a into klp-dev

* changes:
switch to use mat4
vector and matrix classes for graphics use
83ae7708cd885afc9c488ee45174983cee224e29 30-Aug-2013 Jesse Hall <jessehall@google.com> am 2d28c372: am 87967c18: Merge "Force async behavior for the virtual display output BufferQueue" into klp-dev

* commit '2d28c37269ca55b2be896ca67271994ebbc2bc84':
Force async behavior for the virtual display output BufferQueue
2d28c37269ca55b2be896ca67271994ebbc2bc84 30-Aug-2013 Jesse Hall <jessehall@google.com> am 87967c18: Merge "Force async behavior for the virtual display output BufferQueue" into klp-dev

* commit '87967c186995d1500875c495cba8f04f7cff76cc':
Force async behavior for the virtual display output BufferQueue
8db92553e9e6263cd41eaf1a1ebc9e3f88f92b5f 30-Aug-2013 Jesse Hall <jessehall@google.com> Force async behavior for the virtual display output BufferQueue

Bug: 10551087
Change-Id: I40bbb2b87d64420939a0ea309254f281437dab56
ui/BufferQueue.cpp
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/tests/Android.mk
i/tests/mat_test.cpp
i/tests/vec_test.cpp
14641f7f308870a7c526a57aeb79786b438b4794 23-Aug-2013 Jeff Brown <jeffbrown@google.com> am 464febc4: Remove input flinger stubs. (DO NOT MERGE)

* commit '464febc44908fb4a8fca9e513ba8469750dde838':
Remove input flinger stubs. (DO NOT MERGE)
464febc44908fb4a8fca9e513ba8469750dde838 23-Aug-2013 Jeff Brown <jeffbrown@google.com> Remove input flinger stubs. (DO NOT MERGE)

Bug: 10446930
Change-Id: I4dd46f539cd2a2e324dfc83b45ba2787f7404a4a
nput/Android.mk
nput/IInputFlinger.cpp
169636c62bd6c434ecc6fa60359baa3789f840b8 22-Aug-2013 Eino-Ville Talvala <etalvala@google.com> am b6aea00c: Merge "Surface: Fix controlledByApp parameter" into klp-dev

* commit 'b6aea00c7843705fdc6d265d7e15b3df52e86009':
Surface: Fix controlledByApp parameter
7895e90e29d096be039202f2ff24fa8033b92477 21-Aug-2013 Eino-Ville Talvala <etalvala@google.com> Surface: Fix controlledByApp parameter

Bug: 10425641
Change-Id: I1a47e2ce4ecbdb8e67030a5d9ddf6604c5e2497d
ui/Surface.cpp
f94705f5fba8da61b0cdfc3c08f54a8ee66e1a42 19-Aug-2013 Andy McFadden <fadden@android.com> am 8b308ed7: Fix build

* commit '8b308ed70ed782f68c8075aac2a6b66bbfcdb9af':
Fix build
8b308ed70ed782f68c8075aac2a6b66bbfcdb9af 19-Aug-2013 Andy McFadden <fadden@android.com> Fix build

Neglected the "checkbuild"-built tests.

Change-Id: I202692f1a6d1e306c88e820c959d07d16e7c6a00
ui/tests/BufferQueue_test.cpp
30290a557e596c9bd58f99f9b8a3ea10bcbc8760 19-Aug-2013 Andy McFadden <fadden@android.com> am 90f59bf9: Merge "Re-enable frame dropping for non-auto timestamps" into klp-dev

* commit '90f59bf9eba79b27629505bc2709d84e7c811c8b':
Re-enable frame dropping for non-auto timestamps
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/BufferQueue.cpp
ui/IGraphicBufferConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
0ba1a16bbb2c7ea5f52691c062613a2309821354 16-Aug-2013 Igor Murashkin <iam@google.com> am e60a0b1e: Merge "gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired" into klp-dev

* commit 'e60a0b1e6a29d79b4d0ec0374446cb829bcadee4':
gui: CpuConsumer::lockNextBuffer change return code when too many bufs acquired
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.cpp
70986f00348e1af2f04cc7a80bcb0431a01d93d5 15-Aug-2013 Mathias Agopian <mathias@google.com> am c6bae007: Fix build. optional tests were broken.

* commit 'c6bae007e6e29b585fc1207f84b378a480006173':
Fix build. optional tests were broken.
c6bae007e6e29b585fc1207f84b378a480006173 15-Aug-2013 Mathias Agopian <mathias@google.com> Fix build. optional tests were broken.

Change-Id: Iba9f5cb57f134559e1f9c55e293578d9f5d8cb96
ui/tests/SurfaceTextureClient_test.cpp
b881700ab160b4544453bf8920e3022d46fee262 15-Aug-2013 Mathias Agopian <mathias@google.com> am 56f825e7: Merge "SurfaceFlinger now uses GLES 2.x when available" into klp-dev

* commit '56f825e7ab9f83706a74dcd4825c7bc839e49ae4':
SurfaceFlinger now uses GLES 2.x when available
3f84483382be2d528918cc1a6fbc6a7d68e0b181 08-Aug-2013 Mathias Agopian <mathias@google.com> SurfaceFlinger now uses GLES 2.x when available

Bug: 8679321

Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
ui/GLConsumer.cpp
771ed8d71be8c851991164cd10fcfbf2431df86d 13-Aug-2013 Jesse Hall <jessehall@google.com> am fc43e16a: Merge "Graphics:Add error check when create GraphicBuffer"

* commit 'fc43e16a5693bca0edfc82c650fb606971e47138':
Graphics:Add error check when create GraphicBuffer
2aff7025482cc40d2ebd45f81cdb318ac1c6f868 20-Nov-2012 Lingyun Zhu <lingyun.zhu@intel.com> Graphics:Add error check when create GraphicBuffer

Change-Id: Ib0ca59bf1dfe4ae0266c29c91c1dbe3d02c0904e
Author: Lingyun Zhu <lingyun.zhu@intel.com>
Signed-off-by: Lingyun Zhu <lingyun.zhu@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 50141
ui/IGraphicBufferProducer.cpp
i/GraphicBuffer.cpp
45155969dc747d09d267cd1f22baf0eaf886a801 09-Aug-2013 Mathias Agopian <mathias@google.com> make sure GLConsumer::releaseTexImage() works after detachFromContext()

Change-Id: I27e0bc57e927d47b2b98113ee37b5396bcc72019
ui/GLConsumer.cpp
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.cpp
6c913be9ca95fd6b556d056e165a4ba6dc69795b 08-Aug-2013 Jesse Hall <jessehall@google.com> Add ISurfaceComposer::destroyDisplay

Bug: 10191053
Change-Id: Ia89286f95421344a60ffedaaca5825c4e3cd7f9e
ui/ISurfaceComposer.cpp
ui/SurfaceComposerClient.cpp
45263e2475ac6a885dbd78eff7d4e44f374e5237 07-Aug-2013 Mathias Agopian <mathias@google.com> don't hardcode debug texture dimensions

Change-Id: I356333801d246a8cafb3e977a77dc7325e8b822d
ui/GLConsumer.cpp
5f51ed9499508ecda2d44c794a258fe6f5e22149 07-Aug-2013 Mathias Agopian <mathias@google.com> fix tests more

Change-Id: I05c3dd6a22440844f8bd071f4c2b620b2bd8c720
ui/tests/Surface_test.cpp
3dce3360e73f01ca8b9d707ad8be40a080cd560b 07-Aug-2013 Mathias Agopian <mathias@google.com> fix tests

Change-Id: I0f4d613481eda2c44a2d631a81d75de7e52e7a62
ui/tests/Surface_test.cpp
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.cpp
ui/SurfaceComposerClient.cpp
126b9c8e95743c0567a3809a5b8d37bda1c25397 07-Aug-2013 Mathias Agopian <mathias@google.com> Fix build. 3rd attempt

Change-Id: I4317b34fd07890ea7cf9db51be42d72ef21aca89
ui/tests/Surface_test.cpp
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.cpp
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferConsumer.cpp
ui/SurfaceComposerClient.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
ui/tests/Surface_test.cpp
687821c05b5a85db1b172e7599861c803d268a8d 05-Aug-2013 Eino-Ville Talvala <etalvala@google.com> Merge "BufferQueue: Support query of consumer usage bits"
d9ba9707b0ab5c53e34d8ce9a5e71c41b85bb8da 03-Aug-2013 Andy McFadden <fadden@android.com> Merge "Roll back recent change"
4b49e08385a96398aa2633e096fe916dc9f08768 03-Aug-2013 Andy McFadden <fadden@android.com> Roll back recent change

Disable dropping of frames based on timestamp. Resume auto-
generating timestamps in Surface.

Bug 10151804

Change-Id: I15de26158e1d7ef22a5b150e685a126dc48ae2b4
ui/BufferQueue.cpp
ui/Surface.cpp
c1c39f8807f5b3dad9ca221d912f7cd4f4f74d9c 02-Aug-2013 Mathias Agopian <mathias@google.com> Merge "Binderize the consumer side of BufferQueue"
86cd09d388d8f6dd52ec1b3e19170966e99caacb 02-Aug-2013 Andy McFadden <fadden@android.com> Merge "Drop frames based on presentation timestamp"
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/Android.mk
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
ui/IConsumerListener.cpp
ui/IGraphicBufferConsumer.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/SurfaceTexture_test.cpp
14fab7dd794cd6bf29e6425340683c6221062b3c 01-Aug-2013 Andy McFadden <fadden@android.com> Drop frames based on presentation timestamp

If there are two or more buffers pending that are ready for
immediate presentation, drop all but the last one.

Any code that didn't explicitly specify timestamps for buffers
was using the default value (auto-generated "now"). As a result,
surfaceflinger would drop frames whenever more than one buffer
was queued. We now use zero as the auto-generated timestamp,
and we don't set the timestamp in eglBeginFrame().

Change-Id: I187f42d33de227cd3411ff0dcd3b9ce1961457eb
ui/BufferQueue.cpp
ui/Surface.cpp
ba93b3f8e403636b614a4a379f9421bc70dca84f 02-Aug-2013 Mathias Agopian <mathias@google.com> log an error when dequeueBuffer gets a NULL Fence

Bug: 9858745
Change-Id: If35d6a7d770bf0a42d55bc55880a9ddb721fcfd0
ui/BufferQueue.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
87f9b877964b7d7db9b59ba45b73b4b1a779ecf8 01-Aug-2013 Mathias Agopian <mathias@google.com> remove unused code form GraphicBuffer

Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
i/GraphicBuffer.cpp
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/Android.mk
tils/BasicHashtable.cpp
tils/BlobCache.cpp
tils/CallStack.cpp
tils/CleanSpec.mk
tils/FileMap.cpp
tils/JenkinsHash.cpp
tils/LinearAllocator.cpp
tils/LinearTransform.cpp
tils/Log.cpp
tils/Looper.cpp
tils/MODULE_LICENSE_APACHE2
tils/NOTICE
tils/PropertyMap.cpp
tils/README
tils/RefBase.cpp
tils/SharedBuffer.cpp
tils/Static.cpp
tils/StopWatch.cpp
tils/String16.cpp
tils/String8.cpp
tils/SystemClock.cpp
tils/Threads.cpp
tils/Timers.cpp
tils/Tokenizer.cpp
tils/Trace.cpp
tils/Unicode.cpp
tils/VectorImpl.cpp
tils/misc.cpp
tils/primes.py
tils/tests/Android.mk
tils/tests/BasicHashtable_test.cpp
tils/tests/BitSet_test.cpp
tils/tests/BlobCache_test.cpp
tils/tests/Looper_test.cpp
tils/tests/LruCache_test.cpp
tils/tests/String8_test.cpp
tils/tests/TestHelpers.h
tils/tests/Unicode_test.cpp
tils/tests/Vector_test.cpp
8776c34ca2e6cc92c453f5a83e11bcb67b0d5aff 31-Jul-2013 Brian Carlstrom <bdc@google.com> Fix BlobCache_test

Change-Id: I5b20aeb4dcff80f1e18e1165b8461d20034dc1ac
tils/tests/BlobCache_test.cpp
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.cpp
ui/IGraphicBufferProducer.cpp
ui/Sensor.cpp
i/Fence.cpp
i/GraphicBuffer.cpp
i/Region.cpp
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/Android.mk
tils/BlobCache.cpp
tils/Flattenable.cpp
f7c6087bcc6a85cc82fd8dd83566550f880600ec 30-Jul-2013 Eino-Ville Talvala <etalvala@google.com> BufferQueue: Support query of consumer usage bits

Bug: 9592202
Change-Id: I61a17758200e61adaca695b426db3df0f6637d4c
ui/BufferQueue.cpp
ui/tests/Surface_test.cpp
ad678e18b66f495efa78dc3b9ab99b579945c9e2 24-Jul-2013 Mathias Agopian <mathias@google.com> single buffer mode for BufferQueue

Bug: 9891035
Change-Id: Id1ab5f911a6dc4c1d8235e65775b3d3635231ad4
ui/BufferQueue.cpp
ui/GLConsumer.cpp
bf5b849ec7b2050e1fe05aebb3914823da6a0d07 27-Jul-2013 Mathias Agopian <mathias@google.com> fix build

Change-Id: I04df8ec96510b16e84054089f7c02609d8fe2b0c
ui/tests/SurfaceTextureClient_test.cpp
c2414bb0989763641ca57cf72c11ef6d86565a23 26-Jul-2013 Mathias Agopian <mathias@google.com> get rid of HAL pixelformats 5551 and 4444

Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
ui/GLConsumer.cpp
i/PixelFormat.cpp
5773d3f5b2694c647e010246dff99acc70131289 26-Jul-2013 Mathias Agopian <mathias@google.com> get rid of PixelFormatInfo and simplify things

Change-Id: I025a362cc12d5b9b794fac14be500e25aab65396
i/PixelFormat.cpp
9642dba11046bf4ae6fe9db285e07ef9075da64e 25-Jul-2013 Mathias Agopian <mathias@google.com> Merge "Fix a race in BufferQueue"
a7b0f04aaf7f04a9617dbbc839b1aaa6f20ca6d6 19-Jun-2013 Todd Poynor <toddpoynor@google.com> defaultServiceManager wait for service manager ready

If the service manager is not ready when we attempt to create a local
proxy, fail and retry.

Change-Id: I7d7300bc07cd70608793479aa3da282d066da7f6
inder/IServiceManager.cpp
inder/ProcessState.cpp
a49a4a2e55602ade66772e99724c3afb6f492975 24-Jul-2013 Alex Ray <aray@google.com> Merge "libutils: give BasicHashtableImpl a virtual destructor"
194bc4ff7bf90af14771a3a7074c197a871e0127 18-Jul-2013 Alex Ray <aray@google.com> libutils: give BasicHashtableImpl a virtual destructor

Change-Id: I4ec590b060d732af5fe525670becbe778684247b
tils/BasicHashtable.cpp
6bac363cbdca7f5c4135d66c0e379475ecbd7319 24-Jul-2013 Mathias Agopian <mathias@google.com> Fix a race in BufferQueue

BufferQueue::dequeueBuffer() could incorrectly return
WOULD_BLOCK while in "cannot block" mode if it happened
while a consumer acquired the last allowed buffer
before releasing the old one (which is a valid thing
to do).

Change-Id: I318e5408871ba85e068ea9ef4dc9b578f1bb1043
ui/BufferQueue.cpp
4afb57b5dbd45e787255a634a241c44749642e4a 24-Jul-2013 Colin Cross <ccross@android.com> add static dependency on liblog

Change-Id: Ibf8733142d52e4ffac2e3b26932d7196fb79c5a7
tils/Android.mk
tils/CleanSpec.mk
0e0f10b5619d6dc37ede7435c6e92e14f5411f27 23-Jul-2013 Alex Ray <aray@google.com> Merge "libbinder: add libutils dependency"
f52ca32724edefc493663439d7fb76d8c9741488 23-Jul-2013 Michael Wright <michaelwr@google.com> Merge "Add controller numbers for gamepads / joysticks"
894e17847623781b4961bc611917ce8166285a2d 23-Jul-2013 Alex Ray <aray@google.com> libbinder: add libutils dependency

Change-Id: I30c7291b04788c98faa43843a51b026b8a01932c
inder/Android.mk
325123238a7ed411360052f5b1124712bc330095 23-Jul-2013 Mathias Agopian <mathias@google.com> Merge "fix log messages and bogus error message"
207c1e287c129e7ebf679a3aaf2076c3c47c1afb 23-Jul-2013 Mathias Agopian <mathias@google.com> fix log messages and bogus error message

also assert when releasing a buffer and it has
been queued

Change-Id: I6f78d9ceb406ec85ff46c7b6d0c047b14063e3d0
ui/BufferQueue.cpp
6bbe39de664bbb50ddbb84af5f50a3a2dc716809 23-Jul-2013 Zhijun He <zhijunhe@google.com> Merge "Fix AppOsManager missing mutex unlock."
20d03805941c75a4489ec2e7ce5a3c021bde09f0 23-Jul-2013 Zhijun He <zhijunhe@google.com> Fix AppOsManager missing mutex unlock.

Need unlock the mutex after finish the getToken operation.

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

Change-Id: I5294aabbadb836a6a4c7ce76a670abcf50c1f885
nput/InputDevice.cpp
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
26a6f37cc06b8014edcedbee8d5558ca7da9abe3 19-Jul-2013 Mathias Agopian <mathias@google.com> make sure to reset the framenumber when a buffer is marked FREE

Change-Id: Ic45929f35553de209801f74e8006fb1bf0b25b45
ui/BufferQueue.cpp
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.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
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.cpp
ui/tests/Surface_test.cpp
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/Android.mk
ui/BufferItemConsumer.cpp
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/DummyConsumer.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
ui/tests/Surface_test.cpp
913b63d235a982174b66acad95ca2f87ac8a1982 18-Jul-2013 Dianne Hackborn <hackbod@google.com> Follow framework change to track started ops by proc.

Change-Id: Ibbce3bf6556f45751c74bab045b46377e56bff9b
inder/AppOpsManager.cpp
inder/IAppOpsService.cpp
384f55fff01a9d0630b801abd016b82ded4c5984 16-Jul-2013 Jean-Baptiste Queru <jbq@google.com> Merge "Tweaks for forward compatibility" into stage-aosp-master
b6a0ca7276017ac6d2e846a857d663941a5bd382 16-Jul-2013 Jean-Baptiste Queru <jbq@google.com> Tweaks for forward compatibility

Change-Id: Id6a96521b3fd5bd2a034fe89cfa4d3a179a66328
ui/GLConsumer.cpp
6fda52bc7d4a746abc52b91ce5c97449fb96abdf 16-Jul-2013 Ying Wang <wangying@google.com> always pass the BufferQueue explicitely to consumers

to fix tests build.

Change-Id: I70b9cf5b0d76df709e474181eeb7c42a54ecf43a
ui/tests/Surface_test.cpp
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/tests/Android.mk
nput/tests/InputEvent_test.cpp
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/Android.mk
nput/Input.cpp
40c9e0a3989222b4c27c88f54b6acf67b58a68cf 15-Jul-2013 Jeff Brown <jeffbrown@google.com> Add skeleton of input flinger.

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

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

Change-Id: I883b0a7b19d8e722f9ab714ba6f49e658b02ca86
ui/BufferItemConsumer.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/SurfaceComposerClient.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
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
nput/Input.cpp
931fd6dee7891e94650353c09956ccf24b4dfff3 11-Jul-2013 Michael Wright <michaelwr@google.com> Add input device property for buttons under touchpads

Bug: 8990644
Change-Id: I6df5fb9e11199173d62523928082db428af55394
nput/InputDevice.cpp
7b4d5355fb4c937de1c0a2b959514fbd971553d7 11-Jul-2013 Elliott Hughes <enh@google.com> am 54d97c88: am 9da67a94: am 67481607: Merge "Revert "Second try at adding a compatibility symbol for the MemoryBase constructor.""

* commit '54d97c88b57d2c341f0629c9648d4400a34e4f41':
Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."
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.cpp
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/tests/BufferQueue_test.cpp
54d97c88b57d2c341f0629c9648d4400a34e4f41 10-Jul-2013 Elliott Hughes <enh@google.com> am 9da67a94: am 67481607: Merge "Revert "Second try at adding a compatibility symbol for the MemoryBase constructor.""

* commit '9da67a9427f695128b5da61c8f987fd9198a5e05':
Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."
9da67a9427f695128b5da61c8f987fd9198a5e05 10-Jul-2013 Elliott Hughes <enh@google.com> am 67481607: Merge "Revert "Second try at adding a compatibility symbol for the MemoryBase constructor.""

* commit '674816078588d0951c3c9bdaf26ecc9e9b3f2e0a':
Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."
674816078588d0951c3c9bdaf26ecc9e9b3f2e0a 10-Jul-2013 Elliott Hughes <enh@google.com> Merge "Revert "Second try at adding a compatibility symbol for the MemoryBase constructor.""
2dccfdcd265ca86cca5ac863d921e5c647b93073 10-Jul-2013 Elliott Hughes <enh@google.com> Revert "Second try at adding a compatibility symbol for the MemoryBase constructor."

This reverts commit ddd286301b466b5cd10cfcdc0a5ee5729ef2e385, because the third-party library in question has now been fixed.

Change-Id: Ic195a913f90b36268ed9d6e60be520decb4e198d
inder/MemoryBase.cpp
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.cpp
80b5cf9934b8f450d8c1145f0f937ff40829c81b 02-Jul-2013 keunyoung <keunyoung@google.com> do not build libinput in PDK

- skia is not available in PDK, and it causes build break.

bug: 9528927
Change-Id: I89663e4a4bd52858506e3b52fbf8ca85d9992363
nput/Android.mk
5912f95d26f77d2b6df13e1f2672e48e3f9b871c 02-Jul-2013 Jeff Brown <jeffbrown@google.com> Move input library code from frameworks/base.

Change-Id: I4983db61b53e28479fc90d9211fafff68f7f49a6
nput/Android.mk
nput/Input.cpp
nput/InputDevice.cpp
nput/InputTransport.cpp
nput/KeyCharacterMap.cpp
nput/KeyLayoutMap.cpp
nput/Keyboard.cpp
nput/VelocityControl.cpp
nput/VelocityTracker.cpp
nput/VirtualKeyMap.cpp
nput/tests/Android.mk
nput/tests/InputChannel_test.cpp
nput/tests/InputEvent_test.cpp
nput/tests/InputPublisherAndConsumer_test.cpp
nput/tests/TestHelpers.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/Android.mk
pustats/CentralTendencyStatistics.cpp
pustats/ThreadCpuUsage.cpp
fc1f308ca1d679f9e9823a848e6396a23513f2fb 12-Jun-2013 Jeff Tinker <jtinker@google.com> am de836890: am ef07386e: Prevent IPCThreadState::joinThreadPool from spinning on unexpected error

* commit 'de836890abc7b5381e285833052375cbb85730cb':
Prevent IPCThreadState::joinThreadPool from spinning on unexpected error
de836890abc7b5381e285833052375cbb85730cb 12-Jun-2013 Jeff Tinker <jtinker@google.com> am ef07386e: Prevent IPCThreadState::joinThreadPool from spinning on unexpected error

* commit 'ef07386e2fca73680214ececc3c9c0ecbb0f6d88':
Prevent IPCThreadState::joinThreadPool from spinning on unexpected error
ef07386e2fca73680214ececc3c9c0ecbb0f6d88 11-Jun-2013 Jeff Tinker <jtinker@google.com> Prevent IPCThreadState::joinThreadPool from spinning on unexpected error

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

bug: 8912673
Change-Id: I2aa0c66fc499e91e0bf9ee4ae20404bec35adc82
inder/IPCThreadState.cpp
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.cpp
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/tests/Android.mk
tils/tests/BitSet_test.cpp
05431a94d4a814fe0cc9e8a0fbd75d51dea1f8df 30-May-2013 Jeff Sharkey <jsharkey@android.com> Merge "Bring back overloading to print String8/16."
af0f8c0a56b1b6b7fe20f34f04e0e15b518fb494 30-May-2013 Jeff Brown <jeffbrown@android.com> am 255405eb: am 86b2ecdd: Merge "fix mem leak on error handling"

* commit '255405eb19e6a3fa7f7bb4de9b07beacdf65ece9':
fix mem leak on error handling
8cb8925921523e701c59f5b1ac1c37825528fec7 30-May-2013 Jeff Sharkey <jsharkey@android.com> Bring back overloading to print String8/16.

Change-Id: Iecab20db2b8574d5f1e6fdefdc2c8d4ce6c37121
inder/TextOutput.cpp
255405eb19e6a3fa7f7bb4de9b07beacdf65ece9 30-May-2013 Jeff Brown <jeffbrown@android.com> am 86b2ecdd: Merge "fix mem leak on error handling"

* commit '86b2ecdd311fca2e1e4a3504bf96bb23c5630492':
fix mem leak on error handling
3f727c0ea3ad1de512c935c6e80423f2115b46c0 09-Mar-2013 Hyejin Kim <hyejin.kim@lge.com> fix mem leak on error handling

Change-Id: I40d8e371c46184aa701fa676246201a9d8f6e27d
inder/Parcel.cpp
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.cpp
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/BufferItemConsumer.cpp
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
058219f51dede7c5bc3b6e3df073acc56a7d626f 17-May-2013 Nick Kralevich <nnk@google.com> Merge "Remove unnecessary header file."
06a582e8b514b64be3b1565ffa25b52aa1c52c58 17-May-2013 Nick Kralevich <nnk@google.com> Remove unnecessary header file.

In b2cac4ff37ed2a3521efb307b807b12f649634b8, the last
reference to property_get was removed, but the include
file remained. Remove it.

This is causing me unrelated problems.

Change-Id: I87bbfbfa5871f6da4a1b00037a225f67bbd75881
tils/Threads.cpp
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
ui/BufferItemConsumer.cpp
ui/CpuConsumer.cpp
ui/GLConsumer.cpp
ui/Surface.cpp
i/Fence.cpp
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.cpp
6c7f25afb75ac155bad0b3bc17c0089d0337d060 10-May-2013 Mathias Agopian <mathias@google.com> reformat Rect.{cpp|h}

Change-Id: I45b1f6646541a1abacce1e70df00a770e47b820e
i/Rect.cpp
i/Region.cpp
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.cpp
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
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.cpp
tils/String8.cpp
002e1e58dfe19dd3e49a59c6827cbf51573941a2 07-May-2013 Mathias Agopian <mathias@google.com> libutils clean-up

Change-Id: I6ff4cfc736751de2912c697f954e45e275f2d386
inder/Android.mk
inder/BufferedTextOutput.cpp
inder/Debug.cpp
inder/IPCThreadState.cpp
inder/Parcel.cpp
inder/Static.cpp
inder/TextOutput.cpp
tils/Android.mk
tils/BufferedTextOutput.cpp
tils/Debug.cpp
tils/RefBase.cpp
tils/Static.cpp
tils/String16.cpp
tils/String8.cpp
tils/StringArray.cpp
tils/SystemClock.cpp
tils/TextOutput.cpp
tils/Timers.cpp
tils/WorkQueue.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/misc.cpp
tils/tests/Android.mk
tils/tests/ZipFileRO_test.cpp
b4f1a027cbadd4cd07341f60f859ae34643b68ae 08-May-2013 Todd Poynor <toddpoynor@google.com> Merge "String8: ensure static init done prior to empty string reference"
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.cpp
1bf3b4a06d92e728b9e32d560b54cb41a562dde0 03-May-2013 Todd Poynor <toddpoynor@google.com> String8: ensure static init done prior to empty string reference

Avoid NULL deref on static initialization of empty String8 objects prior
to libutils static init.

Change-Id: I3d420041ba62b97ed8c2dfd2532a2dcd72b84ff1
tils/String8.cpp
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.cpp
i/GraphicBuffer.cpp
i/GraphicBufferMapper.cpp
98b50774ae036698bd3c34324ffacd6bfd2144c2 06-May-2013 Marco Nelissen <marcone@google.com> am 3755dbec: am 3d3cc6e1: Merge "Report actual disk space used" into jb-mr2-dev

* commit '3755dbec6f16330fb57b18c09319d209a3f8474f':
Report actual disk space used
7719b85bf89530c88807ce605308ffc3d50f3b58 01-May-2013 Marco Nelissen <marcone@google.com> Report actual disk space used

Report size based on blocks used, not the "nominal" size.
b/8744465

Change-Id: Idbb72f47af6d475b51305a14be291bf01acb14bb
iskusage/dirsize.c
b1b307ec3fb84fce09bd8af8ab5b755ba1957146 29-Apr-2013 Bjorn Bringert <bringert@android.com> Merge "Build a static device libutils"
f19c4ae816d9034db3eac154d728b34fe8ff34d0 22-Mar-2013 Bjorn Bringert <bringert@android.com> Build a static device libutils

This is needed to make tools such as aapt more compatible when
built for the device.

Change-Id: I1261d47b6e24595f1be547b9202892863f66a1de
tils/Android.mk
748b696c052d0f5e095e1dce34ae6650cd8cb5e4 25-Apr-2013 Jamie Gennis <jgennis@google.com> am 83ad8957: am 5b6ebd71: Merge "libgui_test: fix a couple minor test issues" into jb-mr2-dev

* commit '83ad89579e22228c1a48a2a488b86fc0d41057a6':
libgui_test: fix a couple minor test issues
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
ea2d942ddaea11ca5f136e27e0ab8bcd72bb0644 24-Apr-2013 Jamie Gennis <jgennis@google.com> libgui_test: fix a couple minor test issues

This change fixes how the MultiTextureConsumerTest.EGLImageTargetWorks checks
for pixels. It removes the call to eglSwapBuffers so that the test does not
rely on EGL swap-preserve behavior, and it makes the test use checkPixel()
rather than doing glReadPixels itself.

Bug: 8349336
Change-Id: I0f446a0083eebd07af6fd208762878b4e367725a
ui/tests/SurfaceTexture_test.cpp
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.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
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.cpp
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
e7e37a97a1ff5f67b2c9f6d14a2605ddc1ce82fc 17-Apr-2013 Mathias Agopian <mathias@google.com> am cf73e1fd: am f31510a2: Add a test that checks multi-texturing works with GL_TEXTURE_EXTERNAL_OES

* commit 'cf73e1fd8a0a3372ff91e0485b37680262f5df95':
Add a test that checks multi-texturing works with GL_TEXTURE_EXTERNAL_OES
f31510a2ac0807cf3d4224a73fc3f8f691f42f5a 17-Apr-2013 Mathias Agopian <mathias@google.com> Add a test that checks multi-texturing works with GL_TEXTURE_EXTERNAL_OES

Bug: 8395618
Change-Id: I160d29699593b11058533ca753e275d5deeb3b54
ui/tests/Android.mk
ui/tests/SurfaceTexture_test.cpp
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.cpp
91f056e4a9d22de4526bbcd0fd183e5c763dde39 11-Apr-2013 Andy McFadden <fadden@android.com> am 12ff91b0: am 53dc9044: Merge "Updated comments" into jb-mr2-dev

* commit '12ff91b05a055e6adffaad9bf7661a5d251c5b6c':
Updated comments
53dc9044bfe17039592faf4660c5bf715e8120ad 11-Apr-2013 Andy McFadden <fadden@android.com> Merge "Updated comments" into jb-mr2-dev
63e13c8545bb956b2f3e482e46814bd99e9c0b63 10-Apr-2013 Ying Wang <wangying@google.com> am 46f19772: resolved conflicts for merge of c76e8a20 to jb-mr2-dev-plus-aosp

* commit '46f19772ae5659c1659a0ac8f1f72389e94a85d4':
Add liblog
c76e8a20e255c72e210d3a276acc69f7e9b7e3fd 10-Apr-2013 Ying Wang <wangying@google.com> Merge "Add liblog" into jb-mr2-dev
8a0cb4ee0b6c351de82987efb472fa38dfaf608a 10-Apr-2013 Ying Wang <wangying@google.com> Add liblog

Bug: 8580410
Change-Id: I2ca4fa00dde0b574df3619134836bcb9315bd506
ui/Android.mk
i/Android.mk
e3808ed6775166f733f180450753067a3fc8f9ca 09-Apr-2013 Jamie Gennis <jgennis@google.com> am 13c9a949: am 8758a3e3: Merge changes I82e361a6,I83694682 into jb-mr2-dev

* commit '13c9a949b5d74f36edbdbfda764fe554cdbaefa9':
libgui_test: increase the tolerance for a YUV test
libgui: fix an EGLImage leak
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
e6a0f5028b3ef81916e7fd58a64f76861bfa78e0 06-Apr-2013 Jamie Gennis <jgennis@google.com> libgui_test: increase the tolerance for a YUV test

This change increases the pixel difference tolerance of the
SurfaceTextureGLTest.TexturingFromCpuFilledYV12BufferNpot test from 2 to 3.

Bug: 8349135
Change-Id: I82e361a689335f49065cacd8a3fc145d67b125f1
ui/tests/SurfaceTexture_test.cpp
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.cpp
ui/tests/SurfaceTextureClient_test.cpp
753e3415cdaa99f9453d1ea71b163bf1b148e127 05-Apr-2013 Andy McFadden <fadden@android.com> Updated comments

Updated many comments. Added one minor error check.

Change-Id: Ib935dd99d417bada91d2e198008a50dd94269316
ui/BufferQueue.cpp
d2006981e41c3ac5208ecb9ae55ef65feb85764e 04-Apr-2013 Mathias Agopian <mathias@google.com> am a22f783b: am 2ca79399: latch transparent region hint only when we get a new frame

* commit 'a22f783b141a9da1950f8426bbf87535495856eb':
latch transparent region hint only when we get a new frame
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.cpp
b1ca30a6099cf3eb9b56dd81417e50d6b425deb2 30-Mar-2013 Mathias Agopian <mathias@google.com> am 46c21a6d: am 86e392e9: Merge "don\'t use compile-time configuration of libgui as much as possible" into jb-mr2-dev

* commit '46c21a6d89286abe9fae6f39db9da138dcfee0a8':
don't use compile-time configuration of libgui as much as possible
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/Android.mk
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/GuiConfig.cpp
ui/SyncFeatures.cpp
2906075a95a5163e134cc713487c3c57c384bf1c 28-Mar-2013 Mathias Agopian <mathias@google.com> am a6e3962f: am bf667e31: Merge changes I22f1b358,I5496d0de,Ifd98966b into jb-mr2-dev

* commit 'a6e3962f539e287ffe7f03c67654e50214ff1404':
replace eglWaitSyncANDROID by eglWaitSyncKHR
update EGL headers to most recent
cleanup EGL extensions strings and entry-points
2bb716871cf8bfadfff1193ed798da3bffc1f8ec 28-Mar-2013 Mathias Agopian <mathias@google.com> replace eglWaitSyncANDROID by eglWaitSyncKHR

Change-Id: I22f1b3588011c88389e249f738f1e6915cc97e72
ui/GLConsumer.cpp
018c4e19b7a30da50db0d4e119e38dc28677e710 27-Mar-2013 Mathias Agopian <mathias@google.com> am 4fbb8191: am caa81f0e: Merge "make sure to unlock the screenshot\'s buffer on destruction" into jb-mr2-dev

* commit '4fbb8191d8f92230e39f1c4541938d5f18247579':
make sure to unlock the screenshot's buffer on destruction
caa81f0ed8a4471c210956d0343458b3bca922de 27-Mar-2013 Mathias Agopian <mathias@google.com> Merge "make sure to unlock the screenshot's buffer on destruction" into jb-mr2-dev
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.cpp
4e06e0bcb977cb4161e54f2ab732ba4170dc31e6 26-Mar-2013 Keun-young Park <keunyoung@google.com> am adb6aa13: am 9dd8d897: am 1cd763f1: am cd91024c: Merge "[MIPS] Avoid unaligned load/store for 64-bit doubles."

* commit 'adb6aa130aa6e3a343c0fb1a1e1cfdf6f86cca52':
[MIPS] Avoid unaligned load/store for 64-bit doubles.
9dd8d897d350897eb04e60987bb59b846ea0f154 26-Mar-2013 Keun-young Park <keunyoung@google.com> am 1cd763f1: am cd91024c: Merge "[MIPS] Avoid unaligned load/store for 64-bit doubles."

* commit '1cd763f123b9f1a2772ddff15ace81ec07b7660c':
[MIPS] Avoid unaligned load/store for 64-bit doubles.
cd91024ca16db96daa697e22f7a088b416a424e3 26-Mar-2013 Keun-young Park <keunyoung@google.com> Merge "[MIPS] Avoid unaligned load/store for 64-bit doubles."
1e2c3a9037505ba769fbee219a1a7c6b2ceb5e57 22-Mar-2013 Jesse Hall <jessehall@google.com> am 501553a0: am 13f01cbd: Pass sp<Fence>s around instead of file descriptors

* commit '501553a055d4891760aee161a771fa55f0817a57':
Pass sp<Fence>s around instead of file descriptors
13f01cbdbd34779a234bc674df79e23672fd5c0b 20-Mar-2013 Jesse Hall <jessehall@google.com> Pass sp<Fence>s around instead of file descriptors

Change-Id: Iac70584a2207940730e8f803a543e4e9a4000c47
ui/GLConsumer.cpp
2342085d3cf4ba7e1ca181190e19326b1b4a9fe1 22-Mar-2013 Mathias Agopian <mathias@google.com> am dbbf209e: am 7133f863: Merge "improved CallStack a bit" into jb-mr2-dev

* commit 'dbbf209e66947b7c1f52d90558873ed3ec0591d7':
improved CallStack a bit
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
inder/IMemory.cpp
i/Region.cpp
tils/CallStack.cpp
tils/RefBase.cpp
905c2d7a2f32e4ca9ff7b12e586f3b219d6ada6d 21-Mar-2013 Eino-Ville Talvala <etalvala@google.com> am a010749b: am aaebffd5: Merge "CpuConsumer: Properly track acquired buffers" into jb-mr2-dev

* commit 'a010749b41d20152389faa5832f1fc34c17cd930':
CpuConsumer: Properly track acquired buffers
aaebffd52f1bfa3d239bba0d60b699c01c6d791c 21-Mar-2013 Eino-Ville Talvala <etalvala@google.com> Merge "CpuConsumer: Properly track acquired buffers" into jb-mr2-dev
8948a2efc990507104ab3c538db67a04e3b04acb 21-Mar-2013 Ramanan Rajeswaran <ramanan@google.com> am eda14c1b: am ac006439: Merge "Revert "Revert "Change SurfaceControl setPosition to take floats""" into jb-mr2-dev

* commit 'eda14c1bef20d853f2e661244ec6a0f38c3192b7':
Revert "Revert "Change SurfaceControl setPosition to take floats""
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.cpp
c167b201944f17a67818d7653460bd9107d3fe81 21-Mar-2013 Mathias Agopian <mathias@google.com> am 890b345f: am 7c1a487b: fix build. update test to new API

* commit '890b345f061f2df74d4ac52c1cf7d56f1432f480':
fix build. update test to new API
7c1a487ba8c0a3b591a77e2ddcb33ef9bdfaff64 20-Mar-2013 Mathias Agopian <mathias@google.com> fix build. update test to new API

Change-Id: I31ca84c85edff3e2ff90c554769e058110f27d49
ui/tests/Surface_test.cpp
df6e9c77447d25388134aa3369056ce6ae575277 20-Mar-2013 Mathias Agopian <mathias@google.com> am 89016cbf: am ff7c2342: Merge "rework how we take screenshots for a CPU consumer" into jb-mr2-dev

* commit '89016cbf4fa8681dde1c6f45c03685a0a0d69f3f':
rework how we take screenshots for a CPU consumer
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.cpp
ui/SurfaceComposerClient.cpp
d5db7a182658822a71f8d65fe52cb6f2692d5361 20-Mar-2013 Mathias Agopian <mathias@google.com> am 656a6780: am 9cd766a5: disable RefBase consistency checks (NDEBUG)

* commit '656a6780b5714c8667f604d7925729325d1cbcef':
disable RefBase consistency checks (NDEBUG)
3adfa01354c955f1b99dfd36dafabd02a9a3dd6d 20-Mar-2013 Mathias Agopian <mathias@google.com> am dd3fcd2e: am 4e37ddff: Fix a crasher with RefBase debugging and vectors of wp<>

* commit 'dd3fcd2e583f5aff7ef390442fe4ed6395d4cc4c':
Fix a crasher with RefBase debugging and vectors of wp<>
9cd766a517caeb58669722fad7fdf623a8c1b83c 20-Mar-2013 Mathias Agopian <mathias@google.com> disable RefBase consistency checks (NDEBUG)

Bug: 8328715
Change-Id: Ib57646ff909fd8744610f37f3b50d90d884dff31
tils/RefBase.cpp
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.cpp
0095ee53ad2c4999af8031e51bcb26e554bb06b6 20-Mar-2013 Mathias Agopian <mathias@google.com> am 364a1f95: am ca987c87: Merge "A few tweaks to RefBase debugging" into jb-mr2-dev

* commit '364a1f95786746118d62c90279aa3dd8eb93db8d':
A few tweaks to RefBase debugging
ca987c877549b0d5472e91ded98f3ba6fea8a96d 20-Mar-2013 Mathias Agopian <mathias@google.com> Merge "A few tweaks to RefBase debugging" into jb-mr2-dev
3b7d2543446326ecd040deb2bc440e2834405c70 19-Mar-2013 Jesse Hall <jessehall@google.com> am 88f70a21: am fae23b87: Merge changes I61ae54f3,I57cb668e,I7a3f1e1a,Id28a2f9b into jb-mr2-dev

* commit '88f70a2167528ec849845e1203cfd9c6ff35a67d':
Add BufferQueueInterposer and use it for virtual displays
Add DisplaySurface abstraction
Fix argument types in IGraphicBufferProducer methods
Minor cleanups/fixes before virtual display refactoring
19437cb84c8352669c3ccfdec8b8bf6a6a08f3d3 19-Mar-2013 Mathias Agopian <mathias@google.com> A few tweaks to RefBase debugging

- stacks are now saved in /data/debug which must be
created and writable by the user.

- removed "always fatal" DEBUG_REFS option, it wasn't
really needed.

- DEBUG_REFS_ENABLED_BY_DEFAULT is not the default anymore
(usually people want to target which refs they're tracking)

Change-Id: I37fae72e9dacde6ce1fa8f7dbe2bc01b1a1b95e5
tils/RefBase.cpp
4c00cc11141da7d159eb2323b186ed344115c0f1 16-Mar-2013 Jesse Hall <jessehall@google.com> Fix argument types in IGraphicBufferProducer methods

Bug: 8384764
Change-Id: I7a3f1e1a0584a70af04f9eafef900505389d2202
ui/BufferQueue.cpp
ui/IGraphicBufferProducer.cpp
ui/Surface.cpp
ui/tests/BufferQueue_test.cpp
647a92aa69b7aa4ddf561e35e9f0780fcb799c38 17-Mar-2013 Jesse Hall <jessehall@google.com> am df608eb1: am ce7e2781: Merge "Add Vector::resize()" into jb-mr2-dev

* commit 'df608eb15d3b90d2e71e07baaa6de423c29769c8':
Add Vector::resize()
e81421e1cbd14876b7e6ce143ff70efb3673be99 11-Mar-2013 Jesse Hall <jessehall@google.com> Add Vector::resize()

Bug: 8384764
Change-Id: Icee83d389f3e555eba7d419b64c8d52a9aa21b8b
tils/VectorImpl.cpp
470378f3c06f4098b2b156c0999b5b3563f0d00d 15-Mar-2013 Dianne Hackborn <hackbod@google.com> am 5f72d05a: am 1791eefd: fix a couple race-conditions in RefBase::promote()

* commit '5f72d05a01d9b7a1bd6d2a2a269b80facd206066':
fix a couple race-conditions in RefBase::promote()
1791eefd69e07a7d8a311ee8a298bbd2de77f046 14-Mar-2013 Dianne Hackborn <hackbod@google.com> fix a couple race-conditions in RefBase::promote()

Bug: 8390295
Change-Id: I7a48e3bf5b213cc1da2b8e844c6bb37ee24cb047
tils/RefBase.cpp
31004a63dbafa2fed127b71f239e3ee2d470897d 14-Mar-2013 Elliott Hughes <enh@google.com> am 9bd5c827: am 5b00af24: am 7212ff29: am 20e154f1: Merge "Second try at adding a compatibility symbol for the MemoryBase constructor."

* commit '9bd5c8274c822540473dfc646b47b4121785c727':
Second try at adding a compatibility symbol for the MemoryBase constructor.
5b00af2435d67ccf806c918f6482949870fd993b 14-Mar-2013 Elliott Hughes <enh@google.com> am 7212ff29: am 20e154f1: Merge "Second try at adding a compatibility symbol for the MemoryBase constructor."

* commit '7212ff29c6f4e4cd192fee6f072e80b36d8a728b':
Second try at adding a compatibility symbol for the MemoryBase constructor.
e88dfd3fc5eb563eac6c9abebb10266f44cf0800 14-Mar-2013 Elliott Hughes <enh@google.com> am f1d38fb2: am c47f0988: Revert "Add a compatibility symbol for the MemoryBase constructor."

* commit 'f1d38fb2ff9c11ddc1b0618c90e10abbe43b0939':
Revert "Add a compatibility symbol for the MemoryBase constructor."
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/IMemory.cpp
inder/MemoryBase.cpp
d319ab41f6d7d0f623eb4064e5f9cffbc25dd27f 14-Mar-2013 Elliott Hughes <enh@google.com> am 830f71c3: am 5ca39ea5: am 9b57ad73: am 8facd1b2: Merge "Add a compatibility symbol for the MemoryBase constructor."

* commit '830f71c30ed8d72ef0682c01e9deb6a5284eca9b':
Add a compatibility symbol for the MemoryBase constructor.
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.
ddd286301b466b5cd10cfcdc0a5ee5729ef2e385 14-Mar-2013 Elliott Hughes <enh@google.com> Second try at adding 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: Ie7c86f45fa39cb53539cab0ffe8585a585656714
inder/MemoryBase.cpp
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/IMemory.cpp
inder/MemoryBase.cpp
74620c556a10e3418b47daea86802e57b6d55509 14-Mar-2013 Mathias Agopian <mathias@google.com> am 1ffc0e7a: am 35ffa6a8: Surface can now be created only from an IGraphicBufferProducer

* commit '1ffc0e7a3b2e9911e020ca5fce0bb088f33d85d9':
Surface can now be created only from an IGraphicBufferProducer
75c207ae85a14c2b6a8fdaa5a182cf053bd0dafe 14-Mar-2013 Mathias Agopian <mathias@google.com> am ad84fa33: am 4d9b822e: get rid of ISurface

* commit 'ad84fa334c5baec53b1607a23483f40907e964de':
get rid of ISurface
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/IMemory.cpp
inder/MemoryBase.cpp
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.cpp
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/Android.mk
ui/ISurface.cpp
ui/ISurfaceComposerClient.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
21dd0236e8abd9b31b0187ccceda80611e395deb 12-Mar-2013 Mathias Agopian <mathias@google.com> am 9ac559b5: am f795852b: temporary: enable ASSERTs in RefBase

* commit '9ac559b58c49a43ed9468422feef0ae500340efe':
temporary: enable ASSERTs in RefBase
f795852b54b39eb373e0c421b63dc9a98822ac2c 12-Mar-2013 Mathias Agopian <mathias@google.com> temporary: enable ASSERTs in RefBase

this is in an attempt to get more data on
bug 8328715.

Change-Id: I9333a67c2d7f67f4d9b2fc5eb1ad8a7b2d1c6dcb
tils/RefBase.cpp
6d74bd6acc0aea3546f97c17d80db121af249ba1 12-Mar-2013 Mathias Agopian <mathias@google.com> am 5e80aa10: am d2d5a64a: workaround a deadlock when taking screenshots into a surface

* commit '5e80aa10d37dc066b2e079037a0564703be92ebb':
workaround a deadlock when taking screenshots into a surface
d2d5a64aa21cfc548c8c8333d1b36979e5e5a640 12-Mar-2013 Mathias Agopian <mathias@google.com> workaround a deadlock when taking screenshots into a surface

When disconnecting from BufferQueue, we now drain the queue
except the head (which means in the screenshot case we won't
have to block, but we might not have a buffer to show, this
will appear as an error in the log).

Bug: 8362363
Change-Id: If80989aac3c917beea2ebddf3cbb502849d394da
ui/BufferQueue.cpp
47e83a14d04290422a1740b9d3fc4e5b1242b9f1 11-Mar-2013 Romain Guy <romainguy@google.com> am c75412dc: am dbca4a0e: Merge "Add Thread::isRunning and Condition::signal(WakeUpType)" into jb-mr2-dev

* commit 'c75412dcdd617423a033e4a647f43b35af1fc0c4':
Add Thread::isRunning and Condition::signal(WakeUpType)
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/Threads.cpp
9f13b4f6943afed957d82d95365ab86f0ba058e5 08-Mar-2013 Mathias Agopian <mathias@google.com> am e491ec7c: am 7589b2a7: add two libgui tests

* commit 'e491ec7c93adb9ec9cfab0f6c7604383aa58d08c':
add two libgui tests
7589b2a7975cc3bc2a0659ab6503ceb3e4d94048 08-Mar-2013 Mathias Agopian <mathias@google.com> add two libgui tests

we check that the order in which we destroy GLConsumer wrt.
releasing the corresponding EGLSurface via eglMake(Un)Current
doesn't leak a buffer.

On at least 2 devices this test doesn't pass.

Change-Id: I63ab83951b4b0a977f38571158f948cbd9dc7cec
ui/tests/SurfaceTexture_test.cpp
336dda6b9303d7dcf7ee3ddda3cd8cb3b8305788 08-Mar-2013 Mathias Agopian <mathias@google.com> am 3f27f950: am 6b2b7009: Merge changes Ibb3b6ff0,I2341e20c into jb-mr2-dev

* commit '3f27f9503356f8f60246dd188c4dd899e8999150':
rename binder services main thread to Binder_*
limit number of extra binder threads in SF to 4
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/ProcessState.cpp
tils/Threads.cpp
e8e7c46ae5e442fdfa68172fd2118813a1afc9fc 07-Mar-2013 Mathias Agopian <mathias@google.com> am 483fbb3b: am 1f758231: Merge changes I7f696e42,I51c6df3c into jb-mr2-dev

* commit '483fbb3befcfc5d113cf5931cbf32e59a99c21c6':
Make GraphicBuffer a RefBase
Fix RefBase debugging. O_CREAT must specify the mode.
dbf146f1d69be31d12fc1c16b71beb9f4f2fb2a8 07-Mar-2013 Mathias Agopian <mathias@google.com> Fix RefBase debugging. O_CREAT must specify the mode.

Change-Id: I51c6df3cfd59b20ca73c3edee86bc2f74dbde1b1
tils/RefBase.cpp
03cacfd29bdd4bc7c31b8bf5cd148d61feeebd00 06-Mar-2013 Glenn Kasten <gkasten@google.com> Merge "Continue removing property debug.sys.noschedgroups"
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.cpp
f082323c0dbd915d2ad7b6f4d9c732e230fcda46 05-Mar-2013 Igor Murashkin <iam@google.com> Merge "CpuConsumer_test: Extend test with new formats RGBA8888 and optional Y8/Y16" into jb-mr2-dev
29e2047cb4335234ddc0575be1bae66d4e2ff691 06-Feb-2013 Igor Murashkin <iam@google.com> CpuConsumer_test: Extend test with new formats RGBA8888 and optional Y8/Y16

Change-Id: I0a0f6ce73516883bf50c749a1759abbdb3748e08
ui/tests/CpuConsumer_test.cpp
306f18c5fb15ac05db09ece7241af02b9713a23d 05-Mar-2013 Mathias Agopian <mathias@google.com> Merge "rework screenshot API and implementation" into jb-mr2-dev
006a601f22b275bcabf608f630b321df027d56d1 03-Mar-2013 Jesse Hall <jessehall@google.com> Fix reading NULL Surfaces from Parcels

Writing a NULL Surface was being read as a non-NULL Surface with NULL
mGraphicBufferProducer. Before the SurfaceTextureClient -> Surface
refactoring, you'd get a NULL Surface, and some code relies on that.

Bug: 8291161
Change-Id: I477bfe8882693e53a5f604a3d2c9e3cfe24473b4
ui/Surface.cpp
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.cpp
ui/SurfaceComposerClient.cpp
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.cpp
eb0d12963d271052c24abb025d698504df9e7573 28-Feb-2013 Eino-Ville Talvala <etalvala@google.com> CpuConsumer: Add optional asynchronous mode

Bug: 8290146
Bug: 8291751

Change-Id: I9c8ac4bff38b0411e987a204e540d018dba6d0b4
ui/CpuConsumer.cpp
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.cpp
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.cpp
i/tests/Android.mk
i/tests/Region_test.cpp
i/tests/region/Android.mk
i/tests/region/region.cpp
993e14fe1085e78b5f5d8b759dd3c757b4327eb4 23-Feb-2013 Mathias Agopian <mathias@google.com> Added a test that checks the error behavior of ConsumerBase::abandon

We check that calling eglSwapBuffers() on an abandonned BufferQueue
return EGL_BAD_SURFACE -- this is to ensure consistancy between
drivers.

Change-Id: Ibb548e0cf767ceee69f2fc4a85811d15a6522277
ui/tests/SurfaceTextureClient_test.cpp
9a867a8798fa6ea21f6341db31e38ea64fde6c83 22-Feb-2013 Michael Wright <michaelwr@google.com> Change SurfaceControl setPosition to take floats

Bug: 8153162
Change-Id: If3c4b7a3e124ace25999eb9a569dc9a806a1fbc2
ui/SurfaceControl.cpp
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/tests/SurfaceTextureClient_test.cpp
e88a85e0d0a25c943e974114557770ba10b81847 19-Feb-2013 Eino-Ville Talvala <etalvala@google.com> Fixes to native app ops services

Bug: 8181262
Change-Id: I3d3f20453f6c6f2756c988363c5b5453ef309cb6
inder/AppOpsManager.cpp
inder/IAppOpsService.cpp
e3c697fb929c856b59fa56a8e05a2a7eba187c3d 15-Feb-2013 Mathias Agopian <mathias@google.com> Refactoring: Rename SurfaceTextureClient to Surface

Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
ui/Android.mk
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceControl.cpp
ui/SurfaceTextureClient.cpp
ui/tests/CpuConsumer_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
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/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
b997f6ef0f3fa7cf67fd7487b88e5d6ac0bb15e9 14-Feb-2013 Jamie Gennis <jgennis@google.com> Merge changes I50831d4e,I5360aebe

* changes:
flatland: remove an unneeded #include
libgui: disallow NULL Fence pointers
1df8c345854155cbbcb9f80de9d12d66ea70ac08 20-Dec-2012 Jamie Gennis <jgennis@google.com> libgui: disallow NULL Fence pointers

This change eliminates the uses of a NULL sp<Fence> indicating that no waiting
is required. Instead we use a non-NULL but invalid Fence object for which the
wait methods will return immediately.

Bug: 7892871
Change-Id: I5360aebe3090422ef6920d56c99fc4eedc642e48
ui/BufferItemConsumer.cpp
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/SurfaceTextureClient.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/SurfaceTexture_test.cpp
i/Fence.cpp
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/Android.mk
inder/AppOpsManager.cpp
inder/IAppOpsCallback.cpp
inder/IAppOpsService.cpp
c4fd05b172a405baaca671942fb1659698b13027 03-Feb-2013 Nick Kralevich <nnk@google.com> Revert "try to fix win_sdk build."

A better change was checked into system/core. See commit
941daef629bd571032851edf7ae1dce24266640e

This reverts commit fa99d30ec773c5f9653d96570fb8961426bfe966.
tils/Threads.cpp
fa99d30ec773c5f9653d96570fb8961426bfe966 02-Feb-2013 Nick Kralevich <nnk@google.com> try to fix win_sdk build.

Change-Id: I55e78e339874a6d6a3381c2550556b65c7ec1ca0
tils/Threads.cpp
cc1a4bb1e1da3f2f38bdaf1f76348c7bc9fb6adb 12-Jan-2013 Douglas Leung <douglas@mips.com> [MIPS] Avoid unaligned load/store for 64-bit doubles.

Change-Id: Iefdcac8742f23fef31f63730b48698fc4205c3ad
Signed-off-by: Douglas Leung <douglas@mips.com>
inder/Parcel.cpp
7c36cd231542990e0ef8240fcc8dfd35a9e4b38b 15-Jan-2013 Jesse Hall <jessehall@google.com> Fix memory leak when getting signal time for unsignaled fences

Bug: 8000983
Change-Id: Ie88ed23fc5e8c95bfade364e090e90b7f070fa8e
i/Fence.cpp
466a192d2088f9238d34597d1aa28da41367c1ca 08-Jan-2013 Andy McFadden <fadden@android.com> Minor tweaks.

Change-Id: I9f82f574112141b6aa074c42303056cd52d5c478
ui/IGraphicBufferProducer.cpp
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/Android.mk
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
ui/GLConsumer.cpp
ui/IGraphicBufferProducer.cpp
ui/ISurface.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceTexture.cpp
ui/LayerState.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/BufferQueue_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
cce6230b3c5275ee43663a7a0843405c06e24c18 17-Dec-2012 Marco Nelissen <marcone@google.com> Merge "Add NULL check to CallStack::toString"
32130635f623924f1aa19dda3054bab371d682b3 17-Dec-2012 Marco Nelissen <marcone@google.com> Add NULL check to CallStack::toString

CallStack::toString() has a 0 default argument, which ends up getting
passed to strlen(), resulting in a crash.

Change-Id: If706aff8c400983670f49cdbb66e11191ac76e0e
tils/CallStack.cpp
c911ea531830b9dd5d25cf6f0c03f2f93908c4d1 12-Dec-2012 Jamie Gennis <jgennis@google.com> stop using a deprecated SurfaceTextureClient ctor

Change-Id: I8c8282a0debd551db290dd6849faf272a88c704c
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
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.cpp
c6f04666c205a72add3c856455bf212f0c84d6fc 12-Dec-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceFlinger: Move GraphicBufferAlloc to libgui"
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/Android.mk
ui/GraphicBufferAlloc.cpp
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.cpp
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.cpp
ui/SurfaceTexture.cpp
884e3bc29ed190a856f7562a73548868a7ecef2f 11-Dec-2012 Jamie Gennis <jgennis@google.com> am 6426bd62: am f53f9c6d: [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees

* commit '6426bd62676c743b0b5bdc397bcab5c669c6e51f':
[DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees
f53f9c6d3668490f6c68f5c094c28f645c1b3da3 11-Dec-2012 Jamie Gennis <jgennis@google.com> [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees

This change makes GraphicBufferAllocator::alloc wait for pending async frees to
complete before attempting to allocate a gralloc buffer if there are more than
8 pending async frees.

Bug: 7696861
Change-Id: I1fae86e13edefcaa153b8ce9fd057f335716059e
i/GraphicBufferAllocator.cpp
a4367996681bae2612beebecb871961c5b361b2c 07-Dec-2012 Jamie Gennis <jgennis@google.com> am 50f8d285: am d4e70620: am 72c3f7d8: Revert "ConsumerBase: free buffers outside the lock"

* commit '50f8d2856b6644059b31684687842bf9c1f2e814':
Revert "ConsumerBase: free buffers outside the lock"
50f8d2856b6644059b31684687842bf9c1f2e814 07-Dec-2012 Jamie Gennis <jgennis@google.com> am d4e70620: am 72c3f7d8: Revert "ConsumerBase: free buffers outside the lock"

* commit 'd4e706208c99ff1716fb0009ec867ff29ff04a7c':
Revert "ConsumerBase: free buffers outside the lock"
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
72c3f7d88160b7c279f90f0efe3c1cb12cd140ae 07-Dec-2012 Jamie Gennis <jgennis@google.com> Revert "ConsumerBase: free buffers outside the lock"

This reverts commit b21a4e3b5f7f07ed160ca6e1809313e2a8e2a6a4.
ui/ConsumerBase.cpp
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.cpp
b5fe96b8130b5bacbc1762ba7f819a9f9b72bf59 07-Dec-2012 Jamie Gennis <jgennis@google.com> am 05989772: am 3ed2736c: am b21a4e3b: ConsumerBase: free buffers outside the lock

* commit '05989772d5b46cd5328e88d546f04deef39cc3c8':
ConsumerBase: free buffers outside the lock
05989772d5b46cd5328e88d546f04deef39cc3c8 07-Dec-2012 Jamie Gennis <jgennis@google.com> am 3ed2736c: am b21a4e3b: ConsumerBase: free buffers outside the lock

* commit '3ed2736c10efb2f18062591e308036837d9725a4':
ConsumerBase: free buffers outside the lock
b21a4e3b5f7f07ed160ca6e1809313e2a8e2a6a4 07-Dec-2012 Jamie Gennis <jgennis@google.com> ConsumerBase: free buffers outside the lock

This change makes ConsumerBase::onBuffersReleased hold a reference to all its
gralloc buffers until after the mutex is unlocked. This prevents slow
gralloc::free calls from causing lock contention with rendering threads.

Bug: 7675940
Change-Id: I0ec805d1b612afeeecfffec03f982371d27d93be
ui/ConsumerBase.cpp
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/Android.mk
tils/LinearAllocator.cpp
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.cpp
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.cpp
c849b6f44cb64b0d18d7897be1d2dbaced9c3758 20-Nov-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceFlinger: refactor frame time tracking"
b171fe9f47f0082dae55d5a08fe9b379cbd8e33c 20-Nov-2012 Mathias Agopian <mathias@google.com> am 594a8773: am 764c197c: fix typo that broke all the builds

* commit '594a8773c1ef5632a8eb2ef61a86c319460d4248':
fix typo that broke all the builds
73d5662e4c1639e0aa462d420433fe7efa248245 20-Nov-2012 Mathias Agopian <mathias@google.com> fix typo that broke all the builds

cherry pick into master since auto-merger is blocked

Bug: 7584338
Change-Id: Ie7d7c238de1fd224b3b0bae9669a8dcb2f700a79
ui/BufferQueue.cpp
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.cpp
764c197c6fc2bf10b038c33b320a4e95594d52d8 20-Nov-2012 Mathias Agopian <mathias@google.com> fix typo that broke all the builds

Bug: 7584338
Change-Id: Ieb8c27a544ac583af9aa1e0376e33a673d2d9673
ui/BufferQueue.cpp
bd3e837ec726e5a1c7fca7173d8230ca60a3ba6d 20-Nov-2012 Mathias Agopian <mathias@google.com> am c208cdd4: am 1d3612f1: am 2a8c49eb: fix an out-of-bounds memory access

* commit 'c208cdd402d767228a34074d589c6368cc656b7d':
fix an out-of-bounds memory access
c208cdd402d767228a34074d589c6368cc656b7d 20-Nov-2012 Mathias Agopian <mathias@google.com> am 1d3612f1: am 2a8c49eb: fix an out-of-bounds memory access

* commit '1d3612f11cb0a56062059dad4643657750c23aab':
fix an out-of-bounds memory access
2a8c49eb5dd51b2e60c9a78bea00870867d91c03 16-Nov-2012 Mathias Agopian <mathias@google.com> fix an out-of-bounds memory access

in this particular case, this OOB is always harmless
(and that's why it didn't get fixed from MR1), however,
it interfers with valgrind debugging.

Change-Id: Ic977e03287e59c4b124a89146c9023bd0cb540a8
ui/BufferQueue.cpp
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
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.cpp
74284b9467a753209054bfa769ba1e6d110e34f9 05-Nov-2012 Igor Murashkin <iam@google.com> Merge "Change ConsumerBase's FrameAvailableListener to be a weak pointer"
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.cpp
f3f7db6346323ca3ec4ec449a2622adddc6306b4 31-Aug-2012 Jeff Brown <jeffbrown@google.com> Allow global transactions to nest.

This change fixes a number of small glitches that can occur when
multiple components in the same process are updating surfaces.
One would expect that updates to disjoint sets of surfaces would
not collide but this is not the case. The first component to
close the global transaction causes all pending updates to
be applied, including those that another component might not
have finished setting up if it also had an open transaction
at the same time.

Change-Id: I99345958581abbe0e1e325a5bcba37e8941a313a
ui/SurfaceComposerClient.cpp
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/Android.mk
tils/BasicHashtable.cpp
tils/JenkinsHash.cpp
tils/tests/Android.mk
tils/tests/LruCache_test.cpp
b2cac4ff37ed2a3521efb307b807b12f649634b8 01-May-2012 Glenn Kasten <gkasten@google.com> Continue removing property debug.sys.noschedgroups

Also 0 means gettid() for get_sched_policy() and set_sched_policy().

Change-Id: Ic12edc3df6c9b3e99eae5cffaf9f6fe56cf14043
tils/Threads.cpp
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.cpp
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/Android.mk
iskusage/MODULE_LICENSE_APACHE2
iskusage/dirsize.c
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.cpp
ui/SurfaceComposerClient.cpp
9097e14443767b37ab0831d46c1090a3960d36e1 17-Oct-2012 Jamie Gennis <jgennis@google.com> am 7f79a2bd: Merge "BufferQueue: alloc without holding the lock" into jb-mr1-dev

* commit '7f79a2bd5c92bc626890dc16ffb8cd2de934e5fb':
BufferQueue: alloc without holding the lock
7f79a2bd5c92bc626890dc16ffb8cd2de934e5fb 17-Oct-2012 Jamie Gennis <jgennis@google.com> Merge "BufferQueue: alloc without holding the lock" into jb-mr1-dev
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/ZipFileRO.cpp
tils/ZipUtils.cpp
5c51f0fb38bd0cd80031da3eee6f335d5d28c3fc 16-Oct-2012 Jamie Gennis <jgennis@google.com> am 3365c567: Merge "SurfaceFlinger: add animation transactions" into jb-mr1-dev

* commit '3365c56716432d3bfdf41bb82fb08df821f41d0c':
SurfaceFlinger: add animation transactions
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/SurfaceComposerClient.cpp
e2e95c8ccba2c2fb979d0ed42ed905106623d3c3 13-Oct-2012 Kenny Root <kroot@google.com> am 9bdaa60b: Merge "Add TEMP_FAILURE_RETRY around open and write calls" into jb-mr1-dev

* commit '9bdaa60b809b223d14619d1f13afdd38acb1738d':
Add TEMP_FAILURE_RETRY around open and write calls
3de9cd202948d1b8f372f901c812ef4257af5946 12-Oct-2012 Kenny Root <kroot@google.com> Add TEMP_FAILURE_RETRY around open and write calls

Bug: 7330849
Change-Id: I9aef3c3d3a248c3eea7ca060124ad6decaa6b4da
tils/ZipFileRO.cpp
1efe099a51e2231bd938a6afcf66e6584deec0f2 05-Oct-2012 Jamie Gennis <jgennis@google.com> BufferQueue: alloc without holding the lock

This change makes BufferQueue::dequeueBuffer release its mutex before
allocating new buffers. This should alleviate lock contention in
SurfaceFlinger where SF's main thread can get blocked waiting for an allocation
operation to complete.

Bug: 7335075
Change-Id: I1b000539cc616a695afab2e9c68507db69e57b13
ui/BufferQueue.cpp
98e52bdb18842a7a00e66bf6adb628f2512e2ef0 10-Oct-2012 Mathias Agopian <mathias@google.com> am 45778999: Merge "Fence didn\'t manager sync_wait error codes properly" into jb-mr1-dev

* commit '45778999c705683ec0fcca3e90c7e9969e081d93':
Fence didn't manager sync_wait error codes properly
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.cpp
e3a8cd4db13494400a88da88f2e0190f5d286011 09-Oct-2012 Jeff Brown <jeffbrown@google.com> am 2a09bb32: Add blankDisplay/unblankDisplay to SurfaceComposerClient.

* commit '2a09bb321930e1f782599ec902bca1db58b9af77':
Add blankDisplay/unblankDisplay to SurfaceComposerClient.
2a09bb321930e1f782599ec902bca1db58b9af77 09-Oct-2012 Jeff Brown <jeffbrown@google.com> Add blankDisplay/unblankDisplay to SurfaceComposerClient.

Bug: 7309812
Change-Id: Ia401d642094a46c62f0d26c65da1d11341e203a1
ui/SurfaceComposerClient.cpp
c431c36ed30d4c01af58e67e17f53caf8be581b6 07-Oct-2012 Dave Burke <daveburke@google.com> am 6d24eef4: Merge "Revert "ugly, temporary, workaroung for a problem where a binder thread spins forever"" into jb-mr1-dev

* commit '6d24eef4b6443afa8d361437c0a3a575b69609ae':
Revert "ugly, temporary, workaroung for a problem where a binder thread spins forever"
6d24eef4b6443afa8d361437c0a3a575b69609ae 07-Oct-2012 Dave Burke <daveburke@google.com> Merge "Revert "ugly, temporary, workaroung for a problem where a binder thread spins forever"" into jb-mr1-dev
0bed1f541d5a8284691d2296754604cde0723787 07-Oct-2012 Dave Burke <daveburke@google.com> Revert "ugly, temporary, workaroung for a problem where a binder thread spins forever"

This reverts commit 0845d0245e09548110cacb0f20e9934753388aab

Change-Id: I395037cb9427cd11f7de6bb78fbdfa917fc6263a
inder/IPCThreadState.cpp
f757640049a2ae19ba5047362f7fee47d9fb8ab7 06-Oct-2012 Dave Burke <daveburke@google.com> am dba919c5: Merge "ugly, temporary, workaroung for a problem where a binder thread spins forever" into jb-mr1-dev

* commit 'dba919c5f372872179cd14f8b5beeb4c22fe23c1':
ugly, temporary, workaroung for a problem where a binder thread spins forever
dba919c5f372872179cd14f8b5beeb4c22fe23c1 06-Oct-2012 Dave Burke <daveburke@google.com> Merge "ugly, temporary, workaroung for a problem where a binder thread spins forever" into jb-mr1-dev
0845d0245e09548110cacb0f20e9934753388aab 06-Oct-2012 Mathias Agopian <mathias@google.com> ugly, temporary, workaroung for a problem where a binder thread spins forever

Bug: 7289992
Change-Id: I0c3d482a1af57e5f444be2ba7f2751ac3e954af2
inder/IPCThreadState.cpp
d22e4b914c01342c09ef2e0279dc705fe6f7f753 06-Oct-2012 Jesse Hall <jessehall@google.com> am 9504eb91: Fix race condition in ConsumerBase::addReleaseFence()

* commit '9504eb915c9628e130f45019bdefda0168089886':
Fix race condition in ConsumerBase::addReleaseFence()
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/BufferItemConsumer.cpp
ui/ConsumerBase.cpp
ui/SurfaceTexture.cpp
ecbcc4cadb52bd501788c45f7cbfff9a503e2b12 05-Oct-2012 Stephen Hines <srhines@google.com> am 0e8fcc2c: Merge "Fix missing parens in CleanSpec.mk." into jb-mr1-dev

* commit '0e8fcc2c27f278478483ebbe1befe1460e8bbed1':
Fix missing parens in CleanSpec.mk.
d920670f252d7984f8729cd578ce8c0befa77273 04-Oct-2012 Stephen Hines <srhines@google.com> Fix missing parens in CleanSpec.mk.

Change-Id: I0440a942d3e685d619ec9cc402d3293cb3f52df1
ui/CleanSpec.mk
dca9d13581d4d14701d8a207ed647c94ffb1778c 05-Oct-2012 Raph Levien <raph@google.com> am 3fbbd076: Fix broken CleanSpec.mk in libs/gui

* commit '3fbbd076ad571810d9107ed870cfce2e8c062d10':
Fix broken CleanSpec.mk in libs/gui
3fbbd076ad571810d9107ed870cfce2e8c062d10 05-Oct-2012 Raph Levien <raph@google.com> Fix broken CleanSpec.mk in libs/gui

The CleanSpec is missing parens, which causes $P to be interpreted as a
single variable, and the following printed to the log:

Clean step: rm -rf RODUCT_OUT/obj/SHARED_LIBRARIES/libgui_intermediates

This patch adds parens as needed.

Change-Id: I587998fa67a4884418c286360a577cdbb6ea9a21
ui/CleanSpec.mk
2526675e907dd9b3d224760a87185c017f66a796 04-Oct-2012 Jamie Gennis <jgennis@google.com> am a573945d: libgui: enable fence support for exynos5

* commit 'a573945df7d21cfb73aa9cdba41561105e2ffb01':
libgui: enable fence support for exynos5
a573945df7d21cfb73aa9cdba41561105e2ffb01 28-Sep-2012 Jamie Gennis <jgennis@google.com> libgui: enable fence support for exynos5

Change-Id: Iffc48412b8c951116a956a3ac7dab8d75eed13da
Bug: 7238122
ui/Android.mk
ui/CleanSpec.mk
596f5efd4e0f151f7a33fbe3569551d0c6266728 04-Oct-2012 Jamie Gennis <jgennis@google.com> am 3fd12e41: libgui: fix up compile options

* commit '3fd12e41afcf323fdb99a4cf6bef0f904d72cc8b':
libgui: fix up compile options
3fd12e41afcf323fdb99a4cf6bef0f904d72cc8b 03-Oct-2012 Jamie Gennis <jgennis@google.com> libgui: fix up compile options

This change adds debug info to SurfaceFlinger's dumpsys to indicate that the
USE_WAIT_SYNC compile option was enabled, and it removes the
ALLOW_DEQUEUE_CURRENT_BUFFER option.

Bug: 7238122
Change-Id: I70e08e34c2ef58aa6d2f88229e781a119f84b5a9
ui/Android.mk
ui/BufferQueue.cpp
ui/GuiConfig.cpp
ui/SurfaceTexture.cpp
ee5fb9299b6a7d81af6c2c1e598c4e9fd71a8ba9 03-Oct-2012 Jesse Hall <jessehall@google.com> am ba607d53: Add Fence::waitForever which logs a warning timeout, and use it

* commit 'ba607d53c6a94ea8c4c12571980c4ad159af308b':
Add Fence::waitForever which logs a warning timeout, and use it
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
ui/BufferItemConsumer.cpp
ui/CpuConsumer.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
i/Fence.cpp
7011d5a46b0b6e5a3cf31949036084c312343b3c 02-Oct-2012 Kenny Root <kroot@google.com> am ee42072b: am 52f1edb3: Merge "Update tests for new build target"

* commit 'ee42072bcccab880dd685736a32a56ac62ffc331':
Update tests for new build target
ed22c1cfe5759daf8149339743f47ca78d0a2c1f 02-Oct-2012 Kenny Root <kroot@google.com> Update tests for new build target

Change-Id: Ia1740d1b2c0b611c4559c5c846b12fb5c3e81b07
tils/tests/Android.mk
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.cpp
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.cpp
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/Android.mk
ui/GuiConfig.cpp
i/Android.mk
i/UiConfig.cpp
e96e9e1093b5700e9f403a6e2479da7dc36d3b71 25-Sep-2012 Mathias Agopian <mathias@google.com> fix a crasher in SurfaceTexture's setFilteringEnabled

bug: 7211067
Change-Id: Id8658a8df429d76c20ab9112858b38e52343dc9c
ui/SurfaceTexture.cpp
7aff4a5de47bf32b0934f5744cd1df4ce666d2d2 24-Sep-2012 Jamie Gennis <jgennis@google.com> ConsumerBase: make fence names meaningful

Change-Id: I3580120cb63c027c327e80ec70e68650b75395de
ui/ConsumerBase.cpp
d1b330de416adff0d178a5cb7271419d9ed7a89a 21-Sep-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix an out of bounds array write

This change fixes an issue causing the mEglContext member of a SurfaceTexture
to get incorrectly zeroed out. This would happen when a call to
ConsumerBase::releaseBufferLocked resulted in the current buffer being freed.
Freeing the current buffer would set SurfaceTexture::mCurrentTexture to -1,
which would then be used by SurfaceTexture::releaseBufferLocked to reset the
current slot's EGLSyncKHR to EGL_NO_SYNC_KHR (= 0). This would overwrite the
mEglContext field, resulting in context mismatch errors in
SurfaceTexture::doGLFenceWaitLocked.

The fix is to simply use the buffer slot that's passed in to
SurfaceTexture::releaseBufferLocked rather than mCurrentTexture.

Change-Id: I0e5e2bd88fcbb354c35a3744f317716fff3e0e41
ui/SurfaceTexture.cpp
971f7e9f5d81d30bee5063a32f4953da754ee7ce 19-Sep-2012 Ben Cheng <bccheng@google.com> Disable the use of clock_gettime for now.

Bug: 7100774
Change-Id: I6ede2a37a5d485134fe419b5dc766f70ae4af9d4
tils/SystemClock.cpp
42223f6fdd582dc4e87ad94c212adaed3341f154 10-Sep-2012 Jeff Boody <jboody@codeaurora.org> gui: conditionally set USE_NATIVE_FENCE_SYNC for msm8960

Change-Id: Ib7ad11597ef7c79162a0b0a49a1b8ae16d192c10
Signed-off-by: Iliyan Malchev <malchev@google.com>
ui/Android.mk
ui/CleanSpec.mk
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.cpp
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.cpp
ui/SurfaceComposerClient.cpp
07e8134e24e9ef7a3b2ade361ead5ce1b514c72f 17-Sep-2012 Ben Cheng <bccheng@google.com> Merge "Print warnings when backwards timestamps are detected." into jb-mr1-dev
8dc7c6e659c14b4883049d4411ec06c93d9d078d 14-Sep-2012 Ben Cheng <bccheng@google.com> Print warnings when backwards timestamps are detected.

Bug: 7100774

Change-Id: I752fd1680b32ce33d17d6042d6c82e27d7ba9dd2
tils/SystemClock.cpp
71f683ac8d28e93928a9bb1744f43264b4846e8f 15-Sep-2012 Andy McFadden <fadden@android.com> New test

Added a test to confirm that the transform hint is being respected.

Bug: 7162482
Change-Id: I892fe962f8cf2759ff951b4f5065b9ac2732c3d1
ui/tests/SurfaceTexture_test.cpp
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.cpp
9ca6491bb701919a3f88fa7c43da284b13822ed6 13-Sep-2012 Mathias Agopian <mathias@google.com> Region::validate() cannot be called from addRectUnchecked()

addRectUnchecked() is allowed to be in an invalid state
temporarily.

Change-Id: I6f5162b5c49f378978c070a77abba35023fe918c
i/Region.cpp
068d47f29dfead847999a7b33b4217ee9514152b 12-Sep-2012 Mathias Agopian <mathias@google.com> strengthen region validation

Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
i/Region.cpp
c272430960047de4e9b2f169fb053bd0aedce3b1 12-Sep-2012 Andy McFadden <fadden@android.com> Merge "Watch for SurfaceFlinger death" into jb-mr1-dev
98ff0597bd9e57ba133d54f8f09841f96955cba1 10-Sep-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: eglDestroySync after duping its fd

This change adds a call to eglDestroySync after we've dup'd the fd for the
Android fence that the EGLSyncKHR object wraps.

Change-Id: I4fa6ece863260793630d70bb9a69d6284d05d99e
ui/SurfaceTexture.cpp
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.cpp
01dbf5539bff4bece3f9bbfa55046b04a8a45e99 06-Sep-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: use EGL-created native fences

This change adds support for using Android fences that come from EGLSyncKHR
objects as the release fence for a buffer.

Change-Id: Ice192ce2ec001020f909a2018afdf0f17b24dec9
ui/SurfaceTexture.cpp
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
ui/SurfaceComposerClient.cpp
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/BufferItemConsumer.cpp
ui/ConsumerBase.cpp
ui/CpuConsumer.cpp
ui/SurfaceTexture.cpp
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.cpp
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
374850cf161ecacc292afe8e34cbe3f96c0d8e85 04-Sep-2012 Jamie Gennis <jgennis@google.com> Merge "libgui: disable CpuConsumer tests" 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.cpp
ui/tests/BufferQueue_test.cpp
50f262fe569b52bb4d44c96de0d296188ce3885e 01-Sep-2012 Mathias Agopian <mathias@google.com> minor SharedBuffer clean-up

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

Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
i/Region.cpp
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.cpp
4c0a170585d5c8a1f3508ac55f799ebaf86e91db 31-Aug-2012 Mathias Agopian <mathias@google.com> don't generate a new Region when translating by 0,0

since regions are copy-on-write, this prevents to
duplicate the region entirely and offseting by 0,0 is
fairly common.

Change-Id: I9b8c286315a2e00dda01c2456397d72b5e12006b
i/Region.cpp
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/tests/Android.mk
ui/tests/BufferQueue_test.cpp
fdb6b49dfa9f1f71b2e564c9f423043f90f9346c 31-Aug-2012 Jamie Gennis <jgennis@google.com> libgui: disable CpuConsumer tests

This change disables the CpuConsumer tests because they require a Gralloc
format that is not supported on all devices.

Change-Id: Ifaa618062c1dae53d9fcb9e16ba92c480d3dbd0c
ui/tests/CpuConsumer_test.cpp
8210185fe337ca9d5b01f2bff8590ea60984c31e 31-Aug-2012 Dianne Hackborn <hackbod@google.com> No longer need "original calling uid".

Change-Id: Ifc4a89dd088609a5a8553f6ac6553174e09e8222
inder/IPCThreadState.cpp
4697528eac85d34b2b375ece1d4b40aebe3fa5dd 31-Aug-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a few tests

Change-Id: Ic74fe8791361f8fe91ad7149720fafd4cc154ac1
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
d69097f936d9780957a51ce77335ae409b32aaa3 30-Aug-2012 Jamie Gennis <jgennis@google.com> libgui: add some error checks

This change adds a few error checks both in the framework and in some tests.

Change-Id: I2baf2676942a0dc15866e75852a775a0091ed16d
ui/IGraphicBufferAlloc.cpp
ui/SurfaceTexture.cpp
ui/tests/SurfaceTexture_test.cpp
i/GraphicBuffer.cpp
5e5efde7874a9fab650fd4b724ceef46db850470 29-Aug-2012 Jamie Gennis <jgennis@google.com> BufferQueue: add a check for the max acquired bufs

This change adds an error check to ensure that consumers don't acquire more
buffers than the maximum that they set.

Change-Id: I026643564bde52732e4ee6146972b207ddbbba77
ui/BufferQueue.cpp
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/BufferItemConsumer.cpp
ui/BufferQueue.cpp
ui/CpuConsumer.cpp
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
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.cpp
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.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/tests/SurfaceTexture_test.cpp
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.cpp
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.cpp
380223bf1b340e7503177254a60d5982f95ab793 27-Aug-2012 Jeff Brown <jeffbrown@google.com> Remove unused "layer" argument from show().

Change-Id: I8944a9f4a27c330b11e5e837c69b88c8f84145ba
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
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.cpp
ui/ISurfaceComposerClient.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/tests/SurfaceTexture_test.cpp
ui/tests/Surface_test.cpp
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.cpp
490aee0fc5012acf2bf0b1dfe9c09e6fcca606fc 24-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: inherit from ConsumerBase (try 2)" into jb-mr1-dev
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.cpp
ui/SurfaceTexture.cpp
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/Android.mk
ui/BufferItemConsumer.cpp
ui/CpuConsumer.cpp
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.cpp
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.cpp
729f48082e2c7660e94830e52006f7af4efb747a 20-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "Revert "SurfaceTexture: inherit from ConsumerBase"" into jb-mr1-dev
f7f6345068fe0644bf296b88a687b361eae0cc98 20-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "Revert "SurfaceTexture: call ConsumerBase::freeBufferLocked"" 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.cpp
ui/SurfaceTexture.cpp
483bccd0d9f7e5e7aa452e9e3e53056387f4b25c 20-Aug-2012 Jamie Gennis <jgennis@google.com> Revert "SurfaceTexture: call ConsumerBase::freeBufferLocked"

This reverts commit f8d33c652b930abbfb0722f3a2928cbc2ea71078

Change-Id: I1ff2e1cc85824a8fac1051f573d2931db81af511
ui/SurfaceTexture.cpp
220ef10c5fe44df0ff3898de06028975995a34e4 20-Aug-2012 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: call ConsumerBase::freeBufferLocked" into jb-mr1-dev
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.cpp
d3bbcaff6f0e08db0412d92f42562a2826a58bec 20-Aug-2012 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 21938749 to jb-mr1-dev

Change-Id: I17da10797736f3772a143e2015fe25df0bb3eb3f
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
ui/SurfaceComposerClient.cpp
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.cpp
ui/SurfaceTexture.cpp
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
ui/ISensorServer.cpp
ui/LayerState.cpp
ui/Sensor.cpp
i/Region.cpp
6f12d573251528086636707dde2fb01a8b7199b8 11-Aug-2012 Jeff Brown <jeffbrown@google.com> Add a very simple helper function to log slow functions.

Change-Id: I2e2e072206d02b572a330dd25857c161b5b563bf
tils/Android.mk
tils/Log.cpp
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.cpp
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
3165cc21cfea781988407b19bd83292b19f05f55 09-Aug-2012 Mathias Agopian <mathias@google.com> libgui includes refactoring

Change-Id: I1d24ec17f5003ec2abab5f7472daaff4cc4cc2d3
ui/SurfaceComposerClient.cpp
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/VectorImpl.cpp
3d1d09c0c116c42f7d083f87628b5f8377b1f275 09-Aug-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: Fix a fence fd leak.

Bug: 6949010
Change-Id: I289992c964504b4fe5458dbd19b248a841ef043f
ui/SurfaceTexture.cpp
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
45cb2ba1d52d81e20702b62610422fb09aaedeae 07-Aug-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix an out of bounds array access

Bug: 6879028
Change-Id: Ic3d35a9384c0a6dfa4000e7743a6f6859608b0bf
ui/SurfaceTexture.cpp
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/Android.mk
ui/BufferQueue.cpp
ui/ConsumerBase.cpp
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/ZipFileRO.cpp
tils/misc.cpp
72131d9ef13ffaf3af4ca2fe700426b82baac9fa 05-Aug-2012 Mathias Agopian <mathias@google.com> remove unneeded dependencies in libhardware

Change-Id: Ibb8d698d594216d0746b0e7270cf87d7e5acab2b
ui/Android.mk
ui/SurfaceTexture.cpp
92efd84f37ce5a8aae74dc9086f825a67b6894e9 03-Aug-2012 Mathias Agopian <mathias@google.com> screen-off animation won't be handled by SF anymore

Change-Id: Idc41386804ae7d7eb981c36e1bc55c270870c8d0
ui/ISurfaceComposer.cpp
4f9c284de4b9159126f69eb1219c410f66cc872c 02-Aug-2012 Romain Guy <romainguy@google.com> Add missing break in switch statement

Change-Id: I6206cc9ca46c4e2f125d3d820256280586ad66a1
ui/SurfaceTexture.cpp
12bd497f280a69ae5fe7694ae3146008cacc0eb6 31-Jul-2012 Jamie Gennis <jgennis@google.com> libgui: enable EGL_fence_sync usage for exynos5

Bug: 6876502
Change-Id: I2ec2800881dcba9e4f6ff32ffa1341a2de01f0a2
ui/Android.mk
e21facef01b2e8d2558e4561639eaf9ff135e312 31-Jul-2012 Mathias Agopian <mathias@google.com> Merge "log more info on fence sync_merge error" into jb-mr1-dev
d83d67b5d5e98b7f0bdf54b68f6ea28fa4905a33 31-Jul-2012 Mathias Agopian <mathias@google.com> log more info on fence sync_merge error

also fix a typo where the wrong value was passed to sterror.

Change-Id: I4df2abe582e14c8f816b65818f4593a6bd3c23ea
i/Fence.cpp
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.cpp
ui/SurfaceComposerClient.cpp
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/SurfaceComposerClient.cpp
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.cpp
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
074cd0c0765d1aec5a4ff5ac460f0685ae067fb1 19-Jul-2012 Nick Pelly <npelly@google.com> Add elapsedRealtimeNano(), and use CLOCK_BOOTTIME where possible.

Change-Id: I4231c8ca32663e6e2cb5b7c126d091f837373807
tils/SystemClock.cpp
tils/Timers.cpp
6501e9944df131b3b7e293007084735dfa217f24 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove freeze(), unfreeze() and setFreezeTint().

This is all dead code.

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

Change-Id: I2b70249a1545636fd6d98b58057b22f9529cad21
ui/SurfaceComposerClient.cpp
47ad361cee48a026c8c3695da04aab75e1e7b925 10-Jul-2012 Steve Critchlow <steve.critchlow@sonymobile.com> Fix error trap in SurfaceTexture Client

There was an issue in Surface::lock where failure to lock a surface
resulted in two bad things happening:
- success was returned to the caller (it was apparently locked).
- an uninitialised pointer was returned as the buffer.

Change-Id: I8b0df81400e0fa0542a8bb993d76923ac96b686e
ui/SurfaceTextureClient.cpp
0bc64be3f5198f8dda1ced21bbc957a1d76efbb7 29-Jun-2012 Naseer Ahmed <naseer@codeaurora.org> libs/ui: Add support for triple framebuffers

Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
i/FramebufferNativeWindow.cpp
e7db724bed5d1e5086801df7705d9b1f2a071785 03-Jul-2012 Jesse Hall <jessehall@google.com> Fix check for fence merge success

Change-Id: I9b16526ebfe4ffabf7c4372cca9b192ce046aa21
ui/SurfaceTexture.cpp
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.cpp
b42b1ac1587aebda5e2f334d95b620271fafba4e 28-Jun-2012 Jesse Hall <jessehall@google.com> Return fence from acquireBuffer

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

Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
ui/BufferQueue.cpp
ui/ISurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
i/Fence.cpp
02a7be74dd0c4eb47a522cb0f646736cb6d0de01 29-Jun-2012 Jesse Hall <jessehall@google.com> Merge "Clarify aborted updateTexImage use of fences"
962174da0303d94180af7648faf90e112b851192 29-Jun-2012 Jesse Hall <jessehall@google.com> Merge "Return fence to client in dequeuBuffer"
d58c304cc60be46a363fdcdce6da06e4ecb589b6 29-Jun-2012 Jesse Hall <jessehall@google.com> Clarify aborted updateTexImage use of fences

When updateTexImage acquires a buffer but then aborts (due to an error
or the buffer being rejected), it releases the newly-acquired buffer.
It was passing the buffer slot's fences to releaseBuffer, even though
they hadn't been created after the acquire yet. This wasn't a bug,
since the fences would be cleared just after the buffer slot was last
released, but explicitly passing null fences makes this clearer.

Change-Id: I087f2ec3fd02c40f57782c1fca24eb9567e2943d
ui/SurfaceTexture.cpp
f9783af225aa3b41ec0af36f90941a714269abb7 25-Jun-2012 Jesse Hall <jessehall@google.com> Return fence to client in dequeuBuffer

Change-Id: Ic19750793ad993f0e85391f3cabd743ba565d4c9
ui/SurfaceTextureClient.cpp
i/Fence.cpp
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.cpp
ec44ed0758871db896d9c7d5c09f7084ddea1c7a 28-Jun-2012 John Grossman <johngro@google.com> Utils: Fix a bug in the linear transformation code.

Hand merge from ics-aah

> Utils: Fix a bug in the linear transformation code.
>
> Fix a bug where an incorrect result would be computed if you used the
> linear transformation code to do a reverse transformation (from B's
> domain into A's domain) when the scaler fraction was negative.
>
> Change-Id: I8e5f109314d235a177ab41f65d3c4cd08cff78be
> Signed-off-by: John Grossman <johngro@google.com>

Change-Id: Id90e18f685c61c1a89fd91c32adcf01363b3e8f3
Signed-off-by: John Grossman <johngro@google.com>
tils/LinearTransform.cpp
3443b333f16cd356d7cc7322810fe6188f58f1d9 25-Jun-2012 Johannes Carlsson <johannes.carlsson.x@sonyericsson.com> am db1597a9: Fix shutdown sequence to avoid SIGSEGV when running am command

* commit 'db1597a98958b78dc0d8eced19ae1406382b70d6':
Fix shutdown sequence to avoid SIGSEGV when running am command
db1597a98958b78dc0d8eced19ae1406382b70d6 17-Feb-2011 Johannes Carlsson <johannes.carlsson.x@sonyericsson.com> Fix shutdown sequence to avoid SIGSEGV when running am command

When the app_process is shutting down the main thread will close the
binder fd while pool threads are executing an ioctl (in
IPCThreadState::stopProcess called by AppRuntime::onStarted in
app_main.c).

The binder driver will then return all pending calls in ioctl
without any error and with a command. One of the threads gets a
BR_SPAWN_LOOPER which will create a new thread (the other thread
gets a BR_NOOP). This new thread then calls
vm->AttachCurrentThread. Usually this results in a log entry with
"AndroidRuntime: NOTE: attach of thread 'Binder Thread #3' failed",
but sometimes it also causes a SIGSEGV. This depends on the timing
between the new thread an the main thread that calls DestroyJavaVM
(in AndroidRuntime::start).

If IPCThreadState.cpp is compiled with "#define LOG_NDEBUG 0" the
pool thread will loop and hit the
ALOG_ASSERT(mProcess->mDriverFD >= 0) in
IPCThreadState::talkWithDriver.

Crashes like this has been seen when running the am command and
other commands that use the app_process.

This fix makes sure that any command that is received when the driver
fd is closed are ignored and IPCThreadState::talkWithDriver instead
returns an error which will cause the pool thread to exit and detach
itself from the vm. A check to avoid calling ioctl to a fd with -1
was also added in IPCThreadState::threadDestructor.

Another solution might be to change the binder driver so that it
returns an error when the fd is closed (or atleast not a
BR_SPAWN_LOOPER command). It might also be possible to call exit(0)
which is done when System.exit(0) is called from java.

Change-Id: I3d1f0ff64896c44be2a5994b3a90f7a06d27f429
inder/IPCThreadState.cpp
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.cpp
ui/ISurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
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/Android.mk
ui/BufferQueue.cpp
ui/CpuConsumer.cpp
ui/SurfaceTexture.cpp
i/Fence.cpp
a74cbc06493ed941a8a54f2f1d0074f03fc9aafb 21-Jun-2012 Jesse Hall <jessehall@google.com> Move remaining bits of lockBuffer to dequeueBuffer

FramebufferNativeWindow::dequeueBuffer now waits for the next buffer
to be non-front in addition to being free.

Change-Id: I991f154958cc6b488b1241aba83d1f95a0513b3c
i/FramebufferNativeWindow.cpp
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.cpp
ui/tests/Android.mk
ui/tests/CpuConsumer_test.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
ui/tests/Surface_test.cpp
i/Android.mk
i/FramebufferNativeWindow.cpp
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.cpp
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.cpp
52cf768fc24f7b6b8f4bacf8b630acc1fbee7e2f 08-Jun-2012 Colin Cross <ccross@android.com> Merge "surfaceflinger: replace early suspend with binder call from PowerManager"
bd3ad5b23fa026be35595ebf52633e2d51cfc1ca 08-Jun-2012 Magnus Strandberg <magnus.strandberg@sonyericsson.com> am 1ba24574: Aligning native Parcel implementation to Java.

* commit '1ba24574b2debd3ca012adbbd77f12bed4f2d266':
Aligning native Parcel implementation to Java.
1ba24574b2debd3ca012adbbd77f12bed4f2d266 03-May-2011 Magnus Strandberg <magnus.strandberg@sonyericsson.com> Aligning native Parcel implementation to Java.

The Java implementation of writing the RPC response header
calculates the length of the header including the 4 bytes
specifying the header length but the native implementation
excludes the 4 bytes specifying the length from the header
length.
The native implementation has been aligned to the Java impl.

Change-Id: I325bf272a63152d8fded4cf4e51a906b5a9bfe19
inder/Parcel.cpp
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.cpp
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.cpp
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.cpp
1ea51bf519bdfc0e04daa88b8788f06105c5599b 31-May-2012 Jeff Brown <jeffbrown@google.com> Remove unused statistics code.

Bug: 6559630
Change-Id: Iacdf4bb4c1c125c09305cbd8cb443c7c80cfc010
tils/Looper.cpp
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.cpp
c20bd43b8a376e40e82b398561739f1074196b13 23-May-2012 Jesse Hall <jessehall@google.com> am 138a8d75: am e1082496: Enable SurfaceTexture fence sync for the emulator

* commit '138a8d7510e6ba8a402ffacc38c7cc5bfaa5e571':
Enable SurfaceTexture fence sync for the emulator
e10824965c64663b8878b808206ee382c7ab6af8 21-May-2012 Jesse Hall <jessehall@google.com> Enable SurfaceTexture fence sync for the emulator

The host-accelerated GL ES driver doesn't do the implicit
synchronization required when fence sync isn't used.

Bug: 6515813
Change-Id: I6a667f2db6b519f3557b5abda78775f767841dae
ui/Android.mk
69df645759da5c2be94a04d999b3161a307d2107 21-May-2012 Mathias Agopian <mathias@google.com> am 83f1d839: am 7e477bfe: make sure BufferQueue releases newly acquired buffers on failures

* commit '83f1d83975345bada9886e9ea0ef2b950d90cd77':
make sure BufferQueue releases newly acquired buffers on failures
49b97c857e699c36e1e8c6e448da1cc4df572225 21-May-2012 Mathias Agopian <mathias@google.com> am ac4a4825: am f899e411: Remove misleading and wrong ALOGW

* commit 'ac4a48251180a79ae19e3a7112537c3d0fa260c6':
Remove misleading and wrong ALOGW
455961ef65faa75a9b93e49f892faaa27a413d2b 21-May-2012 Mathias Agopian <mathias@google.com> am e0607f05: am 5aed6843: Merge "fix a corruption in Vector<> when adding new items" into jb-dev

* commit 'e0607f0507fe647bd9262facfaf75146c074e933':
fix a corruption in Vector<> when adding new items
f336014c8dd20223388dc7e00875b4fd5aebdcdd 21-May-2012 Jesse Hall <jessehall@google.com> am bd56aabb: am 515f19da: Merge "Recreate EGLImage for previously used slots" into jb-dev

* commit 'bd56aabb92097546073c8dd8949bb03161e72c56':
Recreate EGLImage for previously used slots
7e477bfe11f8bb31622353b64e85721df3cf9702 19-May-2012 Mathias Agopian <mathias@google.com> make sure BufferQueue releases newly acquired buffers on failures

this prevents SurfaceTexture producer to hang in dequeueBuffer()
when something goes wrong in the consumer.
only the consumer gets an error and the current frame is kept
instead of the new one. the producer is unaware of the problem.

Bug: 6476587
Change-Id: Ie6db5526632aabc3e60229b93dfe29c19491ade4
ui/SurfaceTexture.cpp
f899e4113a5b5545cd91b4625514d0ab0d33751c 19-May-2012 Mathias Agopian <mathias@google.com> Remove misleading and wrong ALOGW

Bug: 6476587
Change-Id: I4345f1100db02786bb50ad83ca7b559cad301706
ui/BufferQueue.cpp
5aed68434d11d609039a89594ad5faa01060a1d6 18-May-2012 Mathias Agopian <mathias@google.com> Merge "fix a corruption in Vector<> when adding new items" into jb-dev
a9611c5d5b61c594b9f5f24b24a665dc1e647f81 18-May-2012 Mathias Agopian <mathias@google.com> fix a corruption in Vector<> when adding new items

would happen when vectors are copied and new items is
added in both vectors. we didn't duplicate the underlying
storage when adding items in vectors.

Bug: 6515797
Change-Id: If544c07d96c05821e088d7f2c9b5736f7e306c31
tils/VectorImpl.cpp
tils/tests/Android.mk
tils/tests/Vector_test.cpp
90ed8508ed89b4fdb5c21d621b29369d31dcb958 17-May-2012 Jesse Hall <jessehall@google.com> Recreate EGLImage for previously used slots

SurfaceTexture would only create an EGLImage for a buffer slot when
BufferQueue returns a GraphicBuffer, i.e. either the slot was acquired
for the first time ever, or the buffer for the slot was reallocated.
But the EGLImage may also need to be re-created for a
previously-acquired buffer if the slot's EGLImage was destroyed during
detachFromContext(); in this case BufferQueue won't return a
GraphicBuffer since SurfaceTexture already has a reference to the
correct buffer.

Bug: 6461693
Change-Id: Ib95d0d757192efe336c5fda0866f857481a6617d
ui/SurfaceTexture.cpp
ui/tests/SurfaceTexture_test.cpp
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
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/Android.mk
ui/CpuConsumer.cpp
ui/tests/Android.mk
ui/tests/CpuConsumer_test.cpp
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.cpp
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/BufferQueue.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
b30f0fb45fdc967a60752cc823693462ba0e7246 14-May-2012 Jamie Gennis <jgennis@google.com> am f15a83f5: SurfaceFlinger: add a crop to the layer state

* commit 'f15a83f5814219c167f87cb8aaea622fc8493499':
SurfaceFlinger: add a crop to the layer state
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/Surface.cpp
ui/SurfaceComposerClient.cpp
i/Rect.cpp
9121ece5fcc0ecd9e07b3b3ce452d8124094d113 11-May-2012 Glenn Kasten <gkasten@google.com> am f30fd014: Merge "Workaround for add_tid_to_cgroup failed to write" into jb-dev

* commit 'f30fd01497a53cbff8692721026c3f7b6830158e':
Workaround for add_tid_to_cgroup failed to write
f30fd01497a53cbff8692721026c3f7b6830158e 11-May-2012 Glenn Kasten <gkasten@google.com> Merge "Workaround for add_tid_to_cgroup failed to write" into jb-dev
2b4eeac037b588be77e2b653800c177e98c83634 11-May-2012 Jamie Gennis <jgennis@google.com> am cd1806e2: libgui: improve some logging and dumping

* commit 'cd1806e210f2633423f0fb14d39fa00d03974223':
libgui: improve some logging and dumping
10cbbd8f1f2899b9dace6436401582bfe36d1cc4 11-May-2012 Glenn Kasten <gkasten@google.com> Workaround for add_tid_to_cgroup failed to write

Bug: 6467109
Change-Id: I6dff8e608d83c7a7c453c25c94ad100f113769b9
tils/Threads.cpp
cd1806e210f2633423f0fb14d39fa00d03974223 10-May-2012 Jamie Gennis <jgennis@google.com> libgui: improve some logging and dumping

This change updates some of the SurfaceTextureClient and BufferQueue logging
and dumping to include the crop, transform and scaling mode. It also removes
the uses of the NO_SCALE_CROP scaling mode enum, which was added by accident in
a previous change.

Change-Id: I62912716a1e48885fb22f12b92678aa13f10fcd9
Bug: 6470541
ui/BufferQueue.cpp
ui/SurfaceTextureClient.cpp
daee0dcb43b49d43d8de25600a65ba21f5c88d5a 10-May-2012 Dianne Hackborn <hackbod@google.com> am 555f89d8: Add callback hack to find out when to reload system properties.

* commit '555f89d8df316cdc5a25dbedb8614c2ac7a5e0a9':
Add callback hack to find out when to reload system properties.
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/Binder.cpp
tils/Trace.cpp
tils/misc.cpp
5ce4b59f6e7682fc50eecf257c71ddeced3ce2fb 09-May-2012 Jamie Gennis <jgennis@google.com> am 82c53806: Merge "SurfaceTexture: improve texture matrix computation" into jb-dev

* commit '82c53806ada5c314124431ec0a49fa15a6b5f1d6':
SurfaceTexture: improve texture matrix computation
1a8bfd09eeb564586494e6c177904207af21880e 09-May-2012 Jamie Gennis <jgennis@google.com> am cae7c0b9: Merge "libgui: Add support for post-xform crops." into jb-dev

* commit 'cae7c0b955efba6986d9e1fe5a68e48e7a2f806b':
libgui: Add support for post-xform crops.
8d1afba6f04e129bb000248c809cdbc84141f9e6 09-May-2012 Jamie Gennis <jgennis@google.com> am 59df82f3: Merge "libui: add the Rect::transform method" into jb-dev

* commit '59df82f355ac4bb3c08f678432a38c3ef29b3637':
libui: add the Rect::transform method
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
dad60f2aec9ec1de00c3f0a2a633b713b3d53924 09-May-2012 Dianne Hackborn <hackbod@google.com> am 34c65888: Change name of system property for traces.

* commit '34c65888d1842315e987045594e2999442c78f1d':
Change name of system property for traces.
ccb97bd8d1ade00028d620a5336c936c9c8cce0a 09-May-2012 Mathias Agopian <mathias@google.com> am ddcb1c2b: Merge "return errors properly in BitTube and SensorEventQueue" into jb-dev

* commit 'ddcb1c2bbd273dff15411c4346bb78d3fa939ab4':
return errors properly in BitTube and SensorEventQueue
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.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
34c65888d1842315e987045594e2999442c78f1d 08-May-2012 Dianne Hackborn <hackbod@google.com> Change name of system property for traces.

This allows the property to be changed from the settings UI.

Change-Id: Ife7424b3549e5bbe51b6ad2fb8e5edde3a9fd608
tils/Trace.cpp
29267fe8495a74893dfce1bd9eceb6448df7abea 08-May-2012 Mathias Agopian <mathias@google.com> return errors properly in BitTube and SensorEventQueue

Change-Id: Idf31179f9fcc666e287c7b01b2007431cb60127d
ui/BitTube.cpp
ui/SensorEventQueue.cpp
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.cpp
44c27a54e8ebadcce81a51c9971d4891cf7e9a60 05-May-2012 Mathias Agopian <mathias@google.com> am 23789ae9: Merge "set a Sensor\'s version properly" into jb-dev

* commit '23789ae95fd24d15c330bc9cae73975566632f97':
set a Sensor's version properly
2ebc4d6d947ef488198b8777d9190c93904b4b9a 05-May-2012 Mathias Agopian <mathias@google.com> set a Sensor's version properly

Bug: 6447433
Change-Id: Iaa5d074a8137d9543ea78c2c6f63a750774b3057
ui/Sensor.cpp
20771abcb1533a192b547d42ca8b56fd17042f19 03-May-2012 Andrew Hsieh <andrewhsieh@google.com> Merge "Fixed 64-bit porting issues"
5c8a608497f12ecea4d6e8f1f286baf57c161ea3 02-May-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a memory leak

This change fixes a memory leak.

Bug: 6414806
Change-Id: I43536689b4219a042749aec2096a1d5c4e664ae3
ui/SurfaceTexture.cpp
52016c18c3c7cbdbc78cbbe370a8401fc01370c5 01-May-2012 Andrew Hsieh <andrewhsieh@google.com> Fixed 64-bit porting issues

Fixed two issues about casting between int and pointer which
cause compilation error in 64-bit mode (eg. for 64-bit emulator)

Change-Id: I5ca9a933a239db73e56d6f27de05aa42bd06a650
tils/ZipFileRO.cpp
6b8bef64f7ed94a45c1b03f65f4bffb9eba86889 25-Apr-2012 Mathias Agopian <mathias@google.com> PixelFormat.UNKNOWN should return an error when queried

Bug: 6294260
Change-Id: Iad6f7bcbdda0a684abca6d9584da611a8b28f7ab
i/PixelFormat.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTexture_test.cpp
f4b322801d872b64f6c7dd2d2ffc1e4f8e993eef 19-Apr-2012 Daniel Lam <dalam@google.com> SurfaceTexture: detachFromContext fixed

Fixed AttachToContextSucceeds test SurfaceTexture test by
not deleting the current texture when cleaning up memory.

Bug: 6363186
Change-Id: Ib886bfe6bb86e25ea4825d18b5008afba6b33eae
ui/SurfaceTexture.cpp
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/BufferQueue.cpp
ui/SurfaceTextureClient.cpp
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.cpp
ui/ISurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
a0db308c3d62301ae41b2e2bcf295c4ee4c7b08e 23-Apr-2012 Mathias Agopian <mathias@google.com> remove SurfaceTexture::connect()

use BufferQueue::connect() instead

Change-Id: I04aab7cf11304bf962cde38470747f3b19ddba42
ui/SurfaceTexture.cpp
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
inder/IPCThreadState.cpp
tils/Threads.cpp
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.cpp
6c47034f5ec30041c54d8f0479b01bce566440df 18-Apr-2012 Eino-Ville Talvala <etalvala@google.com> Fix BufferQueue verbose log

Change-Id: Id80742b5c1fd2960cc2eda3a9ba2db1078df5320
ui/BufferQueue.cpp
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/BufferQueue.cpp
ui/SurfaceTexture.cpp
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.cpp
9aa74dbc7070aa396bc425ea3feae3d26e5393f6 17-Apr-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a memory leak

This change fixes an issue where we were sometimes setting the SurfaceTexture's
EGLDisplay to EGL_NO_DISPLAY in detachFromContext, and then subsequently
abandoning the texture. Abandoning while in the detached state would result in
the eglDestroyImageKHR calls failing, which resulted in a memory leak.

Bug: 6302694
Change-Id: I24c1de0dac029a83c7508075fb8aaeaed96a14ea
ui/SurfaceTexture.cpp
2efa4b2bb0128cd65ea8ade46f46bacaf72c194f 18-Apr-2012 Jamie Gennis <jgennis@google.com> Merge changes Id79430f9,I541d3046

* changes:
BufferQueue: check before tracing buffer index
SurfaceTexture: shrink all sides when cropping
695e331f01b136155b1559b3c878b7c5bb631bc1 17-Apr-2012 Jamie Gennis <jgennis@google.com> BufferQueue: check before tracing buffer index

This change adds a check on ATRACE_ENABLED before calling snprintf to trace the
buffer index.

Change-Id: Id79430f9c69706393efd3d10780a4cc97055e9e0
ui/BufferQueue.cpp
91a6826d6794c19cdedfa58c42f8820c5cf5fe2b 16-Apr-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: shrink all sides when cropping

This change makes SurfaceTexture include an offset for all sides of the crop
region when cropping. This keeps the image centered, to minimize the visual
changes when switching between the texture transform matrix-based cropping and
something that does proper cropping (e.g. HWComposer).

Change-Id: I541d3046fd92e49221b488444df36d490924d1c5
ui/SurfaceTexture.cpp
ui/tests/SurfaceTextureClient_test.cpp
e8db871de7b26bf4fe7ae8d400c4a2c503cfe3a2 17-Apr-2012 Mathias Agopian <mathias@google.com> double checked locking pattern is not safe on SMP

Change-Id: Ie6dd564bdcd45647cb4d62ab259462e3db112576
inder/ProcessState.cpp
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
i/Region.cpp
82ca93bf66e50dcae6f96dc78e88ff24df2b4f32 17-Apr-2012 Mathias Agopian <mathias@google.com> Merge "s/w rendered apps can now use n-buffering (n>2)"
172a62a224967beee9e35e02a5b2fb2705dd2cc0 16-Apr-2012 Mathias Agopian <mathias@google.com> make sure to pass the transform-hint on ANW.connect

this optimization was probably lost during ST refactoring.

Change-Id: I845978c4b718cb91941d15b30484837f19714abe
ui/BufferQueue.cpp
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.cpp
b364be8e55a2ce0b0480e237cb9aac30bd215585 13-Apr-2012 Mathias Agopian <mathias@google.com> fix a typo causing pre-rotation to never work

Change-Id: I8d698ec52d53ef1a553b887c7329413e1f49cc72
ui/BufferQueue.cpp
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/BufferQueue.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTexture_test.cpp
a96b6bdea3d5ece7b1f3bcae40e9fe632ebc8f22 12-Apr-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: work around a compiler bug

This change works around a compiler bug with the GCC 4.6 toolchain.

Bug: 6292211
Change-Id: I004c4750d92a29f193a37d8e605a28fdc3b7f076
ui/tests/SurfaceTexture_test.cpp
c2c380259b2a3fbe7cee1dbd3f2e1e23e9ffd5da 12-Apr-2012 Jamie Gennis <jgennis@google.com> SurfaceTexture: add a test for user sizes & prerotation

This change adds 3 tests for:
- User-overridden buffer size
- Transform hint
- User-overridden buffer size with transform hint

Change-Id: Ib15ea354685e436822c506099613b2bffa7b68c9
ui/tests/SurfaceTexture_test.cpp
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.cpp
f0bc2f1d8d37977bd3aef3d3326a70e9e69d4246 10-Apr-2012 Mathias Agopian <mathias@google.com> use in/out structures for queueBuffer() IPC

Change-Id: Ie125df2444b62a9a2200586a717dca268852afc9
ui/BufferQueue.cpp
ui/ISurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
cac72cdbdf017bc292761a8e3b7195c31a691f49 11-Apr-2012 Mathias Agopian <mathias@google.com> Merge "BufferQueue returns proper code on acquire"
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
d5caca1d0d0a57b4a279a51717d97ee146f00ebd 10-Apr-2012 Mathias Agopian <mathias@google.com> Merge "BufferQueue no longer hardcodes buffer counts"
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.cpp
485744e694fb281c8e23650fbade35ce2e13c46d 06-Apr-2012 Glenn Kasten <gkasten@google.com> Merge "Add a log tag"
8cce8a9a75d172e0077960223ac5f2d06df33892 06-Apr-2012 Jamie Gennis <jgennis@google.com> Merge "Fixed disconnect bug in SurfaceTexture"
84ed8001d49a5b588fb78413655fe16fab5a3539 05-Apr-2012 Glenn Kasten <gkasten@google.com> Add a log tag

Change-Id: If30aa8536130cf6ff9918ce97c5e4e8651ae2fef
tils/Trace.cpp
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.cpp
ui/DisplayEventReceiver.cpp
ui/SensorEventQueue.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/tests/SurfaceTexture_test.cpp
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.cpp
ui/tests/SurfaceTexture_test.cpp
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.cpp
ui/ISurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
9285a16450323d0e91513e2c270c2ac03c8b940c 29-Mar-2012 Jamie Gennis <jgennis@google.com> Merge "Refactored DummyConsumer"
9d61a28d72d85ac0460fb7fba9f85f8a955354c7 27-Mar-2012 Daniel Lam <dalam@google.com> Refactored DummyConsumer

DummyConsumer no longer uses a ProxyConsumerListener

Change-Id: I0a99428b3f9dae82cb47d5da3589de77653f3d7c
ui/DummyConsumer.cpp
9e0b1f880bd790b6e4643387668c74729b891a10 27-Mar-2012 Colin Cross <ccross@android.com> remove libandroid.so from targets that don't need it

pdk builds don't have libandroid.so available. Remove it from
projects that aren't actually using it.

Change-Id: I100dc84aaf8160c1062a122ef6d5aec0534d73fa
ui/tests/Android.mk
87579669e088950692280f677a929b7652e350d1 27-Mar-2012 Jamie Gennis <jgennis@google.com> Merge "Added a DummyConsumer for use with BufferQueue."
e377d7de1894e29006c939641b9a29f696473e0b 27-Mar-2012 Keun young Park <keunyoung@google.com> Merge "add Looper.cpp to build for linux host to use in CTS audio"
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/Android.mk
ui/DummyConsumer.cpp
ui/SurfaceTexture.cpp
b7beba4548989e1ae8793a11e5f0087b4c9d875c 26-Mar-2012 Keun young Park <keunyoung@google.com> add Looper.cpp to build for linux host to use in CTS audio

Change-Id: I59cfe30fd48fcba0bb949033f4d2aef5ce9916e4
tils/Android.mk
0b94dcd03d8764eab7f1fb00f0f1f37904732aa1 26-Mar-2012 Glenn Kasten <gkasten@google.com> mv libcpustats from frameworks/base to /native

OK to lose history

Change-Id: I563fec271e0bc240e4a09a8b9647c7439badd85b
pustats/Android.mk
pustats/CentralTendencyStatistics.cpp
pustats/ThreadCpuUsage.cpp
b0e76f456afaada43ddb0968bb37145219f90cd3 23-Mar-2012 Mathias Agopian <mathias@google.com> remove dependency of EGL on ndk header

Change-Id: Ia6e489b5b4f028864bdf54923e81f604710dd8ad
ui/Surface.cpp
ui/SurfaceTextureClient.cpp
1c6cd3803e405251fce50cc5e501821171fbfafb 23-Mar-2012 Colin Cross <ccross@android.com> frameworks/native: link host libutils against external/zlib

Fix the SDK build by statically linking host libutils against libz
from external/zlib.

Change-Id: Id6805d3c9071e6fa0559024336642b5386cf3c52
tils/Android.mk
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/Android.mk
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/tests/Android.mk
tils/tests/ZipFileRO_test.cpp
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.cpp
ui/tests/SurfaceTexture_test.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
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/Android.mk
tils/Threads.cpp
tils/WorkQueue.cpp
9eeebe39807e65e29b3bb05e7d0e4094bdb564c8 13-Mar-2012 Andrew Hsieh <andrewhsieh@google.com> Merge "Added rules to build f/n/libs/utils in 64-bit: lib64utils.a"
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
93f283dba455346499a8b9d1d82b4ce670db5f78 13-Mar-2012 Andrew Hsieh <andrewhsieh@google.com> Added rules to build f/n/libs/utils in 64-bit: lib64utils.a

It's needed to build four shared libraries in 64-bit for 64-bit
emulator with "-gpu on"
lib64OpenglRender.so
lib64EGL_translator.so
lib64GLES_CM_translator.so
lib64GLES_V2_translator.so

Change-Id: Ia6c05b23df1e9cd9e7f2e94e4cd5bde4be5d336b
tils/Android.mk
74ff8c23f44f1546d0c7004302f4c7ba726ff4c0 13-Mar-2012 Dave Burke <daveburke@google.com> attempt to fix a deadlock in SurfaceTextureClient::disconnect

- condition wasn't signaled if an error happened between acquire and release
- also replace signal with broadcasts

Bug: 6109450
Change-Id: I8ac03c7eca35c9cc04a00ef7fad36bb9cb3fcef6
ui/BufferQueue.cpp
4d0f9674842e12311aa188254e2b6350d1540518 12-Mar-2012 Jeff Brown <jeffbrown@google.com> Merge "Expose the set of enabled tags."
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.cpp
c2c1f2f24cd70bdcf1958157bab38467bf0fdc71 07-Mar-2012 Daniel Lam <dalam@google.com> BufferQueue: fixed issues with buffer slots not available

Bug: 6120953
Change-Id: I61d97d650c8dee0a6d7c19f2f50aa92a5f159095
ui/BufferQueue.cpp
a440dc1562bd3caa3751ca8c9f40c0abea939605 06-Mar-2012 Glenn Kasten <gkasten@google.com> Merge "Remove obsolete references to sched_policy.h"
757507e3a0a25fe83e60c354b6ac0e975662109a 06-Mar-2012 Mathias Agopian <mathias@google.com> Merge "Add ATRACEs for Buffer indices"
4bcb57502c5a7da53ef84228aceeffb54d36e06b 06-Mar-2012 Glenn Kasten <gkasten@google.com> Remove obsolete references to sched_policy.h

As part of scheduling policy cleanup, remove or isolate
all references to the scheduling policy APIs.

Change-Id: Ia1ea2fe711a399039f25217309e061267744b856
inder/IPCThreadState.cpp
3fcee50ffaeb745819356e395408b4d7e3239c13 02-Mar-2012 Daniel Lam <dalam@google.com> BufferQueue: fixed acquire operation

Bug: 6082872
Change-Id: I897dc61eb84fed953e51f97871cd3ae6321505d4
ui/BufferQueue.cpp
546ed2d7d98ce4f1415647913a231a6b4fc6ca66 02-Mar-2012 Mathias Agopian <mathias@google.com> Add ATRACEs for Buffer indices

Change-Id: I44d7a9a9bf03f418cab2a4854583aac9e533daee
ui/BufferQueue.cpp
cf56319d4deb2215e5274f321f7fee71caa1ada1 01-Mar-2012 Mathias Agopian <mathias@google.com> add more tracing for buffer allocation

Change-Id: I8408850d0625985992ef2e2cd0c9f300b1fca293
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
5b067180718d1cd0899d62b26b2539237e579781 01-Mar-2012 Andrew Hsieh <andrewhsieh@google.com> Merge "Fixed several 64-bit porting issues"
67f8b5228e10e99136fcaf994940092f5784cabb 29-Feb-2012 Glenn Kasten <gkasten@google.com> Merge "Shorten thread names"
102d539a4c6e70ec2403bfd2bfef3a3373da15ac 28-Feb-2012 Glenn Kasten <gkasten@google.com> Shorten thread names

prctl(PR_SET_NAME) limits to 15 characters. Before we had names like
"Binder Thread #" and the counter was cut off :-( Also remove redundant
"thread" at end of name; it's always a thread.

Change-Id: I1f99c2730ba0787ed9b59c15914356cddf698e2f
inder/ProcessState.cpp
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/Android.mk
inder/MemoryHeapPmem.cpp
e0dec77b252787d6fb9a489f8a168baf0f546d2b 28-Feb-2012 Mathias Agopian <mathias@google.com> Merge "move CursorWindow from libbinder to libandroidfw"
0ae8c14b4b915b318250484eff9a18700cd934c3 28-Feb-2012 Andrew Hsieh <andrewhsieh@google.com> Fixed several 64-bit porting issues

1. Use "%zu" instead of "%d" for size_t in printf
2. Variable precision specifier (eg. "%.*s") in printf should be of type int.
(iov_len is size_t which is 64-bit when compiled with -m64)
3. Use PRId64 instead of "%lld" to print variables of type int64_t

Change-Id: I2be40a6514b5dffa0038d62b9bccc3401b8756e6
tils/BlobCache.cpp
tils/Debug.cpp
tils/Static.cpp
tils/StopWatch.cpp
89d353a4c52197695f06e37267ade99dc627e7e0 28-Feb-2012 Mathias Agopian <mathias@google.com> move CursorWindow from libbinder to libandroidfw

Change-Id: I3b304e4f74e0d0ec8b20c57296c62449c9a0f792
inder/Android.mk
inder/CursorWindow.cpp
1c8e95cf86f2182986385bc1ee85f13f425f3a3a 24-Feb-2012 Jamie Gennis <jgennis@google.com> Add tracing to various graphics components.

This change adds ATRACE call tracing to BufferQueue,
SurfaceTextureClient, SurfaceTexture, SurfaceFlinger, Layer, and EGL.

Change-Id: I9d75ed26f5a3f0d1af635da38289520134cfbbb7
ui/BufferQueue.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
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.cpp
ui/SurfaceTexture.cpp
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.cpp
ui/DisplayEventReceiver.cpp
ui/IGraphicBufferAlloc.cpp
ui/ISurface.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTexture_test.cpp
ui/tests/Surface_test.cpp
662d0298a109af02a769a8f290f54d12d6d91c63 26-Feb-2012 Mathias Agopian <mathias@google.com> remove dummy libsurfaceflinger_client

Change-Id: Idd67a3f936deae7ba5d1cd5000d191fad271381e
urfaceflinger_client/Android.mk
9b10c47e112afc3600380895046a4a56e34cf6a8 27-Feb-2012 Daniel Lam <dalam@google.com> Revert "Removed dependecies between BufferQueue and SurfaceTexture"

This reverts commit a631399f71dbc7659d2f241968f85d337726ae61
ui/BufferQueue.cpp
ui/SurfaceTexture.cpp
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/Android.mk
tils/Trace.cpp
5f2165f9455d4893b581b73a67c5431f4344b47e 25-Feb-2012 Mathias Agopian <mathias@google.com> remove dependency on android_native{s_priv|buffer}.h

Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
i/FramebufferNativeWindow.cpp
i/GraphicBuffer.cpp
870b8aa15cb5c722b5d8eb7726eaa5f1a7c23d69 25-Feb-2012 Mathias Agopian <mathias@google.com> remove libui dependency on libEGL

Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
i/Android.mk
i/EGLUtils.cpp
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.cpp
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.cpp
ui/SurfaceTexture.cpp
20b05f91926aba1097191318a37693ca606b0367 23-Feb-2012 Dima Zavin <dima@android.com> Merge "libui: add ability to force a framebuffer format for EGL's use"
c6cd27cbf3ddec77cca97e5bd2b257f80ea99706 22-Feb-2012 Dima Zavin <dima@android.com> libui: add ability to force a framebuffer format for EGL's use

This does not actually change the framebuffer format. It merely
fakes this format to surfaceflinger so that when it creates
framebuffer surfaces it will use this format. It's really a giant
HACK to allow interworking with buggy gralloc+GPU driver
implementations. You should *NEVER* need to set this for shipping
devices.

Change-Id: I03eeb5b4d72838ef219df386ecc489fc20ab9cc7
Signed-off-by: Dima Zavin <dima@android.com>
i/Android.mk
i/FramebufferNativeWindow.cpp
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/Android.mk
i/PixelFormat.cpp
4f4c10104e8fbeed5dfeefb542e0bc5392daf9a5 21-Feb-2012 Mathias Agopian <mathias@google.com> frameworks/base refactoring

create the new libandroidfw from parts of libui and libutils

Change-Id: I1584995616fff5d527a2aba63921b682a6194d58
i/Android.mk
i/Input.cpp
i/InputTransport.cpp
i/KeyCharacterMap.cpp
i/KeyLayoutMap.cpp
i/Keyboard.cpp
i/VirtualKeyMap.cpp
i/tests/Android.mk
i/tests/InputChannel_test.cpp
i/tests/InputEvent_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
tils/Android.mk
tils/Asset.cpp
tils/AssetDir.cpp
tils/AssetManager.cpp
tils/BackupData.cpp
tils/BackupHelpers.cpp
tils/ObbFile.cpp
tils/ResourceTypes.cpp
tils/StreamingZipInflater.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/tests/Android.mk
tils/tests/ObbFile_test.cpp
tils/tests/ZipFileRO_test.cpp
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.cpp
tils/AssetDir.cpp
tils/AssetManager.cpp
tils/BackupData.cpp
tils/BackupHelpers.cpp
tils/ObbFile.cpp
tils/ResourceTypes.cpp
tils/StreamingZipInflater.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/tests/ObbFile_test.cpp
tils/tests/ZipFileRO_test.cpp
11b79e1481fcea96d4668b103982f8cd23fd44aa 18-Feb-2012 Jeff Brown <jeffbrown@google.com> Merge "frameworks/base refactoring."
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.cpp
i/InputTransport.cpp
i/KeyCharacterMap.cpp
i/KeyLayoutMap.cpp
i/Keyboard.cpp
i/VirtualKeyMap.cpp
i/tests/InputChannel_test.cpp
i/tests/InputEvent_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
6032a7768227c5c54eee15b253f9cbb14e62039d 17-Feb-2012 Iliyan Malchev <malchev@google.com> libs/utils: replace malloc() + memset() to zero with calloc()

Change-Id: I8bdf4360147e51e35c162856c9a859aed6acac34
Signed-off-by: Iliyan Malchev <malchev@google.com>
tils/BackupHelpers.cpp
tils/ResourceTypes.cpp
1eea29f48dd63dcfee106ae5fabe5740bf766c6e 15-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Refactored query function from SurfaceTexture into BufferQueue"
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.cpp
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.cpp
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.cpp
i/tests/InputChannel_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
cd50850d4825e597b48ff2ad88a8ac33f74ac6cf 07-Feb-2012 Jeff Brown <jeffbrown@google.com> Dispatch multiple touch events in parallel.

This change enables the input dispatcher to send multiple touch
events to an application without waiting for them to be acknowledged.
Essentially this is a variation on the old streaming optimization
but it is much more comprehensive. Event dispatch will stall as
soon as 0.5sec of unacknowledged events are accumulated or a
focused event (such as a key event) needs to be delivered.

Streaming input events makes a tremendous difference in application
performance. The next step will be to enable batching of input
events on the client side once again.

This is part of a series of changes to improve input system pipelining.

Bug: 5963420
Change-Id: I025df90c06165d719fcca7f63eed322a5cce4a78
i/InputTransport.cpp
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.cpp
i/tests/InputChannel_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
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/IServiceManager.cpp
b856052c00dfef70d0957482c72c2979ffc4733a 31-Jan-2012 Daniel Lam <dalam@google.com> Refactored query function from SurfaceTexture into BufferQueue

Change-Id: Id1cb6cc38d01edb4fcfcad867c5a7693bdcc3ab1
ui/BufferQueue.cpp
ui/SurfaceTexture.cpp
d94bb5c8834d134adaa0bf382fb7bf84e918e8f7 09-Feb-2012 Jamie Gennis <jgennis@google.com> Merge "Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue."
626283434bcd447f3110843ec07230e7a401351e 08-Feb-2012 Romain Guy <romainguy@google.com> Merge "Preliminary support for clipRect(Rect, Op)"
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.cpp
6b091c53000c843211c218ce40287a7edca9bc63 23-Jan-2012 Daniel Lam <dalam@google.com> Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue.

Change-Id: I514f6b802f6b49c9ae27bed37bf0b9d23da03c9a
ui/Android.mk
ui/BufferQueue.cpp
ui/SurfaceTexture.cpp
99fe3c6d3dcb6fb26bf283343f946d031b052dff 07-Feb-2012 Mathias Agopian <mathias@google.com> make sure to ignore SIGPIPE in the write side of BitTube

Change-Id: If4f037f4403d3ecbcd5f91248354765fc0fa13cb
ui/BitTube.cpp
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.cpp
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.cpp
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.cpp
bff957f0bd0b7d4085dabaefb0852d428a807134 23-Jan-2012 Daniel Lam <dalam@google.com> SurfaceTexture: use fence sync on omap4 & s5pc110

This change enables the use of the EGL_KHR_fence_sync extension in
SurfaceTexture on omap4 and s5pc110 platforms.

Change-Id: Icad5245bab445413ffb8a7c823c296b678bf3250
ui/Android.mk
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/Android.mk
tils/Threads.cpp
1db13d79518f600d65a4fc006fe42900b890966e 19-Dec-2011 Glenn Kasten <gkasten@google.com> Get AID_GRAPHICS from right place

Change-Id: I97b1754dc7260fec083275c71a8f71ebfb2cefa8
ui/ISurfaceComposerClient.cpp
55ef343331f5efbfe3e01bc9993d94faea236048 07-Jan-2012 Mathias Agopian <mathias@google.com> remove dead/usnused code

Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
i/Android.mk
i/FramebufferNativeWindow.cpp
i/GraphicLog.cpp
6726347e8950d34ae162fb8d6a3680a871d359e2 09-Jan-2012 Steve Block <steveblock@google.com> Rename LOG_ASSERT to ALOG_ASSERT DO NOT MERGE

See https://android-git.corp.google.com/g/157519

Bug: 5449033
Change-Id: I8ceb2dba1b031a0fd68d15d146960d9ced62bbf3
inder/IPCThreadState.cpp
tils/RefBase.cpp
tils/String16.cpp
tils/String8.cpp
tils/VectorImpl.cpp
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
inder/BpBinder.cpp
inder/CursorWindow.cpp
inder/IMemory.cpp
inder/MemoryDealer.cpp
inder/MemoryHeapBase.cpp
inder/MemoryHeapPmem.cpp
inder/Parcel.cpp
inder/ProcessState.cpp
ui/BitTube.cpp
ui/DisplayEventReceiver.cpp
ui/ISurfaceComposer.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
ui/Surface.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
i/FramebufferNativeWindow.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
i/InputTransport.cpp
i/KeyCharacterMap.cpp
i/KeyLayoutMap.cpp
i/Keyboard.cpp
i/Region.cpp
i/VirtualKeyMap.cpp
tils/Asset.cpp
tils/AssetManager.cpp
tils/BackupHelpers.cpp
tils/BlobCache.cpp
tils/FileMap.cpp
tils/Looper.cpp
tils/PropertyMap.cpp
tils/RefBase.cpp
tils/ResourceTypes.cpp
tils/StreamingZipInflater.cpp
tils/Threads.cpp
tils/Tokenizer.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
32397c1cd3327905173b36baa6fd1c579bc328ff 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
inder/Binder.cpp
inder/CursorWindow.cpp
inder/IServiceManager.cpp
inder/MemoryDealer.cpp
inder/Parcel.cpp
inder/ProcessState.cpp
ui/SensorManager.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
i/Input.cpp
tils/Asset.cpp
tils/AssetManager.cpp
tils/BackupHelpers.cpp
tils/BlobCache.cpp
tils/FileMap.cpp
tils/Looper.cpp
tils/ObbFile.cpp
tils/PropertyMap.cpp
tils/ResourceTypes.cpp
tils/SystemClock.cpp
tils/Threads.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
c267bab3d1c7980a03541283e88c0b6df378b826 05-Jan-2012 Steve Block <steveblock@google.com> Merge "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE"
2adea706d445e837053403a00286a21c00e22649 05-Jan-2012 Glenn Kasten <gkasten@google.com> Merge "Use the standard CC_LIKELY and CC_UNLIKELY macros"
99ed22412db547c59d3da08114d9d5a586442b30 15-Dec-2011 Glenn Kasten <gkasten@google.com> Use the standard CC_LIKELY and CC_UNLIKELY macros

Several source files privately defined macros LIKELY and UNLIKELY in terms
of __builtin_expect. But <cutils/compiler.h> already has CC_LIKELY and
CC_UNLIKELY which are intended for this purpose. So rename the private
uses to use the standard names.

In addition, AudioFlinger was relying on the macro expanding to extra ( ).

Change-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
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
inder/IPCThreadState.cpp
inder/IServiceManager.cpp
inder/Parcel.cpp
ui/SurfaceTexture.cpp
tils/Asset.cpp
tils/AssetManager.cpp
tils/BackupData.cpp
tils/BackupHelpers.cpp
tils/ObbFile.cpp
tils/ResourceTypes.cpp
tils/Static.cpp
tils/ZipFileRO.cpp
9d4536835248525f32f1504a3d28d5bbfa0a2910 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
inder/IMemory.cpp
inder/MemoryDealer.cpp
inder/MemoryHeapBase.cpp
inder/Parcel.cpp
inder/PermissionCache.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
i/GraphicBufferAllocator.cpp
i/Input.cpp
i/InputTransport.cpp
i/KeyCharacterMap.cpp
i/KeyLayoutMap.cpp
i/Region.cpp
i/VirtualKeyMap.cpp
i/tests/region/region.cpp
tils/Asset.cpp
tils/AssetManager.cpp
tils/BackupData.cpp
tils/BackupHelpers.cpp
tils/CallStack.cpp
tils/FileMap.cpp
tils/Looper.cpp
tils/PropertyMap.cpp
tils/RefBase.cpp
tils/ResourceTypes.cpp
tils/StopWatch.cpp
tils/SystemClock.cpp
tils/Tokenizer.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/tests/BasicHashtable_test.cpp
c4cd5301d4978dda5266194625ef4fd7f9d3dde4 14-Dec-2011 Ji-Hwan Lee <jihwan@google.com> Fix invalid madvise() during concurrent alloc/dealloc of MemoryDealer

Currently, madvise(MADV_REMOVE) is called after deallocation.
Another thread might allocate (and even write) the same region between
deallocation and madvise(), in which case the new thread will fail to read
what it have written. So, call deallocate() after madvise(MADV_REMOVE).

Bug: 5654596
Change-Id: I26f36cd6013de499090768a0ddc68206a4a68219
inder/MemoryDealer.cpp
ace62f2b79792222f964e2465821539da2813c06 13-Dec-2011 Jamie Gennis <jgennis@google.com> am 74e0fcae: am a1dee3f5: Merge "SurfaceTexture: fix a verbose-log compile error" into ics-mr1

* commit '74e0fcaed1cd20ae8632224ff5a5404ff1a6e497':
SurfaceTexture: fix a verbose-log compile error
988637e559cb76d53568b93571e41c728f2f1b1d 10-Dec-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a verbose-log compile error

Change-Id: I045231207e068d950bb0cb5085717af5d9454ed1
ui/SurfaceTexture.cpp
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.cpp
ui/IDisplayEventConnection.cpp
a63ee4c2fdc4869fd1169d22e79ae9f1220c5bdb 02-Dec-2011 Ben Cheng <bccheng@google.com> am f1a4c48b: am e21dabf6: Merge "Initialize bwr.read_buffer in IPCThreadState::talkWithDriver." into ics-mr1

* commit 'f1a4c48b886d53e2afceb0620215e3792af79fd5':
Initialize bwr.read_buffer in IPCThreadState::talkWithDriver.
d640f89205e17d9f19b11c2954862f0945a40e7b 02-Dec-2011 Ben Cheng <bccheng@google.com> Initialize bwr.read_buffer in IPCThreadState::talkWithDriver.

I/valgrind( 1309): ==1310== Syscall param
ioctl(BINDER_WRITE_READ).read_buffer points to uninitialised byte(s)
I/valgrind( 1309): ==1310== at 0x480E670: __ioctl (__ioctl.S:10)
I/valgrind( 1309): ==1310== Address 0xbda651b4 is on thread 1's stack

Change-Id: I02893df7b5786b6b2dbd9659f5706d7171295ab2
inder/IPCThreadState.cpp
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
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.cpp
fe27e2f4688301629f38a06c34e3466c9889b3b1 12-Nov-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add a blit-to-FBO test

This change adds a test for blitting (via GL rendering) from a
SurfaceTexture to an FBO.

Change-Id: Ib3386fcc3f37153277f3e37a26347441bb80ab58
ui/tests/SurfaceTexture_test.cpp
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/Android.mk
ui/DisplayEventReceiver.cpp
ui/IDisplayEventConnection.cpp
ui/ISurfaceComposer.cpp
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
ui/Android.mk
ui/ISurfaceComposer.cpp
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
ui/Android.mk
ui/ISurfaceComposer.cpp
3ad3807a5c4039618175c042a1121c926c2c62e9 29-Nov-2011 Mathias Agopian <mathias@google.com> BitTube::read now handles EAGAIN

Change-Id: Iacda2386342ba0727bbf278f6c597488d5467bb8
ui/BitTube.cpp
41f673c9b3aac0d96e41c928845c39186d565212 18-Nov-2011 Mathias Agopian <mathias@google.com> split ComposerService out of SurfaceComposerClient.h

Change-Id: I1eb691f7ca263d5895d871ab675bb5826e0323c6
ui/SurfaceComposerClient.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/Surface_test.cpp
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/Android.mk
tils/BasicHashtable.cpp
tils/primes.py
tils/tests/Android.mk
tils/tests/BasicHashtable_test.cpp
4265ed75f75d52644837827aeec9359d9079dd09 22-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Use libcorkscrew to format the stack trace."
6b7c5da722128a89fb939bf3677d9cc04421e29f 22-Nov-2011 Mathias Agopian <mathias@google.com> am cc4d02e0: am 07a2d831: Merge "don\'t report an error when disconnecting from an abandoned surfacetexture" into ics-mr1

* commit 'cc4d02e0cbb99341a0508838c88eeef53180fdfd':
don't report an error when disconnecting from an abandoned surfacetexture
93a098fb6eb709aa404f1fb9febabddd2c35e785 22-Nov-2011 Mathias Agopian <mathias@google.com> am 8390cf39: am 8646cd42: Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1

* commit '8390cf39f8a4f74f7baa91d23cba06894a3fb9b5':
enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
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
504f982fd3bbbf14645c2ae8b2ab37ce2081f8e1 22-Nov-2011 Jeff Brown <jeffbrown@google.com> Use libcorkscrew to format the stack trace.

Change-Id: I3a5439ada76bc77c2dd491eaed2272e16a811cc7
tils/CallStack.cpp
7723773df352e413f30c8c49c188446c43f25cd3 22-Nov-2011 Mathias Agopian <mathias@google.com> Merge "don't report an error when disconnecting from an abandoned surfacetexture" into ics-mr1
75cf5a7480386856c76d40b301acf94eb329f5da 22-Nov-2011 Mathias Agopian <mathias@google.com> Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1
e3603d7d090ba092c76f7e1c8ace3841154ab1a1 20-Nov-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a couple tests

This change fixes some robustness issues with the
EglDestroySurfaceUnrefsBuffers and
EglDestroySurfaceAfterAbandonUnrefsBuffers tests. The tests previously
depended upon GL implementation details that should not have been relied
upon.

Change-Id: I37fd43b56568efe1dbe69d85e892be8a1cf44d20
ui/tests/SurfaceTexture_test.cpp
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.cpp
ui/tests/SurfaceTexture_test.cpp
6f4cdfe0dbe50d1cc0ce8c03451ab261e8ea3232 20-Nov-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: clean up some tests

This change cleans a few things up in the SurfaceTexture tests:
- Wraps a few long lines.
- Refactors the multithreading portions of SurfaceTextureGLToGLTest into
a new test fixture called SurfaceTextureGLThreadToGLTest.
- Changes some of the tests that were creating their own EGLSurface to
use the SurfaceTextureGLToGLTest fixture.
- Reorders the test functions so that they are immediately below to the
test fixture that they use.

Change-Id: I0491ce3528a7ff2b4f1e83602ba290269c087297
ui/tests/SurfaceTexture_test.cpp
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
8b8a004148f2e6337dbf02ef8046d800bf300e89 18-Nov-2011 Mathias Agopian <mathias@google.com> don't report an error when disconnecting from an abandoned surfacetexture

this happens often with CPU Surfaces, which disconnect long
after their surfacetexture has been abandoned.

Change-Id: If49da03b72f99130e01b2b9bcbd444bb38f7ed4e
ui/SurfaceTexture.cpp
7c6eba666917308a64fadb0f0e08d7c041311976 15-Nov-2011 Mathias Agopian <mathias@google.com> enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices

this flag should be enabled for all targets, but currently
some have issues with it, so we're turning it on only for
tested targets.

this will hopefully resolve some performance issues.

Bug: 5553562, 5631630
Change-Id: I54c7a9e2068586898ab13e405d95534669260537
ui/Android.mk
ui/SurfaceTexture.cpp
6285c6cf1076e15bef12da8800ed64e4bd6e2ec8 18-Nov-2011 Mathias Agopian <mathias@google.com> Merge "attempt to fix bug 5313580" into ics-mr1
b963e22ca29b5df1f527a5d4f35ba93788304e49 18-Nov-2011 Jamie Gennis <jgennis@google.com> am 9da22d2c: am 2ba13186: Merge "SurfaceTexture: fix a bug with buffer reallocation" into ics-mr1

* commit '9da22d2cc31069d86a92021d8540bb5a77c9591b':
SurfaceTexture: fix a bug with buffer reallocation
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.cpp
e984dd11c1c48bde7ce1054692db9a065f4df5f0 18-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: fix a bug with buffer reallocation" into ics-mr1
aaa3ecff4b49e0918c252e02b3aa18a3ad0d503d 18-Nov-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a bug with buffer reallocation

This change fixes an issue involving buffer reallocation and the
ALLOW_DEQUEUE_CURRENT_BUFFER mode in SurfaceTexture. The bug happened
when the buffer slot currently attached to the GL texture was selected
for dequeuing, but the dequeue operation caused the buffer to be
reallocated. Because the buffer is new, the image producer could fill
the buffer and queue it before an updateTexImage call, which would
result in the "slot %d is current" error in queueBuffer.

Bug: 5631630
Change-Id: Icdd8bc5cad3c7db43953446d9be2603aaea11a8d
ui/SurfaceTexture.cpp
1c46c42c165401566e037d3536480bd2c8c0f811 17-Nov-2011 Mathias Agopian <mathias@google.com> am abdade71: am 69c17a11: Merge "Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"" into ics-mr1

* commit 'abdade71bc17153696fe2abe281c5a3b0c2e5abe':
Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"
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
c554d2b8ad94a367bc40d25666ab2c51ae95276f 17-Nov-2011 Mathias Agopian <mathias@google.com> Merge "Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"" into ics-mr1
c21180ee67d645ebe0a0f381e18790609016f6c6 17-Nov-2011 Mathias Agopian <mathias@google.com> Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"

This reverts commit e7758be6da85728df6b4215f413660c67c5a9740.

Seemed to cause failures un SurfaceTexture.

Bug: 5627450
ui/Android.mk
ui/SurfaceTexture.cpp
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.
032458cbabfb2854bd5ba0b167fffc3383b3944a 16-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Eliminate hw.keyboards system properties." into ics-mr1
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/KeyCharacterMap.cpp
i/Keyboard.cpp
029f760674b90a1265249b0ea4c9d5d42e2b4454 15-Nov-2011 Mathias Agopian <mathias@google.com> am 556a406c: am 3aa684ec: Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1

* commit '556a406cf4dd8a7faa318e0d522d899f8b9da7dc':
enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
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.cpp
251ce852cc1f29808ed9537dae00a9ef7e58edcf 15-Nov-2011 Mathias Agopian <mathias@google.com> enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices

this flag should be enabled for all targets, but currently
some have issues with it, so we're turning it on only for
tested targets.

this will hopefully resolve some performance issues.

Bug: 5553562
Change-Id: I939992b4cd0debea980dec0127c72be2dff33af8
ui/Android.mk
ui/SurfaceTexture.cpp
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
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/tests/SurfaceTexture_test.cpp
d341c7178fffc7ad5b57645c2bcf5a395ca95591 05-Nov-2011 Jeff Brown <jeffbrown@google.com> Fix possible leak in Parcel::writeDupFileDescriptor.

Also, check the result of dup() just in case we got EMFILE
or something.

Change-Id: I18e627bd84f4c7941813fe1c2bad2cdd9e5afa83
inder/Parcel.cpp
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.
343c59cc8d67a6be6b6a1a8dfc4376855589ea9a 05-Nov-2011 Jeff Brown <jeffbrown@google.com> Merge "Slight change to the unwinder API."
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.cpp
2ab79e755ba0c4d4f0a6b8a969baa630ce71f81e 04-Nov-2011 Jeff Brown <jeffbrown@google.com> Slight change to the unwinder API.

Change-Id: I5424de76a21b74842e004e0281936b3f492d3c7a
tils/CallStack.cpp
eade85c60c8b2a199d45a02ea7496409d771b25d 03-Nov-2011 Jamie Gennis <jgennis@google.com> am c5ce130f: Merge "SurfaceTexture: various logging improvements" into ics-mr1

* commit 'c5ce130f658303299bf55091373951f7fd33ae36':
SurfaceTexture: various logging improvements
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
9f8b1cecc8e812f74591633c81c11baa6eeb8497 03-Nov-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: various logging improvements" into ics-mr1
6ee96ad6a3da260f2473f78ea0582fd0970cf156 19-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: various logging improvements

Change-Id: I1f7216276547a1e9f9343c88c6cc1c24efcdcdbc
ui/SurfaceTexture.cpp
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.cpp
tils/tests/BlobCache_test.cpp
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.cpp
9897b4613881b272b5a0ce82eb127d2350550dad 30-Oct-2011 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 2d280f75 to ics-mr1

Change-Id: I459e1cb0b60fb94dfb12862fedb9f8d949c226a7
27a852b620c54e4c722d8af3d954db169fdd7554 28-Oct-2011 Jeff Brown <jeffbrown@google.com> Improve the slow query instrumentation.

On user-debug and eng builds, you can set the
"db.log.slow_query_threshold" system property to queries that
take longer than the specified number of milliseconds.
Set it to 0 to log all queries.

This property has been around for a while but it was implemented
poorly. In particular, it *changed* the behavior of the query
by calling getCount() while holding the Db connection.
In normal operation, the query will not actually run until later.

By putting the timing logic into fillWindow() instead, we ensure
that we only measure queries that actually ran. We also capture
cases where the cursor window gets filled multiple times.

Bug: 5520301
Change-Id: I174f5e1ea15831a1d22a36e9a804d7755f230b38
inder/CursorWindow.cpp
20b3da9a01f73cf60f39e837ee5bef73ce078b7c 27-Oct-2011 Jeff Brown <jeffbrown@google.com> Optimize fillWindow to improve reverse-seek performance.
Bug: 5520301

When an application requests a row from a SQLiteCursor that
is not in the window, instead of filling from the requested
row position onwards, fill from a little bit ahead of the
requested row position.

This fixes a problem with applications that seek backwards
in large cursor windows. Previously the application could
end up refilling the window every time it moved back
one position.

We try to fill about 1/3 before the requested position and
2/3 after which substantially improves scrolling responsiveness
when the list is bound to a data set that does not fit
entirely within one cursor window.

Change-Id: I168ff1d3aed1a41ac96267be34a026c108590e52
inder/CursorWindow.cpp
7796e962da502e0adaff0d407023f731a83a422f 26-Oct-2011 Mathias Agopian <mathias@google.com> Merge "Rename SensorChannel to BitTube"
6807e59e0ff943cc6225d46e3c33a8a7eae9b3d7 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
inder/BpBinder.cpp
inder/Parcel.cpp
inder/ProcessState.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTexture_test.cpp
tils/Asset.cpp
tils/AssetManager.cpp
tils/BlobCache.cpp
tils/FileMap.cpp
tils/RefBase.cpp
tils/ResourceTypes.cpp
tils/StreamingZipInflater.cpp
tils/VectorImpl.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
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/IPCThreadState.cpp
inder/Parcel.cpp
tils/Threads.cpp
tils/Timers.cpp
e27d62bbf24272d72fcbad5e6f8b69608151205b 20-Oct-2011 Jeff Brown <jeffbrown@google.com> Use libcorkscrew for stack unwinding.

Change-Id: Iee1ee5a2018ab8cfc1ce12ec2a124809245eaa02
tils/Android.mk
tils/CallStack.cpp
5cae0d0699a169e468fff3e21165f35db12f2cde 21-Oct-2011 Mathias Agopian <mathias@google.com> Rename SensorChannel to BitTube
ui/Android.mk
ui/BitTube.cpp
ui/ISensorEventConnection.cpp
ui/SensorChannel.cpp
ui/SensorEventQueue.cpp
b5fe317b91623f63523ff9ffe82ddd8a5b3c6ef3 20-Oct-2011 Iliyan Malchev <malchev@google.com> add -ldl to host executables

This fixes the build on Linux when RefBase is compiled with reference tracking
enabled.

Change-Id: I3e931e0b463ce836f6fdb30c37068d77144631a3
Signed-off-by: Iliyan Malchev <malchev@google.com>
tils/Android.mk
83d3fa10d5d53308fafee8e702ac4dc86dc8383f 20-Oct-2011 Jesse Hall <jessehall@google.com> Merge "SurfaceTexture: add tests for buffer leaks"
79e3125d56cca5aba88097b5ccd4f1e128bc8141 20-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add tests for buffer leaks

This change adds two tests to ensure that eglDestroySurface does not
cause Gralloc buffers to be leaked.

Bug: 5472838
Change-Id: Id675d74e34b6479f2d68314d40de94aede69f142
ui/tests/SurfaceTexture_test.cpp
baf0e06dea2300ed79fb5874b706eb4115fc2ad7 19-Oct-2011 Jamie Gennis <jgennis@google.com> am 827d069a: Merge "SurfaceTexture: free buffers when disconnect fails" into ics-mr0

* commit '827d069afb297b6d96c995c03da9d4ee17e60679':
SurfaceTexture: free buffers when disconnect fails
13c5ca3b5562ac673a08b17790d89460729c6e7d 19-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: free buffers when disconnect fails

This change makes SurfaceTextureClient free its references to all the
buffers even when the disconnect binder call to the SurfaceTexture
fails.

Bug: 5384823
Change-Id: Iad787fbae5fda4769546fd52276e4e4030c62be6
ui/SurfaceTextureClient.cpp
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
31218730d4d3f36d897ba6020c629d6b29ad0d5d 17-Oct-2011 Jamie Gennis <jgennis@google.com> am 3a735078: Merge "SurfaceTexture: report binder transaction failures" into ics-mr0

* commit '3a73507801b56da83140fad14a1a3d4eced213d9':
SurfaceTexture: report binder transaction failures
2532077bb664860b7177b1e932af1448881574e5 17-Oct-2011 Mathias Agopian <mathias@google.com> am fefffc68: Merge "add logging and defensive code when initializing sensors" into ics-mr0

* commit 'fefffc685ab703b44f6e32b5ec45292b22d370a3':
add logging and defensive code when initializing sensors
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
8e42e48f4ea6bd8988a2ab5667601564d6f6b9ee 17-Oct-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: report binder transaction failures" into ics-mr0
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.cpp
be58de0d627fa0ecb087eeff95da13c783bf2392 16-Oct-2011 Mathias Agopian <mathias@google.com> add logging and defensive code when initializing sensors

Bug: 5445240
Change-Id: I9dc7d27d3e8b4f15989488859831526d8c7ded3b
ui/SensorManager.cpp
9f61c8adca51fd3bf04f59864c029693b7ff79a1 15-Oct-2011 Jeff Brown <jeffbrown@google.com> Merge "Deprecate local-only CursorWindows."
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
ui/ISurfaceComposer.cpp
ui/SurfaceComposerClient.cpp
8a29ff2a356816694c695db70460f93c7fb4ae6f 15-Oct-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: report binder transaction failures

This change fixes the ISurfaceTexture error reporting for the case where
the binder transaction fails.

Bug: 5082219
Change-Id: I6517532992e3a76dc9eb5e4a36af43a562391aaa
ui/ISurfaceTexture.cpp
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.cpp
c901ca0abc0a7b90deb8754ae48542de0bfd1567 12-Oct-2011 Jamie Gennis <jgennis@google.com> Surface: fix a protected buffer test

This change renames the ScreenshotsOfProtectedBuffersFail to
ScreenshotsOfProtectedBuffersSucceed and changes the test to verify that
the screenshot succeeds.

Change-Id: I960bb8eed4211578cb4dc446b08392937da064b6
ui/tests/Surface_test.cpp
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
ui/ISurfaceComposer.cpp
ui/SurfaceComposerClient.cpp
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.cpp
inder/Parcel.cpp
de27227026e01c26a9debef77e4e268f242e713e 07-Oct-2011 Jeff Brown <jeffbrown@google.com> Fix regression in CursorWindow.copyStingToBuffer.
Bug: 5332296

Change-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99
tils/Unicode.cpp
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.cpp
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.cpp
5707dbf15d0b44c88fbaa6dd271097f2d42932e0 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Transfer large bitmaps using ashmem.
Bug: 5224703

Change-Id: If385a66adf4c6179a0bb49c0e6d09a9567e23808
inder/Parcel.cpp
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.cpp
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.cpp
55b81b10aae6a73304609b65249933a4f09e9876 29-Sep-2011 Mathias Agopian <mathias@google.com> may fix the build

Change-Id: I065b1e6652f0e800ba5674a6d9aa954c3ac6c790
tils/Android.mk
ed984d9406b5a4062db93319e6f94d5f9fd19648 27-Sep-2011 Jamie Gennis <jgennis@google.com> Merge changes Ib302d79e,Ib4ee085f

* changes:
SurfaceFlinger: set layer names on SurfaceTextures
SurfaceTexture: add name support
0857c8f7f1905008b285a5473c906639fdd0288b 27-Sep-2011 Mathias Agopian <mathias@google.com> Region cannot handle malformed Rects. Abort the Region op in that case.

Bug: 5331198, 5334829
Change-Id: Ib1fdbf6fb291e7f1191ccfe16b5ff29d73e7a474
i/Region.cpp
8acda7803417cc38cb284298fcb86b479d11fdb5 25-Sep-2011 Bart Sears <bsears@google.com> Revert "Transfer large bitmaps using ashmem. Bug: 5224703"

This reverts commit 56c58f66b97d22fe7e7de1f7d9548bcbe1973029

This CL was causing the browser to crash when adding bookmarks, visiting the bookmarks page, and sharing pages (see bug http://b/issue?id=5369231
inder/Parcel.cpp
f4c1088d750a182bd85889c86b3c9ef4ba772405 24-Sep-2011 Jeff Brown <jeffbrown@google.com> Transfer large bitmaps using ashmem.
Bug: 5224703

Change-Id: Ic7481dd9f173986f085a8bbdcc59bbe9830d7a44
inder/Parcel.cpp
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.cpp
0450452e8c6ea48341d57d8bc51d56252e9806b8 20-Sep-2011 Mathias Agopian <mathias@google.com> Make sure Region handles invalid rectangles

the boolean operation code assumes rects are valid and
could go into an infinite loop if not. make sure we
abort before that happens.

Bug: 5331198, 5334829
Change-Id: Iee4e3b838ecf504ef21f7447fd2e34a56e7dc3f8
i/Region.cpp
8756f2ec60e1fd743cfca674fa1de84eb948b58a 17-Sep-2011 Jeff Brown <jeffbrown@google.com> am 79aa4030: Merge "Can\'t stop the fling! Bug: 5335420" into ics-factoryrom

* commit '79aa40302b643ee6c6227ee354a1b1378e721568':
Can't stop the fling! Bug: 5335420
df9440f62fa09773e0b5bd1ecf7815e8f7fb844c 17-Sep-2011 Jeff Brown <jeffbrown@google.com> Can't stop the fling!
Bug: 5335420

Fixed a bug in VelocityTracker where the output velocity was
not being set to zero when not available.

Added a condition to ensure that the velocity is at least
the minimum fling velocity before continuing. If not, then
the user is trying to stop the fling and scroll more precisely.

Change-Id: I36634b0c3f7a9a09cf20c33f71d41163a8e33eed
i/Input.cpp
b74b87c51627f6dcbef7fa408def75b01759730e 16-Sep-2011 Mathias Agopian <mathias@google.com> Merge "cleanup: fix typos in logs"
06649fece4d97a89c6b197a570b6012e9ad9d228 16-Sep-2011 Mathias Agopian <mathias@google.com> cleanup: fix typos in logs

Change-Id: Ib5744564a873ea2b84100174673dc4d3ae109fcf
ui/SurfaceTexture.cpp
9dbb77d04b12a3f45ebd156087f6ccb478b35a87 16-Sep-2011 Andreas Huber <andih@google.com> Fix androidGetThreadPriority for non-pthread configurations.

related-to-build

Change-Id: Ic865af0865906f96fd615a56a030c8e3adaf13c4
tils/Threads.cpp
1d60b9629c022811e5efca71eb4d03f8b16a4cb0 15-Sep-2011 Andreas Huber <andih@google.com> A new API "androidGetThreadPriority"

Change-Id: I6baeead8c70460863343fd557250635fb1e6a170
tils/Threads.cpp
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.cpp
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.cpp
aefc9cda45adb00ec1cb2c8fbd03c50fd48499fb 31-Aug-2011 Andy McFadden <fadden@android.com> Resurrect verbose binder logging

Updated the command name lists, and masked off the additional bits in
the command word when doing the name lookup.

Made descriptor values easier to grep for and consistent with kernel
output (i.e. decimal rather than hex). Attempt to show transaction
descriptors as such (they're in a union with a pointer).

Also, the writeLines() function in Static was using a no-op
logging call to write an iovec. It looks like all callers are using
N=1, so I just added a log for the first string.

Bug 5155269

Change-Id: I417b8d77da3eb6ee1d2069ba94047210f75738bc
inder/IPCThreadState.cpp
tils/Static.cpp
7f739ae68c57435964f69c397ec0cf344d0701a2 05-Sep-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: fix a test deadlock"
66378c63e6f1c51147f21d098a5568e0724c152d 03-Sep-2011 Pannag Sanketi <psanketi@google.com> Error check in queuebuffer in SurfaceTextureClient

In queuebuffer, if the surfacetexture returns an error,
surfacetextureclient should check for that and pass on the error.

Change-Id: Ie6d70e779fac0702f372eb4df5ecb655280875ee
ui/SurfaceTextureClient.cpp
bc82a96491d545b4a2a44ff536bd4f06b724372d 31-Aug-2011 Xia Wang <xiaw@google.com> Merge "Integreate surfacetexture test into our continuous test framework."
4c875166c8d186de29e254c28261ac576930ab98 31-Aug-2011 Xia Wang <xiaw@google.com> Integreate surfacetexture test into our continuous test framework.

Change-Id: Ic481f3a431166851947676d676749543c7afbbf7
ui/tests/Android.mk
e68a52b0a2fbf239c23e622bda45ae50ee7e82ab 31-Aug-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix a test deadlock

This change fixes a test issue that resulted in a deadlock.

Change-Id: I4729e8dd47c8f5fea49bfeff3cea58627ead6d04
Bug: 5174876
ui/tests/SurfaceTexture_test.cpp
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
ui/SurfaceComposerClient.cpp
940673f92ed8a0f4e6448b86ec08cee91ef3fc45 29-Aug-2011 Glenn Kasten <gkasten@google.com> Merge "Add C++ thread API androidGetThreadSchedulingGroup"
70e3f81d0fbc92394928c44fb0137787a8595665 26-Aug-2011 Mathias Agopian <mathias@google.com> make sure to re-initialize SurfaceTexture to its default state on disconnect

this caused problems where the NavigationBar would disapear or be
drawn in the wrong orientation.

Change-Id: I083c41338db83a4afd14f427caec2f31c180d734
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
87a96ea9eae3f998381735ec65496e256f871c3c 24-Aug-2011 Mathias Agopian <mathias@google.com> Fix an issue where Surface::lock() would never update the output region

this bug was introduced recently. in some situations Surface::lock()
is not able to preserve the content of the back buffer and needs
to tell the caller to redraw everything.

Bug: 5186460
Change-Id: I14e03939ddfc1b7ad2a8b99ad79435314c60e78e
ui/Surface.cpp
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
ui/ISurfaceComposer.cpp
ui/Surface.cpp
ui/SurfaceTextureClient.cpp
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.cpp
3902be629bd94de62db0039004d0b25556227cbf 17-Aug-2011 Mathias Agopian <mathias@google.com> fix a small race condition when returning the default width/height of a SurfaceTexture

Change-Id: I581bf609505dfb5d4ec5957b2ef2c77df6cfb15f
ui/SurfaceTexture.cpp
f9606df42b7b43a6eaa4abd989fef4b7c27a6eae 16-Aug-2011 Mathias Agopian <mathias@google.com> revert last change to EGLUtils::selectConfigForPixelFormat

EGLUtils::selectConfigForPixelFormat is only used by
command line tests and it simply selects a config
based on the EGL_NATIVE_VISUAL_ID.
i/EGLUtils.cpp
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.cpp
4925ee11f980cdeba1166fe07a6b59ff88b25d5c 11-Aug-2011 Dave Burke <daveburke@google.com> Revert "error out when SurfaceTexture APIs are called while not connected"

This reverts commit a04cda9986366ab480ad8008c4d923271b05d78e.

Conflicts:

include/gui/SurfaceTexture.h
libs/gui/SurfaceTexture.cpp

Change-Id: Ib655016462c496ee2a27f7cb33a6e8b18cfe684a
ui/SurfaceTexture.cpp
3477588d13a8dfb4fefe01a8c81c0c74f8f5c72f 11-Aug-2011 Mathias Agopian <mathias@google.com> Merge "Read leftover parcel data when a parceled Surface is found in the cache."
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.cpp
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.cpp
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.cpp
e5d6eb81e29e0fb914ce8fdaae17190b0dbae1a1 10-Aug-2011 Ted Bonkenburg <tedbo@google.com> Read leftover parcel data when a parceled Surface is found in the cache.

This fixes an issue where the Surface readFromParcel code was leaving
unread parcel data in the case where the Surface was re-used from the
sCachedSurfaces cache. On a cache miss the code is creating a new
Surface from the remainder of the parcel data. On a hit that data was
being left unread, so anything that parcels a Surface followed by
additional arguments may end up reading the wrong values.

Change-Id: I25365159d945c125bd1fcc9f17e39a4f00aece55
ui/Surface.cpp
2db6f0a40b7f4d903f546e94af762f141953ebb2 10-Aug-2011 Mathias Agopian <mathias@google.com> fix a crasher in dumpsys

Bug: 5141729
Change-Id: Ib104d49c8660621180966be099198fe29c5bebf5
ui/SurfaceTexture.cpp
b0c15c9908d9e61554b04c7469b62618e7778167 09-Aug-2011 Mathias Agopian <mathias@google.com> free all buffers when ANativeWindow::disconnect is called

Change-Id: Ie06e73e5b44398cda9e99876f78175b5eef765dc
ui/SurfaceTexture.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
af08d8ab6dd2188544ca4f038f33c1c4ed8447cf 09-Aug-2011 Mathias Agopian <mathias@google.com> Merge "improve dumpsys SurfaceFlinger output"
e47498f8f258967ff62d070f08ff2dadd4ae2b56 09-Aug-2011 Mathias Agopian <mathias@google.com> add some logs to track a crash in eglCreateImageKHR

Bug: 5111008

Change-Id: I3e7f5b986151e80cbded39e0dec057770da52fc1
ui/SurfaceTexture.cpp
ad795baecccf239621cbffa0249c8e855296cae6 09-Aug-2011 Mathias Agopian <mathias@google.com> improve dumpsys SurfaceFlinger output

we now output the handle and size of all buffers of each layer.

Change-Id: I8d011ee4ae9199f4198bd07bed770ec3bcf02986
ui/SurfaceTexture.cpp
97a9884edcc6fbb311386ecfcd6e3045437f0df0 04-Aug-2011 Mathias Agopian <mathias@google.com> Add a 'release' method to the SurfaceTexture public Java API

Bug: 5063618
Change-Id: I689cb0c01c14e597ccfb4eb0972e64fa570bd4e8
ui/SurfaceTexture.cpp
ecc0e1014f1181873773b958770129903dda750d 02-Aug-2011 Jeff Brown <jeffbrown@google.com> Merge "Refactor input reader to add stylus support. Bug: 5064702"
d05b34a07940f3d6009b90b3eda067a2d0a35d2c 02-Aug-2011 Mathias Agopian <mathias@google.com> Merge "connect/disconnect is now called from our EGL wrapper"
81a63350527cafce6929309533c58586878f10b5 30-Jul-2011 Mathias Agopian <mathias@google.com> connect/disconnect is now called from our EGL wrapper

the original connect/disconnect hooks are deprecated
and replace by api_connect/api_disconnect. the original
hooks are no no-ops.
api_connect/api_disconnect is now only called from the
android framework.

Bug: 5057915
Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
ui/SurfaceTextureClient.cpp
i/FramebufferNativeWindow.cpp
35770345e4386502f1a82996fc6cf079138b9bd4 01-Aug-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: allow set_buffer_count(2)"
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.cpp
i/tests/InputEvent_test.cpp
1c121f68fc6ac4abff17203b55253d6aeee64bc5 31-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: allow set_buffer_count(2)

This change relaxes an error check in SurfaceTexture::setBufferCount to
allow clients to explicitly set a buffer count of 2. The clients that
will do this are camera and video decode. Previously it was thought
that for those clients we would always use async mode, which requires a
minimum of 3 buffers. However, we now believe that for some devices it
may make sense to use synchronous mode (with 2 buffers) to reduce memory
usage.

Bug: 5088418
Change-Id: I620a0ef75075745be9d6c8219e0246aaf33ba950
ui/SurfaceTexture.cpp
a947de88e7863859e6d7e825b1d45abb596a08e5 30-Jul-2011 Mathias Agopian <mathias@google.com> improve GraphicAllocator dump method

GraphicAllocator debugging cannot deal with
custom HAL formats. make this more obvious in the
log.

Change-Id: I202e58a7f213f32e725aa4eac62cdf6e50ca5894
i/GraphicBufferAllocator.cpp
e993c420d0372a76c4ffbfc806b14f8366ce5a45 28-Jul-2011 Ying Wang <wangying@google.com> Merge "Fix uses of all-subdir-makefiles"
0a1fdd7d508a472b6c348a3ab6a9f180eb95b31f 28-Jul-2011 Ying Wang <wangying@google.com> Fix uses of all-subdir-makefiles

We should use all-makefiles-under instead.
all-subdir-makefiles can be used only before any "include" statement.
Before this change, both subdirs were actually not included.

Change-Id: I6bf35d07f294a5012c9322096f999ac26e37432f
i/tests/Android.mk
b313559b212f6c22bb414c14937fb6a6d4b6c45a 28-Jul-2011 Kenny Root <kroot@google.com> Merge "Move extract native libraries to JNI code"
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/tests/Android.mk
tils/tests/ZipFileRO_test.cpp
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/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
395dcd07f1fa195e4a968c9ed32197a0de0a8522 26-Jul-2011 Kenny Root <kroot@android.com> am 64ed1059: am e612c881: am 4f3a8db6: am 3cf03987: Merge "Continue idmap generation even if name lookup fails."

* commit '64ed105957098a900d58e7c2598e060cb37755ce':
Continue idmap generation even if name lookup fails.
66a2eec56401980053efd9fdc7883246981d9a20 25-Jul-2011 Kenny Root <kroot@android.com> am e612c881: am 4f3a8db6: am 3cf03987: Merge "Continue idmap generation even if name lookup fails."

* commit 'e612c881ecf74770098aa9c07d4f0611ac982038':
Continue idmap generation even if name lookup fails.
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
ui/Surface.cpp
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.cpp
ui/tests/SurfaceTexture_test.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTexture_test.cpp
6e50219aee68ae6e76943f969374dae1b27154b3 21-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add a deadlock scenario test

This change adds a test to ensure that a GL driver that's blocking on a
call to dequeueBuffer does not block other GL threads from rendering and
queueing buffers.

Change-Id: Ifdd234effc534b6a9cf8522ca87f64da5bb0bbd6
ui/tests/SurfaceTexture_test.cpp
1259e9d6ac474f3e9dec8569fb694c61eeeef4d3 22-Jul-2011 Jamie Gennis <jgennis@google.com> Merge changes I799532f7,I5cffa6eb

* changes:
SurfaceTexture: fix a comment
SurfaceTexture: remove getAllocator
bb66c9b5a9c16dee93559eb738746a2d0a9b2db3 21-Jul-2011 Mathias Agopian <mathias@google.com> Fix a few issues with NATIVE_WINDOW_TRANSFORM_HINT

- fixed uninitialized variable
- set hint to indentity when transform is too complex
- make sure FrameBufferNativeWindow doesn't fail on needed perform commands

Bug: 4487161
Change-Id: I7cb2b0869b72404732eca7cb2d145ff669e2ed9b
ui/SurfaceTextureClient.cpp
i/FramebufferNativeWindow.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
2cc4e531f0950fd4faee67a74f29a6d7182674e7 21-Jul-2011 Kenny Root <kroot@android.com> am 3cf03987: Merge "Continue idmap generation even if name lookup fails."

* commit '3cf039876177b5b314b635bb12a1dae1b42f4605':
Continue idmap generation even if name lookup fails.
c0e7a061709d1c5f6d0cbd2bb4fd626af2c577d7 21-Jul-2011 Kenny Root <kroot@android.com> Merge "Continue idmap generation even if name lookup fails."
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/ISurfaceComposerClient.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
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/Android.mk
tils/Pool.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
i/FramebufferNativeWindow.cpp
933389f75814bb62e8153528f9cff2cb329b77df 19-Jul-2011 Mathias Agopian <mathias@google.com> use SurfaceTexture new scaling mode in SF

SF now obeys SurfaceTexture's scaling mode instead
of inferring it from the buffer's size

Change-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
i/FramebufferNativeWindow.cpp
a2f3b90d986936b6584331efd766b4996ff74b5a 19-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: add a multi-SurfaceTexture test"
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/Surface.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
i/FramebufferNativeWindow.cpp
0b7c4953a1995e22932ee93a7f494a79547e19c8 15-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: fix SurfaceTextureGLToGLTest"
ce071667d0e436017411bda4f6791d6c80decac4 15-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Add a call to pthread_attr_destroy to avoid potential memory leaks."
2773004a83624ed41cf3f94f2b11878cd8521812 15-Jul-2011 Mathias Agopian <mathias@google.com> fix a typo in ISurfaceTexture IPC code

Change-Id: Ied1d9ddb0d849b17219d0ea3d333ce12be849419
ui/ISurfaceTexture.cpp
3919950de8b54d4781c09e711fd2afabab452e69 14-Jul-2011 Le-Chun Wu <lcwu@google.com> Add a call to pthread_attr_destroy to avoid potential memory leaks.

Change-Id: Ib57efc3530e9793298190cc9cab19c9af54e11a7
tils/Threads.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
2640bfd1680b1be023aae091503ffbda707e3234 15-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix SurfaceTextureGLToGLTest

This change fixes a couple different issues in the
SurfaceTextureGLToGLTest test fixture:
- incorrect use of conditions
- move logging after the locks are acquired
- call the parent class's TearDown method
- clean up the SurfaceTexture before eglTerminate gets called

Change-Id: I6960e5ab7f144225f01a2089d3f849c99fed0b38
ui/tests/SurfaceTexture_test.cpp
3e646d62e5b99bf479c775e88fa8324229a0670f 13-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add support for new connect values

This change adds support to SurfaceTextureClient for the new enum values
that can be passed to the ANativeWindow connect call.

Change-Id: I8c15418909e43a15673a9b22a5eb40df6923b273
ui/SurfaceTextureClient.cpp
c1053339974b52f7338cd2076f6ef6524a6fcfd5 14-Jul-2011 Jeff Brown <jeffbrown@google.com> Minor code cleanups in vector.

Fixed a potential bug where calling replaceAt with a reference to
an existing element in the vector at the same index would cause
the element to be destroyed while being copied to itself.

Refactored the conditions in _grow and _shrink for clarity.
The computations are exactly the same but I think it reads better
this way. In particular, the ssize_t variable 's' is gone: it didn't
need to be signed anyways because its value could never be negative.

Change-Id: If087841c15e6a87160eee874720c4a77eb0e99a6
tils/VectorImpl.cpp
686f62fcaf4ce2f48d662fa89fb2e84ee9339c4d 14-Jul-2011 Jeff Brown <jeffbrown@google.com> Replace Vector _grow/_shrink checks with assert.

On review of the code, _grow and _shrink are checking for conditions
that cannot happen and that don't even really make sense. For
example, if _shrink is called with where + amount > mCount then
this is really bad, however the check only considered the case
when where >= mCount and then it would arbitrarily choose a new
value for where. Huh?

As it happens, the callers are correctly validating the
arguments before passing them down to these methods so we can
get rid of this code.

Change-Id: I921852dba8997065bb0e9cac733e82028d14afcd
tils/VectorImpl.cpp
8a1d693e592ba872024f7bce647024c4e167836e 14-Jul-2011 Jeff Brown <jeffbrown@google.com> Provide more descriptive name for InputChannel ashmem.

Change-Id: I4307de9f717ac4810b1b91ee0c1a3899325acf71
i/InputTransport.cpp
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>
inder/ProcessState.cpp
a100c02b8d29b516b9191f18c87274ed8f45f2f8 11-Jul-2011 Christopher Tate <ctate@google.com> Compress the backup output stream

Zlib compression, with a full flush between each application's
data. Encryption will be performed on the already-compressed data
once that's implemented.

On restore, the streamed data is similarly uncompressed on the fly.

Change-Id: I19b65c88e759a66527d10913d18fffa9df0bc011
tils/BackupHelpers.cpp
71753982479b9a68e36d43fbb58de0331ea5797c 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Merge "Remove the simulator target from all makefiles. Bug: 5010576"
baa44b89ec159fd65230cbb8ebab62d63a513b0b 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
ui/Android.mk
ui/tests/Android.mk
urfaceflinger_client/Android.mk
i/Android.mk
i/tests/Android.mk
tils/Android.mk
tils/tests/Android.mk
c8251a06df70de70d45ac477af816dcee7580205 12-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add a multi-SurfaceTexture test

This change adds a test that does simple, unverified GL rendering to
multiple SurfaceTextures.

Change-Id: I51a41d68ae5a27e01ae93842242897b0d3558ca6
ui/tests/SurfaceTextureClient_test.cpp
cb8be1753747f2efacc7dfa03119d9f8be211ca8 12-Jul-2011 Mathias Agopian <mathias@google.com> Merge "Fix typo in an assert's log"
f6f177f2e282da6dcff3c4725eb66096b196aac5 12-Jul-2011 Mathias Agopian <mathias@google.com> Fix typo in an assert's log

Change-Id: I94883a23a0a92eaf3e4976f942f747a2137499ac
tils/VectorImpl.cpp
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.cpp
i/FramebufferNativeWindow.cpp
e16986cae281f118ecd563c384b7f6e5a4b937b5 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
inder/ProcessState.cpp
6163091a2c366f8311fc3ee627dc7deb9681236e 07-Jul-2011 Mathias Agopian <mathias@google.com> Fix EGLUtils::selectConfigForPixelFormat()

- renderscript now calls EGL directly instead of relying on this function
- surfaceflinger also does its own EGLConfig selection
- selectConfigForPixelFormat stays for legacy reason (many tests use it) but
it now only tries to match the alpha channel of the format rather than the
format itself.

this will allow implementations who don't support the exact formats
defined in the HAL to work properly.

Bug: 4998223

Change-Id: Ic664dfc14d5072a514b6f77a115d1521bfc1578f
i/EGLUtils.cpp
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.cpp
798ff739a1da6bea3f5f3ff13b580062e1a3a03a 07-Jul-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: enable newly passing tests."
47dd726460e3a02ec80f14e300bb3a42884fc1e5 06-Jul-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: enable newly passing tests.

This change enables the following four SurfaceTextures tests:
UpdateTexImageBeforeFrameFinishedWorks
UpdateTexImageAfterFrameFinishedWorks
RepeatedUpdateTexImageBeforeFrameFinishedWorks
RepeatedUpdateTexImageAfterFrameFinishedWorks

Change-Id: I7632630bc97873e50d4a765ffc44a86f16ae62f1
ui/tests/SurfaceTexture_test.cpp
be3c018f8b00738cd7e884058966f82597b8e370 06-Jul-2011 Glenn Kasten <gkasten@google.com> Merge "Add Thread::join"
429526c326168bafb6d5b775d105dd1df561c5bc 06-Jul-2011 Mathias Agopian <mathias@google.com> Merge "fix ScreenshotsOfProtectedBuffersFail"
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"
9303eee7dcfc340b2aa598b617e02cd361baa5cc 02-Jul-2011 Mathias Agopian <mathias@google.com> fix ScreenshotsOfProtectedBuffersFail

- put the test window at the front most screen position
- use RGBA_8888 which is a mandatory format
- handle devices that don't support the protected usage flags

Bug: 4950464

Change-Id: I0005fb667cfe094e5978816e2924b294c5ef817e
ui/tests/Surface_test.cpp
d9e8c64c3dce1612eb948a5c16ba4ff62202b423 01-Jul-2011 Mathias Agopian <mathias@google.com> return an error code with gralloc buffer allocation failures

Change-Id: I471e5d37ea7a42fc8a0f93446ee3b4229da37807
ui/IGraphicBufferAlloc.cpp
ui/SurfaceTexture.cpp
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.cpp
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
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/SurfaceComposerClient.cpp
ui/tests/SurfaceTexture_test.cpp
ui/tests/Surface_test.cpp
acfc4829e4c67cc3acfcff1a6b4dd0752b6097a7 29-Jun-2011 Jason Simmons <jsimmons@google.com> Merge "Add a linear transform library to libutils"
771e5828e88dd10b56a9ca83bf66127b7a0287ed 29-Jun-2011 Jeff Brown <jeffbrown@google.com> Merge "Improve input event consistency invariants."
7832080b5aa548602bdf01287ef67b88de5be58c 29-Jun-2011 Jeff Brown <jeffbrown@google.com> Improve input event consistency invariants.

Fixed some issues where inconsistent streams of events could
be generated by the dispatcher, particularly when switching from
hovering with one device to hovering with another.

Fixed a bug where the touch pad would fail to generate a new
HOVER_MOVE following a tap event. As a result, the hover event
stream would not resume until the user touched the touch pad
again.

Change-Id: I444dce84641fb12e56a0af84c931520771d6c493
i/InputTransport.cpp
c18d4da5e4d2d41fd5423c10da993d70c2b1b9e0 29-Jun-2011 Jason Simmons <jsimmons@google.com> Add a linear transform library to libutils

Change-Id: Icdec5a6bebd9d8f24b3f335f8ec8b09a5810a774
tils/Android.mk
tils/LinearTransform.cpp
dfcff4b4ef8b602ba485848b394b16d14847821e 17-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add a CPU -> GL sync test.

This change adds a test to verify that proper synchronization is done
when using SurfaceTexture to use CPU generated images as OpenGL ES
textures in 'synchronous mode'. Synchronous mode is particularly tricky
because SurfaceTexture will allow the buffer that's currently bound to
the GL texture to be dequeued. We rely on Gralloc's lock function to
block until this buffer is no longer being used by the OpenGL ES.

Change-Id: I1c4e37f3e9d60ab9a0905a90a1f5060fda8e485c
ui/tests/SurfaceTexture_test.cpp
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
i/Android.mk
i/EventRecurrence.cpp
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/Android.mk
inder/Permission.cpp
inder/PermissionCache.cpp
50c4efc2a44fd312febeda76c8d1a6dc42cee8f8 28-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: consume buffers after err checks

This change moves the point at which queued buffers get consumed to
after any error checks that could cause updateTexImage to fail. This
way, if updateTexImage returns an error the buffer remains queued.
ui/SurfaceTexture.cpp
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.cpp
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.cpp
inder/MemoryHeapBase.cpp
8408da055687fdadb24b4afdea9cbc73d8790db0 25-Jun-2011 Christopher Tate <ctate@google.com> Merge "Fix settings restore"
cd604a1a6e20aa43ebf21b4a1aa05e594c81747f 25-Jun-2011 Christopher Tate <ctate@google.com> Fix settings restore

Also correct the debug-mode logging of error locations in backup data.
Bug 4914182

Change-Id: Ie7dda0192afa819e42490b7ffd2d3db6f11968f6
tils/BackupData.cpp
14a0e58074f2698829b6554f578e6762c377caa3 24-Jun-2011 Grace Kloba <klobag@google.com> Add allowSynchronousMode to SurfaceTexture constructor.

Change-Id: I54f30a3c16bbe6b813f3bcd1d389da5627531304
ui/SurfaceTexture.cpp
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.cpp
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.cpp
1e7fa9e945d98eab76ff92f37c25040429a6c0a0 23-Jun-2011 tedbo <tedbo@google.com> Add method to create a ParcelSurfaceTexture from android.view.Surface.

Change-Id: I05e343ab7e327478f60322af9373574b70c148f5
ui/Surface.cpp
c8c5152b19e20abe76dbc63b782700ae01aa4116 15-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: make tests use a large framebuffer.

This change makes the SurfaceTexture GL tests use a large (512x512)
framebuffer. The tests now use glViewport to render to a region of the
framebuffer with a size matching that of the texture being drawn. The
Npot test pixel checks must be changed because now the rendered region
is the same size as the texture.

Change-Id: Icc41803189c25e33ba1da7d2470720f0a11f3e4b
ui/tests/SurfaceTexture_test.cpp
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.cpp
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
i/GraphicBuffer.cpp
28bca1a77252bf94a73d765afe94a9fc8b9dc1a0 17-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: enable a test that now passes."
4661a501217695ca8ac8c8a9c20e74b8f6fac0cf 17-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: enable a test that is now passing."
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.cpp
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.cpp
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.cpp
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.cpp
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)
07ed1a94bcad9b78b20f74f890d4271099da3a97 15-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: enable a test that now passes.

This change enables the QueryFormatAfterSettingWorks.

Change-Id: Ic868011a36a6c86c8646880246cd5b6960a13364
ui/tests/SurfaceTextureClient_test.cpp
d05bb2ed4c99894965134994cf23c9e47274f56e 15-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: enable a test that is now passing.

This change enables the TexturingFromCpuFilledYV12BufferPow2 test.

Change-Id: Ib356ee3d2f8979f34f849fd4090f598295e2e92e
ui/tests/SurfaceTexture_test.cpp
982a69f827a8244ade7d95913726f1d0a6b2a9a3 15-Jun-2011 Glenn Kasten <gkasten@google.com> Merge "Bug 4608375"
5dd0c4fd7efcb99bdd346ed01f1a8f1d2baa8ef1 14-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: increase the test's Surface layer.

This change increases the Surface layer used for displaying the test
results so that the tests will be visible over other windows in the
system.

Change-Id: I47f147f8743ff2a39d57d551811668371202bd31
ui/tests/SurfaceTexture_test.cpp
1876d13e45ae044d4c1f6f2ee176f52f22d8a26c 18-Mar-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add some RGBA_8888 tests.

Change-Id: Id09915c98a00eca1209b7dab32039a06d260908e
ui/tests/SurfaceTexture_test.cpp
8b69defa2fe2cf6a34b00e322a557d8a4dddea41 07-Apr-2011 Jamie Gennis <jgennis@google.com> SurfaceTextureClient: minor test refactoring.

Change-Id: Iabc6d27ca35d30d896c6aef65c4f1b5a1eed47b8
ui/tests/SurfaceTextureClient_test.cpp
135abde4c24db77915407e3d9d2478c237638684 14-Jun-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: add a format querying test."
f0c412513ff0efe0df40325d98a99de7634548ee 14-Jun-2011 Glenn Kasten <gkasten@google.com> Bug 4608375

Update priority and policy together for audio threads

Change-Id: Ib3b07b32586c222c4aacbf23414ae8b05db502be
tils/Threads.cpp
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.cpp
80728d87c9db75d07fafc80e8d5c5f8dd6a58359 14-Jun-2011 Mathias Agopian <mathias@google.com> Merge changes I9b8e1962,I7bb843ca

* changes:
Temporarily don't return the current buffer in synchronous mode
unify SurfaceTexture and Surface
e122079be632b849a71181d83a6d38b701f642f5 05-May-2011 Mathias Agopian <mathias@google.com> Temporarily don't return the current buffer in synchronous mode

activate synchronous mode by default.
ui/SurfaceTexture.cpp
ui/tests/SurfaceTextureClient_test.cpp
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
ui/Android.mk
ui/ISurface.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/SharedBufferStack.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/SurfaceTextureClient.cpp
a6f35dd36e974c67976c6b4411c31b61f30a3853 12-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add a format querying test.

This change adds a test to verify that querying the format of a
SurfaceTextureClient immediately after setting it returns the correct
result. The test is currently disabled because it does not pass.

Change-Id: I5bddb39c5bf96d6104624094383d410ed913e9f3
ui/tests/SurfaceTextureClient_test.cpp
9fbf761e4447c950eccbfbed2e153951e6f6febc 13-Jun-2011 Jamie Gennis <jgennis@google.com> Merge changes Ic9186db2,Id5a7cdff

* changes:
SurfaceTexture: disable a deadlocking test.
SurfaceTexture: add a pixel tolerance to the tests.
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.cpp
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.cpp
2510d9576ff2c529d584082aa1098480a73079e4 13-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: disable a deadlocking test.

This change disables the UpdateTexImageAfterFrameFinishedWorks test
because it's currently causing deadlocks on some devices.

Change-Id: Ic9186db207e8d656f3af5d86fa138c7d96393c55
ui/tests/SurfaceTexture_test.cpp
824efa74e7ff0a8dd95302daf73c23a056da0d07 13-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add a pixel tolerance to the tests.

This change adds a default tolerance of 2 to all the pixel value checks
in the SurfaceTexture tests.

Change-Id: Id5a7cdffdfae16076e2daf4964a3326105b5ae2c
ui/tests/SurfaceTexture_test.cpp
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.
5451d15ee209f29d64beea87583f7058dee69911 08-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add some GL->GL tests.

This change adds some tests to verify streaming images from one GL
thread to another via SurfaceTexture. Currently the tests do not
validate the correctness of the streamed images, but rather simply
verify that this streaming does not cause a deadlock. 3 of the 4 tests
are currently disabled because they do cause deadlocks on some devices.

Change-Id: I5677942053190063b97f370dba96c116711bc3bb
ui/tests/SurfaceTexture_test.cpp
52226048095c2eb27ede0c3389626df270a0abff 08-Jun-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: add getTransformMatrix tests.

This change adds a test verifying that with no transform set on the
SurfaceTextureClient, the SurfaceTexture will return an identity
transform matrix. It also verifies this same effect in the presence of
an additional call to native_window_set_buffer_count just before the
call to getTransformMatrix.

Bug: 4490420
Change-Id: Ic5adfa29b5696cc2b451433834e3758ef20c5edd
ui/tests/SurfaceTextureClient_test.cpp
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.cpp
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.cpp
66168d4bb452492907765084de886b8cff2fd5b1 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of f51ded0f to master

Change-Id: Ida356524a68aeb2b9b0013dfbb6ab4bd11e616e2
5ea8834ab90edad020ae9aa94753eec1901eca51 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of e2aa0490 to master

Change-Id: Id0448a1598fc93aca0652b29253e02586e35a067
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.cpp
a1bb021469878a1578a55b671402fe667d0a2546 09-Jun-2011 Mathias Agopian <mathias@google.com> am 96fcb702: am b40e85f9: am 645434fb: Merge "Fix a leak in RefBase" into honeycomb-mr2

* commit '96fcb702d75dcfb36c3ebd8fe420c8b29fa67fb7':
Fix a leak in RefBase
a87feb93390d1957cf4dea26d21741d098a865f3 09-Jun-2011 Christopher Tate <ctate@google.com> Merge "Fix handling of directory entries"
61334a3f831ecd5ad7b91a2b81532f5caffb1307 09-Jun-2011 Christopher Tate <ctate@google.com> Fix handling of directory entries

Don't emit tar blocks for directories with an invalid nonzero size. Also, if
such an entry is encountered during restore, don't actually attempt to treat
it as valid and thus skip over the next actual tar entry.

This patch also adds tracking of the data actually consumed during restore,
and reports a total at the end of stream.

Change-Id: I625173f76df3c007e899209101ff2b587841f184
tils/BackupHelpers.cpp
b0cc4a8083d81f00f808edf75cde336741fdd170 09-Jun-2011 Dianne Hackborn <hackbod@google.com> am a1396dfe: am 02140891: Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2

* commit 'a1396dfe7ad6ec6953f544be42d69d7804ab0fd4':
Work on issue #4518815: Compatibility mode introduces compatibility regression...
ab6bf752b32e1da9dfecbb6f28ca7a0927ef6262 09-Jun-2011 Dianne Hackborn <hackbod@google.com> Merge "Work on issue #4518815: Compatibility mode introduces compatibility regression..." into honeycomb-mr2
ef1e16fc0bb2e88074124ba275beab41b24b338b 09-Jun-2011 Mathias Agopian <mathias@google.com> am 19974ecc: Fix a leak in RefBase (DO NOT MERGE)

* commit '19974eccdbd3e4dbd7e3b2cc401db7806d4a17bc':
Fix a leak in RefBase (DO NOT MERGE)
c2db91c3bfa3e61e00a4c94b02f3e9685fa09cd9 09-Jun-2011 Mathias Agopian <mathias@google.com> am b40e85f9: am 645434fb: Merge "Fix a leak in RefBase" into honeycomb-mr2

* commit 'b40e85f90146a654bfe5657187be491147814ea0':
Fix a leak in RefBase
acf87675ae956a5e94df15115af4fef0902576c8 07-Jun-2011 Dianne Hackborn <hackbod@google.com> Work on issue #4518815: Compatibility mode introduces compatibility regression...

...for Market App iRunner

There were a lot of serious issues with how we updated (or often didn't update)
the display and resource state when switching compatibility mode in conjunction
with restarting and updating application components. This addresses everything
I could find.

Unfortunately it does *not* fix this particular app. I am starting to think this
is just an issue in the app. This change does fix a number of other problems
I could repro, such as switching the compatibility mode of an IME.

Also a few changes here and there to get rid of $#*&^!! debug logs.

Change-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317
tils/StreamingZipInflater.cpp
3b0a7a739e7191964cddd2ff4b87cdee899de82f 09-Jun-2011 Mathias Agopian <mathias@google.com> Fix a leak in RefBase

this bug was introduced recently. it caused RefBase's weakref_impl
structure to be leaked for every RefBase object (about 20 bytes).

Change-Id: Id85e749ba04521199555dd701198edd097c313d4
tils/RefBase.cpp
9a03cecf8b63810ba3f451bd139d3b473cb67c81 09-Jun-2011 Mathias Agopian <mathias@google.com> Fix a leak in RefBase (DO NOT MERGE)

this bug was introduced recently. it caused RefBase's weakref_impl
structure to be leaked for every RefBase object (about 20 bytes).

Change-Id: Ia9b155fbfa643ef72cfb8129e96260a3b806a78c
tils/RefBase.cpp
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
9f7bcda136283db5bed5f6c66475d11bcda2de5a 07-Jun-2011 Christopher Tate <ctate@google.com> Fix embedded spaces in tar stream EVEN HARDER

Change-Id: I97ac586ff3541a05d73e1e53f680517c15e6c662
tils/BackupHelpers.cpp
72a404d102a526e4a2b62110cf35226595f335b9 03-Jun-2011 Christopher Tate <ctate@google.com> Implement shared-storage full backup/restore

Every available shared-storage volume is backed up, tagged with its
ordinal in the set of mounted shared volumes. This is an approximation
of "internal + the external card". This lets us restore things to the
same volume [or "equivalent" volume, in the case of a cross-model
restore] as they originated on.

Also fixed a bug in the handling of files/dirs with spaces in
their names.

Change-Id: I380019da8d0bb5b3699bd7c11eeff621a88e78c3
tils/BackupHelpers.cpp
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.cpp
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.cpp
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.
adab62038365be512aa9c21cf64df642dd075704 01-Jun-2011 Jeff Brown <jeffbrown@android.com> Implement pointer acceleration.

Bug: 4124987
Change-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50
i/Input.cpp
15e113033bf75fe1a5b998f6e69c9cac0691e187 19-May-2011 Christopher Tate <ctate@google.com> Restore from a previous full backup's tarfile

Usage: adb restore [tarfilename]

Restores app data [and installs the apps if necessary from the backup
file] captured in a previous invocation of 'adb backup'. The user
must explicitly acknowledge the action on-device before it is allowed
to proceed; this prevents any "invisible" pushes of content from the
host to the device.

Known issues:

* The settings databases and wallpaper are saved/restored, but lots
of other system state is not yet captured in the full backup. This
means that for practical purposes this is usable for 3rd party
apps at present but not for full-system cloning/imaging.

Change-Id: I0c748b645845e7c9178e30bf142857861a64efd3
tils/BackupHelpers.cpp
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.cpp
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)
974a08d53ee1d6cf71ec6ff0999aab8495b563a3 25-May-2011 Jeff Brown <jeffbrown@android.com> am d5358874: am 5ced76a1: Coalesce input events that arrive faster than 333Hz. (DO NOT MERGE)

* commit 'd5358874e2cc90be3d7d3370ef7342c96c212451':
Coalesce input events that arrive faster than 333Hz. (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.cpp
tils/Looper.cpp
fa785531f7510e3dee799dd4b37279e1e04f4a81 24-May-2011 Jeff Brown <jeffbrown@android.com> Coalesce input events that arrive faster than 333Hz. (DO NOT MERGE)

Some drivers report individual finger updates one at a time
instead of all at once. When 10 fingers are down, this can
cause the framework to have to handle 10 times as many events
each with 10 times as much data. Applications like
PointerLocation would get significantly bogged down by all
of the redundant samples.

This change coalesces samples that are closely spaced in time,
before they are dispatched, as part of the motion event batching
protocol.

Increased the size of the InputChannel shared memory buffer so
that applications can catch up faster if they accumulate a
backlog of samples.

Change-Id: Ibc6abf8af027d9003011ac75caa12941080caba3
i/InputTransport.cpp
8dda6b7bf8f6e30cee286a6c048f1cc2adfa3a94 25-May-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: disable a failing test.

The SurfaceTextureSyncModeWaitRetire test was disabled. It is failing
because of the synchronization hacks that were added to SurfaceTexture
to work around bugs in vendor device drivers.

Change-Id: I09a74538bfe14a04833acb6847471e00826cc7fc
ui/tests/SurfaceTextureClient_test.cpp
c2c8dfd71b84598f01074416e57cc3469d5b8ed2 24-May-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix an error check in dequeueBuffer.

This change fixes the MIN_UNDEQUEUED_BUFFERS error check in
dequeueBuffer. The check should only be performed if a buffer has been
queued since the last time the buffer count was changed by the client.
The check must be applied conditionally because video decoders require
all the bufferes to be dequeued and registered before beginning the
decode.

Change-Id: I08d96b380544e395c2fcf0f3983a199bfd695b09
ui/SurfaceTexture.cpp
ui/tests/SurfaceTextureClient_test.cpp
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.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
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.
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/Looper.cpp
tils/Timers.cpp
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.cpp
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.cpp
i/InputTransport.cpp
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.cpp
d31099f021e998cd4720f18380b9feac863eba07 20-May-2011 Mathias Agopian <mathias@google.com> Merge "Call RefBase::destroy() when OBJECT_LIFETIME_* is not the default"
79ba9b5e39bfcbc6775bca56de139cf0fc5c914f 20-May-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 06a8ceac to master

Change-Id: Id51574c825affddfac14ad7214c5496d6a3d6e69
8561698c9bd2fd91aee81a3ac8fa5a2f7d2351f6 20-May-2011 Mathias Agopian <mathias@google.com> Call RefBase::destroy() when OBJECT_LIFETIME_* is not the default

Change-Id: Ifb2069e095dba57b7d97e9f2d942fd85fa975f58
tils/RefBase.cpp
0eda070fda5e2e2e85490eb89aad7a80125004af 20-May-2011 Mathias Agopian <mathias@google.com> Merge "RefBase subclasses can now decide how they want to be destroyed."
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.cpp
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.cpp
963664b6b7b1d94994a6449c8a49e7457be4d8e3 19-May-2011 MÃ¥rten Kongstad <marten.kongstad@sonyericsson.com> Continue idmap generation even if name lookup fails.

In resources.arsc files, a resource is represented by a specification
block and one or more value blocks. In rare cases, a resource name
is also given a new resource ID, a specification block and no values
blocks. This commit ensures idmap generation does not fail if such an
entry is encountered.

Change-Id: I32302a0b07a7a320b7eeb31886931be3bb7b7e9a
tils/ResourceTypes.cpp
b27aabc09d05c45251e917ff433e43be8c0f29bc 18-May-2011 Mathias Agopian <mathias@google.com> Merge "Disable error report temporarily to enable inline video"
d7e291fecd2e6a104c713b4e45860734d02833c6 18-May-2011 Teng-Hui Zhu <ztenghui@google.com> Disable error report temporarily to enable inline video

bug:4435022

Change-Id: I06f05a4781ad432ab71db93f0815eb89cd2e7a69
ui/SurfaceTexture.cpp
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/Android.mk
tils/BlobCache.cpp
tils/tests/Android.mk
tils/tests/BlobCache_test.cpp
21a357e11479e382da1d956fb579d575cb581dbf 14-May-2011 Christopher Tate <ctate@google.com> Merge "Full backup tweaks"
b41c5a5ae79d8436d09a5fb9ba8e835dd3de88c5 14-May-2011 Christopher Tate <ctate@google.com> Full backup tweaks

* provide placeholder UI showing backup/restore start/stop/timeout
* don't kill the progress UI in mid stream
* tidy up the pax extended header data writing a little

Change-Id: Ife0cb78e3facb541d8327f1d5ca5fe77faa6cbca
tils/BackupHelpers.cpp
282cdfb6f4babbb63b7b9b4e9714ccb994ac56c2 13-May-2011 Jeff Brown <jeffbrown@google.com> Merge "Add initial API for stylus and mouse buttons."
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.cpp
i/InputTransport.cpp
i/tests/InputEvent_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
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.cpp
ffd242ed552120b85b6bca968e7cba3abb75e626 13-May-2011 Christopher Tate <ctate@google.com> Use pax extended tar format to support long filenames etc.

'tar' supports only 100-character paths; 'ustar' supports only
155+100 character prefix + paths; neither supports files larger
than about 8 gigabytes. We now use the POSIX.1-2001 'pax'
extended tar format for those files in the backup stream that
are too large or have too-long paths for the 'ustar' format.

Change-Id: I2f256823091deaec9b1ccea685d2344753c6cb67
tils/BackupHelpers.cpp
cf46eb9817dfbfc020720d1e45b5c085252500fb 12-May-2011 Mathias Agopian <mathias@google.com> fix onFrameAvailable

Change-Id: I391fe9f6684ac9fd4f91416ce18b583f7087d966
ui/SurfaceTexture.cpp
68c7794183a7dbfe3b20d4ce832f8eb79c2c619a 10-May-2011 Mathias Agopian <mathias@google.com> Add SurfaceTexture logging

Change-Id: If1b74be5230813fb76429935d88b9d4a7c41700c
ui/SurfaceTexture.cpp
8072711307aa98ee5ee6f7369860ae38c3e19656 03-May-2011 Mathias Agopian <mathias@google.com> Implement {Surface|SurfaceTextureClient}::setSwapInterval()

Change-Id: I8382e346ddaa2c4c8ff56ac3ffd7f0109572f188
ui/ISurfaceTexture.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
7a5b22c4e33928f81c2e8a3d85050c35bd44b1e0 26-Apr-2011 Mathias Agopian <mathias@google.com> new tests for SurfaceTexture synchronous mode

Change-Id: Icfdaa625238246f8d0224efe28fdf2c1c24203f8
ui/tests/SurfaceTextureClient_test.cpp
b3e518c820c7dbe35587bd45c510e4e5e7cfd9c9 22-Apr-2011 Mathias Agopian <mathias@google.com> Add the concept of synchronous dequeueBuffer in SurfaceTexture

Change-Id: Ic94cbab092953243a0746e04bbe1b2eb0cc930ef
ui/SurfaceTexture.cpp
eafabcdc1639fb96062d9e3c39b0ae27b0238ae1 20-Apr-2011 Mathias Agopian <mathias@google.com> unify SurfaceTexture and Surface

Change-Id: I49da2f5d8408e4cd7e148cfb777bb4ff68cd8f37
ui/ISurfaceTexture.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
25bc410b31b81415b6833e13148aeaef03e379ab 11-May-2011 Conley Owens <cco3@android.com> am 041aa34e: am 87d86044: am bcd029b6: Merge "Add missing clean-up of idmap file descriptors."

* commit '041aa34e089d7b194a5d93c682c3af3d3116d3f3':
Add missing clean-up of idmap file descriptors.
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/BackupData.cpp
tils/BackupHelpers.cpp
74cfbe12393cce6456c4cfce87a24c2054d6e5d7 11-May-2011 Conley Owens <cco3@android.com> am 87d86044: am bcd029b6: Merge "Add missing clean-up of idmap file descriptors."

* commit '87d86044c0f15ae2ffc0350271c76ff874fb413b':
Add missing clean-up of idmap file descriptors.
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.cpp
3e17850f1cc6c4e65ebaf89fa8b2c30a3b66fdf4 05-May-2011 MÃ¥rten Kongstad <marten.kongstad@sonyericsson.com> Add missing clean-up of idmap file descriptors.

Change-Id: I9bdc9a4b7962f1a8dce77f4b213c8b9dc26e4b0f
tils/AssetManager.cpp
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/Surface.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
ui/tests/SurfaceTexture_test.cpp
ui/tests/Surface_test.cpp
i/FramebufferNativeWindow.cpp
i/GraphicBuffer.cpp
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/Surface.cpp
ui/SurfaceTextureClient.cpp
i/FramebufferNativeWindow.cpp
ae9331ec903dc4260cf77e0a99bd2eea849ff718 29-Apr-2011 Conley Owens <cco3@android.com> Merge "Implement support for ALT and SHIFT modifiers"
5324becececf27b7fb7f471fdf86a587a76557df 29-Apr-2011 Conley Owens <cco3@android.com> Merge "modify the device to enable to get the state as slide-open/slide-close."
39a01c66947cd56c80ff406c277d9debc0efa7cc 29-Apr-2011 Jamie Gennis <jgennis@google.com> Merge "libgui: enable tests in the 'tests' build."
cc57d6f8830e533734925f102307df2e6cff6de7 28-Apr-2011 Mathias Agopian <mathias@google.com> Fix uninitialized variable in SurfaceTexture

Change-Id: Ie77cdad481fc0522ff5ea3b7e14ce94e07150793
ui/SurfaceTexture.cpp
0ea7d61fa1a652d8eb63673c4a1c6e4dd96dc7cc 27-Apr-2011 Mathias Agopian <mathias@google.com> Merge "Report errors when eglCreateImageKHR fails"
7fcb077c5522c56e266947e073c8750019e5a98a 27-Apr-2011 Jamie Gennis <jgennis@google.com> libgui: enable tests in the 'tests' build.

This change makes the libgui makefile recurse into the tests directory
so that the tests get built by a top-level make when
TARGET_BUILD_VARIANT=tests.

Change-Id: I6f623cc4b86dfeb00b9d21823316dbd9def23110
ui/Android.mk
ui/tests/Android.mk
3cd5a117083e6a53b9946e8c316377658ab79b3d 26-Apr-2011 Mathias Agopian <mathias@google.com> Report errors when eglCreateImageKHR fails

Change-Id: Ica39b72ac2505675e619ef4994bd67b98bf6e7da
ui/SurfaceTexture.cpp
7e002d9a3f125698ccea76d1244ddad510e9aeef 26-Apr-2011 Kenny Root <kroot@android.com> am fbb0e9f9: am bb93dad9: am bb10986c: am 13ce221e: Merge "libutils: Fix an improper const-cast in RefBase"

* commit 'fbb0e9f9846e185ba8ded63d754c4e61b1499b90':
libutils: Fix an improper const-cast in RefBase
f3faf0bc3d201cec500d6cfdc8db434bd8653e45 26-Apr-2011 Kenny Root <kroot@android.com> am bb93dad9: am bb10986c: am 13ce221e: Merge "libutils: Fix an improper const-cast in RefBase"

* commit 'bb93dad9250c0ee8330ab37bbdcd2eb8bfc0f930':
libutils: Fix an improper const-cast in RefBase
b5e7f051906c3bb841b35782ed0eef973020e452 26-Apr-2011 Kenny Root <kroot@android.com> am 13ce221e: Merge "libutils: Fix an improper const-cast in RefBase"

* commit '13ce221e4316f7956ba072e774a7b97646e5d99b':
libutils: Fix an improper const-cast in RefBase
1b528fb9d818044973abf656c9d2d3c1192bcfdc 26-Apr-2011 Jamie Gennis <jgennis@google.com> EGL: Allow creating a SurfaceTexture EGLSurface.

This change removes the check that disallowed the creation of an
EGLSurface that would send frames to a SurfaceTexture.

Change-Id: I44c6d5df503cc676a88144d72d39b414692ce4c9
ui/tests/SurfaceTextureClient_test.cpp
fc850124b35abd00a31e9bcf57e14e0fa74f4cd7 26-Apr-2011 Jamie Gennis <jgennis@google.com> libgui: Fix the tests so they build.

Change-Id: I7205b0819e5801ac549109ff562c3ab1b113d176
ui/tests/SurfaceTexture_test.cpp
ui/tests/Surface_test.cpp
e6b21626a5df95b66e0a0527564e2b9da100c5c3 22-Apr-2011 Josh Stone <cuviper@gmail.com> libutils: Fix an improper const-cast in RefBase

Under Fedora 15 Beta, gcc 4.6.0 warns:

frameworks/base/libs/utils/RefBase.cpp: In member function
‘void android::RefBase::weakref_type::trackMe(bool, bool)’:
frameworks/base/libs/utils/RefBase.cpp:483:67: error: passing
‘const android::RefBase::weakref_impl’ as ‘this’ argument of
‘void android::RefBase::weakref_impl::trackMe(bool, bool)’
discards qualifiers [-fpermissive]

trackMe is not a const function, so don't use const in the static_cast
to a weakref_impl pointer.

Change-Id: I3c9ba73eb127985f5f54197ffecf2939c50f632c
tils/RefBase.cpp
f79f84f8bea81520fc95078670cd464f19bd7eb1 22-Apr-2011 Mathias Agopian <mathias@google.com> Merge "Get rid of the "pid" parameter from createSurface"
d547432f98889d57a8c37e91090664efe63da436 21-Apr-2011 Evgeniy Stepanov <eugenis@google.com> Make sure binder ioctl structs don't contain uninitialized values.

Change-Id: I8a678f91262417bb120e65e32c244ce1512b46c2
inder/IPCThreadState.cpp
0ef4e15a6c12778daf464a4953d7e15e651f49ac 20-Apr-2011 Mathias Agopian <mathias@google.com> Get rid of the "pid" parameter from createSurface

Change-Id: I28635e3f803e6abe965d79998e305f54a202465d
ui/ISurfaceComposerClient.cpp
ui/SurfaceComposerClient.cpp
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.cpp
tils/Looper.cpp
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"
97e2bcd76021b31c5064fd3f669bc3f450b4c952 14-Apr-2011 Dianne Hackborn <hackbod@google.com> Rewrite battery history storage.

We now write battery history directly into a buffer, instead of
creating objects. This allows for more efficient storage; later
it can be even better because we can only write deltas.

The old code is still there temporarily for validation.

Change-Id: I9707d4d8ff30855be8ebdc93bc078911040d8e0b
inder/Parcel.cpp
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.cpp
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.cpp
ui/SurfaceTextureClient.cpp
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/IGraphicBufferAlloc.cpp
ui/SurfaceTexture.cpp
76a8686e2bb1e973e42a5ac18d1a3e496aebd9e7 07-Apr-2011 Jeff Brown <jeffbrown@google.com> Merge "Coalesce input events that arrive faster than 333Hz."
4e394b18bae923eb49e32c68dc77ee02637a10ea 07-Apr-2011 Jeff Brown <jeffbrown@google.com> Coalesce input events that arrive faster than 333Hz.

Some drivers report individual finger updates one at a time
instead of all at once. When 10 fingers are down, this can
cause the framework to have to handle 10 times as many events
each with 10 times as much data. Applications like
PointerLocation would get significantly bogged down by all
of the redundant samples.

This change coalesces samples that are closely spaced in time,
before they are dispatched, as part of the motion event batching
protocol.

Increased the size of the InputChannel shared memory buffer so
that applications can catch up faster if they accumulate a
backlog of samples.

Added logging code to help measure input dispatch and drawing
latency issues in the view hierarchy. See ViewDebug.DEBUG_LATENCY.

Change-Id: Ia5898f781f19901d2225c529a910c32bdf4f504f
i/InputTransport.cpp
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.cpp
47d8730a2463f38a695ab95b533b0d9728f266a3 06-Apr-2011 Mathias Agopian <mathias@google.com> remove more unused references to ISurface

Change-Id: I2201f1ca2bb8f203a081d94a0134f798778dfbef
ui/Surface.cpp
884f34413775d7aec8b0874118395248ce70ff89 02-Apr-2011 Jeff Brown <jeffbrown@google.com> Merge "Fix dispatcher crash when input monitoring enabled. Also ensure that we actually log assertion failures."
23e0c8c1a17e57ea98219087aa68750c72257f6c 02-Apr-2011 Jeff Brown <jeffbrown@google.com> Fix dispatcher crash when input monitoring enabled.
Also ensure that we actually log assertion failures.

Bug: 4203092
Change-Id: I5c14bc41b2255f876858121f5572e2de75cabcc3
i/Input.cpp
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/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
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.cpp
tils/README
tils/ResourceTypes.cpp
28bcfd4e9db8e33688470e8fb8317ae5eaf82c7f 30-Mar-2011 nao <nao.tanaka.cy@kyocera.jp> modify the device to enable to get the state as slide-open/slide-close.

This modify is for the devices which have a slidable H/W keyboard with backlight.

For example of current issues:
- Backlight of H/W keyboard doesn't turn on when the device starts up with slide-open.
- Home screen doesn't display with proper orientation when the device starts up with slide-open.

Change-Id: I6a6a18d0b09d0ba484ca992c9fb34f24de9bf21b
i/InputReader.cpp
d87f162026454f5a3e6437ed0c9ef51651a6b939 26-Mar-2011 Mathias Agopian <mathias@google.com> merge libsurfaceflinger_client into libgui

this is the first step in unifying surfacetexture and surface.
for this reason the header files were not moved, as most of them
will eventually go away.

NOTE: currently we keep libsurfaceflinger_client.so as an empty
library to workaround prebuilt binaries wrongly linking against
it.

Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
ui/Android.mk
ui/IGraphicBufferAlloc.cpp
ui/ISurface.cpp
ui/ISurfaceComposer.cpp
ui/ISurfaceComposerClient.cpp
ui/LayerState.cpp
ui/SharedBufferStack.cpp
ui/Surface.cpp
ui/SurfaceComposerClient.cpp
ui/tests/Android.mk
ui/tests/Surface_test.cpp
urfaceflinger_client/Android.mk
urfaceflinger_client/IGraphicBufferAlloc.cpp
urfaceflinger_client/ISurface.cpp
urfaceflinger_client/ISurfaceComposer.cpp
urfaceflinger_client/ISurfaceComposerClient.cpp
urfaceflinger_client/LayerState.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
urfaceflinger_client/tests/Android.mk
urfaceflinger_client/tests/SharedBufferStack/Android.mk
urfaceflinger_client/tests/SharedBufferStack/SharedBufferStackTest.cpp
urfaceflinger_client/tests/Surface_test.cpp
3bafffb1bd241e4ecb93a91015a189b65bd61f2b 22-Mar-2011 Carl Shapiro <cshapiro@google.com> Include strings.h for the strcasecmp prototype.

Change-Id: I0659ce2186547274e58f8b2027e16d3e45189353
tils/AssetManager.cpp
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/Looper.cpp
tils/Timers.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
urfaceflinger_client/Surface.cpp
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
i/Region.cpp
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.cpp
9db01a7c1c64d2ce00fdbeb0730278998b97183f 15-Mar-2011 Jamie Gennis <jgennis@google.com> am 0ea44ac0: am 00f47af8: Merge "SurfaceTexture: disallow unsupported uses." into honeycomb-mr1

* commit '0ea44ac0deb5cc95d60dd512c3a8f6a1bb69f5d1':
SurfaceTexture: disallow unsupported uses.
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.
5c0c93a8c49b4053744efb8953b915fa7f0923a5 14-Mar-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: disallow unsupported uses.

This change makes the ANativeWindow_lock NDK function error out if it is
passed an ANativeWindow with a concrete type that is not Surface. It
also makes eglCreateWindowSurface fail if it is passed a
SurfaceTextureClient as its 'window' argument.

Bug: 4087277
Change-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c
ui/tests/SurfaceTextureClient_test.cpp
96e0873907ee9bc9fd1b297e42a713c63566340a 15-Mar-2011 Jamie Gennis <jgennis@google.com> am adf565f0: am 1a0452b7: am 122dd099: Merge "SurfaceTexture: fix transform matrix computation." into honeycomb-mr1

* commit 'adf565f02676a8f41b572d23123695e732ffd321':
SurfaceTexture: fix transform matrix computation.
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.cpp
ui/tests/SurfaceTextureClient_test.cpp
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
ui/SurfaceTextureClient.cpp
ui/tests/SurfaceTextureClient_test.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/tests/Surface_test.cpp
i/FramebufferNativeWindow.cpp
827ebdbbffb41aa390494e1ea8e7aeda786b3bb5 15-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceTexture: fix transform matrix computation." into honeycomb-mr1
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.cpp
i/InputTransport.cpp
d99c088f35960b7f0ef948c3bb948a99a800eba1 11-Mar-2011 Jamie Gennis <jgennis@google.com> SurfaceTexture: fix transform matrix computation.

This change fixes the transform matrix computation in SurfaceTexture
when a crop rectangle is specified by the image producer. It also adds
a test for this case as well as a basic test for the uncropped case.

Bug: 4070775
Change-Id: I1481c9ce9d08fe7f2bff86d3afdeab7d4002b157
ui/SurfaceTexture.cpp
ui/tests/Android.mk
ui/tests/SurfaceTexture_test.cpp
c2cc1b3f97e16c50bdab4f6d32526df5c24cc4fe 11-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "SurfaceFlinger: Respect the PROTECTED gralloc bit." into honeycomb-mr1
7a4d0dfd43558c299e6af6c4910ef76db9db3172 10-Mar-2011 Jamie Gennis <jgennis@google.com> SurfaceFlinger: Respect the PROTECTED gralloc bit.

This change makes SurfaceFlinger treat layers for which the active
buffer has the GRALLOC_USAGE_PROTECTED bit set as if they have the
'secure' flag set.

Change-Id: Ic60b6513a63e4bb92ec6ce9fd12fd39b4ba5f674
Bug: 4081304
urfaceflinger_client/tests/Surface_test.cpp
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.cpp
18570db84e7ec69ea3aa5764777ee77e1e07fcd8 10-Mar-2011 Mathias Agopian <mathias@google.com> am 33029221: Merge "revert the surface purgatory list and dependent changes." into gingerbread

* commit '33029221619f14577bd0d0e7c2f815abc8f1b8ea':
revert the surface purgatory list and dependent changes.
f7662afb76dfafebdd449c5e3e168f050da850a0 10-Mar-2011 Mathias Agopian <mathias@google.com> revert the surface purgatory list and dependent changes.

6d0f6cb Revert "Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only"
6154412 Revert "partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)"
37c2a37 fix [3408713] Dialog window invisible sometimes

It looks like there is a surface leak, it's unclear where it is.
Without those reverts, this would cause a leak of the associated buffers
which is far more problematic. this change might hide the surface leak.

Bug: 4078032
Change-Id: Iedcda3ffcdd2f69d41047b5c3134c1e867ff90d7
i/GraphicBufferAllocator.cpp
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
ui/SurfaceTextureClient.cpp
ui/tests/Android.mk
ui/tests/SurfaceTextureClient_test.cpp
urfaceflinger_client/ISurfaceComposer.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/tests/Android.mk
urfaceflinger_client/tests/Surface_test.cpp
bbd0dc8607fd1b3a07bd223cc1670fc37beefa45 25-Feb-2011 Johan Redestig <johan.redestig@sonyericsson.com> Implement support for ALT and SHIFT modifiers

The spec for keymaps and keboard input at
http://source.android.com/porting/keymaps_keyboard_input.html
mentions the stand alone ALT and SHIFT modifiers:

SHIFT: While pressed, the shift key modifier is set
ALT: While pressed, the alt key modifier is set

This commit implements support for these.

Change-Id: I5854ef3df541740cc3443b474a9c41183eb7561c
Ex: key 305 BACK ALT
i/InputDispatcher.cpp
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.cpp
e572319eaffc874f76da431cfc18bd4e0d843bc5 04-Mar-2011 Jeff Brown <jeffbrown@google.com> am e23c235c: Merge "Only set KeyEvent long press flag when repeat count equals 1." into gingerbread

* commit 'e23c235c662c3028cfb080c6ed60d7defcdd0b69':
Only set KeyEvent long press flag when repeat count equals 1.
ec7fb80775b49244a8c3faff5b3c91c32a8b9359 03-Mar-2011 Jeff Brown <jeffbrown@google.com> Only set KeyEvent long press flag when repeat count equals 1.

This fixes a Gingerbread regression.

Bug: 3507021
Change-Id: Ia6030665b6a406332adc0ee0d8ee3cb735338c8e
i/InputDispatcher.cpp
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.cpp
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/Keyboard.cpp
tils/Looper.cpp
tils/tests/Looper_test.cpp
ea72db37375bf5ca8302d442c78dc691368ba6a6 01-Mar-2011 Jamie Gennis <jgennis@google.com> Merge "Add the MIN_UNDEQUEUED_BUFFERS query to ANW."
26f429d60e1b3446e075303407f661a1b486ac88 28-Feb-2011 Mathias Agopian <mathias@google.com> Merge "surfaceflinger_client: Don't dereference NULL ptrs."
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.cpp
ui/SurfaceTextureClient.cpp
urfaceflinger_client/Surface.cpp
bd9cbc3b5547e096eca243c3ec7ebe3ee1ab3b89 28-Feb-2011 Jamie Gennis <jgennis@google.com> surfaceflinger_client: Don't dereference NULL ptrs.

This change adds a null pointer check before dereferencing buffers in
a Surface list of known GraphicBuffer objects. If not all the buffers
have been dequeued before this list can legitimately contain NULL
entries.

Change-Id: I0e105b53a3f6f9a5404716b7bf150c793ff648a6
urfaceflinger_client/Surface.cpp
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/RefBase.cpp
da26c6662db6ad76f214df0e7ebe9fe3b211c0fe 25-Feb-2011 Mathias Agopian <mathias@google.com> Merge "Fix some issues with RefBase debugging."
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.cpp
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.cpp
a08ef4932fc6dcb812a7ceb5a87e8d144a6adda4 17-Feb-2011 Mathias Agopian <mathias@google.com> Remove RefBase.h dependency on TextOutput.h

Change-Id: I72cd6b98ef82b4868fe1c8ec87862cf43fb4ee73
tils/RefBase.cpp
25943a83f255569738cc9f557544e8bafcf6a602 19-Feb-2011 Jeff Brown <jeffbrown@google.com> Add new hover move action and scroll wheel plumbing.

Added support for tracking the mouse position even when the mouse button
is not pressed. To avoid confusing existing applications, mouse movements
are reported using the new ACTION_HOVER_MOVE action when the mouse button
is not pressed.

Added some more plumbing for the scroll wheel axes. The values are
reported to Views but they are not yet handled by the framework.

Change-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1
i/InputTransport.cpp
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.cpp
i/KeyLayoutMap.cpp
i/Keyboard.cpp
i/tests/InputEvent_test.cpp
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.cpp
i/tests/Android.mk
i/tests/InputChannel_test.cpp
i/tests/InputEvent_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
a1e5401add654f317cf8aa4981347360fb8d4cdd 17-Feb-2011 Jeff Brown <jeffbrown@google.com> Merge "Add support for arbitrary axes in MotionEvents."
af1cf07134dccc884c654da0e713c9213d7be3f4 16-Feb-2011 Kenny Root <kroot@google.com> Clean up use of HAVE_ANDROID_OS

HAVE_ANDROID_OS was defined as "1" for targets, but never defined as "0"
for non-targets. Changing them to #ifdef should be safe and matches
all the other uses of HAVE_ANDROID_OS throughout the system.

Change-Id: I82257325a8ae5e4e4371ddfc4dbf51cea8ea0abb
inder/MemoryHeapBase.cpp
inder/MemoryHeapPmem.cpp
tils/SystemClock.cpp
tils/Threads.cpp
7266fb76c98b9d85727313f6001cb0153fb010a7 16-Feb-2011 Mathias Agopian <mathias@google.com> allow root to call into surfaceflinger

this is useful for running standalone tests
with standalone SurfaceFlinger.

Change-Id: I08d054f6214affa3a777a82765f4e0bd256ba26d
urfaceflinger_client/ISurfaceComposerClient.cpp
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/Android.mk
i/Input.cpp
i/tests/InputPublisherAndConsumer_test.cpp
e839fdad46c1474368de63626cc07b4ed46cd350 07-Feb-2011 Jamie Gennis <jgennis@google.com> am c7839751: am c2efcd2c: Merge "Initialize the SurfaceTexture transform fields." into honeycomb

* commit 'c7839751aa1de52e0c3aab7dd1518b0fc8f2ee0a':
Initialize the SurfaceTexture transform fields.
6647e201e3c10299ed2af756134ac1d10799c45f 05-Feb-2011 Jamie Gennis <jgennis@google.com> am c2efcd2c: Merge "Initialize the SurfaceTexture transform fields." into honeycomb

* commit 'c2efcd2ceadab33b42d938e3771c994816e9a4b0':
Initialize the SurfaceTexture transform fields.
f73935bb0da395f5126b67837e815d237dcae5ac 04-Feb-2011 Jamie Gennis <jgennis@google.com> Initialize the SurfaceTexture transform fields.

Change-Id: I2c25f15949253a1dbe493fef440e5ef118c40e71
related-bug: 3426067
ui/SurfaceTexture.cpp
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.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
0eb8851e8cc35f443646000220e42dba3adfab8b 26-Jan-2011 Jamie Gennis <jgennis@google.com> Clear GL errors before updating a SurfaceTexture.

Change-Id: Ibdac657ae9e9ccae53c63abed9caf1f1513915c2
ui/SurfaceTexture.cpp
d45c61dfcfed72eaa6bcc197192b9ac24296e353 31-Jan-2011 Jean-Baptiste Queru <jbq@google.com> am 1314bdb2: am e88fa50b: Merge from open-source gingerbread

* commit '1314bdb2b22ae3613c3e08ae278dbc70f90b965c':
fix failing thread object run
9bfc45e3c3c57a4e512b83f87f150a33572d3637 31-Jan-2011 Jean-Baptiste Queru <jbq@google.com> am e88fa50b: Merge from open-source gingerbread

* commit 'e88fa50be8d6709ef58b7aeb01c5efa059bcac2e':
fix failing thread object run
02bac86968f556bc9f1c100118a9fef847c6cde2 31-Jan-2011 Jean-Baptiste Queru <jbq@google.com> Merge from open-source gingerbread

Change-Id: I56f2ed37187796807fbf0de15274a85164f9432c
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.
da04384f18602bf3a7bc9c6b39dc1f09ea420692 31-Jan-2011 Jamie Gennis <jgennis@google.com> Merge "Reset ANativeWindow crop on buffer geometry changes." into honeycomb
b36560f33e3317ab522c2f5c4b0765e9a572ac20 30-Jan-2011 The Android Open Source Project <initial-contribution@android.com> Mass merge from gingerbread - do not merge

Change-Id: I45dc3596bf4211d8f91c64f2d1d00588878df629
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"
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
ui/SurfaceTextureClient.cpp
urfaceflinger_client/Surface.cpp
e8c431b1429f351632b6b06fd4cf8d4514624b1a 28-Jan-2011 Jamie Gennis <jgennis@google.com> am 2a8f8d57: Merge "Quiet the SurfaceFlingerClient dequeueBuffer error." into honeycomb

* commit '2a8f8d57d23a171eaa367faa143f45fdd2f9cc1c':
Quiet the SurfaceFlingerClient dequeueBuffer error.
155c93ad47d86323aaafe3aad19fcd0a3280d6e8 28-Jan-2011 Jamie Gennis <jgennis@google.com> Merge "Quiet the SurfaceFlingerClient dequeueBuffer error." into honeycomb
749172269ac6b6f7a430e64f604e7f040524e0a1 28-Jan-2011 Jamie Gennis <jgennis@google.com> Quiet the SurfaceFlingerClient dequeueBuffer error.

This is a temporary WAR for the case where dequeueBuffer is called when
all the buffers owned by a SurfaceTexture are not available - either
they're the current texture buffer or the next one. Currently, an error
is returned in that case, and this change just prevents that error from
being logged. In the future this will be fixed to not return an error
in that case.

Bug: 3356050
Change-Id: Ic6cc304881a63ce134cfd0bcb4265e3e3fa94b6a
ui/SurfaceTextureClient.cpp
311559851f31c046c5f2b0ea9bb4b943e4114fc9 28-Jan-2011 Dianne Hackborn <hackbod@google.com> am 256a09b2: Merge "Fix issue #3392073: At times soft keyboard comes up in..." into honeycomb

* commit '256a09b2fa5cc06775818428de771c7957403452':
Fix issue #3392073: At times soft keyboard comes up in...
11e0746577faa032a8db9bd8192a180d938060d0 28-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3392073: At times soft keyboard comes up in...

...gallery while attaching picture to gmail message

In various places we could block switching the IME target incorrectly.

Change-Id: I7e647fb35f4ea6f2e39eb7efd911420ea9ee64fa
tils/ResourceTypes.cpp
830423f7970aa270ebc4cd276e02a92a959d8931 27-Jan-2011 Mathias Agopian <mathias@google.com> am 72abf01a: Merge "Fix the ISurfaceComposer onTransact switch." into gingerbread

* commit '72abf01a8b6958ac1f86d36302a8462c4f51fd9d':
Fix the ISurfaceComposer onTransact switch.
5ee1a0c5ee41a9c7366e7e378e5ab232072bb983 26-Jan-2011 Ritu Srivastava <rsrivast@sta.samsung.com> fix failing thread object run

A previously exited Thread object refuses to run again, if the
thread-id of the caller, conincides with the thread-id it previously
used in the worker thread. Hence reset the previously used worker
thread-id to -1 when it exits.

Signed-off-by: Ritu Srivastava <rsrivast@sta.samsung.com>

Change-Id: I873925c312a43ec8a16392b98cc959042ff6bfd2

Signed-off-by: Madan Ankapura <mankapur@sta.samsung.com>
tils/Threads.cpp
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)
c92ba8851e2c495b025c48da9d887417dea85593 25-Jan-2011 Mathias Agopian <mathias@google.com> am 1955a5c9: Merge "partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)" into gingerbread

* commit '1955a5c9da421dc89bb1a1dd3d3193159192cde9':
partially fix [3306150] HTML5 video with H/W acceleration blackout (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.
urfaceflinger_client/SharedBufferStack.cpp
53a67e1663564efd691461659634f9e908407112 15-Jan-2011 Mathias Agopian <mathias@google.com> partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)

We used to guarantee that a layer in SurfaceFlinger would never be
destroyed before all references (to its ISurface) on the client
side would be released. At some point, this guarantee got
relaxed to allow to free gralloc resources sooner. This last
change was incorrect, because:
- in implementations with reference-counting the gralloc resources
wouldn't be released anyways, until all the mapping were gone
- in implementations without ref counting, the client side
would most likely crash or do something bad
- it also caused the SharedBufferStack slot to be reallocated
to another surface, which could be problematic if the client
continued to use the surface after the window manager destroyed it.

So, we essentially reinstate the guarantee that layers won't be
destroyed until after all references to their ISurface are
released.

NOTE: This doesn't entirely fix 3306150 because there is another
problem there where the Browser continues to use a surface after it
has been destroyed.

also improve SurfaceFlinger 'dumpsys' log

list the purgatory, which shows windows that have been closed,
but for which the client still has references.
i/GraphicBufferAllocator.cpp
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_client/Surface.cpp
d1de37fdabf68765fe8a92a40195ac45dd61744b 23-Jan-2011 Jeff Brown <jeffbrown@android.com> am 265cf2e7: Merge "Fix getSwitchState."

* commit '265cf2e76bef9ee369a7d43d567a22a0c39355ef':
Fix getSwitchState.
747104ad43a7bda798801ce49c654028b35d4fe0 21-Jan-2011 Mathias Agopian <mathias@google.com> am 4707dc73: am 72abf01a: Merge "Fix the ISurfaceComposer onTransact switch." into gingerbread

* commit '4707dc73e236b7055644401b73cd30164b7ad157':
Fix the ISurfaceComposer onTransact switch.
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
urfaceflinger_client/SharedBufferStack.cpp
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/InputReader.cpp
i/tests/InputReader_test.cpp
d5ea3db6a3049d6b66a619be08002e90aa38f99f 17-Jan-2011 Mathias Agopian <mathias@google.com> Use EGL_NATIVE_VISUAL_ID to select EGLConfig

EGLUtils::selectConfigForPixelFormat() now uses EGL_NATIVE_VISUAL_ID
to select a config with the proper format. this is more robust and
future proof.

Change-Id: I7245d904adab1e339f062b9b498ddd9324cfe7a4
i/EGLUtils.cpp
48b888aab9fdcfba250722dffbdffe61f11c64f3 20-Jan-2011 Mathias Agopian <mathias@google.com> improve SurfaceFlinger 'dumpsys' log

list the purgatory, which shows windows that have been closed,
but for which the client still has references.

Change-Id: I5168bb88cb328d5d77d71d0871deb9190f493126
i/GraphicBufferAllocator.cpp
226b2432b129fcc50cbea803037738d7f50769ce 19-Jan-2011 Mathias Agopian <mathias@google.com> am a0bafb47: Merge "Use EGL_NATIVE_VISUAL_ID to select EGLConfig" into gingerbread

* commit 'a0bafb471385767f7c9c91efe7fd828b069b2e97':
Use EGL_NATIVE_VISUAL_ID to select EGLConfig
af6bba52c9d0c584ce41ece29440f14c8fd30116 19-Jan-2011 Mathias Agopian <mathias@google.com> Merge "Use EGL_NATIVE_VISUAL_ID to select EGLConfig" into gingerbread
ed8a50c9c5bdefe4b347c6de12b8f6b947235164 19-Jan-2011 Mathias Agopian <mathias@google.com> fix [3361121] hang in glClear() - device unresponsive, OTA fails

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.

Change-Id: I1f226b1ebdf6918439b687c2723955d55b842c55
urfaceflinger_client/SharedBufferStack.cpp
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)
8fb7545953197d45eef5482d1c5526b036bd5be3 18-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Filter virtual keys after touches. (DO NOT MERGE)" into gingerbread
7ad57ff34f611d24e5ee36343ac27af9b1faa8bb 18-Jan-2011 Mathias Agopian <mathias@google.com> am 72abf01a: Merge "Fix the ISurfaceComposer onTransact switch." into gingerbread

* commit '72abf01a8b6958ac1f86d36302a8462c4f51fd9d':
Fix the ISurfaceComposer onTransact switch.
788ce5d9089672effa6ae6ae0ad5905dd2207b2c 17-Jan-2011 Mathias Agopian <mathias@google.com> Use EGL_NATIVE_VISUAL_ID to select EGLConfig

EGLUtils::selectConfigForPixelFormat() now uses EGL_NATIVE_VISUAL_ID
to select a config with the proper format. this is more robust and
future proof.

Change-Id: Ib85e0974160945d838956b50a3cac4de78618957
i/EGLUtils.cpp
238bec1cebef00fbfc90764891f06a38760cfb89 20-Dec-2010 Jamie Gennis <jgennis@google.com> Fix the ISurfaceComposer onTransact switch.

Two of the cases in the ISurfaceComposer onTransact switch statement
were missing 'break' statements at the end, and would fall through to
the next case block. This change adds those break statements.

Change-Id: I6dcc84263d3ea03d94612c667103283846b3dee1
urfaceflinger_client/ISurfaceComposer.cpp
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.cpp
a214c64d7fb3baf9138cc5314f2111ecf5056c6c 14-Jan-2011 Jamie Gennis <jgennis@google.com> Fix SurfaceTexture transform matrix.

Change-Id: I31520c547cafa5cc85cd0f73883ab3a9ff4648e2
ui/SurfaceTexture.cpp
73e8b9e52411785189a35640e3ccb18574e38263 15-Jan-2011 Jamie Gennis <jgennis@google.com> Compare GraphicBuffers using handles.

This change fixes a bug in SurfaceTextureClient where GraphicBuffers
were being compared using pointer comparison rather than handles.

Change-Id: Ib8989af94be32d4efd86e020a732f5143088a863
ui/SurfaceTextureClient.cpp
b353fd9746bc7d5d438bad47a0ad08f6a11d8d40 15-Jan-2011 Mathias Agopian <mathias@google.com> Merge "Fix error reporting in Surface::cancelBuffer()" into honeycomb
93466435774892925cb09a83209a023c23f931b9 15-Jan-2011 Jeff Brown <jeffbrown@google.com> Make getFallbackAction return false when there is none.

Change-Id: Id17c0f7269e4a228f4e5f11c54614fec508222a2
i/KeyCharacterMap.cpp
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_client/Surface.cpp
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.cpp
urfaceflinger_client/Android.mk
urfaceflinger_client/IGraphicBufferAlloc.cpp
urfaceflinger_client/ISurfaceComposer.cpp
e5366c567a49e587879929ed4e5c98425ea17740 13-Jan-2011 Jamie Gennis <jgennis@google.com> Add logging to SurfaceTextureClient.

Change-Id: I984c3b9c88f8af613a50138188ff1b770e2de6b4
ui/SurfaceTextureClient.cpp
0579d57502ca2e583194db9f1d4612b049a8edc3 13-Jan-2011 Jamie Gennis <jgennis@google.com> Merge "Fix a bug in SurfaceTexture::dequeueBuffer." into honeycomb
15025254eb81d0bbd513d823662d46cf6e57f538 04-Jan-2011 Eric Laurent <elaurent@google.com> Fix issue 3302649.

The cause of the problem is that AudioTrack::start() can fail if it is called from a newly created
thread that has the same ID as the AudioTrack callback thread that has just been stopped and not yet exited.
This is possible as the thread ID used by the Thread class is not the TID.

The fix consists in clearing the thread ID before exiting the thread loop.

Change-Id: I8b5f6a63feeaeb9a01267380e85f6f1456e7aa01
tils/Threads.cpp
2ad398bba58b703b1a1b142e400ac3722ce47244 12-Jan-2011 Eric Laurent <elaurent@google.com> am bec4abaa: Merge "Fix issue 3302649." into gingerbread

* commit 'bec4abaa12bf6759f354b54119c5524cf9339e7b':
Fix issue 3302649.
235c424c9a2e3cc5c24aae8bd9cc6f9db0808b42 12-Jan-2011 Jamie Gennis <jgennis@google.com> Fix a bug in SurfaceTexture::dequeueBuffer.

This change fixes a bug that allowed the most recently queued buffer to
be returned by dequeueBuffer. At the next updateTexImage call, the
dequeued buffer would be set as the contents of the texture even though
the client could be writing to it.

Change-Id: I53dc14eed13262475627d5551337df57fd78fe00
ui/SurfaceTexture.cpp
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.cpp
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.cpp
i/tests/InputReader_test.cpp
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.cpp
e70d8b43938e17beebcc0c97a9373a1906f6f2bf 09-Jan-2011 Jamie Gennis <jgennis@google.com> Add method logging to the SurfaceTexture C++ class.

Change-Id: Ic05b05428d34c04634ce9fc3f924ff3322bb2da2
ui/SurfaceTexture.cpp
3461e0fadff06f77874676a90d4ea12c0405a925 08-Jan-2011 Jamie Gennis <jgennis@google.com> Initialize the SurfaceTexture buffer slots.

Change-Id: I81a562ad897173f33cd6a2127737718a7db610eb
ui/SurfaceTexture.cpp
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/Android.mk
ui/ISurfaceTexture.cpp
ui/SurfaceTexture.cpp
ui/SurfaceTextureClient.cpp
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_client/ISurfaceComposer.cpp
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/Android.mk
i/EventHub.cpp
i/InputDispatcher.cpp
i/InputManager.cpp
i/InputReader.cpp
i/tests/Android.mk
i/tests/InputDispatcher_test.cpp
i/tests/InputReader_test.cpp
a017d5b37968b2a70d8c25846bfeb9b35d0f7e9d 04-Jan-2011 Eric Laurent <elaurent@google.com> Fix issue 3302649.

The cause of the problem is that AudioTrack::start() can fail if it is called from a newly created
thread that has the same ID as the AudioTrack callback thread that has just been stopped and not yet exited.
This is possible as the thread ID used by the Thread class is not the TID.

The fix consists in clearing the thread ID before exiting the thread loop.

Change-Id: I66e679665c384403cb3ba2c31746f5de72d5836d
tils/Threads.cpp
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.cpp
288757f99692de553cda0eb30486767912f07518 29-Dec-2010 Jeff Brown <jeffbrown@google.com> Merge "Add initial support for cursor-based pointing devices."
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.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
i/tests/InputReader_test.cpp
tils/PropertyMap.cpp
1ee57e397f4917aa1b42db31b52242eed2fa9b09 28-Dec-2010 Jean-Baptiste Queru <jbq@google.com> am 6637e307: am bfb5f596: Merge "Fix for writing empty strings to Parcel::writeString8()"

* commit '6637e307494475b85afe8869d312d4a2f832d8f4':
Fix for writing empty strings to Parcel::writeString8()
587567a9b529bb4cf787e1cd892ad1bf780b99df 28-Dec-2010 Jean-Baptiste Queru <jbq@google.com> am bfb5f596: Merge "Fix for writing empty strings to Parcel::writeString8()"

* commit 'bfb5f5966b36c4960b56f6de10ba261332208db9':
Fix for writing empty strings to Parcel::writeString8()
f71751848b2d4ddbf42a217a7668c7d776425329 23-Dec-2010 Jeff Brown <jeffbrown@google.com> am c6f2b3b3: Merge "Fix policy issues when screen is off. (DO NOT MERGE)" into gingerbread

* commit 'c6f2b3b302c06b8b7b81ec7e3a43a7df1813d0e0':
Fix policy issues when screen is off. (DO NOT MERGE)
e7a0d2beea698d503385d90e72d1fca937abd966 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix policy issues when screen is off. (DO NOT MERGE)

Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
is not showing (the proximity sensor turned off the screen).
Previously we passed all non-wake keys through in this case which
caused a bug on Crespo where the screen would come back on if a soft key
was held at the time of power off because the resulting key up event
would sneak in just before the keyguard was shown. It would then be
passed through to the dispatcher which would poke user activity and
wake up the screen.
- We propagate the key flags when broadcasting media keys which
ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).

Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.

Changed the lock screen so that it does not poke the wake lock when the
grab handle is released. This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.

Bug: 3144874
Change-Id: Iebb91e10592b4ef2de4b1dd3a2e1e4254aacb697
i/InputDispatcher.cpp
d1dff8d4d47a5f9142a22b11950adc55ea2b36df 15-Dec-2010 Pravat Dalbehera <pravat.dalbehera@sonyericsson.com> Fix for writing empty strings to Parcel::writeString8()

If writeString8 is called with the following sequence:

writeString8(String8(""));
writeString8(String8("TempString"));

Then in the readString8, the 2nd String i.e. "TempString" is not read,
instead an empty string is read.

The bug comes because of the write call for String8("") where there are
no String bytes present. In the write Statement, an extra ‘\0’ is
written. During the Marshalling, Following bytes are written:

1 2 3 4 5 ...
0x0 0x0 0xB ‘T’ ‘e’ ...

The readString8 function has a check that, if String length is 0, don’t
read anything. So the first byte is read as the length for the first
string. The second byte i.e. ‘\0’ is read as the length for the second
string and hence the second string becomes empty too.

Change-Id: Id7acc0c80ae16e77be4331f1ddf69ea87e758420
inder/Parcel.cpp
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.cpp
455d18d4c26a823bff62ca14771986cca52d3462 14-Dec-2010 Mathias Agopian <mathias@google.com> minor clean-up. SurfaceFlinger doesn't need libpixelflinger.so.

Change-Id: I3bdca74351c8e480a05084bc412a96c5f685221d
urfaceflinger_client/Surface.cpp
c44375ce711366166a9ac958a31533441f61e5b2 11-Dec-2010 Mathias Agopian <mathias@google.com> Merge "[3258939] Need snapshot to limit which layers are included"
bf2c6a6c8f1df40ac94e28b948754bb9739daaca 11-Dec-2010 Mathias Agopian <mathias@google.com> [3258939] Need snapshot to limit which layers are included

Change-Id: Id7351a0e3f53dde99b291cffba553d89fd4d7ca9
urfaceflinger_client/ISurfaceComposer.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
e6f096a4cde5161e9e8432a6f6f2008e6bc710f4 11-Dec-2010 Mathias Agopian <mathias@google.com> dump callstack on Surface use error

Change-Id: I38e260dd47349b9af3a999dda683a083a94be16d
urfaceflinger_client/Surface.cpp
7999039b77f0e42fdb589e831dc368ebeee2aadb 10-Dec-2010 Jeff Brown <jeffbrown@google.com> Fix race condition in fallback key processing.

Need to ensure that the channel is still valid before proceeding.

Bug: 3271482
Change-Id: Ia6863cbedd9b53cbc5c9c8815e9ea90bef3d2218
i/InputDispatcher.cpp
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
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
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_client/ISurface.cpp
i/Android.mk
i/IOverlay.cpp
i/Overlay.cpp
1d21a9cafc534c34a2f28c985c4c7aa176d0e67b 02-Dec-2010 Erik Gilling <konkers@android.com> surfaceflinger: add support for gralloc dump hooks

Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
i/FramebufferNativeWindow.cpp
i/GraphicBufferAllocator.cpp
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/Android.mk
tils/Asset.cpp
tils/FileMap.cpp
tils/ObbFile.cpp
tils/StreamingZipInflater.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
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.cpp
i/InputReader.cpp
i/InputTransport.cpp
i/KeyCharacterMap.cpp
i/tests/InputDispatcher_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
i/tests/InputReader_test.cpp
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.cpp
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.cpp
i/GraphicBufferAllocator.cpp
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/Android.mk
i/EventHub.cpp
i/Input.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
i/Keyboard.cpp
i/VirtualKeyMap.cpp
i/tests/InputReader_test.cpp
tils/FileMap.cpp
tils/String8.cpp
tils/Tokenizer.cpp
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/EventHub.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
i/tests/InputDispatcher_test.cpp
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.cpp
i/Input.cpp
i/InputReader.cpp
i/Keyboard.cpp
i/tests/InputReader_test.cpp
tils/Android.mk
tils/PropertyMap.cpp
7c4f09db4caf022cdc1a8ce44c85b7fe2319316c 29-Nov-2010 Vasu Nori <vnori@google.com> fix messages from sqlite layer in c++ code to be useful.

Change-Id: Ib13f86f3481aae391f5e887bb14877f12bf48034
inder/CursorWindow.cpp
44a2a171e11287286714bcc0926ec1bb073aead3 24-Nov-2010 Jeff Brown <jeffbrown@google.com> Merge "Port Emulator keymaps."
d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031f 19-Nov-2010 Jeff Brown <jeffbrown@google.com> Port Emulator keymaps.

Also added a validation tool for keymaps (not currently integrated
into the build system but getting there).

This change brings back Android.mk with the intent that it will
be used to validate keymaps in a later change.

Added some missing keys that are present on phones.

Bug: 3215210
Bug: 3225421
Change-Id: Id817c6e2215164616942c51a42752915d9ceacd3
i/Android.mk
i/KeyCharacterMap.cpp
ffb0795daf64dac9f5c73ab7861b702e5b1169a1 23-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am 9df7f313: am f0f6c54b: Merge "frameworks/base: Destroy the overlay even if there is an error"

* commit '9df7f31359866a77a47c9fab3171c71715fd0056':
frameworks/base: Destroy the overlay even if there is an error
ec756056abceb3c5ffe77174cf38328b9fcc1b75 23-Nov-2010 Jean-Baptiste Queru <jbq@google.com> am f0f6c54b: Merge "frameworks/base: Destroy the overlay even if there is an error"

* commit 'f0f6c54b13831b11bd7a3bd7a01dc49b7505e56e':
frameworks/base: Destroy the overlay even if there is an error
29a73ba845b846cd0bcb9112179f78a54aea94b2 18-Nov-2010 Naomi Luis <nluis@codeaurora.org> frameworks/base: Destroy the overlay even if there is an error

Allow the overlay object to be destroyed whenever the destroy is
invoked. Currently the destroy call returns if there is an error
encountered, which results in open data and control channels.

Change-Id: I1f2ef4ebb5fb1dcabf05ab50b5bbf6e5e240a63a
i/Overlay.cpp
9ee93d18edb42d55441b636aa7e001260f1b758d 19-Nov-2010 Jeff Brown <jeffbrown@google.com> Fix SDK build on Windows due to use of mmap.

Change-Id: Id4bd9a6f932285c93c5853e540efc20b99876564
tils/Tokenizer.cpp
46aabb3f51dafd87bbfb713d4690665114524be8 18-Nov-2010 Jeff Brown <jeffbrown@google.com> am b27b8c0c: Fix a key repeating bug. (DO NOT MERGE)

* commit 'b27b8c0caf8ff23d10eea655085769f314050427':
Fix a key repeating bug. (DO NOT MERGE)
0b7b1960e7e6b39e62bbb2ff0bac22154c07e0fa 18-Nov-2010 Jeff Brown <jeffbrown@google.com> am bfc1cc2d: Fix stuck keys when released out of order. (DO NOT MERGE)

* commit 'bfc1cc2d1ea85cc754e63b422eb8cef8ae6a3667':
Fix stuck keys when released out of order. (DO NOT MERGE)
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/Android.mk
i/EventHub.cpp
i/InputReader.cpp
i/KeyCharacterMap.cpp
i/KeyLayoutMap.cpp
i/KeyLayoutMap.h
i/Keyboard.cpp
tils/Android.mk
tils/String8.cpp
tils/Tokenizer.cpp
9cf416cbcf3be071fb6d89ae253c7f80b579de09 03-Nov-2010 Jeff Brown <jeffbrown@google.com> Fix a key repeating bug. (DO NOT MERGE)

This change fixes a bug in the dispatcher where the window manager
policy would incorrectly receive a key repeat count of 0 in the case
where the key repeat was generated by the hardware or driver.
Long-press on HOME was broken as a result.

Repeating keys could also get stuck down.

Bug: 3159581
Bug: 3208156
Change-Id: I1145487cfcc41a7850dba4cafc63c4a5951ace5b
i/InputDispatcher.cpp
9bb3ef2e78879e4ec02821fbdb07ba9f9e9521a1 18-Nov-2010 Jeff Brown <jeffbrown@google.com> Fix stuck keys when released out of order. (DO NOT MERGE)

Bug: 3208156
Change-Id: I14e4d54f4912de5e2fabcd8638120623aa2d16e0
i/InputReader.cpp
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/Android.mk
tils/ResourceTypes.cpp
tils/String16.cpp
tils/String8.cpp
tils/Unicode.cpp
tils/tests/Android.mk
tils/tests/Unicode_test.cpp
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.cpp
54cc83e8a48c57307cdd40fe4b7e296020490095 02-Nov-2010 Jamie Gennis <jgennis@google.com> Implement reducing the buffer count of a Surface.

Change-Id: I7f979c60c06d654aa8265002836277434bc1a64f
Bug: 3095167
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/tests/SharedBufferStack/SharedBufferStackTest.cpp
e9ebae24b9507f6cbbcd685c3b02761c4f4698c0 10-Nov-2010 Jamie Gennis <jgennis@google.com> Fix a compile warning in the Surface class.

Change-Id: Id744e71d2cd23c287925a5090e13a6d9908cdd99
urfaceflinger_client/Surface.cpp
a2b1b7f71da2ad22b7c88e3c1839b1ce05aa65e6 08-Nov-2010 Mathias Agopian <mathias@google.com> Merge "fix [3148312] Region can access data out of bounds" into gingerbread
d94206c41dfbac8340b86864d9e05cdc3a3a87ba 08-Nov-2010 Joe Onorato <joeo@google.com> The CHEEK_TOUCH stuff never worked. Remove it.

Bug: 3104906
Change-Id: Ia37236ba1775fc3ec8c111e2e0b85b105e0dea6a
i/InputDispatcher.cpp
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.cpp
i/InputTransport.cpp
i/tests/InputDispatcher_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
d4ecee931322b9832b729f2fcbaed21c35edd3bf 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Rename the locked meta key constants for clarity.

Also added some tests for LED setting.

Change-Id: I3fd86322afd07ae8de52d1ccbc2fae2c6d586641
i/InputReader.cpp
i/tests/InputReader_test.cpp
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.cpp
92988aab48d973dc3f8a5e90e370f2d5a7ae7566 03-Nov-2010 Jeff Brown <jeffbrown@google.com> Fix a key repeating bug.

This change fixes a bug in the dispatcher where the window manager
policy would incorrectly receive a key repeat count of 0 in the case
where the key repeat was generated by the hardware or driver.
Long-press on HOME was broken as a result.

Bug: 3159581
Change-Id: If0f02662313f5b879a4e566fbb461389e274a550
i/InputDispatcher.cpp
b0bb949f094a11057ebe1d265576cdf4eccfe34e 03-Nov-2010 Jeff Brown <jeffbrown@google.com> Merge "Add plumbing for volume mute key."
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/Input.cpp
e113710ebd10c254ed54171b64e8557298ded34e 03-Nov-2010 Romain Guy <romainguy@google.com> Merge "Optimize FBO drawing with regions. This optimization is currently disabled until Launcher is modified to take advantage of it. The optimization can be enabled by turning on RENDER_LAYERS_AS_REGIONS in the OpenGLRenderer.h file."
b801624dc4f03c930ec35f406f07fa5fd8f65dd9 28-Oct-2010 Romain Guy <romainguy@google.com> Optimize FBO drawing with regions.
This optimization is currently disabled until Launcher is
modified to take advantage of it. The optimization can be
enabled by turning on RENDER_LAYERS_AS_REGIONS in the
OpenGLRenderer.h file.

Change-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1
i/Region.cpp
ec033c57b6112ea9ece34717f213606f1e7fc6dd 02-Nov-2010 Kenny Root <kroot@google.com> Fix default return code for getResource

Reorganization of getResource to allow for other densities accidentally
overrode the default return code for getResource from BAD_VALUE to
BAD_INDEX. This corrects the default return to BAD_VALUE which restores
other things to working.

Bug: 3155824
Change-Id: I13dafff85bc6978c5f5435fc09ab0474c7885c4d
tils/ResourceTypes.cpp
2d283a68e4f45a3405caeda0254d45edbe3b6abf 02-Nov-2010 Jeff Brown <jeffbrown@google.com> am 7ab5d2d9: am a87ea46c: Fix bugs related to cheek event suppression.

* commit '7ab5d2d951792c9b1a1e7cfb279280c2d076506f':
Fix bugs related to cheek event suppression.
f6149c3229529ed2ea1334e6bab6e1df2c86a4ba 02-Nov-2010 Jeff Brown <jeffbrown@google.com> Fix bugs related to cheek event suppression.

Two issues:

1. First, due to an inverted conditional in the input dispatcher, we were
reporting touches as long touches and vice-versa to the power manager.

2. Power manager user activity cheek event suppression also suppresses touch
events (but not long touch or up events). As a result, if cheek event
suppression was enabled, touches would not poke the user activity timer.
However due to the above logic inversion, this actually affected long
touches. Net result, if cheek suppression was enabled in the power manager
and you held your thumb on the screen long enough, the phone would
go to sleep!

Cheek event suppression is commonly turned on when making a phone call.
Interestingly, it does not seem to get turned off afterward...

This change fixes the logic inversion and exempts touches from the cheek
suppression. The reason we do the latter is because the old behavior
was actually harmful in other ways too: a touch down would be suppressed
but not a long touch or the touch up. This would cause bizarre behavior
if you touched the screen while it was dimmed. Instead of brightening
immediately, it would brighten either when you lifted your finger or
300ms later, whichever came first.

Bug: 3154895
Change-Id: Ied9ccec6718fbe86506322ff47a4e3eb58f81834
i/InputDispatcher.cpp
fd749c63b039da0c40b146c6eea13ce6072d26c4 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix policy issues when screen is off.

Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
is not showing (the proximity sensor turned off the screen).
Previously we passed all non-wake keys through in this case which
caused a bug on Crespo where the screen would come back on if a soft key
was held at the time of power off because the resulting key up event
would sneak in just before the keyguard was shown. It would then be
passed through to the dispatcher which would poke user activity and
wake up the screen.
- We propagate the key flags when broadcasting media keys which
ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).

Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.

Changed the lock screen so that it does not poke the wake lock when the
grab handle is released. This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.

Fixed a couple of issues where media keys were being handled inconsistently
or not at all, particularly in the case of the new PAUSE, PLAY
and RECORD keys.

Bug: 3144874
Change-Id: Ie630f5fb6f128cfdf94845f9428067045f42892c
i/InputDispatcher.cpp
0cc0399b6bc9044942db282514fba42b5d2a1d09 30-Oct-2010 Mathias Agopian <mathias@google.com> fix [3148312] Region can access data out of bounds

Change-Id: Ic46f31d40943f405e37da21a50b55edd5a2c4124
i/Region.cpp
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.cpp
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.cpp
252ebf36431d77bcb3fe6560a60e9f8c3af976b8 27-Oct-2010 Vasu Nori <vnori@google.com> Merge "convert one of the LOGE to LOG_WINDOW msg to reduce grief"
82bd26d904f3805d9bfaf475677e4c7a7e120ff1 27-Oct-2010 Vasu Nori <vnori@google.com> convert one of the LOGE to LOG_WINDOW msg to reduce grief

grief from people who think this message is bad news.
but in reality, this message is really just an informational message
to aid in debugging

Change-Id: I1a2ab1666a27adb7d3fd210528b2c5218640d53d
inder/CursorWindow.cpp
88456883daae14aacd4bc760a6a0ecef6a307478 26-Oct-2010 Mathias Agopian <mathias@google.com> am 85c5ca07: am 2f19f56a: Merge "Updade Surface (ANativeWindow) format based on its buffers format" into gingerbread
53f291e55f0a1693ce0648796d49d3f915c2b304 26-Oct-2010 Jeff Brown <jeffbrown@google.com> Tweak log messages a bit.

Change-Id: Ifadf78c1ab8db49106216c70086f98860795c65f
i/InputDispatcher.cpp
367dc0bd5f0fea8dcf9534d0e6b127dd467adc50 26-Oct-2010 Mathias Agopian <mathias@google.com> Updade Surface (ANativeWindow) format based on its buffers format

this is to allow applications to change the format of a surface's
buffer, and have it reflected in EGL; which is needed for
EGLConfig validation.

Change-Id: Iee074c30ad765881e2409c1d37450b05e561c44d
urfaceflinger_client/Surface.cpp
5e871b47ef9b252e24a9acdedd79b90dfbf65529 25-Oct-2010 Jeff Brown <jeffbrown@google.com> Add test stubs for newly added methods.

Change-Id: I44139adebbbed1358f613fbcbfcddac6617ef5bd
i/tests/InputReader_test.cpp
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/EventHub.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
i/tests/Android.mk
i/tests/InputDispatcher_test.cpp
i/tests/InputReader_test.cpp
4b3d8bd9a416beea69ceb31a42033b8fead63d72 22-Oct-2010 Kenny Root <kroot@google.com> am 7ba8c44e: am 8ad30b5b: Merge "Initialized check in ZipFileRO::findEntryByName" into gingerbread

Merge commit '7ba8c44ef7ba22d83a670e50314d69d0ddce1b9c'

* commit '7ba8c44ef7ba22d83a670e50314d69d0ddce1b9c':
Initialized check in ZipFileRO::findEntryByName
6d9d44aeccbfc8793d1b2e16c48b381da8c97bcf 22-Oct-2010 Kenny Root <kroot@google.com> Merge "Initialized check in ZipFileRO::findEntryByName" into gingerbread
a209aa866e5f1101064896c618e5d36cbce48470 22-Oct-2010 Kenny Root <kroot@google.com> am d7cd560a: am 1d79a9d9: Use correct size of GAMEPAD_KEYCODES

Merge commit 'd7cd560af506f75d07034c136bea09b409b4d408'

* commit 'd7cd560af506f75d07034c136bea09b409b4d408':
Use correct size of GAMEPAD_KEYCODES
bc9c82fb7960b99d6c21839b337360fbf6f8d9a5 22-Oct-2010 Kenny Root <kroot@google.com> Use correct size of GAMEPAD_KEYCODES

Compute the actual number of indices in the GAMEPAD_KEYCODES instead of
the pure size in bytes.

Bug: 3121536
Change-Id: I71edbd8bf6eff2c8cc0ea5c6845362b3d1e06466
i/EventHub.cpp
06dbe50a1a138d3cde72f44036e691eb2676718d 22-Oct-2010 Kenny Root <kroot@google.com> Initialized check in ZipFileRO::findEntryByName

If a ZipFileRO object is uninitialized, the hash table will not have
been initialized. This condition wasn't checked in findEntryByName.

Bug: 3121109
Change-Id: Ib696e0e7e0cb4dd0fb2e456d6a847e5e8f4fe14e
tils/ZipFileRO.cpp
c6a98bb73d9ba63c8490fd522eb19638e7296834 21-Oct-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 368fdba4 to master

Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
fc1a4df52346dae7dbf5928a878156ceca002148 19-Oct-2010 Joe Onorato <joeo@google.com> Reduce logging.

Remember, the system and main logs are
- Shared resources
- Primarily for recording problems
- To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
tils/StreamingZipInflater.cpp
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.cpp
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.cpp
ace3dc4f7cda6b7211b3bab4f33dff8948477791 18-Oct-2010 Jeff Brown <jeffbrown@google.com> am 9e0e0543: am 36e65ffd: Merge "Fix a native crash in input dispatcher when windows are removed." into gingerbread

Merge commit '9e0e054388689fd618c84a283c28ee484477b44d'

* commit '9e0e054388689fd618c84a283c28ee484477b44d':
Fix a native crash in input dispatcher when windows are removed.
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.
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.cpp
b13d7b5cf0738a79bb7acdda3060f390deaa58cd 16-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix a native crash in input dispatcher when windows are removed.

Bug: 3101826
Change-Id: I040838600a6105c8d9f3235025dc0a7b5b27da2e
i/InputDispatcher.cpp
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.cpp
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.cpp
i/InputReader.cpp
i/KeyCharacterMap.cpp
tils/String8.cpp
cc13ed145c3bcd5692b77a57866588737d6b45e4 15-Oct-2010 Raphael Moll <raphael@google.com> am 729503c2: am 848a2bc4: Merge "MinGW/Cygwin requires open() in O_BINARY mode." into gingerbread

Merge commit '729503c280e0d5b2621a8b7a6c93dd20fe1f5d0f'

* commit '729503c280e0d5b2621a8b7a6c93dd20fe1f5d0f':
MinGW/Cygwin requires open() in O_BINARY mode.
28699cce02504c427064edcc64695c9aa2b81b99 15-Oct-2010 Jeff Brown <jeffbrown@google.com> am 567db077: am 2d441e14: Merge "Make sure EventHub reports added/removed devices immediately." into gingerbread

Merge commit '567db07702f851f2e7fb1fb0021ce2871469183e'

* commit '567db07702f851f2e7fb1fb0021ce2871469183e':
Make sure EventHub reports added/removed devices immediately.
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
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.cpp
6f3c5bd1941526faf72fef47ccb780de51cf460f 14-Oct-2010 Raphael Moll <raphael@google.com> Merge "MinGW/Cygwin requires open() in O_BINARY mode." into gingerbread
c04563d34038711c9d7bd1652b8f8adee6655e07 14-Oct-2010 Jeff Brown <jeffbrown@google.com> Merge "Make sure EventHub reports added/removed devices immediately." into gingerbread
7e40f36237b2432b74812a6396326115ae10f9a3 14-Oct-2010 Jeff Brown <jeffbrown@google.com> Make sure EventHub reports added/removed devices immediately.

Fixed a bug where EventHub would not report changes in devices
until the next event.

Bug: 3096147
Change-Id: Ie4c3e1d14d0ad806cfaa212611ce06034d1b94d4
i/EventHub.cpp
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
2cf43c6988e478c23bb1538ce711403e7da11743 14-Oct-2010 Raphael Moll <raphael@google.com> MinGW/Cygwin requires open() in O_BINARY mode.

Alsso printf %zd is not supported on MinGW/Cygwin.

Change-Id: I03811dabb46e2b05dd1d8abcc0ff97b125c77d54
tils/ZipFileRO.cpp
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.cpp
tils/tests/ObbFile_test.cpp
29ba9b8d3e12018ee7b0dbf11b7fed769bc555c5 14-Oct-2010 Jeff Brown <jeffbrown@google.com> am 4b255a23: am 03aa28fb: Merge "Improve the input policy handling a bit." into gingerbread

Merge commit '4b255a23041225103a6870e77a236f78c2816eda'

* commit '4b255a23041225103a6870e77a236f78c2816eda':
Improve the input policy handling a bit.
5d0d23dba94b3ff7b3202451abcb0a963aaddad7 14-Oct-2010 Jeff Brown <jeffbrown@google.com> am b05632aa: am a28d5aff: Merge "Fix a bug synthesizing cancelation events for motions." into gingerbread

Merge commit 'b05632aae37ea3a3573aabf10e6868733546de96'

* commit 'b05632aae37ea3a3573aabf10e6868733546de96':
Fix a bug synthesizing cancelation events for motions.
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_client/ISurfaceComposer.cpp
59119e658a12279e8fff508f8773843de2d90917 11-Oct-2010 Mathias Agopian <mathias@google.com> turn off the electron beam

Change-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6
urfaceflinger_client/ISurfaceComposer.cpp
a8ed856a8ae8fb5fd4c4fea520b53f3fe5251e47 12-Oct-2010 Jeff Brown <jeffbrown@google.com> Improve the input policy handling a bit.

Fixed some issues with Monkeys turning off their own screens. Ook ook!
Added some more comments to explain what's going on.

Change-Id: Id2bc0466161a642a73ef7ef97725d1c81e984b12
i/InputDispatcher.cpp
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.cpp
316237d554bc9422274209d2a51fe43a3d5950b5 12-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix a bug synthesizing cancelation events for motions.

Change-Id: I881c0fa16c1d22c4b1b6cca24deb0105405ff5b0
i/InputDispatcher.cpp
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/InputDispatcher.cpp
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/InputDispatcher.cpp
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/InputDispatcher.cpp
i/InputReader.cpp
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
urfaceflinger_client/Surface.cpp
i/GraphicBuffer.cpp
26c336a468226fa0555c9f15abf01238110dac27 10-Oct-2010 Jeff Brown <jeffbrown@google.com> am f10929fb: am a1bf0a06: Merge "Minor fix for InputReader support for non-touchscreen devices." into gingerbread

Merge commit 'f10929fb350395c21edd2cba7641479afe75e750'

* commit 'f10929fb350395c21edd2cba7641479afe75e750':
Minor fix for InputReader support for non-touchscreen devices.
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().
77e26fce8e5160163d041740ac0bd6f34728373c 07-Oct-2010 Jeff Brown <jeffbrown@google.com> Minor fix for InputReader support for non-touchscreen devices.

Change-Id: I2256e37dd1c6f3836f82786aae14ee5d0c98f4c6
i/InputReader.cpp
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.cpp
tils/tests/Looper_test.cpp
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
91abfdd3ed40f6d90cc7d8f05d3b09bab1beed47 06-Oct-2010 Vasu Nori <vnori@google.com> turn off some useless messages

Change-Id: I5ed5696cd052b70e7cf7b872205470cd56fada90
inder/CursorWindow.cpp
35cf0e9854886c7d1a76be7c64ba9d78dfca649c 05-Oct-2010 Jeff Brown <jeffbrown@google.com> Make secure views tolerate IME overlays.

Change-Id: I3cf09b9d91045f4d9c558b4aace482a7b0bbd3d8
i/InputDispatcher.cpp
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
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
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_client/ISurfaceComposer.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
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.cpp
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.cpp
i/InputReader.cpp
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.cpp
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.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
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/InputReader.cpp
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.cpp
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_client/ISurfaceComposer.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
3c2450fbfb32b4dc5425920d5396c46b7e890822 28-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix bug in split touches.

Cherry-picked down to master.

Change-Id: I786761bd6aecc021ae22d8c9a022324f3a9980d1
i/InputDispatcher.cpp
1c322584439f00722ad091777404f2c022390a53 28-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix bug in split touches.

Change-Id: I808c2201a06938f82817058059f4ddcc9b1a9ae2
i/InputDispatcher.cpp
2341fd66b9284fd1ad7958740a66c4eab87fb8e2 28-Sep-2010 Jeff Brown <jeffbrown@google.com> am 26d5786f: am 9c37447e: Merge "Fix pointer index when splitting secondary pointers." into gingerbread

Merge commit '26d5786fb1a43d82b40fa908e1220a018b748c93'

* commit '26d5786fb1a43d82b40fa908e1220a018b748c93':
Fix pointer index when splitting secondary pointers.
ffb16d601b81c0a7559f601c4df8dbaea5947016 28-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix pointer index when splitting secondary pointers.

Change-Id: Ib01e810ea5b64501b1303000bbef0f0a1db2114e
i/InputDispatcher.cpp
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.cpp
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/InputDispatcher.cpp
i/InputReader.cpp
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
be8bf0ced452c8efbf7c61828b9e5c5f5df44281 25-Sep-2010 Dianne Hackborn <hackbod@google.com> am deaa8ff1: am a7ef18fc: Merge "Some debugging support." into gingerbread

Merge commit 'deaa8ff1b10d38add4f7c276e7be2ffc19359a14'

* commit 'deaa8ff1b10d38add4f7c276e7be2ffc19359a14':
Some debugging support.
03ba4aeda90b10b55ce2630129c4368f39b983cd 25-Sep-2010 Dianne Hackborn <hackbod@google.com> Merge "Some debugging support." into gingerbread
323b75e3c473eeb24fefcb2a0ccdeb3a9853f616 25-Sep-2010 Kenny Root <kroot@google.com> am c55f6da7: am 0b606263: Merge "Revert "Revert "Free created FileMap when uncompressing files""" into gingerbread

Merge commit 'c55f6da7281d34a4b875975cdf68f5062dfe4b34'

* commit 'c55f6da7281d34a4b875975cdf68f5062dfe4b34':
Revert "Revert "Free created FileMap when uncompressing files""
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_client/ISurfaceComposer.cpp
67f78c4fe8f89b52199f509f36e42df0b1cdfe2d 24-Sep-2010 Dianne Hackborn <hackbod@google.com> Some debugging support.

- New feature to "am monitor" to have it automatically launch
gdbserv for you when a crash/ANR happens, and tell you how to
run the client.

- Update dumpstate to match new location of binder debug logs

- Various commented out logs that are being used to track down
issues.

Change-Id: Ia5dd0cd2df983a1fc6be697642a4590aa02a26a5
inder/IPCThreadState.cpp
b47eafac1d1388f002e40033bffab0669e546d90 24-Sep-2010 Kenny Root <kroot@google.com> Revert "Revert "Free created FileMap when uncompressing files""

This revert reverts commit a19ef306bd0a257c67b50f5e0e669e9fe52b0889.
tils/ZipFileRO.cpp
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.cpp
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.cpp
62927a553958ab510f8b62fed4dcbb96a6e55943 18-Sep-2010 Jeff Brown <jeffbrown@google.com> am a8d95248: am 7d4739be: Merge "Reduce lock thrashing in native Looper." into gingerbread

Merge commit 'a8d95248bdbb8ea0933ecf86d2859964324978a7'

* commit 'a8d95248bdbb8ea0933ecf86d2859964324978a7':
Reduce lock thrashing in native Looper.
ed242de3f5b709e9e0925513ab976886a04358c0 18-Sep-2010 Jeff Brown <jeffbrown@google.com> Reduce lock thrashing in native Looper.

In the common case, there is nothing interesting happening on the native
Looper besides occasional wake ups. There is no point grabbing the
semaphore then.

Change-Id: Ib5c426d0e158dfa37891b7ff5537b6f833592fad
tils/Looper.cpp
8b9fbb92327f72d4b3f12a78a6c4f7f7957ae014 17-Sep-2010 Brian Carlstrom <bdc@google.com> am f3f822ed: am 987ba541: Merge "Fix sim-eng build on Hardy" into gingerbread

Merge commit 'f3f822edc7d9f08edc91a2e1826de127a19c235d'

* commit 'f3f822edc7d9f08edc91a2e1826de127a19c235d':
Fix sim-eng build on Hardy
ce802e33d498c5a87f7abc904d2741c8257d80ac 17-Sep-2010 Brian Carlstrom <bdc@google.com> Merge "Fix sim-eng build on Hardy" into gingerbread
8f38108cc6e6a6b06e5491e38bdad82f6d4f7c81 17-Sep-2010 Mathias Agopian <mathias@google.com> am 876e0e56: am 36f429d3: Fix typo which causes sensors to fail miserably

Merge commit '876e0e5646f3f062b5f81ead9ff42bfc1da5ffe1'

* commit '876e0e5646f3f062b5f81ead9ff42bfc1da5ffe1':
Fix typo which causes sensors to fail miserably
2ffb24799e579c47a73c992ab567f05c4bf0c962 17-Sep-2010 Mathias Agopian <mathias@google.com> Fix typo which causes sensors to fail miserably

Change-Id: Ieca18fc089e2bdf7d049f213836971b54d11cd76
ui/SensorEventQueue.cpp
281c975dbf77243ebdd5bf5fab17dee5c6f297e5 17-Sep-2010 Mathias Agopian <mathias@google.com> am 8f476407: am 08710dcd: Merge "part of fix for [3004226] Cannot end the call - Proximity sensor doesn\'t work" into gingerbread

Merge commit '8f476407bf4e6283b128532d594d44cc527e8204'

* commit '8f476407bf4e6283b128532d594d44cc527e8204':
part of fix for [3004226] Cannot end the call - Proximity sensor doesn't work
9e110d532ffe32d570fb5926761c0ae10b0dd2b6 17-Sep-2010 Mathias Agopian <mathias@google.com> Merge "part of fix for [3004226] Cannot end the call - Proximity sensor doesn't work" into gingerbread
aeda9afdba5c28d4d152e3ec3bce74be42949065 17-Sep-2010 Mathias Agopian <mathias@google.com> part of fix for [3004226] Cannot end the call - Proximity sensor doesn't work

- In SensorEventQueue, only bail on errors from Looper::loopOnce
- Improve sensor error logging

Change-Id: Ib3cf8d5d9fdac8513a3d753155827e0feeda1662
ui/SensorEventQueue.cpp
339f69889fbaa94811ca4128f8fe3a05c5f6f379 17-Sep-2010 Jeff Brown <jeffbrown@google.com> am d3576ef8: am 1ac48eab: Merge "Ensure input dispatcher and native looper handles EINTR." into gingerbread

Merge commit 'd3576ef8906798d91da3ee88a103f4bedcab169e'

* commit 'd3576ef8906798d91da3ee88a103f4bedcab169e':
Ensure input dispatcher and native looper handles EINTR.
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.
3b6dda9e19cf7c9073f52da2c25ef79ee80a83a6 17-Sep-2010 Jeff Brown <jeffbrown@google.com> Merge "Ensure input dispatcher and native looper handles EINTR." into gingerbread
f67f29903680e7a33af020dbeb80697ad619b26e 17-Sep-2010 Jeff Brown <jeffbrown@google.com> Ensure input dispatcher and native looper handles EINTR.

Change-Id: I0a42db5f273b9bfe4ab174e4ee65d5d852f9f6bc
i/InputTransport.cpp
tils/Looper.cpp
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.cpp
17563f9fb30dc5d2ad85878c436eabf7f1296a3e 17-Sep-2010 Brian Carlstrom <bdc@google.com> Fix sim-eng build on Hardy

Older glibc version do not include BSD htole32 and htole64 which are
present in bionic. This worksaround a sim-eng build issue by only
using htole32/htole64 if the host is not little endian.

Change-Id: Ia8d0d36285f3c34c51a331790458e52a21c2925f
i/GraphicLog.cpp
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
0c8939f4c9c4f05de0bd3f06648d24f1eb17374b 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 9284b454: am b9eb949b: Merge "Fix input dispatcher regression on launcher drag&drop." into gingerbread

Merge commit '9284b454e28a49f514f9caddaace15b91d41165c'

* commit '9284b454e28a49f514f9caddaace15b91d41165c':
Fix input dispatcher regression on launcher drag&drop.
405a1d32e9ae90bc7e4e252528bd80a9ea0a5d6c 16-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix input dispatcher regression on launcher drag&drop.

Change-Id: I40e937bd712cd2ed6cceac95dfd1b8c8e070724f
i/InputDispatcher.cpp
260b6d931976e394537d237aad0ba872c2eadfd0 16-Sep-2010 Jeff Brown <jeffbrown@google.com> am 03335af0: am 567c00a8: Merge "Fix NPE when handling certain kinds of ANRs." into gingerbread

Merge commit '03335af0dbf14d1eb4503be92a5b10199719898c'

* commit '03335af0dbf14d1eb4503be92a5b10199719898c':
Fix NPE when handling certain kinds of ANRs.
40ad4706434b40fa466b23c6e9f03f6dcc32c0c4 16-Sep-2010 Jeff Brown <jeffbrown@google.com> Fix NPE when handling certain kinds of ANRs.

Change-Id: Iccef1852e52c84f6f49d30c491431460a10b33d3
i/InputDispatcher.cpp
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.cpp
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/InputReader.cpp
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.cpp
i/InputDispatcher.cpp
tils/Android.mk
tils/Looper.cpp
tils/PollLoop.cpp
tils/tests/Android.mk
tils/tests/Looper_test.cpp
tils/tests/PollLoop_test.cpp
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
urfaceflinger_client/Surface.cpp
i/Android.mk
i/FramebufferNativeWindow.cpp
i/GraphicLog.cpp
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.cpp
i/InputManager.cpp
i/InputReader.cpp
tils/PollLoop.cpp
4181bd66fc4af4e347b47b3d41a5ca69f81a4ccb 10-Sep-2010 Dianne Hackborn <hackbod@google.com> am 510951e9: am a8512a71: Always set the scheduling group when starting a new thread.

Merge commit '510951e98bdb861130f38c087956cd05e0b41dcd'

* commit '510951e98bdb861130f38c087956cd05e0b41dcd':
Always set the scheduling group when starting a new thread.
9c82c48d52edb722cc3991ef3c0ad5f07aa12fea 10-Sep-2010 Dianne Hackborn <hackbod@google.com> Always set the scheduling group when starting a new thread.

Change-Id: Ia33acf13fc3752707f3819928c36315e223fa1bd
tils/Threads.cpp
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.cpp
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.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
i/InputTransport.cpp
i/tests/InputPublisherAndConsumer_test.cpp
16ead4738c796e6a44188f75a15d78b997f41eaf 08-Sep-2010 Kenny Root <kroot@google.com> am 2a08e2a9: am a19ef306: Revert "Free created FileMap when uncompressing files"

Merge commit '2a08e2a9f881d06a03e36367585137e05706f592'

* commit '2a08e2a9f881d06a03e36367585137e05706f592':
Revert "Free created FileMap when uncompressing files"
dc2d840ff76b406131cf0ba8f133778eeabffeab 08-Sep-2010 Kenny Root <kroot@google.com> Revert "Free created FileMap when uncompressing files"

This reverts commit 52b8235238fb4d8cf141020cc1ae33880929dc3f.

munmap() on a region that overlaps something else (e.g, the ZIP Central
Directory in this case) unmaps those other regions as well making the
ZipFileRO class unhappy. Revert this for now until we can have FileMap
deal with this craziness.
tils/ZipFileRO.cpp
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
ui/SensorEventQueue.cpp
tils/PollLoop.cpp
1cce37b477be13c30ba7b0aa4bacc794350ee530 07-Sep-2010 Dianne Hackborn <hackbod@google.com> am 05dff838: am 11bbe200: Hopefully fix the build.

Merge commit '05dff838946abb01caa3c3172cf0f367964a0b6d'

* commit '05dff838946abb01caa3c3172cf0f367964a0b6d':
Hopefully fix the build.
3d2bca9abdf509d31fb4bf4a00ec7282f41f8da8 07-Sep-2010 Dianne Hackborn <hackbod@google.com> am b8bcfed5: am f703b77c: Merge "Add system property to turn off scheduling groups." into gingerbread

Merge commit 'b8bcfed5524a37ee51e3f1129f1df91bc4a59cb4'

* commit 'b8bcfed5524a37ee51e3f1129f1df91bc4a59cb4':
Add system property to turn off scheduling groups.
bb39b9f17b0a9b6ecf2087b8454730ba6ac8b876 07-Sep-2010 Dianne Hackborn <hackbod@google.com> Hopefully fix the build.

Change-Id: Id8cd92c0895c9939e1386ef488bd1309a3be3568
tils/Threads.cpp
7b0d45c3465304ccdd29ad20f43270ffd5a6aec0 04-Sep-2010 Dianne Hackborn <hackbod@google.com> Add system property to turn off scheduling groups.

Do this:

adb shell setprop debug.sys.noschedgroups 1

Change-Id: I6e06a74205fd45ee1526ce71fe33944465d39984
tils/Threads.cpp
757a86752fb5e81ac2a5ba86eae2db5ccd69d2e5 03-Sep-2010 Kenny Root <kroot@google.com> am 8d5250c6: am 2e246549: Merge "Add better debug output for ResourceType errors" into gingerbread

Merge commit '8d5250c601504da7a7fde3a3fd7b1c51335becdf'

* commit '8d5250c601504da7a7fde3a3fd7b1c51335becdf':
Add better debug output for ResourceType errors
45162448b31921a3ec61d9910f521b46266f1970 02-Sep-2010 Kenny Root <kroot@google.com> Add better debug output for ResourceType errors

An error code is returned as -ESOMETHING, but the debug code was
printing out 0x%08x for these codes making -74 print out as 0xffffffb5
which is kind of silly.

Change-Id: I7d77fb3da2e146845949f121404f662b47288e61
tils/ResourceTypes.cpp
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.cpp
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.cpp
inder/Parcel.cpp
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.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
b940c7e90115e5756c2872d3fb84a22cdba3dca0 28-Aug-2010 Kenny Root <kroot@google.com> am 8e724905: am ad6731b0: Merge "Add debugging to ZipFileRO" into gingerbread

Merge commit '8e724905261bf4913bac75adc64fb08ed5ba8b7d'

* commit '8e724905261bf4913bac75adc64fb08ed5ba8b7d':
Add debugging to ZipFileRO
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
e96ad7bc45ac0532984e8b9e2cd78e87078d14ff 27-Aug-2010 Kenny Root <kroot@google.com> Merge "Add debugging to ZipFileRO" into gingerbread
e0573a4ad66333ae36ea295b47da5101726fb6f5 27-Aug-2010 Kenny Root <kroot@google.com> Add debugging to ZipFileRO

Some assets are failing to read from ZIP files. This adds a bit more
debugging to figure out what's going on.

Change-Id: Id90e10546c54c85069a34478fbc28bc2523bda5d
tils/ZipFileRO.cpp
0e7f4292c78ef32643fdb10134e91e84067515fc 27-Aug-2010 Mathias Agopian <mathias@google.com> fix a race in SF buffer management

also remove some unused code.

Change-Id: Iae2c3309b7a08055f3e13a5b866c5c084993e352
urfaceflinger_client/SharedBufferStack.cpp
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
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
8d7fcccef6ab20d94d1a566f8224f4e7348e77c4 24-Aug-2010 Kenny Root <kroot@google.com> am b90b9d54: am 6be23712: Merge "Free created FileMap when uncompressing files" into gingerbread

Merge commit 'b90b9d54eb6bbc3a4045ff0bf46d3366822e835e'

* commit 'b90b9d54eb6bbc3a4045ff0bf46d3366822e835e':
Free created FileMap when uncompressing files
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_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
39f04ee5cfe996337971f7a393d430449ee72e03 23-Jun-2010 Sean McNeil <sean.mcneil@windriver.com> Only monitor recognized uevent devices.

system_server can potentially monitor uevent devices that are
of no use to it. For instance, an accelerometer implementation
as uevents. This would cause the process to be busy when
unnecessary. If a device cannot be classified, don't monitor it.

Change-Id: I489cc453bdce7cb376102cba67a9ea470e13292d
i/EventHub.cpp
f84f146159922eb1f5d9bec7ec9a71cda1e866b1 21-Aug-2010 Mathias Agopian <mathias@google.com> am a90a1e55: am 545eab8a: Merge "remove unused pixel format" into gingerbread

Merge commit 'a90a1e55c60604b930eecff03fe25429205ec7df'

* commit 'a90a1e55c60604b930eecff03fe25429205ec7df':
remove unused pixel format
37661c15e7c979d08b71719746bb521c2144fef5 21-Aug-2010 Jeff Brown <jeffbrown@google.com> am d7d58be0: am 00144745: Merge "Make the throttling more sensitive to end-to-end latency." into gingerbread

Merge commit 'd7d58be0b8c1be69bfb774f38bf6d1410d87c4ce'

* commit 'd7d58be0b8c1be69bfb774f38bf6d1410d87c4ce':
Make the throttling more sensitive to end-to-end latency.
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.
e6d429c49bee4649d7d0b47ba0cccd13dac14c17 20-Aug-2010 Kenny Root <kroot@google.com> Merge "Free created FileMap when uncompressing files" into gingerbread
b3635a449be9b96b232a90d32277794c45ff2d84 20-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am 6d5bb884: am aac6a748: Merge "Only monitor recognized uevent devices." into gingerbread

Merge commit '6d5bb88454db2fc798a07ec1085ef55572dbe670'

* commit '6d5bb88454db2fc798a07ec1085ef55572dbe670':
Only monitor recognized uevent devices.
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.
cd9ce313ddc9aa326271bf4ecea7af9b26e73b79 20-Aug-2010 Kenny Root <kroot@google.com> Free created FileMap when uncompressing files

Change-Id: Ice22c4ecb7c129b74bf60cd66ae79e110b017a4a
tils/ZipFileRO.cpp
385648ba93bf37b0b70c7e5de8b054f500b9d893 19-Aug-2010 Mathias Agopian <mathias@google.com> Merge "remove unused pixel format" into gingerbread
2008e3efde16e23a9e70c7b8dd084f1d316a70f6 19-Aug-2010 Jeff Brown <jeffbrown@google.com> Merge "Make the throttling more sensitive to end-to-end latency." into gingerbread
869347fc62bcb1f1e5ccdd403c952b21bc9b1ab7 19-Aug-2010 Jeff Brown <jeffbrown@google.com> Make the throttling more sensitive to end-to-end latency.

The code now takes into account the time when the event was generated.
So with a 60Hz throttling rate, it ensures that a motion event will not
be delayed due to throttling by any more than 1/60th of second past
the time it was generated.

Change-Id: Iaea1d4f76e79036b4a18873485230731c3cd63c3
i/InputDispatcher.cpp
c04cffd5703607f31356c26016b6e3ec971f6511 19-Aug-2010 Mathias Agopian <mathias@google.com> remove unused pixel format

Change-Id: I55bc3cc41385743c07f7e4de06335c922f746f73
i/PixelFormat.cpp
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.cpp
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.
2e7a530242f56eaeb640a1ae83cf4ad256bf81dd 23-Jun-2010 Sean McNeil <sean.mcneil@windriver.com> Only monitor recognized uevent devices.

system_server can potentially monitor uevent devices that are
of no use to it. For instance, an accelerometer implementation
as uevents. This would cause the process to be busy when
unnecessary. If a device cannot be classified, don't monitor it.

Change-Id: Ib2c93105e7d746d9c1a7414bea8bab3fb8c0b70a
i/EventHub.cpp
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.cpp
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.cpp
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.cpp
827630744a5bf05d25c2fa1fb7c53b9ab2b94a69 18-Aug-2010 Jeff Brown <jeffbrown@google.com> Optimize EventHub reads.

Change-Id: Id7d09c0a6e5c741c1e29becd2b6560772c5ff372
i/EventHub.cpp
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
looking up input channels in its various tables. However, it can happen
that an input channel is disposed and then a new input channel is
immediately created that reuses the same file descriptor. Ordinarily
this is not a problem, however there is a small opportunity for a race
to arise in InputQueue.

When InputQueue receives an input event from the dispatcher, it
generates a finishedToken that encodes the channel's receive pipe fd,
and a sequence number. The finishedToken is used by the ViewRoot
as a handle for the event so that it can tell the InputQueue when
the event has finished being processed.

Here is the race:

1. InputQueue receives an input event, assigns a new finishedToken.
2. ViewRoot begins processing the input event.
3. During processing, ViewRoot unregisters the InputChannel.
4. A new InputChannel is created and is registered with the Input Queue.
This InputChannel happens to have the same receive pipe fd as
the one previously registered.
5. ViewRoot tells the InputQueue that it has finished processing the
input event, passing along the original finishedToken.
6. InputQueue throws an exception because the finishedToken's receive
pipe fd is registered but the sequence number is incorrect so it
assumes that the client has called finish spuriously.

The fix is to include a unique connection id within the finishedToken so
that the InputQueue can accurately confirm that the token belongs to
the currently registered InputChannel rather than to an old one that
happened to have the same receive pipe fd. When it notices this, it
ignores the spurious finish.

I've also made a couple of other small changes to avoid similar races
elsewhere.

This patch set also includes a fix to synthesize a finished signal
when the input channel is unregistered on the client side to
help keep the server and client in sync.

Bug: 2834068
Change-Id: I1de34a36249ab74c359c2c67a57e333543400f7b
i/InputDispatcher.cpp
68f73555d5371809e9f0ebe8edbfbd691c80a654 17-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am ddbcce3a: Merge "resolved conflicts for merge of be50507b to gingerbread-plus-aosp" into gingerbread-plus-aosp

Merge commit 'ddbcce3afbb38680fb84583f7bad5209307e6459'

* commit 'ddbcce3afbb38680fb84583f7bad5209307e6459':
Keep track of remaining fd when devices are removed
28a989b03bc7be084705cf9d2a29e385917a7edd 17-Aug-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of be50507b to gingerbread-plus-aosp

Change-Id: Iaa5fb62f7b82b488bca192e7f374c044c7e1e6a7
ca111553ed8b38a5beb65bedd8aa38dd874e589a 17-Aug-2010 Jean-Baptiste Queru <jbq@google.com> Merge "Keep track of remaining fd when devices are removed"
8264321e31189e9ec80ce9e0c2b8e6554093f1b0 11-Aug-2010 Kenny Root <kroot@google.com> am 80328ba0: am 8ea71511: Merge "Initial tool for OBB manipulation" into gingerbread

Merge commit '80328ba09606bd0825d7d4c9a4f213d1de09e53a'

* commit '80328ba09606bd0825d7d4c9a4f213d1de09e53a':
Initial tool for OBB manipulation
1dfd9f8a97adc970656c15d1950865a4cffe5e7b 19-Jul-2010 Kenny Root <kroot@google.com> Initial tool for OBB manipulation

Add "obbtool" host command for adding, removing, and querying Opaque
Binary Blob (OBB) information from a file.

Change-Id: Id2ac41e687ad2a500c362616d6738a8ae7e8f5c3
tils/ObbFile.cpp
f09b0ae832569ad5e32728c5bb74c93f65c2470d 11-Aug-2010 Dianne Hackborn <hackbod@google.com> am 679ac09a: am a5ae50cd: Merge "More native work." into gingerbread

Merge commit '679ac09a5c22175354f3a04b28456b323839530e'

* commit '679ac09a5c22175354f3a04b28456b323839530e':
More native work.
c3ef3ae5521b2bd5bac2a3da6666ac324d5ce930 04-Aug-2010 Dianne Hackborn <hackbod@google.com> More native work.

Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
tils/AssetManager.cpp
8cf167fd58538750787d499df33f2c1fd08fca2a 11-Aug-2010 Jeff Brown <jeffbrown@google.com> am 95105f3c: am c3fc2d03: Fix safe mode and KeyEvent.getMaxKeyCode().

Merge commit '95105f3c25110f28b236cfa71e9ad74533eef854'

* commit '95105f3c25110f28b236cfa71e9ad74533eef854':
Fix safe mode and KeyEvent.getMaxKeyCode().
8d4dfd25f7329d0cdcc8dda8bdfadd7ebec3b3a4 11-Aug-2010 Jeff Brown <jeffbrown@google.com> Fix safe mode and KeyEvent.getMaxKeyCode().

Bug: 2901731
Change-Id: I78617c1b9dee3790fc590e5af4b5083368873184
i/InputReader.cpp
404b6473e9a5b68f9372f5ba70e7c1195661dcda 07-Aug-2010 Kenny Root <kroot@google.com> am d7ce227b: am 818490ab: Fix String8::operator+

Merge commit 'd7ce227bcb854f048124bbc487eba844c6599142'

* commit 'd7ce227bcb854f048124bbc487eba844c6599142':
Fix String8::operator+
aa966638b9428e78837eff93ef29f10f31193256 06-Aug-2010 Kenny Root <kroot@google.com> Fix String8::operator+

The LHS was ignored when using:
String8 + String8
String8 + (const char*)

Add unit tests for above.

Bug: 2898473
Change-Id: Ic8fe7be668b665c36aaaa3fc3c3ffdfff0fbba25
tils/tests/Android.mk
tils/tests/String8_test.cpp
8c16a393c97417f1caa07f0710ffc00236cb07c1 05-Aug-2010 Kenny Root <kroot@google.com> am aec3e36f: am 2d817f75: Free scanBuf in ZipFileRO

Merge commit 'aec3e36fd4f8cdcc53110bbcd7f0afa20bf315d4'

* commit 'aec3e36fd4f8cdcc53110bbcd7f0afa20bf315d4':
Free scanBuf in ZipFileRO
8f20e5e540e9d2be8db31e2a9d8eb04a5621b494 05-Aug-2010 Kenny Root <kroot@google.com> Free scanBuf in ZipFileRO

In the success case, the 65kB scanBuf was not freed!

Also, get rid of annoying complaints about ssize_t from printf in error
cases.

Change-Id: If154ac19bf47637f898b4ec8c8e27c9a073a7b81
tils/ZipFileRO.cpp
ec05cd4a9756378d32f31d3ad50ae48771b2bea3 30-Jul-2010 Jeff Brown <jeffbrown@google.com> am 3b724c83: am 00e5c613: Merge "Improve thread safety of input mappers." into gingerbread

Merge commit '3b724c836b13b320b2b2c492c28660617e0d503e'

* commit '3b724c836b13b320b2b2c492c28660617e0d503e':
Improve thread safety of input mappers.
b51719b9ae719615d5ce66ad8a81395388ef9a5b 30-Jul-2010 Jeff Brown <jeffbrown@google.com> Improve thread safety of input mappers.

Also fixed bug where old touch screen size could be reported by
getMotionRange if an orientation change occurred but the user has not
yet touched the screen.

Bug: 2877345
Change-Id: I7878f47458f310ed6ebe6a5d1b2c9bec2c598ab9
i/InputReader.cpp
73409df32e2139bc8e4a8e6c25f29f4079dd2abb 30-Jul-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of 02513855 to master

Change-Id: Ie33d57798d3d5b800edde753dac86de062bc270c
a48bcf62b6a26f24a0bdd2b44bb39fadce499e92 30-Jul-2010 Mathias Agopian <mathias@google.com> Added SensorManager.getMinDelay()

Exposed the new "min delay" sensor property through native and
java sensor apis. This allows the caller to know what is the
maximum rate at which a sensor can return events, or, if a sensor
works in "update" mode (events returned only when the value changes).

Also augmented SensorManager.regusterSensorEvent() so that it can
accept a value in microsecond in addition to the 4 constants already
defined.

Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
ui/Sensor.cpp
ui/SensorEventQueue.cpp
8aea3f3b94e14b5f8b9ca288ddaaeaf7d7d8898a 29-Jul-2010 Christopher Tate <ctate@google.com> am 06abd0a6: am 571180c4: Merge "Attempt to fix the SDK build" into gingerbread

Merge commit '06abd0a6a833beda1c0e68aed44912d145745a42'

* commit '06abd0a6a833beda1c0e68aed44912d145745a42':
Attempt to fix the SDK build
a58452270b3584cddc418cf9de874b9e2f91c3fe 29-Jul-2010 Christopher Tate <ctate@google.com> Merge "Attempt to fix the SDK build" into gingerbread
6c6a3fbd9db0d03476953a08e8310e5d854814ac 29-Jul-2010 Christopher Tate <ctate@google.com> Attempt to fix the SDK build

On the assumption that the local min() function declaration is in
conflict with some 'min' #define floating around, rename the local
function to min_of().

Change-Id: I62aa27f213c6093cc78805de611cf4aa75f0eef2
tils/StreamingZipInflater.cpp
dc8288a6651fdbaf23fdd03ee8032522967d9b33 29-Jul-2010 Jeff Brown <jeffbrown@google.com> am 9c705411: am aab985b9: Fix touch input in landscape mode.

Merge commit '9c7054119a701b46758cc6e04878bb0961e18ae9'

* commit '9c7054119a701b46758cc6e04878bb0961e18ae9':
Fix touch input in landscape mode.
82de2fcdd021f0bc2b1c3239601333b8796631ca 29-Jul-2010 Jeff Brown <jeffbrown@google.com> Fix touch input in landscape mode.

Change-Id: I7d47e9b02e6443ed604a6bf842028a5db934d90d
i/InputReader.cpp
f67c53eee33d2a2296f269a504e11c90904b3d39 29-Jul-2010 Jeff Brown <jeffbrown@google.com> DO NOT MERGE: Fix input event injection ANRs on UI thread.

Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6
i/InputDispatcher.cpp
i/InputManager.cpp
e5a5aa16d3e887cd9bea738cedd8e20b5f763500 29-Jul-2010 Jeff Brown <jeffbrown@google.com> Fixed StatusBar ANRs due to input event injection on UI thread.

Added a new asynchronous injection mode and made the existing
synchronization mechanism more robust.

Change-Id: I0464f70ff5cbd519dbb02686b2cb5d810fe7dbb2
i/InputDispatcher.cpp
i/InputManager.cpp
2c8c2713c1a2e58c901be74fb5d5a99fae56fa4b 29-Jul-2010 Chris Tate <ctate@android.com> am 4dc8ead1: am 7b40518e: Merge "Change unistd.h to stddef.h to be correct" into gingerbread

Merge commit '4dc8ead1b4e63165c0a9e65adfbe46159758947a'

* commit '4dc8ead1b4e63165c0a9e65adfbe46159758947a':
Change unistd.h to stddef.h to be correct
7fd86dea00b6d64e228a30d705b12f811567fd2e 29-Jul-2010 Chris Tate <ctate@android.com> Merge "Change unistd.h to stddef.h to be correct" into gingerbread
0832a31d54073dd2bef2eb2c12c376dcd04bd3d5 29-Jul-2010 Kenny Root <kroot@google.com> Change unistd.h to stddef.h to be correct

size_t should be defined through inclusion of stddef.h instead of unistd.h

Change-Id: Ieaadacfca1e1c44c2533ea95f73fc060c1519b52
tils/StreamingZipInflater.cpp
e8642c0e59756da2242f6f91011981f822fee32b 29-Jul-2010 Kenny Root <kroot@google.com> am 47cf709a: am 8c5d9430: Merge "Add unistd.h for size_t typedef to fix sim-eng" into gingerbread

Merge commit '47cf709aa3c07d2573340187edb5e11ea75824b1'

* commit '47cf709aa3c07d2573340187edb5e11ea75824b1':
Add unistd.h for size_t typedef to fix sim-eng
28282dc4e6191c4b854499e638cbfc84b62133af 29-Jul-2010 Kenny Root <kroot@google.com> Merge "Add unistd.h for size_t typedef to fix sim-eng" into gingerbread
bc5aac5d45e5095c1e22bf483553c0dc27945401 29-Jul-2010 Mathias Agopian <mathias@google.com> am 9362ea76: am 9f2a91bc: Merge "fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once." into gingerbread

Merge commit '9362ea760f565389f5accce7e17476d05510ed59'

* commit '9362ea760f565389f5accce7e17476d05510ed59':
fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.
937cd1b70785ee221f7a883ea362a2fbbbbdfd1a 29-Jul-2010 Kenny Root <kroot@google.com> Add unistd.h for size_t typedef to fix sim-eng

Change-Id: Ida4f1742547f39539b601f13182c722aa7cf863e
tils/StreamingZipInflater.cpp
edae28809ab37b5ae37e5959a4e7e2bf4cbf7ef8 29-Jul-2010 Mathias Agopian <mathias@google.com> Merge "fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once." into gingerbread
01d1669b89854a5b6275a6aa0cd302efbdd07f2f 29-Jul-2010 Christopher Tate <ctate@google.com> am 1de9f490: am bae6fe24: Merge "Support streaming of compressed assets > 1 megabyte" into gingerbread

Merge commit '1de9f490b5c3f293b3748be3d4ccf3f78cdf460b'

* commit '1de9f490b5c3f293b3748be3d4ccf3f78cdf460b':
Support streaming of compressed assets > 1 megabyte
46f28d328a734fd1cfa0d8f17f15d5ed88508ae8 29-Jul-2010 Christopher Tate <ctate@google.com> Merge "Support streaming of compressed assets > 1 megabyte" into gingerbread
a45a8008c62ec8583709c87e30c84e09214f46cf 26-Jul-2010 Christopher Tate <ctate@google.com> Support streaming of compressed assets > 1 megabyte

Compressed assets larger than one megabyte are now decompressed on demand
rather than being decompressed in their entirety and held in memory. Reading
the data in order is relatively efficient, as is seeking forward in the stream.
Seeking backwards is supported, but requires reprocessing the compressed data
from the beginning, so is very inefficient.

In addition, the size limit on compressed assets has been eliminated.

Change-Id: I6e68247957e6c53e7e8ba70d12764695f1723bad
tils/Android.mk
tils/Asset.cpp
tils/StreamingZipInflater.cpp
2ef6cdec33e2c49b0e854efd304bfe0ba6076b9a 28-Jul-2010 Jeff Brown <jeffbrown@google.com> am 9795a25d: am 6d0fec2d: Refactor input reader to support new device types more easily.

Merge commit '9795a25da060f9a7df87da8ab43fb1086d4322a5'

* commit '9795a25da060f9a7df87da8ab43fb1086d4322a5':
Refactor input reader to support new device types more easily.
e57e8950804b08c80fb69df184b2f5af84ae103c 24-Jul-2010 Jeff Brown <jeffbrown@google.com> Refactor input reader to support new device types more easily.

Refactored the input reader so that each raw input protocol is handled
by a separate subclass of the new InputMapper type. This way, behaviors
pertaining to keyboard, trackballs, touchscreens, switches and other
devices are clearly distinguished for improved maintainability.

Added partial support for describing capabilities of input devices
(incomplete and untested for now, will be fleshed out in later commits).

Simplified EventHub interface somewhat since InputReader is taking over
more of the work.

Cleaned up some of the interactions between InputManager and
WindowManagerService related to reading input state.

Fixed swiping finger from screen edge into display area.

Added logging of device information to 'dumpsys window'.

Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
i/Android.mk
i/EventHub.cpp
i/Input.cpp
i/InputDevice.cpp
i/InputManager.cpp
i/InputReader.cpp
208cb0772429b9ac800010829ecc7b854bdc2d24 28-Jul-2010 Mathias Agopian <mathias@google.com> fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.

this situation happened when the last buffer needed to be resized
(or allocated, the first time). the assumption was that the buffer
was in use by SF itself as the current buffer (obviously, this
assumption made no sense when the buffer had never been allocated, btw).

the system would wait until some other buffer became the "front" buffer.

we fix this problem by entirely removing the requirement that the
buffer being resized cannot be the front buffer. instead, we just
allocate a new buffer and replace the front buffer by the new one.

the downside is that this uses more memory (an extra buffer) for a
brief amount of time while the old buffer is being reallocated and
before it has actually been replaced.

Change-Id: I022e4621209474ceb1c671b23deb4188eaaa7285
urfaceflinger_client/SharedBufferStack.cpp
b8f4015c0aeb006d5028b5e3a6d5e522b184e008 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 245cb784: am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread

Merge commit '245cb7846c82f7c0840e13f0b994d356846b1678'

* commit '245cb7846c82f7c0840e13f0b994d356846b1678':
Replace several IPCThreadState::get() lookups with one.
70081a1511955f53bd0ed7f2aec9a1bf09f0f379 27-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Replace several IPCThreadState::get() lookups with one.

Also, make StrictMode's ThreadLocal final.

Change-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0
inder/Parcel.cpp
d671e2b957447861655402a2bd47a6447a8f302e 23-Jul-2010 Mathias Agopian <mathias@google.com> am 1db0e88e: am 4782cdbb: Merge "Fix a memory corruption when writting Sensor into a parcel" into gingerbread

Merge commit '1db0e88e60ca4f99edff149fe2ab8499e749df47'

* commit '1db0e88e60ca4f99edff149fe2ab8499e749df47':
Fix a memory corruption when writting Sensor into a parcel
d03d9ced3fe0c115bd7af5537cdb57e94e165005 23-Jul-2010 Mathias Agopian <mathias@google.com> Fix a memory corruption when writting Sensor into a parcel

Change-Id: I03f703ae2224f43924031bfea4c68aa979bb9f05
ui/Sensor.cpp
be48137beb68893870c26b7f8c59eac5d0bf517a 23-Jul-2010 Mathias Agopian <mathias@google.com> move native services under services/

moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Icd7336f7289db35df9c8c1857a5122bb8a6f1c86
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/Android.mk
udioflinger/AudioBufferProvider.h
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareInterface.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
udioflinger/AudioMixer.cpp
udioflinger/AudioMixer.h
udioflinger/AudioPolicyManagerBase.cpp
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
udioflinger/AudioResampler.cpp
udioflinger/AudioResampler.h
udioflinger/AudioResamplerCubic.cpp
udioflinger/AudioResamplerCubic.h
udioflinger/AudioResamplerSinc.cpp
udioflinger/AudioResamplerSinc.h
urfaceflinger/Android.mk
urfaceflinger/Barrier.h
urfaceflinger/BlurFilter.cpp
urfaceflinger/BlurFilter.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
urfaceflinger/DisplayHardware/DisplayHardwareBase.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/MODULE_LICENSE_APACHE2
urfaceflinger/MessageQueue.cpp
urfaceflinger/MessageQueue.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Tokenizer.cpp
urfaceflinger/Tokenizer.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
urfaceflinger/clz.cpp
urfaceflinger/clz.h
urfaceflinger/tests/Android.mk
urfaceflinger/tests/overlays/Android.mk
urfaceflinger/tests/overlays/overlays.cpp
urfaceflinger/tests/resize/Android.mk
urfaceflinger/tests/resize/resize.cpp
267e73c6753d70992b655d8690195b1fd27717bc 22-Jul-2010 Mathias Agopian <mathias@google.com> am 1f2ec407: am 23e8de26: propagate sensor event rate properly

Merge commit '1f2ec4070aa9c999d41dc50a892a896e894c5710'

* commit '1f2ec4070aa9c999d41dc50a892a896e894c5710':
propagate sensor event rate properly
a7a3160daad52a5664f2be2936c36083e9039b33 22-Jul-2010 Mathias Agopian <mathias@google.com> resolved conflicts for merge of bc54e63c to master

Change-Id: I4245b15b4cda6963d735442c0c6a04a0477ff5e1
e3c8234765050023b8a588607f819e8cc41a6363 22-Jul-2010 Mathias Agopian <mathias@google.com> propagate sensor event rate properly

Change-Id: I32e67d30e4295285a6827956cc8161b2025d70bc
ui/SensorEventQueue.cpp
a7352c9f4a6e642c29782b19db5bc0bd98feddc8 15-Jul-2010 Mathias Agopian <mathias@google.com> new SensorService

remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.

Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
ui/ISensorEventConnection.cpp
ui/ISensorServer.cpp
ui/Sensor.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
a9c979ad8f638d15f0ec51f43e68154c45c03bb0 20-Jul-2010 Jamie Gennis <jgennis@google.com> am 98f8e0cb: am ff7049ab: Remove some debug logging that I accidentally committed.

Merge commit '98f8e0cbaa19b4a045e6f201290e731ddfad67ba'

* commit '98f8e0cbaa19b4a045e6f201290e731ddfad67ba':
Remove some debug logging that I accidentally committed.
ac07cd613f943f662b66e5ed1eecebca9d2c3690 20-Jul-2010 Jamie Gennis <jgennis@google.com> Remove some debug logging that I accidentally committed.

Change-Id: Ib182455fad5e5b3f3f59b3ff24f59dcd7f638292
urfaceflinger_client/Surface.cpp
7853b8bed7f0fde20ac0f57d8d0c8c756db994d7 17-Jul-2010 Jeff Brown <jeffbrown@google.com> am 3994396b: am d3616592: Fix trackball down and movement bugs.

Merge commit '3994396b089c36f432a7af5d542ef594142dd09b'

* commit '3994396b089c36f432a7af5d542ef594142dd09b':
Fix trackball down and movement bugs.
f26db0d6c55ff572f8772498c5d845ade7c6e8b8 17-Jul-2010 Jeff Brown <jeffbrown@google.com> Fix trackball down and movement bugs.

Bug: 2823788
Change-Id: Icb0c392b58f7e735614460b5eb87439cb73ac4f2
i/InputDispatcher.cpp
i/InputReader.cpp
3154334630cc802c930f835ad10e949317337ec6 17-Jul-2010 Jamie Gennis <jgennis@google.com> am 04b95313: am c8c79a65: Merge "Re-use existing Surface objects when reading them from parcels." into gingerbread

Merge commit '04b953132edb5482f0aa6d992f89e7016961528c'

* commit '04b953132edb5482f0aa6d992f89e7016961528c':
Re-use existing Surface objects when reading them from parcels.
e085084dc572ce8075b7bb0e493bbcbd8e9e1e79 17-Jul-2010 Jeff Brown <jeffbrown@google.com> am 7b8df313: am 00ba8844: Fix individual pointer id up/down reporting.

Merge commit '7b8df313f714d6e8d536e0f8bbe5496fe9a6c26d'

* commit '7b8df313f714d6e8d536e0f8bbe5496fe9a6c26d':
Fix individual pointer id up/down reporting.
874da6e4382f5bc2cab1fed3814a991c31a373cb 17-Jul-2010 Jamie Gennis <jgennis@google.com> Merge "Re-use existing Surface objects when reading them from parcels." into gingerbread
3cf1c9b8443f8db238b0214a97defc09b7e6fc98 17-Jul-2010 Jeff Brown <jeffbrown@google.com> Fix individual pointer id up/down reporting.

Fix a minor threading bug in InputManager dump.

Change-Id: Ic2eecf7df5a8dc9f40561fcb03ebe58a2c073778
i/InputReader.cpp
aca4e2287939b4ce3d9e9aced64c5c9641333503 16-Jul-2010 Jamie Gennis <jgennis@google.com> Re-use existing Surface objects when reading them from parcels.

This change adds a process-global cache of previously deserialized Surface
objects so that if a Surface object wrapping the same ISurface gets received
again the same Surface can be used. This is important because the 'tail'
pointer in the SharedBufferClient is stored only on the client side, and needs
to be the same for all the Surface objects wrapping an ISurface instance. This
solves the problem by making there only be one Surface object wrapping an
ISurface per process.

Change-Id: I4bf0b8787885c56277622fca053022d2bb638902
urfaceflinger_client/Surface.cpp
cfa6d9827827b19ec34239de23157eda5974ec83 16-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of f7adbe10 to master

Change-Id: I898a5e53b180adaee2337c0c0b9896c799d056e7
a2c4654c2fa9c46aac33bc2caea22d2f8859a5ef 16-Jul-2010 Dianne Hackborn <hackbod@google.com> am 9c37e5ad: am 75a91389: Merge "Implement native key pre-dispatching to IMEs." into gingerbread

Merge commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961'

* commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961':
Implement native key pre-dispatching to IMEs.
0a128e3cbef25e17aa7280928e682801041fa55f 16-Jul-2010 Jeff Brown <jeffbrown@google.com> Fix bug with phantom input windows.

Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.

Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
tils/String8.cpp
1a15c6eaff34b3363fd36bfd2b28ebfe03e9a283 16-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of aca672ba to master

Change-Id: I7ae11fca0acdbf513a4870226d0d3e3cafbe9a08
e9f1a6478fb0f6457fe085eddaa66e3f23081c00 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 3e5e21d4: am 1772c34e: Merge "StrictMode: gather and return violating stacks in Binder replies" into gingerbread

Merge commit '3e5e21d4dc74751e64d17379c5563ece39a7e35d'

* commit '3e5e21d4dc74751e64d17379c5563ece39a7e35d':
StrictMode: gather and return violating stacks in Binder replies
721c4162c3ad46d55ac09bf68f5922bb683d36f7 16-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am cc52121c: am c4b204bd: Merge "More StrictMode work, keeping Binder & BlockGuard\'s thread-locals in-sync." into gingerbread

Merge commit 'cc52121c4f88e9feb8404937bcbfff6e73084666'

* commit 'cc52121c4f88e9feb8404937bcbfff6e73084666':
More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.
0e8852766d2cc0ef82ed0846a4cae55ead01fdbf 16-Jul-2010 Dianne Hackborn <hackbod@google.com> Implement native key pre-dispatching to IMEs.

This significantly re-works the native key dispatching code to
allow events to be pre-dispatched to the current IME before
being processed by native code. It introduces one new public
API, which must be called after retrieving an event if the app
wishes for it to be pre-dispatched.

Currently the native code will only do pre-dispatching of
system keys, to avoid significant overhead for gaming input.
This should be improved to be smarted, filtering for only
keys that the IME is interested in. Unfortunately IMEs don't
currently provide this information. :p

Change-Id: Ic1c7aeec8b348164957f2cd88119eb5bd85c2a9f
i/Input.cpp
5c1ed84a2dec7efe914d0d1abb6834f8543fb9f1 15-Jul-2010 Jeff Brown <jeffbrown@google.com> Add support for new input sources.

Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.

Renamed NDK input constants per convention.

Added InputDevice class in Java which will eventually provide
useful information about available input devices.

Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.

Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.

Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.

Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.

Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
i/EventHub.cpp
i/Input.cpp
i/InputDevice.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
i/InputTransport.cpp
i/tests/InputPublisherAndConsumer_test.cpp
d36f4a5f130be7f7b29a8b63cedbc8edfa56db96 12-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> StrictMode: gather and return violating stacks in Binder replies

Now, when Thread A has a strict mode policy in effect and does a
Binder call to Thread B (most likely in another process), the strict
mode policy is passed along, but with the GATHER penalty bit set which
overrides other policies and instead gathers all offending stack
traces to a threadlocal which are then written back in the Parcel's
reply header.

Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
inder/Parcel.cpp
a877cd85b5a026384542e3271fc310d6a8fe24c6 08-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> More StrictMode work, keeping Binder & BlockGuard's thread-locals in-sync.

Change-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5
inder/IPCThreadState.cpp
inder/Parcel.cpp
a903001e3cf392ba42bb124dfe82b94dea25e18f 15-Jul-2010 Jeff Brown <jeffbrown@google.com> am d1313da5: am eb6e0df1: Don\'t build framework tests for simulator target.

Merge commit 'd1313da5999e06be16e52527cfba443f66b333a1'

* commit 'd1313da5999e06be16e52527cfba443f66b333a1':
Don't build framework tests for simulator target.
a50ee3ecb377c69758254a0af9542bb64ecc5b71 15-Jul-2010 Jeff Brown <jeffbrown@google.com> Don't build framework tests for simulator target.

Change-Id: I70f29c7eb307e4f3ec5702f4eb9d97b4342e2f36
i/tests/Android.mk
tils/tests/Android.mk
0204112e94508ac4b55b6aa018f90d2620268b43 15-Jul-2010 Mathias Agopian <mathias@google.com> am 78983a91: am 4055b780: Merge "move native services under services/" into gingerbread

Merge commit '78983a9133d3dd3f08b1ec462a7e2f9e7bfa9e2f'

* commit '78983a9133d3dd3f08b1ec462a7e2f9e7bfa9e2f':
move native services under services/
81bac09fa6b01dd1495644d9c825c3666762fced 15-Jul-2010 Mathias Agopian <mathias@google.com> move native services under services/

moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/Android.mk
udioflinger/AudioBufferProvider.h
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareInterface.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
udioflinger/AudioMixer.cpp
udioflinger/AudioMixer.h
udioflinger/AudioPolicyManagerBase.cpp
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
udioflinger/AudioResampler.cpp
udioflinger/AudioResampler.h
udioflinger/AudioResamplerCubic.cpp
udioflinger/AudioResamplerCubic.h
udioflinger/AudioResamplerSinc.cpp
udioflinger/AudioResamplerSinc.h
urfaceflinger/Android.mk
urfaceflinger/Barrier.h
urfaceflinger/BlurFilter.cpp
urfaceflinger/BlurFilter.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
urfaceflinger/DisplayHardware/DisplayHardwareBase.h
urfaceflinger/GLExtensions.cpp
urfaceflinger/GLExtensions.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/MODULE_LICENSE_APACHE2
urfaceflinger/MessageQueue.cpp
urfaceflinger/MessageQueue.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/TextureManager.cpp
urfaceflinger/TextureManager.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
urfaceflinger/clz.cpp
urfaceflinger/clz.h
urfaceflinger/tests/Android.mk
urfaceflinger/tests/overlays/Android.mk
urfaceflinger/tests/overlays/overlays.cpp
urfaceflinger/tests/resize/Android.mk
urfaceflinger/tests/resize/resize.cpp
d10f9fbc397ff504752c2997c46e5ad29f67945e 15-Jul-2010 Mathias Agopian <mathias@google.com> am db386f2c: am c9a11088: Merge "first step at implementing the native sensor support" into gingerbread

Merge commit 'db386f2c263c6e9e4b825d4c9a320849f8f2c916'

* commit 'db386f2c263c6e9e4b825d4c9a320849f8f2c916':
first step at implementing the native sensor support
58736b5a1996cb070492d1fe2209fc7c306b0c39 15-Jul-2010 Mathias Agopian <mathias@google.com> am 98704f14: am 38eea8bf: Merge "Remove the YV16 format for simplicity\'s sake." into gingerbread

Merge commit '98704f14eaeef6c9bcb73fea162f4941dd9bbd87'

* commit '98704f14eaeef6c9bcb73fea162f4941dd9bbd87':
Remove the YV16 format for simplicity's sake.
e1ea0811de760256cee3b1ffca227251e1cf52c5 15-Jul-2010 Mathias Agopian <mathias@google.com> Merge "first step at implementing the native sensor support" into gingerbread
48c347637124339a34aff53df40bbcb5b044ee6d 07-Jul-2010 Mathias Agopian <mathias@google.com> Remove the YV16 format for simplicity's sake.

Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
urfaceflinger/TextureManager.cpp
i/PixelFormat.cpp
589ce85ee4174829cfedce91b6b2509d2a4002eb 14-Jul-2010 Mathias Agopian <mathias@google.com> first step at implementing the native sensor support

in this commit:
- implemented the C stub
- implemented the binder interfaces involved
- implemented most of the C++ client side

missing:
- SensorManager cannot connect to the SensorServer yet
(because there is no SensorServer yet)

Change-Id: I75010cbeef31c98d6fa62fd5d388dcef87c2636b
ui/Android.mk
ui/ISensorEventConnection.cpp
ui/ISensorServer.cpp
ui/Sensor.cpp
ui/SensorChannel.cpp
ui/SensorEventQueue.cpp
ui/SensorManager.cpp
66d3d8e4885a4d7bf4f7ba1b5bd2737361a53f3e 14-Jul-2010 Dianne Hackborn <hackbod@google.com> am f8d9379b: am d76b67c3: IME events are now dispatched to native applications.

Merge commit 'f8d9379bd834573feca085284970cf686993c330'

* commit 'f8d9379bd834573feca085284970cf686993c330':
IME events are now dispatched to native applications.
ce838a265d9da5b4bd3a0c833b01db6dbaa623f5 14-Jul-2010 Dianne Hackborn <hackbod@google.com> IME events are now dispatched to native applications.

And also:

- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).

There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.

Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
i/InputTransport.cpp
94eed383c93be67e497d736fd81c360974d520b8 14-Jul-2010 Jeff Brown <jeffbrown@google.com> am 89ee578b: am fd035829: Add initial gamepad support.

Merge commit '89ee578b7053d27a50922f82feb94bf6054b330c'

* commit '89ee578b7053d27a50922f82feb94bf6054b330c':
Add initial gamepad support.
8575a87b0d61d21c286321afdf193f4fac53d681 01-Jul-2010 Jeff Brown <jeffbrown@google.com> Add initial gamepad support.

Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
i/Android.mk
i/EventHub.cpp
i/Input.cpp
i/InputDevice.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
i/tests/InputPublisherAndConsumer_test.cpp
tils/Android.mk
0c2aaca5d6495dabadd6544bc694f881724e65ee 14-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> am 706623dd: am c0a7e690: Add Parcel::readExceptionCode() and Parcel::writeNoException()

Merge commit '706623ddb8314850c0551f0b66e24b5f0bd28620'

* commit '706623ddb8314850c0551f0b66e24b5f0bd28620':
Add Parcel::readExceptionCode() and Parcel::writeNoException()
837a0d0fb2c3fba8082d47d04cb6120af1eb9a54 14-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Add Parcel::readExceptionCode() and Parcel::writeNoException()

Add native Parcel methods analogous to the Java versions.

Currently, these don't do much, but upcoming StrictMode work changes
the RPC calling conventions in some cases, so it's important that
everybody uses these consistently, rather than having a lot of code
trying to parse RPC responses out of Parcels themselves.

As a summary, the current convention that Java Binder services use is
to prepend the reply Parcel with an int32 signaling the exception
status:

0: no exception
-1: Security exception
-2: Bad Parcelable
-3: ...
-4: ...
-5: ...

... followed by Parceled String if the exception code is non-zero.

With an upcoming change, it'll be the case that a response Parcel can,
non-exceptionally return rich data in the header, and also return data
to the caller. The important thing to note in this new case is that
the first int32 in the reply parcel *will not be zero*, so anybody
manually checking for it with reply.readInt32() will get false
negative failures.

Short summary: If you're calling into a Java service and manually
checking the exception status with reply.readInt32(), change it to
reply.readExceptionCode().

Change-Id: I23f9a0e53a8cfbbd9759242cfde16723641afe04
inder/IPermissionController.cpp
inder/IServiceManager.cpp
inder/Parcel.cpp
a0296eda483982b9534287a6a750b1751c053836 13-Jul-2010 Eric Laurent <elaurent@google.com> am 66fa2b44: am 8e886be4: Merge "Modifications in audio effect engine state management." into gingerbread

Merge commit '66fa2b44cadf8694cc1b7e2aae1f8abaff4fc547'

* commit '66fa2b44cadf8694cc1b7e2aae1f8abaff4fc547':
Modifications in audio effect engine state management.
70d8f430a6382f55eb3139f89e1fe5a7978c9c9e 09-Jul-2010 Eric Laurent <elaurent@google.com> Modifications in audio effect engine state management.

- Separate the updating of effect engine state from the process call in EffectModule so that the state
of all effects in the same effect chain is updated simultaneusly before all process functions are called.
- Added a mechanism for the effect engine to continue being called for processing after receiving the disable
commands untils it considers that the framework can stop calling the process function without causing
a glitch or loosing some effect tail.
- Updated test reverb and equalizer to support this new feature

Change-Id: Icb56ae2c84c076d4dbad6cf733b1a62f823febe7
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
d441a0ca24fbf05a091f4db998a9d58b19b3cda5 12-Jul-2010 Kenny Root <kroot@google.com> am ceb8465e: am 87bb1857: Merge changes I2337051b,I19b426cb into gingerbread

Merge commit 'ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97'

* commit 'ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97':
Tweak ObbFile class
Allow things that can install packages to set Obb paths
9baa2c7a446cde0f92320c1aeb71396b7b0f3cf5 12-Jul-2010 Kenny Root <kroot@google.com> Merge changes I2337051b,I19b426cb into gingerbread

* changes:
Tweak ObbFile class
Allow things that can install packages to set Obb paths
fa59afb8631b24ebd9cca86c5a8e55f5ac8a1d36 12-Jul-2010 Kenny Root <kroot@google.com> Tweak ObbFile class

* Move error messages around to clarify the errors.

* Add extra error check when reading a file.

* Seek to the end of a file when writing the signature so the users of
the API don't have to remember to do it.

Change-Id: I2337051b9f9fa8147c5900237deec790dcd92436
tils/ObbFile.cpp
tils/tests/ObbFile_test.cpp
47c320febd1f26f15f9c6b6e530e65bdc9b7b1b3 10-Jul-2010 Dianne Hackborn <hackbod@google.com> am b14f325a: am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.

Merge commit 'b14f325a0118ffce286155caaabaae149653462c'

* commit 'b14f325a0118ffce286155caaabaae149653462c':
Add ANativeWindow API for directly drawing to the surface bits.
9147d11a5f1d50496908bb1f49996e3ad23e19cc 09-Jul-2010 Dianne Hackborn <hackbod@google.com> Add ANativeWindow API for directly drawing to the surface bits.

Also other cleanup and fixes:

- We now properly set the default window format to 565.
- New APIs to set the window format and flags from native code.
- Tweaked glue for simpler handling of the "destroy" message.
- Um, other stuff.

Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
i/Rect.cpp
895b3d0bdd9508472d98da2f6fe8a2daa059d40d 09-Jul-2010 Dianne Hackborn <hackbod@google.com> am 49159f07: am 74bf59b4: Merge "Add new glue code for writing native apps." into gingerbread

Merge commit '49159f0748c704e53a7bd754f26113d9ab844a97'

* commit '49159f0748c704e53a7bd754f26113d9ab844a97':
Add new glue code for writing native apps.
8d3ee58899d4ca3c9edc94b6e142aae6caad827c 09-Jul-2010 Kenny Root <kroot@google.com> am d481cdd4: am c9535de8: Merge "Add OBB file helper class" into gingerbread

Merge commit 'd481cdd4c0305f8afd857fe3ec3fbf189b744370'

* commit 'd481cdd4c0305f8afd857fe3ec3fbf189b744370':
Add OBB file helper class
9aac262cb32ea7f484118f04b3679d9ec4c534fc 09-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 167449e5 to master

Change-Id: Ib448e69a726eb45b5c9099d2574e40b8345eee67
3c5d125ed796dbecdd80fa2c03e04ff9b1d752e4 07-Jul-2010 Dianne Hackborn <hackbod@google.com> Add new glue code for writing native apps.

This factors out the boiler-plate code from the sample
app to a common glue code that can be used for everyone
writing this style of app: a dedicated app thread that
takes care of waiting for events and processing them.

As part of doing this, ALooper has a new facility to allow
registration of fds that cause ALooper_pollOnce() to return
the fd that has data, allowing the app to drive the loop
without callbacks. Hopefully this makes some people feel better. :)

Also do some other cleanup of the ALooper API, plus some
actual documentation.

Change-Id: Ic53bd56bdf627e3ba28a3c093faa06a92be522b8
i/InputDispatcher.cpp
tils/PollLoop.cpp
tils/tests/PollLoop_test.cpp
7385d4c79922bfd39bae744f62db41c014dbc7b1 08-Jul-2010 Eric Laurent <elaurent@google.com> am b91881fd: am dacabf97: Merge "Added Visualizer effect." into gingerbread

Merge commit 'b91881fdd1608cc922f105ec552b5505da1fecb9'

* commit 'b91881fdd1608cc922f105ec552b5505da1fecb9':
Added Visualizer effect.
47ecb07ed495e295bf1243edc0bbd07166a25480 08-Jul-2010 Kenny Root <kroot@google.com> Merge "Add OBB file helper class" into gingerbread
9e1568cc2d12a713db524515f1002e34973ab4f4 08-Jul-2010 Chris Tate <ctate@android.com> Merge "More native input dispatch work." into gingerbread
b687191959c5c4cc13c1ece6c1608e1ba2c4faf7 08-Jul-2010 Eric Laurent <elaurent@google.com> Merge "Added Visualizer effect." into gingerbread
873f21c820ea1be2aa61d0708d7b68795b1a9c1e 02-Jul-2010 Eric Laurent <elaurent@google.com> Added Visualizer effect.

The visualizer enables application to retrieve part of the currently playing audio for visualization purpose.
It is not an audio recording interface and only returns partial and low quality audio content as a waveform or
a frequency representation (FFT).

Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.

This commit also includes a change in AudioEffect class:
- the enable()/disable() methods have been replaced bya more standard setEnabled() method.
- some fixes in javadoc

Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
b94a9a668f0e33dd93594abb08f448e6c915981f 01-Jun-2010 Kenny Root <kroot@google.com> Add OBB file helper class

ObbFile is a binary blob that will be used in packaging large files
with smaller APKs.

Change-Id: Ib1594346cfa2f49113de6565af77c24efbd89d63
tils/Android.mk
tils/ObbFile.cpp
tils/tests/Android.mk
tils/tests/ObbFile_test.cpp
747f65e77a025306c09fd9fe88d08f32ee93d25d 07-Jul-2010 Dianne Hackborn <hackbod@google.com> am e24901d3: am 68267415: Add new native Looper API.

Merge commit 'e24901d3adb28fff72821d4e8e2ccc25b2184550'

* commit 'e24901d3adb28fff72821d4e8e2ccc25b2184550':
Add new native Looper API.
f16c26dec9651628b0c130e2504e2cc911393aea 03-Jul-2010 Jeff Brown <jeffbrown@google.com> More native input dispatch work.

Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
i/InputDispatcher.cpp
i/InputReader.cpp
efa10850665c8d60e562f3a488ae65e225614707 03-Jul-2010 Dianne Hackborn <hackbod@google.com> Add new native Looper API.

This allows us to avoid exposing the file descriptor of
the event queue; instead, you attach an event queue to
a looper. This will also should allow native apps to be
written without the need for a separate thread, by attaching
the event queue to the main thread's looper and scheduling
their own messages there.

Change-Id: I38489282635895ae2cbfacb88599c1b1cad9b239
tils/PollLoop.cpp
a59a90b6be5f1211e9a9287e745656a3735c197f 02-Jul-2010 Mathias Agopian <mathias@google.com> am 377e2352: am 7f8edbd9: Merge "remove unused YUV formats" into gingerbread

Merge commit '377e2352574c3cad1f64d222974afd93e821cff1'

* commit '377e2352574c3cad1f64d222974afd93e821cff1':
remove unused YUV formats
1764c73b5532c86648f01f0b2275410e78753b5a 02-Jul-2010 Mathias Agopian <mathias@google.com> remove unused YUV formats

Change-Id: Ie84616f842c7e0329d68e67e65a65d510558004b
urfaceflinger/TextureManager.cpp
i/PixelFormat.cpp
ed2b843c91ca79e0e58e27621bf7b537374a2e68 01-Jul-2010 Dianne Hackborn <hackbod@google.com> am 177c405a: am c6e1d880: Merge "Introduce official public NativeWindow type." into gingerbread

Merge commit '177c405a242e811b1010bd8382b5807ab8df31a8'

* commit '177c405a242e811b1010bd8382b5807ab8df31a8':
Introduce official public NativeWindow type.
41360867a3c2499a69884d335f5474dc5a29e1b7 01-Jul-2010 Mathias Agopian <mathias@google.com> am e341a0b5: am 30fe6fa0: Merge "fix live wallpapers on Droid" into gingerbread

Merge commit 'e341a0b5e9a1e30a020970a69c58c34f902ea06f'

* commit 'e341a0b5e9a1e30a020970a69c58c34f902ea06f':
fix live wallpapers on Droid
e12e3d7692cf370b8cbdb848da5201bfa0410afb 01-Jul-2010 Dianne Hackborn <hackbod@google.com> Merge "Introduce official public NativeWindow type." into gingerbread
05dedd17ec753ce8a791679c59504a33ad667f3c 01-Jul-2010 Mathias Agopian <mathias@google.com> Merge "fix live wallpapers on Droid" into gingerbread
ac18906a2e86b0c8bd033f8811105368cff02624 01-Jul-2010 Jeff Brown <jeffbrown@google.com> am 0c2df984: am d8ae2885: Merge "Fix injection of specially intercepted keys like HOME." into gingerbread

Merge commit '0c2df98425c8fa4ce092eebea80ae197547f6a86'

* commit '0c2df98425c8fa4ce092eebea80ae197547f6a86':
Fix injection of specially intercepted keys like HOME.
b2007c4b89d1f4567c6c39e01925730029b1b385 01-Jul-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 7f6c6e8f to master

Change-Id: Id9dddb78c51f16ff8c4b60339421c94fde506db2
a8f3e4e53cad835d0d57b85a6ce1b7416e95ba73 01-Jul-2010 Mathias Agopian <mathias@google.com> fix live wallpapers on Droid

On omap3 h/w we force opaque formats to RGB_565 instead of RGBX_8888
because the GL driver doesn't support it. RGBX_8888 is always remapped
to RGBA_8888.

Change-Id: I0bfabeb98c8d3a399079e6797cf2a0ee95915324
urfaceflinger/Android.mk
urfaceflinger/SurfaceFlinger.cpp
i/GraphicBuffer.cpp
4b5e91e4820f03dba7dcc36e4b148331bc964b4b 30-Jun-2010 Dianne Hackborn <hackbod@google.com> Introduce official public NativeWindow type.

Not yet hooked up to anything in the NDK, but requires renaming
the existing android_native_window_t type everywhere.

Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
urfaceflinger_client/Surface.cpp
i/FramebufferNativeWindow.cpp
c393eb6cf5f5685d4dc1ddaa04136475536acccf 30-Jun-2010 Jeff Brown <jeffbrown@google.com> Fix injection of specially intercepted keys like HOME.

This change mainly unwinds a premature optimization in the
dispatch pipeline.
To test HOME injection, run 'adb shell input keyevent 3'.

Change-Id: I1c4b7377c205da7c898014b8b07fc6dc1d46e4dd
i/InputReader.cpp
189ed23c1002054fdc06893e99d34a3617f24108 30-Jun-2010 Dianne Hackborn <hackbod@google.com> Implement default key handling for native code.

The native code now maintains a list of all keys that may use
default handling. If the app finishes one of these keys
without handling it, the key will be passed back off to Java
for default treatment.

Change-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18
i/Input.cpp
751ba609790910f51a5c6d69e9dbc8ac2f95d112 30-Jun-2010 Chris Tate <ctate@android.com> am af4a2d1f: am ddcb543a: Merge "Fix native input dispatch in the emulator." into gingerbread

Merge commit 'af4a2d1f52c7d54408db341781399d2886de72c1'

* commit 'af4a2d1f52c7d54408db341781399d2886de72c1':
Fix native input dispatch in the emulator.
d5d7b97b5242d7451f0613136002698285a76a79 30-Jun-2010 Chris Tate <ctate@android.com> Merge "Fix native input dispatch in the emulator." into gingerbread
4036f7f2b44351a8d964b5cdfdf7b787795cf041 30-Jun-2010 Jeff Brown <jeffbrown@google.com> Fix native input dispatch in the emulator.

Set a default orientation of ROTATION_0.
Added some more careful checks based on whether we have valid
absolute axis information from the driver.
Reset key repeating during configuration changes since the keyboard
device may have been removed.

Change-Id: I685960828acffcb17595fc5683309e8064a76714
i/InputDispatcher.cpp
i/InputReader.cpp
31649617baf6c9900b723431f51a9248a6ef0a9e 30-Jun-2010 Mathias Agopian <mathias@google.com> am 33df868b: am 1eb442ee: Merge "remove a hack that was used only used on h/w we no longer support." into gingerbread

Merge commit '33df868bb35726d250c8a6d0ebd8c84749ffd51f'

* commit '33df868bb35726d250c8a6d0ebd8c84749ffd51f':
remove a hack that was used only used on h/w we no longer support.
c8df407af68de81ab5e37616b568fa77189d12fa 30-Jun-2010 Mathias Agopian <mathias@google.com> Merge "remove a hack that was used only used on h/w we no longer support." into gingerbread
5d8f41cab1c9d48b3d9066090674ec841a68a7aa 30-Jun-2010 Mathias Agopian <mathias@google.com> remove a hack that was used only used on h/w we no longer support.

this should fix the opal build.

Change-Id: I43d7633696fea5be6bc834293a832d22f6bdfc61
urfaceflinger/Android.mk
urfaceflinger/LayerDim.cpp
3fc3eee09456cb1e2ce1eea2743e7e1d0b68ec50 29-Jun-2010 Dianne Hackborn <hackbod@google.com> am b5f05d00: am 0934fbb6: Merge "Update native activity & event APIs to follow correct conventions." into gingerbread

Merge commit 'b5f05d0018d72531e40c2afadfee90e9bc0c8893'

* commit 'b5f05d0018d72531e40c2afadfee90e9bc0c8893':
Update native activity & event APIs to follow correct conventions.
9c7f8186aea675628894b8f3844f83e791870859 29-Jun-2010 Dianne Hackborn <hackbod@google.com> Update native activity & event APIs to follow correct conventions.

Change-Id: Ie64fb3a9c68bc9c117fa5621b75d1f609e304e0e
i/InputTransport.cpp
85af31f368546c68eabad0b858e4180a0ecc7074 29-Jun-2010 Mathias Agopian <mathias@google.com> am 5d31a452: am f0562b4b: Merge changes I93dfc4c8,I781953d6 into gingerbread

Merge commit '5d31a4523bf5d1d3e3b5aa51043a1551d7aa56d7'

* commit '5d31a4523bf5d1d3e3b5aa51043a1551d7aa56d7':
fix[2798925] Gingerbread TOT not booting
Revert "Revert "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger""
f8e79cc372faf6861ef545a11fb3cd6f3e98f093 29-Jun-2010 Mathias Agopian <mathias@google.com> Merge changes I93dfc4c8,I781953d6 into gingerbread

* changes:
fix[2798925] Gingerbread TOT not booting
Revert "Revert "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger""
05650aec9ff22ec6a2cb12fe91eafd3d111513c6 29-Jun-2010 Mathias Agopian <mathias@google.com> fix[2798925] Gingerbread TOT not booting

Fixed a typo where checking against the wrong constant caused GL_TEXTURE_EXTERNAL_OES
to be used with a regular texture, which some GL driver will choke on.

Change-Id: I93dfc4c8fa674433bbb678eee31954e9a8d0cb4b
urfaceflinger/TextureManager.cpp
1f0c9ea984b94fd2a43e4ebc69b77d2a1c56d784 29-Jun-2010 Chris Tate <ctate@android.com> am 96725326: am 31e0ffe8: Merge "Native input event dispatching." into gingerbread

Merge commit '96725326149687168937cf62f75364cf9cc3e96b'

* commit '96725326149687168937cf62f75364cf9cc3e96b':
Native input event dispatching.
50de30a5230dd15326f8bcbb4beaf617bca265e2 22-Jun-2010 Jeff Brown <jeffbrown@google.com> Native input event dispatching.

Target identification is now fully native.
Fixed a couple of minor issues related to input injection.
Native input enabled by default, can be disabled by setting
WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.

Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
i/InputDispatcher.cpp
i/InputManager.cpp
i/InputReader.cpp
i/InputTransport.cpp
af997c49621558dc697247040b47c3bc10ca7094 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: I2b8a793d76b89ab464ae830482b309fe86031671
i/EventHub.cpp
1f7bec634f19c123410a5155c8d282e177c01930 26-Jun-2010 Mathias Agopian <mathias@google.com> Revert "Revert "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger""

This reverts commit 330dd304a471d260a73e342a240921c03c825f99.
urfaceflinger/Android.mk
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/GLExtensions.cpp
urfaceflinger/GLExtensions.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/TextureManager.cpp
urfaceflinger/TextureManager.h
d4c821935468712d6be41e8084cb9513d98b52d0 25-Jun-2010 Eric Laurent <elaurent@google.com> am cdf1357b: am 8e103da1: Merge "Various fixes and improvements in audio effects implementation" into gingerbread

Merge commit 'cdf1357b6e0152280dcd611b5f096db4887d8126'

* commit 'cdf1357b6e0152280dcd611b5f096db4887d8126':
Various fixes and improvements in audio effects implementation
9bf80f02f7e1f4cf96bb548f9e0d4ff38dd52392 24-Jun-2010 Eric Laurent <elaurent@google.com> Various fixes and improvements in audio effects implementation

Effect API:
- Use different definitions for audio device, channels, formats... in AudioSystem and EffectApi:
Removed media/AudioCommon.h file created for initial version of EffectApi
- Indicate audio session and output ID to effect library when calling EffectCreate(). Session ID can be useful to optimize
the implementation of effect chains in the same audio session. Output ID can be used for effects implemented in audio hardware.
- Renamed EffectQueryNext() function to EffectQueryEffect() and changed operating mode:
now an index is passed for the queried effect instead of implicitly querying the next one.
- Added CPU load and memory usage indication in effects descriptor
- Added flags and commands to indicate changes in audio mode (ring tone, in call...) to effect engine
- Added flag to indicate hardware accelerated effect implementation.
- Renamed EffectFactoryApi.h to EffectsFactoryApi.h for consistency with EffectsFactory.c/h

Effect libraries:
- Reflected changes in Effect API
- Several fixes in reverb implementation
- Added build option TEST_EFFECT_LIBRARIES in makefile to prepare integration of actual effect library.
- Replaced pointer by integer identifier for library handle returned by effects factory

Audio effect framework:
- Added support for audio session -1 in preparation of output stage effects configuration.
- Reflected changes in Effect API
- Removed volume ramp up/down when effect is inserted/removed: this has to be taken care of by effect engines.
- Added some overflow verification on indexes used for deferred parameter updates via shared memory
- Added hardcoded CPU and memory limit check when creating a new effect instance

Change-Id: I43fee5182ee201384ea3479af6d0acb95092901d
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
9acd654581598e48221f61806c99b931f94813c3 25-Jun-2010 Jeff Hamilton <jham@android.com> Revert "am 256fc043: am 081bc5c4: fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger"

This reverts commit e02dec8c4cbab17d09983af1328308b8aa61ef85, reversing
changes made to 6d7a052fb04b251c517d0a9049b8d5d7408ce8c0.

Bug: 2798567
urfaceflinger/Android.mk
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/GLExtensions.cpp
urfaceflinger/GLExtensions.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/TextureManager.cpp
urfaceflinger/TextureManager.h
7223bde667b934f0c34404f00521f90fde1c180a 25-Jun-2010 Mathias Agopian <mathias@google.com> am 256fc043: am 081bc5c4: fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger

Merge commit '256fc04394431cbd332e56747fdbfda4cb4c2e25'

* commit '256fc04394431cbd332e56747fdbfda4cb4c2e25':
fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger
01e4483b29d849fcbaa53dcdbad58201b13a6588 25-Jun-2010 Mathias Agopian <mathias@google.com> fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger

Make sure to not use GL_TEXTURE_EXTERNAL when it's not supported
by the GL. The error was harmless, but annoying.

Change-Id: I571a9a9b05d35da51420950a6a6e95629067efd0
urfaceflinger/Android.mk
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/GLExtensions.cpp
urfaceflinger/GLExtensions.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/TextureManager.cpp
urfaceflinger/TextureManager.h
91701290f318a8a92149e8edfc2f97604104bba0 24-Jun-2010 Christopher Tate <ctate@google.com> am bc0793e4: am 03791188: Merge "Remember to initialize timestamps in the dispatch allocator" into gingerbread

Merge commit 'bc0793e4b77f1f8ec30294a4edac67dfca81f31d'

* commit 'bc0793e4b77f1f8ec30294a4edac67dfca81f31d':
Remember to initialize timestamps in the dispatch allocator
d974e0069778693234e3499eabc435d9045bb068 24-Jun-2010 Christopher Tate <ctate@google.com> Remember to initialize timestamps in the dispatch allocator

Change-Id: I83a2d353c34ff84a7d130e602c6dedc6a5541944
i/InputDispatcher.cpp
c1c3308f03522e56078276155a6bf7de9e751b22 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am e3e2883f: am e24a60aa: Merge "First stab at attaching native event dispatching." into gingerbread

Merge commit 'e3e2883f2232007174ead562610eb01201890d9b'

* commit 'e3e2883f2232007174ead562610eb01201890d9b':
First stab at attaching native event dispatching.
a3cf303ad6524097e51242c97d5e9b23534773b4 23-Jun-2010 Mathias Agopian <mathias@google.com> am a4f98094: am 07ccf5ad: remove unused YUV formats

Merge commit 'a4f980948e112cfdcc7051e12e29c71b78383a6f'

* commit 'a4f980948e112cfdcc7051e12e29c71b78383a6f':
remove unused YUV formats
f9e01ea4818328ecb2f573bcaee3116b49414035 23-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> am efcf68aa: am ef8f96a7: Merge "Start of work on passing around StrictMode policy over Binder calls." into gingerbread

Merge commit 'efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b'

* commit 'efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b':
Start of work on passing around StrictMode policy over Binder calls.
60af8760d64e94298e2f5c60bb4f2f91325f748d 23-Jun-2010 Mathias Agopian <mathias@google.com> am b9fd188a: am d91ac98a: fix [2785833] valgrind error in android::Layer::requestBuffer

Merge commit 'b9fd188a0b1cd71e38c03a7bb4a4688eedf83667'

* commit 'b9fd188a0b1cd71e38c03a7bb4a4688eedf83667':
fix [2785833] valgrind error in android::Layer::requestBuffer
243ce507c4507cd9ee01423793d59868bf892971 23-Jun-2010 Mathias Agopian <mathias@google.com> am cefb8858: am 28333315: Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbread

Merge commit 'cefb88587443323d147e687ff78eae9195eb584c'

* commit 'cefb88587443323d147e687ff78eae9195eb584c':
Added support for the GL_TEXTURE_EXTERNAL target
12c9ce8bc42b09e38fcc5699bab030d023bf140f 23-Jun-2010 Jeff Brown <jeffbrown@google.com> am b1efc3f6: am 7fbdc84e: More native input event dispatching.

Merge commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe'

* commit 'b1efc3f68277a8c38c21e2d2e8ce05287118ecfe':
More native input event dispatching.
4d96bb6ae38466a04acfbcce61cb202786239927 19-Jun-2010 Dianne Hackborn <hackbod@google.com> First stab at attaching native event dispatching.

Provides the basic infrastructure for a
NativeActivity's native code to get an object representing
its event stream that can be used to read input events.

Still work to do, probably some API changes, and reasonable
default key handling (so that for example back will still
work).

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
i/Input.cpp
i/InputTransport.cpp
3f3a74a53af9401ee3812e0faa37189467d81af8 22-Jun-2010 Mathias Agopian <mathias@google.com> remove unused YUV formats

Change-Id: Id0ae28b1700cf771cdbe0ca27b139d32cab90b2a
urfaceflinger/TextureManager.cpp
i/PixelFormat.cpp
03bd2484c8d5dfb12759aa6ab4206966c4d01c71 22-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Merge "Start of work on passing around StrictMode policy over Binder calls." into gingerbread
f955be995d9aa5eb2c4b86246b2f85797e21e003 22-Jun-2010 Mathias Agopian <mathias@google.com> fix [2785833] valgrind error in android::Layer::requestBuffer

fix uninitialized variable

Change-Id: I99e1b619ae8c88dd9d77b3abf4762f801019047e
urfaceflinger/Layer.cpp
b16fa651ddbd6189409aa053ff1ae73383ae5157 22-Jun-2010 Mathias Agopian <mathias@google.com> Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbread
51d45a710eff6da1749ae66ce9cab218144c388b 18-Jun-2010 Jeff Brown <jeffbrown@google.com> More native input event dispatching.

Added ANRs handling.
Added event injection.
Fixed a NPE ActivityManagerServer writing ANRs to the drop box.
Fixed HOME key interception.
Fixed trackball reporting.
Fixed pointer rotation in landscape mode.

Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
i/InputDispatcher.cpp
i/InputManager.cpp
i/InputReader.cpp
702ea9d42f52fc145090c0f0bfbe64993e4b8b33 18-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Start of work on passing around StrictMode policy over Binder calls.

This is (intendend to be) a no-op change.

At this stage, Binder RPCs just have an additional uint32 passed around
in the header, right before the interface name. But nothing is actually
done with them yet. That value should right now always be 0.

This now boots and seems to work.

Change-Id: I135b7c84f07575e6b9717fef2424d301a450df7b
inder/IPCThreadState.cpp
inder/IServiceManager.cpp
inder/Parcel.cpp
e780fc9d96f5ce355796b31629591c63dd663a23 17-Jun-2010 Jeff Brown <jeffbrown@google.com> am 42bb545a: am 5c225b16: Even more native input dispatch work in progress.

Merge commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00'

* commit '42bb545a54d89f0ddbb230d7a01ea4210c0f6c00':
Even more native input dispatch work in progress.
f4a4ec2063dfd28e04bbfe712f67acee4bdc8e37 16-Jun-2010 Jeff Brown <jeffbrown@google.com> Even more native input dispatch work in progress.

Added more tests.
Fixed a regression in Vector.
Fixed bugs in pointer tracking.
Fixed a starvation issue in PollLoop when setting or removing callbacks.
Fixed a couple of policy nits.

Modified the internal representation of MotionEvent to be more
efficient and more consistent.

Added code to skip/cancel virtual key processing when there are multiple
pointers down. This helps to better disambiguate virtual key presses
from stray touches (such as cheek presses).

Change-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c
i/Input.cpp
i/InputDispatcher.cpp
i/InputReader.cpp
i/InputTransport.cpp
i/tests/Android.mk
i/tests/InputChannel_test.cpp
i/tests/InputDispatcher_test.cpp
i/tests/InputPublisherAndConsumer_test.cpp
tils/PollLoop.cpp
tils/VectorImpl.cpp
tils/tests/PollLoop_test.cpp
tils/tests/TestHelpers.h
0a91775c4df380d6a5b7f3ccad5127388ac01306 15-Jun-2010 Mathias Agopian <mathias@google.com> Added support for the GL_TEXTURE_EXTERNAL target

This will allow us to support YUV surfaces.

Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerDim.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/TextureManager.cpp
urfaceflinger/TextureManager.h
i/PixelFormat.cpp
ac69c9607febc0beb48fc0832bb3e28f63c9d4de 16-Jun-2010 Jeff Brown <jeffbrown@google.com> am 2dfd2aa4: am 92266a78: Merge "More work in progress on native events." into gingerbread

Merge commit '2dfd2aa413a91965c1a247980598c795db9b4c38'

* commit '2dfd2aa413a91965c1a247980598c795db9b4c38':
More work in progress on native events.
c10612c77abfb7755624970f99ae27c5910ca0fc 16-Jun-2010 Jeff Brown <jeffbrown@google.com> Merge "More work in progress on native events." into gingerbread
54bc281639e5ff6955d7a86104f6f21624941aca 15-Jun-2010 Jeff Brown <jeffbrown@google.com> More work in progress on native events.

Refactored the code to eliminate potential deadlocks due to re-entrant
calls from the policy into the dispatcher. Also added some plumbing
that will be used to notify the framework about ANRs.

Change-Id: Iba7a10de0cb3c56cd7520d6ce716db52fdcc94ff
i/InputDispatcher.cpp
i/InputManager.cpp
i/InputReader.cpp
6f19e9c1c274b1532f19a42d8084a400ae055ed2 15-Jun-2010 Jeff Brown <jeffbrown@google.com> am e0e5da0d: am 96e59eb8: Merge "Support for multiple tests" into gingerbread

Merge commit 'e0e5da0d648f4167e2a12ea02f4794f81a057da7'

* commit 'e0e5da0d648f4167e2a12ea02f4794f81a057da7':
Support for multiple tests
f69280ef72f1adfcdb7bfef001e4935344c410c0 15-Jun-2010 Jeff Brown <jeffbrown@google.com> Support for multiple tests

The build system enforces some invariants that were being ignored
before.

Change-Id: Ie7675042af7f961a507386c13b2a0b592b591af8
i/tests/Android.mk
tils/tests/Android.mk
157a2647fc8d322a92b0f5fac1e03699cfe242d1 14-Jun-2010 Jeff Brown <jeffbrown@google.com> am 4166aec5: am 28a6c8e9: am d890cbf7: Remove PollLoop from host build.

Merge commit '4166aec567b6fa4aa725a20d7c0a6dc5866c9f7b'

* commit '4166aec567b6fa4aa725a20d7c0a6dc5866c9f7b':
Remove PollLoop from host build.
beb2359b9be3bfa1f6406ec9bd0d4d68f9a67af0 14-Jun-2010 Jeff Brown <jeffbrown@google.com> Remove PollLoop from host build.

We can't build (and we don't need) PollLoop in the SDK on all platforms.

Change-Id: I3b0f327bbb8bc58b9b8630b0161cf360403fea68
tils/Android.mk
4215f507402e5c8375ca5103d2b0a6c3986f7df2 14-Jun-2010 Jeff Brown <jeffbrown@google.com> am 34b418cd: am 5e95930b: am 43a9527c: Fix include paths.

Merge commit '34b418cddbd2f05d5c0a98c550c65e457015134e'

* commit '34b418cddbd2f05d5c0a98c550c65e457015134e':
Fix include paths.
66d9df50dac51940156f121768aaeb9a25ef2179 14-Jun-2010 Jeff Brown <jeffbrown@google.com> Fix include paths.

Change-Id: Ifda45688f9f02710a74d5d7a7d902bacf1441e2e
i/InputDispatcher.cpp
i/InputReader.cpp
04c1a8cdec3d0b27ce7029d79c96c3b4be14ca4e 14-Jun-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 9e660c82 to master

Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
e839a589bf582568cf220c1040ed93b948e6e362 23-Apr-2010 Jeff Brown <jeffbrown@google.com> Native input dispatch rewrite work in progress.

The old dispatch mechanism has been left in place and continues to
be used by default for now. To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API. Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument. The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points. The ViewRoot then
provides the InputChannel to the InputQueue. Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue. This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event. Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets). Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
i/Android.mk
i/EventHub.cpp
i/Input.cpp
i/InputDispatcher.cpp
i/InputManager.cpp
i/InputReader.cpp
i/InputTransport.cpp
i/tests/Android.mk
i/tests/InputDispatcher_test.cpp
i/tests/region.cpp
i/tests/region/Android.mk
i/tests/region/region.cpp
tils/Android.mk
tils/PollLoop.cpp
tils/Pool.cpp
tils/StopWatch.cpp
tils/VectorImpl.cpp
tils/tests/Android.mk
tils/tests/PollLoop_test.cpp
tils/tests/TestHelpers.h
b3ed29c713b4bedf27a38ef58578d8ece6d38cca 11-Jun-2010 Andreas Huber <andih@google.com> am b9d7b46b: am 8f864513: Merge "Fix String8 to free its memory only after assignment operations based on pointers are finished in case that pointer referred to the string\'s original contents." into kraken
a637eb48690eb253903dd07e037e63f60a2fd6f9 10-Jun-2010 Andreas Huber <andih@google.com> Fix String8 to free its memory only after assignment operations based on pointers are finished in case that pointer referred to the string's original contents.

Change-Id: I6961f3cf10ba3b728579ea63262db750a4cf8577
tils/String8.cpp
c91e0eda56159c19f1b8a36b8ba144ee73221b1a 08-Jun-2010 Kenny Root <kroot@google.com> Add invariant check for stylesString size

It was possible for stylesStrings to claim to start past the end of the
data area thereby making mStringPoolSize larger than the data area.

Change-Id: Ibc4d5b429e3a388516135801c8abc3681daae291
tils/ResourceTypes.cpp
67c4219aa36ebf164782814b055f3d24652a7377 09-Jun-2010 Mathias Agopian <mathias@google.com> am 34e5d967: am 55f8209d: Merge "allow re-targetting of surfaces" into kraken
579b3f88d03d06b897b778bd11818f5104677d1d 09-Jun-2010 Mathias Agopian <mathias@google.com> allow re-targetting of surfaces

Surfaces can now be parcelized and sent to remote
processes. When a surface crosses a process
boundary, it looses its connection with the
current process and gets attached to the new one.

Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
i/GraphicBuffer.cpp
7b268e7967ed9042e6649edc38ecaaa6914aa33a 09-Jun-2010 Mathias Agopian <mathias@google.com> am 37583aeb: am 1debc665: fix [2751143] Device crashes when in a text box for too long
53503a97a9afa9e876b1e95ca7e3b46c76aa4f15 09-Jun-2010 Mathias Agopian <mathias@google.com> fix [2751143] Device crashes when in a text box for too long
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
615f5d64dbdeb525688d8367af35590818ce7a48 08-Jun-2010 Kenny Root <kroot@google.com> Range checking for ResTable_map

Correct previous offset change and get ready for safe-iop.

Change-Id: Ib276c726f32b0711a72f47d3263eb21640e5a800
tils/ResourceTypes.cpp
61c22be593347b5dd63feec449f5ecd0bd8ae08a 08-Jun-2010 Kenny Root <kroot@google.com> Improve checking in aapt dump

The aapt dump reading had less error checking than the actual parsing,
so this change brings it more into parity so that bad APKs don't crash
"aapt dump"

Change-Id: Ib30e63e41be5c652645c4aa0de580a87b184529d
tils/ResourceTypes.cpp
fcd61524e87ac53225529ee59060c50f750c8bd4 05-Jun-2010 Mathias Agopian <mathias@google.com> am f5f7d389: am fae5cb2b: optimize Surface.readFromParcel()
e78d81edddc8b1996a0587d17ee9ef7a06f45c08 05-Jun-2010 Mathias Agopian <mathias@google.com> am fd89b1c8: am 7623da43: split surface management from surface\'s buffers management
a0b3ad88db1f286ed289b430ecbb29565a7cc6b3 05-Jun-2010 Mathias Agopian <mathias@google.com> am cfa6de70: am 593c05ce: clean-up client management.
a0c30e924193da57723fd53b710ce6be24fb26f5 05-Jun-2010 Mathias Agopian <mathias@google.com> optimize Surface.readFromParcel()

this is called for each relayout() and used to create a full Surface (cpp)
which in turn did some heavy work (including an IPC with surfaceflinger),
most of the time to destroy it immediatelly when the returned surface
(the one in the parcel) was the same.

we now more intelligentely read from the parcel and construct the new
object only if needed.

Change-Id: Idfd40d9ac96ffc6d4ae5fd99bcc0773e131e2267
urfaceflinger_client/Surface.cpp
b7e930db175c192464cebdeb49eb56cf6dd60114 02-Jun-2010 Mathias Agopian <mathias@google.com> split surface management from surface's buffers management

Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger_client/ISurfaceComposer.cpp
urfaceflinger_client/ISurfaceComposerClient.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
i/GraphicBuffer.cpp
96f0819f81293076e652792794a961543e6750d7 03-Jun-2010 Mathias Agopian <mathias@google.com> clean-up client management.

simplified things a lot, the biggest change is that the concept
of "ClientID" is now gone, instead we simply use references.

Change-Id: Icbc57f80865884aa5f35ad0d0a0db26f19f9f7ce
urfaceflinger/Android.mk
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Tokenizer.cpp
urfaceflinger/Tokenizer.h
bad51959c5721768db966ebbf27ef4385cb8d57a 04-Jun-2010 Konstantin Lopyrev <klopyrev@google.com> Fix 1684100: Making sure that empty package, type and resource ids are not accepted.

Change-Id: I4c94877e4312e9a5b4d22c8625069ca056c62e40
tils/ResourceTypes.cpp
0d20832fbf88015deb9e409480a320c780207879 04-Jun-2010 Eric Laurent <elaurent@google.com> am 030a1553: am 2ea200c5: Merge "Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications." into kraken
eafff459aaf710c2f241054d45e5546a190087f2 02-Jun-2010 Eric Laurent <elaurent@google.com> Issue 2667801: [Audio Effect Framework] AudioFlinger, AudioMixer AudioTrack modifications.

First drop of audio framework modifications for audio effects support.

- AudioTrack/AudioRecord:
Added support for auxiliary effects in AudioTrack
Added support for audio sessions
Fixed left right channel inversion in setVolume()

- IAudioFlinger:
Added interface methods for effect enumeraiton and instantiation
Added support for audio sessions.

- IAudioTrack:
Added method to attach auxiliary effect.

- AudioFlinger
Created new classes to control effect engines in effect library and manage effect connections to tracks or
output mix:
EffectModule: wrapper object controlling the effect engine implementation in the effect library. There
is one EffectModule per instance of an effect in a given audio session
EffectChain: group of effects associated to one audio session. There is one EffectChain per audio session.
EffectChain for session 0 is for output mix effects, other chains are attached to audio tracks
with same session ID. Each chain contains a variable number of EffectModules
EffectHandle: implements the IEffect interface. There is one EffectHandle object for each application
controlling (or using) an effect module. THe EffectModule maintians a list of EffectHandles.

Added support for effect modules and effect chains creation in PlaybackThread.
modified mixer thread loop to allow track volume control by effect modules and call effect processing.

-AudioMixer
Each track now specifies its output buffer used by mixer for accumulation
Modified mixer process functions to process tracks by groups of tracks with same buffer
Modified track process functions to support accumulation to auxiliary channel

Change-Id: I26d5f7c9e070a89bdd383e1a659f8b7ca150379c
udioflinger/Android.mk
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioMixer.cpp
udioflinger/AudioMixer.h
7704f5da7561f7ac4b81abb07362e2ab33cc1817 02-Jun-2010 Mathias Agopian <mathias@google.com> am 7258fd92: am 5be7de5f: Merge "fix a bug where fading in/out of opaque 32-bits windows wasn\'t working" into kraken
d13f23fca6bb3ecce2a92811726b39accaad94f9 02-Jun-2010 Mathias Agopian <mathias@google.com> am 5220af87: am 770492cb: more clean-up in preparation of bigger changes
49753266d2219d2fbf5c33dc4626f299dffcdd76 13-Apr-2010 Mathias Agopian <mathias@google.com> fix a bug where fading in/out of opaque 32-bits windows wasn't working

opaque 32-bits windows are now allocated as RGBX_8888 buffers and
SurfaceFlinger always uses GL_MODULATE instead of trying to
optimize to GL_REPLACE when possible (makes no sense on
h/w accelerated GL).

we still have a small hack for devices that don't support
RGBX_8888 in their gralloc implementation where we revert to
RGBA_8888.
urfaceflinger/LayerBase.cpp
i/GraphicBuffer.cpp
7e27f05739c8a2655cf0f7faea35614ce0a50278 28-May-2010 Mathias Agopian <mathias@google.com> more clean-up in preparation of bigger changes

the most important change here is the renaming of
ISurfaceFlingerClient to ISurfaceComposerClient

Change-Id: I94e18b0417f50e06f21377446639c61f65f959b3
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger_client/Android.mk
urfaceflinger_client/ISurfaceComposer.cpp
urfaceflinger_client/ISurfaceComposerClient.cpp
urfaceflinger_client/ISurfaceFlingerClient.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
3d11c77bae0ca6f0f07ce4dcf52019d430c1bca4 28-May-2010 Mike Lockwood <lockwood@android.com> Merge "Move CursorWindow class from core/jni to libbinder"
ea4412c1dfd9caf94e28b60130a6a46c29d68bd9 28-May-2010 Mathias Agopian <mathias@google.com> am 6a9d88ff: am 64ff6ab4: Merge "more clean-up of Surfaceflinger\'s client management" into kraken
244a7655aea626c6f16f68d39ba3c92a164adc16 27-May-2010 Mike Lockwood <lockwood@android.com> Move CursorWindow class from core/jni to libbinder

To allow use of the native CursorWindow class outside of the core framework jni

Change-Id: I72e8dcb91a2c691130c33cdfd9a25d343da1c592
Signed-off-by: Mike Lockwood <lockwood@android.com>
inder/Android.mk
inder/CursorWindow.cpp
d4784a3b90f849e8732968d45886fb0c8f0d8cf3 28-May-2010 Mathias Agopian <mathias@google.com> more clean-up of Surfaceflinger's client management

SurfaceComposerClient now only exist on the WindowManager side,
the client side uses the new SurfaceClient class, which only
exposes what a client needs.

also instead of keeping mappings from IBinder to SurfaceComposerClients
we have a SurfaceClient per Surface (referring to the same IBinder), this
is made possible by the fact that SurfaceClient is very light.

Change-Id: I6a1f7015424f07871632a25ed6a502c55abfcfa6
urfaceflinger_client/Surface.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
5d4f4eaf84695b1264f9e85525ad626fa40f84d4 27-May-2010 Mathias Agopian <mathias@google.com> am ec272924: am df0364de: Merge "minor clean-up GLclampx -> GLclampf" into kraken
010fccb0637f8a69a35ee1a7feb228d213f6d542 27-May-2010 Mathias Agopian <mathias@google.com> minor clean-up GLclampx -> GLclampf
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
1d111ec85cac2225896f10dfc4d64fe340e0f788 27-May-2010 Mathias Agopian <mathias@google.com> am ed34e950: am d908822d: Merge "clean-up dead-code" into kraken
dc7a80f07aa046925313cf8f6e94feaa16387fda 27-May-2010 Mathias Agopian <mathias@google.com> clean-up dead-code
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
adb1550d386e98d38c30ba70d7506bfe52d22791 27-May-2010 Mathias Agopian <mathias@google.com> am 521b8d5c: am a950aa84: Merge "Make sure to use filtering while in fixed-size mode" into kraken
a7f669256f93a593c723f05784ef04d3c7d052bb 27-May-2010 Mathias Agopian <mathias@google.com> Make sure to use filtering while in fixed-size mode
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
4f20157df2691dd8c5476eee1ce77880027611e3 27-May-2010 Mathias Agopian <mathias@google.com> am 2a0f01ea: am 7ca7eedb: Merge "oopsie. forgot to displatch SET_BUFFERS_GEOMETRY" into kraken
38ece279eac69541536073f8502d8d8af51ce4a9 27-May-2010 Mathias Agopian <mathias@google.com> oopsie. forgot to displatch SET_BUFFERS_GEOMETRY
urfaceflinger_client/Surface.cpp
5a733d4455970afa582da338a942d2e87dd1a74c 26-May-2010 Mathias Agopian <mathias@google.com> am eaac2761: am 64f7549b: Merge "fix [2712278] The preview buffer left some black borders in left and bottom edges" into kraken
631f358d348ea5e7813ca01f86fc9f2a6536add6 26-May-2010 Mathias Agopian <mathias@google.com> fix [2712278] The preview buffer left some black borders in left and bottom edges

we were incorrectly flagging push_buffer surfaces as invalid

Change-Id: I4dfd4ffbbe8a71f7e23e835db8d71966416c29bb
urfaceflinger/LayerBase.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
0b6a930096bb6fc6d8482044357836c55db90636 25-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2641884: Bluetooth volume is dependent on in call volume.

The problem is that the code in AudioPolicyManagerBase::checkAndSetVolume() that forces
voice volume to max when setting bluetooth SCO volume is not called if the bluetooth stream
volume did not actually change. So even if we re apply volumes when switching to bluetooth
device, the volume voice volume is not changed and remains what it was when routed to earpiece
What makes things worse on Passion is that stream volumes are limited when connected to bluetooth
and their actual value does not change as soon as they exceed the limit threshold.

Change-Id: I18265e5e6686db0a1f30fc37a31e2ecde4f3fbc6
udioflinger/AudioPolicyManagerBase.cpp
a138f89c5e78b7e8994823e97d6e860869762837 22-May-2010 Mathias Agopian <mathias@google.com> added the notion of fixed-size buffers

the new native_window_set_buffers_geometry allows
to specify a size and format for all buffers to be
dequeued. the buffer will be scalled to the window's
size.

Change-Id: I2c378b85c88d29cdd827a5f319d5c704d79ba381
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger_client/ISurface.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
a0b3f1d2eb796eb90a7576c13890ab8df8516d9d 21-May-2010 Mathias Agopian <mathias@google.com> fix a bug when reallocating a window's buffers is needed

we need to mark the buffers that need to be reallocated,
NOT the buffer's indices.

Change-Id: I809e2e1b03b56c4d2ab983c25523dae99aa1da74
urfaceflinger_client/SharedBufferStack.cpp
f10d7fde03218c17251416a34d7b726a43ec528a 21-May-2010 Mathias Agopian <mathias@google.com> added native_window_set_buffer_count()

this method can be used to change the number of buffers
associated to a native window. the default is two.

Change-Id: I608b959e6b29d77f95edb23c31dc9b099a758f2f
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
bb641244d7d73312dc65b8e338df18b22e335107 19-May-2010 Mathias Agopian <mathias@google.com> fix the threading issue for setBuffercount()

this change introduces R/W locks in the right places.
on the server-side, it guarantees that setBufferCount()
is synchronized with "retire" and "resize".
on the client-side, it guarantees that setBufferCount()
is synchronized with "dequeue", "lockbuffer" and "queue"
urfaceflinger/Barrier.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/MessageQueue.cpp
urfaceflinger/MessageQueue.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/TextureManager.cpp
urfaceflinger/TextureManager.h
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
urfaceflinger_client/tests/SharedBufferStack/SharedBufferStackTest.cpp
3fbd902c9eba50a9c5eb2aac938898fb7ba65786 18-May-2010 Mathias Agopian <mathias@google.com> add a few tests to SharedBufferStackTest

Change-Id: I1c46c07aa1483aee4d4ebd8745638a2c462cc1b3
urfaceflinger_client/tests/SharedBufferStack/SharedBufferStackTest.cpp
cd45552c57f12475cd23a761781c456150fba90a 18-May-2010 Mathias Agopian <mathias@google.com> improve SharedBufferStack test

Change-Id: I32683bfe0916918757280db89113595867acd5a7
urfaceflinger_client/tests/SharedBufferStack/SharedBufferStackTest.cpp
b5c4577b887ccc06f39b82c8216995ee2aa5d60d 18-May-2010 Mathias Agopian <mathias@google.com> fix a bug where queueBuffer() would fail after the SharedbufferStack is resized

Change-Id: I12bf13a62018ce1349bab7be0b0cad7fad13fee8
urfaceflinger_client/SharedBufferStack.cpp
d6297f7d096cee1ce180ac7bc26604a179e742c5 18-May-2010 Mathias Agopian <mathias@google.com> fix some bugs in SharedBufferStack::resize

added buffers should now be labeled properly.

Change-Id: I28aa753fbe89ab89134e7753575319478934c7fa
urfaceflinger_client/SharedBufferStack.cpp
4edfe7501873df28554b675694b336579c078dfa 14-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2553359: Pandora does not work well with Passion deskdock / Cardock.

The problem is due to a too big difference between the buffer size used at the hardware interface and at the A2DP interface.
When no resampling occurs we don't notice problems but the timing is very tight. As soon as resampling is activated, the AudioTrack underruns.
This is because the AudioTrack buffers are not resized when moving the AudioTrack from hardware to A2DP output.
The AudioTrack buffers are calculated based on a hardware output buffer size of 3072 bytes. Which is much less than the A2DP output buffer size (10240).

The solution consists in creating new tracks with new buffers in AudioFlinger when the A2DP output is opened
instead of just transfering active tracks from hardware output mixer thread to the new A2DP output mixer thread.
To avoid synchronization issues between mixer threads and client processes, this is done by invalidating tracks
by setting a flag in their control block and having AudioTrack release the handle on this track (IAudioTrack)
and create a new IAudioTrack when this flag is detected next time obtainBuffer() or start() is executed.

AudioFlinger modifications:
- invalidate the tracks when setStreamOutput() is called
- make sure that notifications of output opening/closing and change of stream type to output mapping are sent synchronously to client process.
This is necessary so that AudioSystem has the new stream to output mapping when the AudioTrack detects the invalidate flag in the client process.
Previously their were sent when the corresponding thread loop was executed.

AudioTrack modifications:
- move frame count calculation and verification from set() to createTrack() so that is is updated every time a new IAudioTrack is created.
- detect track invalidate flag in obtainBuffer() and start() and create a new IAudioTrack.

AudioTrackShared modifications
- group all flags (out, flowControlFlag, forceReady...) into a single bit filed to save space.

Change-Id: I9ac26b6192230627d35084e1449640caaf7d56ee
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioPolicyManagerBase.cpp
0d184f01696ea2186acd43d5a907f084c92d3a39 15-May-2010 Mathias Agopian <mathias@google.com> Merge "fix uninitialized variable in DisplayHardware" into kraken
0d4e00dd6a416daceadc9c517bb176737c063f8b 15-May-2010 Mathias Agopian <mathias@google.com> fix uninitialized variable in DisplayHardware

this fixes the issue where the display is all messed-up sometimes.

Change-Id: I20be91b5166bfff0c6d353a777351842c9df8e95
urfaceflinger/DisplayHardware/DisplayHardware.cpp
0259a7534f27d98122bfef94a1bed79c8a12013f 15-May-2010 The Android Open Source Project <initial-contribution@android.com> am 900b6157: merge from open-source master

Merge commit '900b6157f5dee2ed7b2c73cf320b2baf293230ff' into kraken

* commit '900b6157f5dee2ed7b2c73cf320b2baf293230ff':
Only hold a weak pointer on SurfaceComposerClients
4c5355883575b89bc847b5b2dbc32064420335f2 15-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I0249c6d796b35af9ba08cbccd463a1f5cf779ecd
e151216d38b84903cd7ac37d6e499ca942eb207e 14-May-2010 Eric Laurent <elaurent@google.com> AudioFlinger: rename variables to clarify reference to track channel count or channel mask

Some variables and structure members should be renamed to reflect the fact that they contain the
number of channels in a track (channel count) or the actual channels used by a track (channel mask).
Especially member "channels" of track control block (struct audio_track_cblk_t) is actually the
number of channels (channels count).

Change-Id: I220c8dede9fc00c8a5693389e790073b6ed307b8
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
7232215a17d349a55dc363d0c83c4f3eaefdb1b3 13-May-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2678048: binder death detection in AudioFlinger is broken." into kraken
a2579f95c0c8dbb824baea2ece8b985d1e56b8ce 13-May-2010 Eric Laurent <elaurent@google.com> Merge "Several fixes in AudioDumpInterface:" into kraken
a1ac870fd1414b8c54a1dd0367f43c70f677c80e 13-May-2010 Mathias Agopian <mathias@google.com> Merge "SharedBufferStack now can grow up to 16 buffers." into kraken
7fe53f9a0dc22292290ade84b6e1664ae1a18725 13-May-2010 Mathias Agopian <mathias@google.com> Merge "Refactor some code in surfaceflinger in preparation of upcoming changes" into kraken
d292310655b5684ae417574e1cb8744a90b4b7f5 13-May-2010 Mathias Agopian <mathias@google.com> Merge "remove the "memcpy" hack" into kraken
b5b7f260da2c1a2a82e0311e2015d49a82f43667 08-May-2010 Mathias Agopian <mathias@google.com> SharedBufferStack now can grow up to 16 buffers.

there is a new resize() api, which currently only allows growing.

Change-Id: Ia37b81b73be466d2491ffed7f3a23cd8e113c6fe
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger_client/ISurface.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
d606de6bb6877dc4ab93ec0be0c6bda4a8ee1ce8 11-May-2010 Mathias Agopian <mathias@google.com> Refactor some code in surfaceflinger in preparation of upcoming changes

the new TextureMagager class now handle texture creation and upload
as well as EGL image creation and binding to GraphicBuffers. This is
used indirectly by Layer and directly by LayerBuffer

the new BufferManager class handles the set of buffers used for a
Layer (Surface), it abstracts how many buffer there is as well as
the use of EGLimage vs. regular texture ops (glTexImage2D).

Change-Id: I2da1ddcf27758e6731400f6cc4e20bef35c0a39a
urfaceflinger/Android.mk
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/TextureManager.cpp
urfaceflinger/TextureManager.h
urfaceflinger_client/SharedBufferStack.cpp
89141f949270100d1cacecf99cc2ff25fce79087 11-May-2010 Mathias Agopian <mathias@google.com> remove the "memcpy" hack

this hack was used for gpus that don't support cached buffers
for s/w clients. currently we have no gpu with this issue.
this removes quite a bit of complexity.

Change-Id: I72564669f124f92805030e61983711f61c76b6d9
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
9b7640933ebcaccca1d1667048bdb9abd0813d22 12-May-2010 Kenny Root <kroot@google.com> Merge "ZipUtilsRO rewrite based on Dalvik Zip rewrite" into kraken
cb720e9611cd5ab73e20048bb07c5b795f2ac57a 12-May-2010 Eric Laurent <elaurent@google.com> Several fixes in AudioDumpInterface:

- forward setMode() and getInputBufferSize() calls to underlying audio hardware interface.
- Allow capture of more than one output stream (previous implementation was only capturing
the first output opened, namely the hardware output).
- Allow capture of input streams: previous implementation was only simulating input streams
when more than one was open at a time by reading from a file on SD card). Now the default
behavior is to capture PCM data read from input stream if it was successfully opened or
simulate capture otherwise.

Change-Id: I7e2892b25e295fc3c19c7eb0f71bfaea5816b73a
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
d878cd8a79d9e296c3a3660941f2b0d3e1d16a35 12-May-2010 Eric Laurent <elaurent@google.com> Fix issue 2678048: binder death detection in AudioFlinger is broken.

There is a bug in the way notification client list is managed when the client binder
interface dies that makes that the dead client is not removed from the list: the week
reference passed by binderDied() cannot be promoted and compared to the strong
references in the list.

The fix consists in creating a new NotificationClient class that implements the
binder DeathRecipient and holds a strong reference to the IAudioFlingerClient interface.
A new instance of this class is created for each cient and a strong reference to this
object is added to the notification client list maintained by AudioFlinger.
When binderDied() is called on this object, it is removed from the list preventing
AudioFlinger to notify this client for further io changes.

Also added code to disable LifeVibes effects when the client that has enabled the
enhancements dies.

Change-Id: Icedc4af171759e9ae9a575d82d44784b4e8267e8
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
d4066a4ac50cda61bedd97b5f6d29cf176e04127 23-Apr-2010 Kenny Root <kroot@google.com> ZipUtilsRO rewrite based on Dalvik Zip rewrite

Change the way zip archives are handled. This is necessary to deal with
very large (~1GB) APK files, for which our current approach of mapping
the entire file falls over.

We now do the classic scavenger hunt for the End Of Central Directory
magic on a buffer of data read from the file, instead of a memory-mapped
section. We use what we find to create a map that covers the Central
Directory only.

If the caller is interested in unpacking the file contents, we have to
do an additional file read to discover the size of the Local File Header
section so we can skip past it.

This is based on Change I745fb15abb in the dalvik tree. Both
implementations share a common ancestry, but the cost of unifying them
outweighs the benefits of wrapping C calls.

Change-Id: Iddacb50fe913917c2845708a530872d65fdbe620
tils/AssetManager.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
0c7af77450f9bddb9b1c32971673458c9d486f55 10-May-2010 Mathias Agopian <mathias@google.com> am 56aed6bd: am c69775d6: Merge "fix [2664345] Flash: Bad flicker at the end of a pinch zoom." into froyo

Merge commit '56aed6bde0c52658d2cb1207c0cfe8ba0a764c59' into kraken

* commit '56aed6bde0c52658d2cb1207c0cfe8ba0a764c59':
fix [2664345] Flash: Bad flicker at the end of a pinch zoom.
179169e88e05261196b76d7ddf94aa870aafaf9a 07-May-2010 Mathias Agopian <mathias@google.com> fix [2664345] Flash: Bad flicker at the end of a pinch zoom.

the window manger puts SurfaceViews up before they have been
rendered into, because of that surfaceflinger doesn't have
anything ready to draw for that surface when an udpate occurs
and responds by filling the surface with black.
With this fix, we only fill those areas of the framebuffer
that would otherwise be undefined (no content at all).

in the Flash case, the "flash" window is not drawn at all
until it has some content, instead the underlaying browser
window is shown.

Change-Id: Ifb610f7f8c27b88edf83e09adc4803fc295c15a1
urfaceflinger/Layer.cpp
7dd2bb84128d9026f045999b94644fcda772de52 07-May-2010 Dan Egnor <egnor@google.com> am ca48c88c: am 8a8658a5: Merge "Make static versions of libutils and libbinder." into froyo

Merge commit 'ca48c88c3d5733c4405a2fc4f7d9bb7fbba3d43f' into kraken

* commit 'ca48c88c3d5733c4405a2fc4f7d9bb7fbba3d43f':
Make static versions of libutils and libbinder.
386a332b4f70718cccb08d5511d66e9f4f5bd409 06-May-2010 Dan Egnor <egnor@google.com> Make static versions of libutils and libbinder.

Fix some small static-initialization-order issues (and a static-
initializers-missing issue) that result from doing so. The static
libraries don't actually get used for anything real at the moment --
they're used for perf tests of bug 2660235.

Bug: 2660235
Change-Id: Iee2f38f79cc93b395e8d0a5a144ed92461f5ada0
inder/Android.mk
inder/Binder.cpp
tils/Android.mk
tils/String8.cpp
d52128786f5b9f28a10fe40e22454c8029db9046 30-Apr-2010 Mathias Agopian <mathias@google.com> make sure the server-side validates pointers/indices visible on the client side

Change-Id: I604f58d3fcd2d09ec7998123c627401081345cd6
urfaceflinger_client/SharedBufferStack.cpp
30c4c182ec4b35964460dcd74c541bfd9e6afbdc 30-Apr-2010 Mathias Agopian <mathias@google.com> Merge "Add support for enqueuing buffers in arbitrary order" into kraken
4fcad80654c2782084ab21678102bd4d6ddbe8dd 29-Apr-2010 Mathias Agopian <mathias@google.com> Merge "cleanup. waitForCondition() now uses polymorphsim instead of templtes" into kraken
a228cc5efaa485d66855d475ded09a543a6fd076 29-Apr-2010 Mathias Agopian <mathias@google.com> Merge "fix a race condition in undoDequeue(), where 'tail' could be computed incorrectly." into kraken
c93a781c2492def222093e46ddc252b09e333410 24-Apr-2010 Dianne Hackborn <hackbod@google.com> New xlarge screen size.

Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
tils/ResourceTypes.cpp
c0a9164e9ea5d1d0ee6fbf9ea2ff51318bd78e23 28-Apr-2010 Mathias Agopian <mathias@google.com> Add support for enqueuing buffers in arbitrary order

Also added a very simple SharedBufferStack unit test.

Change-Id: I253dbbe98a53c966b78d22d4d6dd59f8aefc8c40
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/tests/Android.mk
urfaceflinger_client/tests/SharedBufferStack/Android.mk
urfaceflinger_client/tests/SharedBufferStack/SharedBufferStackTest.cpp
b296533607232357597b255679db29470ab5925d 28-Apr-2010 Mathias Agopian <mathias@google.com> cleanup. waitForCondition() now uses polymorphsim instead of templtes

the reason for the above change is that waitForCondition() had become
large over time, mainly to handle error cases, using inlines to
evaluate the condition doesn't buys us much anymore while it increases
code size.

Change-Id: I2595d850832628954b900ab8bb1796c863447bc7
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
0a8cd0689a76dbca7405004caac4dde4c0250aea 28-Apr-2010 Mathias Agopian <mathias@google.com> fix a race condition in undoDequeue(), where 'tail' could be computed incorrectly.

in the undoDequeue() case, 'tail' was recalculated from 'available' and 'head'
however there was a race between this and retireAndLock(), which could cause
'tail' to be recalculated wrongly.

the interesting thing though is that retireAndLock() shouldn't have any impact
on the value of 'tail', which is client-side only attribute.
we fix the race by saving the value of 'tail' before dequeue() and restore it
in the case of undoDequeue(), since we know it doesn't depend on retireAndLock().

Change-Id: I4bcc4d16b6bc4dd93717ee739c603040b18295a0
urfaceflinger_client/SharedBufferStack.cpp
1b5e1021b8c9b87113b70d94dfb7b50f8c5b01b8 21-Apr-2010 Mathias Agopian <mathias@google.com> more surfaceflinger cleanups

get rid of the "fake rtti" code, and use polymorphism instead.
also simplify how we log SF's state (using polymorphism)

Change-Id: I2bae7c98de4dd207a3e2b00083fa3fde7c467922
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
245e4d78c5fb304fe153c36303ec69bf8a907f65 22-Apr-2010 Mathias Agopian <mathias@google.com> better fix for [2420565] Surface.lockCanvas() updates the dirty region too often

Change-Id: I83438b40effd21538f1c74396dc665254b9d5ab6
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
11777e9a6ef0927c73ddfd7bc384238c035ab359 21-Apr-2010 Mathias Agopian <mathias@google.com> DO NOT MERGE fix [2557396] Adreno200: glDrawTexi() doesn't work with height <= 16

don't use glDrawTexi() anymore

Change-Id: If71334de39114b0edce7771366f8d8dc26f6911e
urfaceflinger/LayerBase.cpp
082e3be0da89212bcde3d0f0fae62943a9863f15 21-Apr-2010 Mathias Agopian <mathias@google.com> Merge "added setCrop() to android_native_window_t" into kraken
f2d283de9172bce74206e21f6037e722765d2ae4 21-Apr-2010 Mathias Agopian <pixelflinger@google.com> Merge "add support for up to 16 buffers per surface" into kraken
b1ab57601acf7f2775c984dcf54d1228ca88a61b 21-Apr-2010 Mathias Agopian <mathias@google.com> Merge "clean-up surfaceflinger a bit" into kraken
78fd5010a87425d2be401d10a306dd68638fc1dd 20-Apr-2010 Mathias Agopian <mathias@google.com> clean-up surfaceflinger a bit

get rid of the glDrawTexi path and use floating points instead of fixed point maths

Change-Id: I3aa9ce2dc082f702160e605a16ba5fe987cdf087
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
5bd957f4585043fa95c86f1ba253357100adb568 20-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> am 0fabf2e8: am 8ccbd4ba: Merge "Fix bug 2604132 40s skip after undocking In case of A2DP write errors, there is an overflow in the calculation of the sleep duration to simulate the timing of a successful write." into froyo

Merge commit '0fabf2e81559106cb4aaf9e8ba45b0bed37d5eb8' into kraken

* commit '0fabf2e81559106cb4aaf9e8ba45b0bed37d5eb8':
Fix bug 2604132 40s skip after undocking
cc08e688f5b82b4ebd076ad138b2749e8c86ad5e 16-Apr-2010 Mathias Agopian <mathias@google.com> added setCrop() to android_native_window_t

hooked up the new method up to Surface.cpp
the actual crop is not implemented in SF yet

Change-Id: Ic6e313c98fd880f127a051a0ccc71808bd689751
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
1100c8b9012f511d45a82b25c940c702dadbc39e 06-Apr-2010 Mathias Agopian <pixelflinger@google.com> add support for up to 16 buffers per surface

also increase the dirtyregion size from 1 to 6 rectangles.
Overall we now need 27KiB process instead of 4KiB

Change-Id: Iebda5565015158f49d9ca8dbcf55e6ad04855be3
urfaceflinger_client/SharedBufferStack.cpp
e783275acabb300f5baffa3bde758036cbb12a7d 20-Apr-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2604132 40s skip after undocking
In case of A2DP write errors, there is an overflow in the calculation
of the sleep duration to simulate the timing of a successful write.

Change-Id: Ic4e570aebf07fac69735aab1bbc2fc73512ee795
udioflinger/A2dpAudioInterface.cpp
0ec1f2fc6e8776266c521ed17b3299aa8720b68e 20-Apr-2010 Mathias Agopian <mathias@google.com> am 26f61635: am 0a4ab1b9: Merge "fix [2599939] "cannot play video" after open/close a video player a dozen of times" into froyo

Merge commit '26f6163557980062dbb203388b3d0794ee0d06f7' into kraken

* commit '26f6163557980062dbb203388b3d0794ee0d06f7':
fix [2599939] "cannot play video" after open/close a video player a dozen of times
3c772b706dd8e53fe17b284bb2e60c146867f787 20-Apr-2010 Mathias Agopian <mathias@google.com> fix [2599939] "cannot play video" after open/close a video player a dozen of times

get rid off the MAP_ONCE flag is MemoryHeapBase (as well as it's functionality),
this feature should not be used anymore.

the software renderer was incorrectly using the default ctor which set MAP_ONCE,
causing the leak. the software renderer itself is incorrectly used while coming
back from sleep.

Change-Id: I123621f8d140550b864f352bbcd8a5729db12b57
inder/IMemory.cpp
5629eb167638a9ebfa5059177d227c7ac67db46f 15-Apr-2010 Mathias Agopian <mathias@google.com> when a zero dimension buffer is allocated, turn the allocation into
a 1x1 buffer instead of Nx1 (or 1xN)

Change-Id: I27eeb15e83e13002dd9405f4e52b54f7dffc0fe7
i/GraphicBufferAllocator.cpp
ddf1dd135378a0bf7ac1b2cc1bf1c76c879ac915 15-Apr-2010 Mathias Agopian <mathias@google.com> am e7d5a2f9: am 45423465: Merge "fix [2594950] Flash: Zooming in on some content crashes the Nexus One and causes it to reboot (runtime restart)" into froyo

Merge commit 'e7d5a2f9ae47d8ea8face3f1e451314ed36f4026' into kraken

* commit 'e7d5a2f9ae47d8ea8face3f1e451314ed36f4026':
fix [2594950] Flash: Zooming in on some content crashes the Nexus One and causes it to reboot (runtime restart)
ca99fb8f65f3ea249c56fb6dccefffb54e87696e 15-Apr-2010 Mathias Agopian <mathias@google.com> fix [2594950] Flash: Zooming in on some content crashes the Nexus One and causes it to reboot (runtime restart)

We now limit the size of the surface to the maximum size supported by the GPU.
On Nexus One this will 2048 -- it could be different on other devices.
Surface creation fails if the limit is exceeded.

Change-Id: I9ecfc2e9c58c9e283782b61ebfc6b590f71df785
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/Layer.cpp
63aff8160ce0b24c3f5dd56434ae9f5c19ece229 09-Apr-2010 Eric Laurent <elaurent@google.com> am 1921527c: am 9da7730d: Merge "Additional fix for isssue 2548710: Native AudioTrack resources never freed." into froyo

Merge commit '1921527c8dbcb9f10683e43bca12648cb2c6e5b7' into kraken

* commit '1921527c8dbcb9f10683e43bca12648cb2c6e5b7':
Additional fix for isssue 2548710: Native AudioTrack resources never freed.
775fa3cd32ffbb1c27011388287c5bc2b968e3bb 09-Apr-2010 Eric Laurent <elaurent@google.com> Additional fix for isssue 2548710: Native AudioTrack resources never freed.

This changes fixes the issue for the direct output thread that was not
addressed by commit 71f37cd8a175ee00635cb91506d6810fd02b5b51.

Change-Id: I1bbe26be5f444415dd97270e49257650f5d2858f
udioflinger/AudioFlinger.cpp
3a8069566724c87d1a88843e6430439e5d2a2e33 09-Apr-2010 Mathias Agopian <mathias@google.com> fix [2420565] Surface.lockCanvas() updates the dirty region too often

There was a bug where we were we could be reallocating buffers for no reason.

Change-Id: Ieb8a81a289da9339ab7faf987cd3a73428943c1a
urfaceflinger_client/Surface.cpp
166bcf90720f5354d8f046d8c639ce4f75e8edcb 23-Feb-2010 Matt Fischer <matt.fischer@garmin.com> Only hold a weak pointer on SurfaceComposerClients

Each process maintains an array of active SurfaceComposerClient
objects, so that they can be reused as new surfaces are parceled
across. When a SurfaceComposerClient is disposed, it will remove
itself from this list. However, because the list maintains a strong
reference on the object, a reference cycle is created, and the
client is never deleted.

This patch changes the list to maintain weak pointers on the clients
instead.

Change-Id: I93dc8155fe28b4e350366a3400cdf22a8c77cdd3
i/SurfaceComposerClient.cpp
8f10540cd59e980dcdb5a8f4f2dbec0d94177f5f 06-Apr-2010 Mathias Agopian <mathias@google.com> Make pixels prettier.

Change-Id: If3b0774b70cbe943894c15ffa1da111ad887010f
urfaceflinger/SurfaceFlinger.cpp
deea502a920d3739efae5a29c6fbf56780d68501 31-Mar-2010 Eric Laurent <elaurent@google.com> Fix isssue 2548710: Native AudioTrack resources never freed.

The problem is a bug in AudioFlinger::MixerThread::prepareTracks_l() that makes that even if the TrackHandle
is destroyed, the corresponding Track will remain active as long as frames are ready for mixing.
If the track uses shared memory (static mode) and the sound is looped, this track will play for ever.

The fix consists in removing the track from active list immediately if the track is terminated.

Change-Id: I4582aa1d981079ab79be442fb6185f5afaed5cf3
udioflinger/AudioFlinger.cpp
c85e12e07559b7a36f6b831112a7e677a4f83ceb 31-Mar-2010 Dianne Hackborn <hackbod@google.com> Revert "fix [2542425] memory leak during video recording"

This reverts commit 544592e14f8d7643238e40ba9879727497900f35.
tils/VectorImpl.cpp
77e26d6822bdba470c4704440fdafcc256475b4e 31-Mar-2010 Mathias Agopian <mathias@google.com> fix [2542425] memory leak during video recording

[Sorted|Keyed]Vector<TYPE> would leak their whole storage when resized
from the end and TYPE had trivial dtor and copy operators.

Change-Id: I8555bb1aa0863df72de27d67ae50e20706e90cf5
tils/VectorImpl.cpp
caeddc7236a41bc51e60d54f5fa0e67cddd7aba6 29-Mar-2010 Mathias Agopian <mathias@google.com> fix [2542425] memory leak during video recording

Vector::sort() is using _do_copy() incorrectly; _do_copy() calls the
copy constructor, not the assignment operator, so we need to destroy
the "destination" before copying the item.

Change-Id: Iaeeac808fa5341a7d219edeba4aa63d44f31473c
tils/VectorImpl.cpp
c8620b60d67390d2bd0fa0ce53cc63fc18c50244 25-Mar-2010 Mathias Agopian <mathias@google.com> fix [2545826] calling into gralloc with external lock held

Change-Id: I2d0e017382404c684c768a0dd0423d574213f10a
i/GraphicBufferAllocator.cpp
67954789490f901676c170f4bcea1345551373a4 20-Mar-2010 Mathias Agopian <mathias@google.com> Merge "libutils Condition are now PRIVATE by default"
26d244281a62c909acfd7527da256a9413241122 20-Mar-2010 Mathias Agopian <mathias@google.com> libutils Condition are now PRIVATE by default

Condition must be initialized with SHARED for the old behavior, where
they can be used accross processes.

Updated the two places android that require SHARED conditions.

PRIVATE conditions (and mutexes) use more efficient syscalls.

Change-Id: I9a281a4b88206e92ac559c66554e886b9c62db3a
urfaceflinger_client/SharedBufferStack.cpp
440fd870b20b4720e11c9ea71d2a3284f8cf2f59 19-Mar-2010 Christopher Tate <ctate@google.com> Ensure that binder incalls to the system process keep the fg cgroup

On binder incalls, the handler thread is given the caller's priority by the
driver, but not the caller's cgroup. We have explicit code that sets the
handler's cgroup to match the caller's, *except* that the system process
explicitly disables this behavior. This led to a siuation in which we were
running binder incalls to the system process at nice=10 but cgroup=fg.

That's fine as far as it goes, except that if a GC happened in the handler
thread, it would be promoted to foreground priority and cgroup both, to avoid
having the GC take forever. Then, when GC finished, the original priority
is reset, and the cgroup set *based on that priority*. This would push the
handler thread into nice=10 cgroup=bg_non_interactive -- which matches the
caller, but is supposed to be impossible in the system process.

The end result of this was that we could be running "lengthy" operations in
the system process in the background. Unfortunately, some of the operations
that wound up like this would hold important global system locks for up to
twenty seconds as a result, making the entire device unresponsive to input
for that period.

This CL fixes the binder incall setup to ensure that within the system process,
a binder incall is always begun from the normal foreground priority as well
as cgroup. In practice now the device still becomes laggy/sluggish when the
offending lock-holding time-consuming incall occurs, but since it still runs
as a foreground task it is able to proceed to completion within a short time
rather than taking 20 seconds.

Fixes bug #2403717

Change-Id: Id046aeabd0e80c48eef94accc37842835eab308d
inder/IPCThreadState.cpp
d6ce1004643c0edb6bd9f123877a2610674a803d 17-Mar-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2416481: Support Voice Dialer over BT SCO."
ab02873e8f4e235b0db800521dd0c969ed38c0b9 17-Mar-2010 Mathias Agopian <mathias@google.com> fix [2511580] Window poop on screen - drop down list left some residual when it resized

Change-Id: Ib9a3622e7a568ba26717a93b5bfa4a191651f4d0
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
101e77a31bd0c4cc49280a7dba78507fef08072f 11-Mar-2010 Eric Laurent <elaurent@google.com> Fix issue 2416481: Support Voice Dialer over BT SCO.

- AudioPolicyManager: allow platform specific choice for opening a direct output.
Also fixed problems in direct output management.
- AudioFliinger: use shorter standby delay and track inactivity grace period for direct output
thread to free hardware resources as soon as possible.
- AudioSystem: do not use cached output selection in getOutput() when a direct output
can be selected.

Change-Id: If44b50d29237b8402ffd7a5ba1dc43c56f903e9b
udioflinger/AudioFlinger.cpp
udioflinger/AudioPolicyManagerBase.cpp
d343e3d5e3177806205b9452b0b43907e28afd9a 16-Mar-2010 Mathias Agopian <mathias@google.com> fix [2515291] Native crash and runtime restart while trying to preview captured picture on Sapphire

if a buffer couldn't be allocated because of an OOM, SF could, in some case dereference
a null pointer.

Change-Id: I5321248c38a21e56d5278b6aada2694e64451378
urfaceflinger/Layer.cpp
08abf1fa13a541b8c5eb477dbf9b33d11d97b103 13-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2203203 Route STREAM_VOICE_CALL to A2DP when not in call.

Change-Id: I5581702780308658415dc4ad19fbe409fdc5c368
udioflinger/AudioPolicyManagerBase.cpp
55fa25161a7626ae6a15bc2cc46e22771455ed80 12-Mar-2010 Mathias Agopian <mathias@google.com> implement connect/disconnect in our native_window_t implementations

the framebuffer implementation doesn't do anything special with this
but the surfaceflinger implementation makes sure the surface is not used
by two APIs simultaneously.

Change-Id: Id4ca8ef7093d68846abc2ac814327cc40a64b66b
urfaceflinger_client/Surface.cpp
i/FramebufferNativeWindow.cpp
d12965934712ed0b9c1a264a6934dc0dad839ffd 10-Mar-2010 Mathias Agopian <mathias@google.com> fix [2483456] Video orientation is wrong on Droid for some videos

Change-Id: I450191f1335f57bffc51aff3e27295395847dbc0
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
c3897a2aea5342f5a638f052fcab77b361b85a77 10-Mar-2010 Jean-Baptiste Queru <jbq@google.com> Merge "Use proper config to enable LVMX"
e4623e87548022987bcd0fe362d078b844356143 10-Mar-2010 Jean-Baptiste Queru <jbq@google.com> Use proper config to enable LVMX

Change-Id: Ifa75a82884b99aeee139e055f40e7c510cf28213
udioflinger/Android.mk
82fecb01df67f5e3321618df29079b9ce56a30e4 10-Mar-2010 Dianne Hackborn <hackbod@google.com> Add ability for some manifest attributes to reference resources.

This loosens our restriction on many manifest attributes requiring
literal string values, to allow various ones to use values from
resources. This is only allowed if the resource value does not change
from configuration changes, and the restriction is still in place
for attributes that are core to security (requesting permissions) or
market operation (used libraries and features etc).

Change-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8
tils/ResourceTypes.cpp
d5ea969b41d02d6fe1a54637b46a809d06ad4d4b 05-Mar-2010 Glenn Kasten <gkasten@google.com> Initial version of LifeVibes integration.
Also changed tabs to spaces in other audioflinger files.
udioflinger/Android.mk
udioflinger/AudioFlinger.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioResampler.h
84cf7d9e881f28018235fe024e6fac5b26f318df 09-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2329540
Part 1 of the fix: when the user doesn't elect to use the car dock
for music and media, the APM was not aware of the device being
docked.
This is fixed by dissociating the notification for the APM of
the docking to the dock from the sink state change of the A2DP
device.
Also missing was forcing the volumes to be reevaluated whenever
the device is docked or undocked, as volumes for docks may
differ, even when the same output device is being used.

Change-Id: If5314e27821a71adbd6df6fdf887c45208241d96
udioflinger/AudioPolicyManagerBase.cpp
948d69fca450a5a85e3e3e17d5776bfb26e48b85 09-Mar-2010 Mathias Agopian <mathias@google.com> improve SF logging/debugging a little bit

Change-Id: I6a57f89c25defc293fd748cc1fbd710031c02ec2
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
7d3f8ed3a5878e3dc8046eaa1fa0524a6ff51344 09-Mar-2010 Mathias Agopian <mathias@google.com> Merge "Fix a small bug where we could compute SharedBufferStack's tail incorrectly."
c2e30de00cf1990bef88e0e34929f242bae02d06 09-Mar-2010 Mathias Agopian <mathias@google.com> Fix a small bug where we could compute SharedBufferStack's tail incorrectly.

Also add "tail" to the debug dump().

Change-Id: I04b1ea375dfc9ddcc22f0c6b6cd01300e507572e
urfaceflinger_client/SharedBufferStack.cpp
f23a5e052e3847cad23710d940254739ffd35a48 09-Mar-2010 Mathias Agopian <mathias@google.com> Merge "fixes for [2474091] Saw Poor behaviour playing a video."
fcfeb4b5970c8f361634429934a2518d7e8328dd 08-Mar-2010 Mathias Agopian <mathias@google.com> fixes for [2474091] Saw Poor behaviour playing a video.

- fix a bug when hacking video buffers into gralloc buffers
where the buffer size was incorrect this was causing the
"direct-form-texture" mode to fail

- also when the above fails, make sure to revert to the
"mdp copy mode" before going to "slow mode"

- finally disable completely the "direct-from-texture" mode
for now. It cannot work because the allocated buffers can't
respect the GPU constraints (alignment and such). We'll
have to find a solution for that.
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
219795f5d0a84cc06df262c1d2b5dfe82793d57b 07-Mar-2010 Eric Laurent <elaurent@google.com> Fix issue 2317760: Change the priority between wired headset and A2DP.

Modified audio policy manager so that wired headset has precedence over A2DP headset.
udioflinger/AudioPolicyManagerBase.cpp
194e485dd1a6a38ce1bdd38589bafa637ce53c26 06-Mar-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2428563: Camera rendered inoperable by voice call interruption."
4f1fcc2890f7db5509740c3daedf51ee3a38869e 03-Mar-2010 Eric Laurent <elaurent@google.com> Fix issue 2428563: Camera rendered inoperable by voice call interruption.

The problem is that AudioRecord never exits read() when a timeout occurs while trying
to get new PCM data from audio hardware input buffer: it just keeps waiting and retrying until stop() is called.
In the same time, opencore AndroidAudioInput::audin_thread_func() loop cannot be exited when stuck
in AudioRecord::read() because the iExitAudioThread flag can only be sampled when AudioRecord::read()
returns. We remain stuck with the audio input thread running.

The fix consists in modifying AudioRecord behavior in case of timeout when getting new PCM samples.
We now wait only one timeout period and try to restart audio record, in case the problem is due to a media_server
process crash. If this fails, we exit read() with a number of bytes read equals to 0 so that
AndroidAudioInput::audin_thread_func() loop can exit.

Also modified Audioflinger::RecordThread() loop so that we attempt to recover from HAL read errors.
In case of read error, the input stream is forced to standby so that next read attempt does a
reconfiguration and restart of the audio input device.
udioflinger/AudioFlinger.cpp
9855a0575efe1fbd5df662aee465b4c9a09c3871 05-Mar-2010 Christopher Tate <ctate@google.com> Calculate bitmask array sizes correctly in the EventHub

We've gotten lucky to date: the previous calculation of bitmask array
sizes, (maxval+1)/8 only works properly when 'maxval' is one less than
a multiple of 8. Fortunately, this has either been the case for us,
or there has been sufficient 'unused' space at the end of the defined
max value range that we haven't wound up overreading/overwriting the
allocated buffers.

Change-Id: I563a93a86644ab9f19489565e06c28e06bb53abc
i/EventHub.cpp
2032f98f8c6176be7819bd3bc4459a05542c5b85 05-Mar-2010 Christopher Tate <ctate@google.com> Fix #2489986 : The key bitmask needs to cover all possible keys

Change-Id: Ieebd2f879e6b6fbc0388655dd66f34be89e809a0
i/EventHub.cpp
6687fb103da248213a31c859a5f424e4feccfb25 04-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix some bugs.

Bug #2376231: Apps lose window focus (and back key causes ANR) if the
lock screen is dismissed while the phone is in landscape mode

This is another case where we weren't recomputing the focused window
after changing the visibility policy.

bug #2479958: Investigate source of "Resources don't contain package
for resource number 0x7f0a0000"

Um, okay, so it turns out there were bugs all over the place where
we would load an XML resource from a another application, but not
use the Resources for that application to retrieve its resources...!
I think the only reason any of this stuff was working at all was
because it typically only cared about retrieving the resource
identifiers of the items (it would look up the values later).

Bug #2401082: Passion ERE26 monkey crash - InputMethodManagerService

Add some null checks.
tils/ResourceTypes.cpp
71c3eb2a389ce405ea3286271422e2da52e828de 03-Mar-2010 Dianne Hackborn <hackbod@google.com> Maybe fix issue #2482201: Paired bluetooth device looks like a qwerty keyboard

We now only consider a device to be a default keyboard if its name
has "-keypad". A hack, but whatever.

Also add some debug logging for the input state to help identify such
issues in the future.
i/EventHub.cpp
4fe6ac33d14ba3998fff5f289d36b0f9dd67fa28 03-Mar-2010 Dima Zavin <dima@android.com> surfaceflinger: remove un-cached buffers hack for Adreno

Change-Id: I5ae4e74bfa3e25b55be2cddf7b3c51368a140ab9
Signed-off-by: Dima Zavin <dima@android.com>
urfaceflinger/DisplayHardware/DisplayHardware.cpp
134ccbd131c87bfe712ca4e3af5f18e9d11dc040 26-Feb-2010 Eric Laurent <elaurent@google.com> Issue 2071329: audio track is shorter than video track for video capture on sholes

Add API to retrieve number of frames dropped by audio input kernel driver.

Submitted on behalf of Masaki Sato <masaki.sato@motorola.com>
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareStub.h
8eca036d24f2e7865ab5ccb057b043e2c32b75bf 02-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2448075: aapt doesn't fix up activity-alias android:targetActivity links

And related:

- The aapt tool now sets a resource configurations sdk level to match any configs
that have been set (for example if you specify density your sdk level will be
at least 4).
- New option to modify the targetPackage attribute of instrumentation.
- Clean up of aapt options help.
- Fix of UI type values to leave 0 for "unspecified".
- Make the UI mode config APIs public.
tils/ResourceTypes.cpp
064e1e672e62094b32f8cf7a77a3b04c3309dc79 02-Mar-2010 Mathias Agopian <mathias@google.com> fix [2425395] portrait UI briefly shows in landscape

the "freeze" timeout was not initialized properly which caused it
to kick-in immediately instead of after 5s
urfaceflinger/SurfaceFlinger.cpp
285dbde2e0cd0057be070ded3be8f5f453147edc 02-Mar-2010 Mathias Agopian <mathias@google.com> Added a name to Surface created by SurfaceFlinger

Updated the window manager to use this new facility.
Surfaces name are now printed by "dumpsys".
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger_client/ISurfaceFlingerClient.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
dc7caf18da8386ad4f02176bf8509d95e5dba6e4 02-Mar-2010 Ficus Kirkpatrick <ficus@android.com> Demote the famous ResourceTypes warning to LOGV.

It is spamming the log bigtime and can be promoted back to LOGW
or worse by whoever decides to actually investigate the bug.

Change-Id: I72d950155378f641ebdfbacabae774f5736a52bc
tils/ResourceTypes.cpp
45853c975907ac9b5c4c11e9f74caa2bd01fea24 27-Feb-2010 Mathias Agopian <mathias@google.com> to help debugging [2461567] Home screen redraw messed up

log SF's idea of the front buffer in dumpsys.
urfaceflinger/Layer.h
urfaceflinger/SurfaceFlinger.cpp
83db7782aae2c279e24c56c31a3b25e2c707c9cc 25-Feb-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2327064: Music played via line out is interrupted due to the phone call audio on BT hs."
15498d6a2381c8449186705548c03565b26edc15 24-Feb-2010 Eric Laurent <elaurent@google.com> Fix issue 2327064: Music played via line out is interrupted due to the phone call audio on BT hs.

This is not a real fix for the issue but a change to make sure that the behavior is consistent regardless of
external condidions (WIFI ON or OFF, music started before call or not, A2DP device same as SCO device...).

As there is now way to guaranty good quality audio over both SCO and A2DP simultaneously, especially when WIFI is on, We will stick to this behavior:
When music is playing and we are docked to the desk dock and a call is answered with a BT SCO headset, A2DP output will be suspended.
If music is restarted during the call, it will appear muted to the user until the call is terminated.
udioflinger/AudioPolicyManagerBase.cpp
f70c4cebccfda4b4b0d92a0773f6dfa10f3b9574 24-Feb-2010 Kenny Root <kroot@google.com> Merge "Use UTF-8 strings to avoid duplicate caching, part 1"
057aa729dd8449da607162349dea30ba2eaf0ad7 24-Feb-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2305382: Pick up original call makes a noisy beep when wired headset connected."
34248170a7c50b590f693b087f3bb4e1285aa2d7 23-Feb-2010 Eric Laurent <elaurent@google.com> Fix issue 2305382: Pick up original call makes a noisy beep when wired headset connected.

The noise is the residual ring tone that is still playing while the call is answered and the
audio route changed to headset or earpiece.

The fix consists in muting the ringing tone when changing mode from ringtone to in call
and delaying the route change until the audio buffers are emptied.
udioflinger/AudioPolicyManagerBase.cpp
9e333ab42c5ca09632f56cd5d8e5349e06a632b7 23-Feb-2010 Kenny Root <kroot@google.com> Use UTF-8 strings to avoid duplicate caching, part 1

StringBlock instances containing UTF-8 strings use a cache to convert
into UTF-16, but using that cache and then using a JNI call to NewString
causes the UTF-8 string as well as two copies of the UTF-16 string to
be held in memory. Getting the UTF-8 string directly from the StringPool
eliminates one copy of the UTF-16 string being held in memory.

This is part 1. Part 2 will include ResXMLParser optimizations.

Change-Id: Ibd4509a485db746d59cd4b9501f544877139276c
tils/ResourceTypes.cpp
eda65400f5ae301e26c5f52287d831f063069ec2 22-Feb-2010 Mathias Agopian <mathias@google.com> remove a dependency of surfaceflinger on libskia

libskia was only used for a small part of SkTransform. We now implement
Transform is surfaceflinger directly.
urfaceflinger/Android.mk
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
98e71ddaede9a0bfb681fd237bec1f66c6c53193 12-Feb-2010 Mathias Agopian <mathias@google.com> remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).

Add a Flattenable interface to libutils which can be used to flatten
an object into bytestream + filedescriptor stream.
Parcel is modified to handle Flattenable. And GraphicBuffer implements
Flattenable.

Except for the overlay classes libui is now independent of libbinder.
inder/Parcel.cpp
urfaceflinger_client/ISurface.cpp
i/GraphicBuffer.cpp
tils/Android.mk
tils/Flattenable.cpp
ca6fab2b534fc7b252d0ee7ec2079afff7e5c308 20-Feb-2010 Mathias Agopian <mathias@google.com> Initialize layer position
urfaceflinger/LayerBase.cpp
b6121422ef641dc7317d1c3bf1d38b7d73922250 18-Feb-2010 Mathias Agopian <mathias@google.com> Remove a dependency of Region (libui) on Parcel (libbinder).
urfaceflinger_client/LayerState.cpp
i/Region.cpp
3db21640519541141137166ce55627cf76e1974b 17-Feb-2010 Mathias Agopian <mathias@google.com> fix a bug I introduced recently where YUV formats would crash the system
i/PixelFormat.cpp
54ed4f6282bdea251455f39b978626026affdbef 17-Feb-2010 Mathias Agopian <mathias@google.com> get rid off the YUV formats at the libui layer
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
i/PixelFormat.cpp
713e2f1bf5f97805fe8386379982e9a2be5d3085 16-Feb-2010 Mathias Agopian <mathias@google.com> Merge "minor cleanup."
c9e4a125464b389454619432cbdbcb2d9b11995a 13-Feb-2010 Mathias Agopian <mathias@google.com> minor cleanup.
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
0d88e7a8d7c436e8375a749aac77d34eb95356c8 12-Feb-2010 Kenny Root <kroot@google.com> Totally remove Unicode.cpp and rely on ICU

Unicode.cpp used a packed data table for character data that essentially
duplicated ICU's functionality.

Change-Id: Ia68fe4ac94e89dc68d9a3f45f33f6e648a5500b7
tils/Android.mk
tils/CharacterData.h
tils/Unicode.cpp
196e3207345baa4ba5af93646f2ca1b67a438aeb 12-Feb-2010 Kenny Root <kroot@google.com> Excise code from Unicode.cpp that was dead

Remove some utility functions for discovering character data
that ICU probably took over a while ago.

Change-Id: I97abe4de2f51eb2bf48679941258bc501184c3dc
tils/CharacterData.h
tils/Unicode.cpp
9cce325fae8adcf7560a28eef394489f09bad74d 10-Feb-2010 Mathias Agopian <mathias@google.com> split libsurfaceflinger_client and libcamera_client out of libui
urfaceflinger/Android.mk
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.h
urfaceflinger/SurfaceFlinger.h
urfaceflinger/tests/overlays/Android.mk
urfaceflinger/tests/overlays/overlays.cpp
urfaceflinger/tests/resize/Android.mk
urfaceflinger/tests/resize/resize.cpp
urfaceflinger_client/Android.mk
urfaceflinger_client/ISurface.cpp
urfaceflinger_client/ISurfaceComposer.cpp
urfaceflinger_client/ISurfaceFlingerClient.cpp
urfaceflinger_client/LayerState.cpp
urfaceflinger_client/SharedBufferStack.cpp
urfaceflinger_client/Surface.cpp
urfaceflinger_client/SurfaceComposerClient.cpp
i/Android.mk
i/Camera.cpp
i/CameraParameters.cpp
i/FramebufferNativeWindow.cpp
i/ICamera.cpp
i/ICameraClient.cpp
i/ICameraService.cpp
i/ISurface.cpp
i/ISurfaceComposer.cpp
i/ISurfaceFlingerClient.cpp
i/LayerState.cpp
i/SharedBufferStack.cpp
i/Surface.cpp
i/SurfaceComposerClient.cpp
1776e77c68971a72ca81b720c2074bae342d3f0a 10-Feb-2010 Wu-cheng Li <wuchengli@google.com> Merge "Remove some logs."
d5a4f1ff5bd519cf9b53af5c0a687f156bdf302a 10-Feb-2010 Wu-cheng Li <wuchengli@google.com> Remove some logs.
i/Camera.cpp
i/ICamera.cpp
dfec3a92cbec4f7e95eeeac23c3e69ce6b9aa5e6 10-Feb-2010 Wu-cheng Li <wuchengli@google.com> Merge "Add exposure compensation parameter."
a05c8227046081b2648b8150c1a716040eb08121 09-Feb-2010 Wu-cheng Li <wuchengli@google.com> Add exposure compensation parameter.

bug:2375993
i/CameraParameters.cpp
2b92d89e23e1a2a07d0e0d01c00eed33ea580aff 09-Feb-2010 Mathias Agopian <mathias@google.com> Add support for physically rotated displays

This feature is currently controled by a system property.
"ro.sf.hwrotation" can be set to either 90 or 270. It'll cause
SF to rotate the screen by 90 and 270 degres respectively.

That is, if the driver reports 800x480 for instance, and
ro.sf.hwrotation is set to 90, applications will "see" a
480x800 display and will run in portrait.

This is implemented by introducing an extra "display"
transformation in the GraphicPlane.
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
a7e380396ea68b2247a61e6fc676724a976223f9 05-Feb-2010 Mathias Agopian <mathias@google.com> Add support for direct EGLImageKHR use with pushbuffer API

We now always first try to use the EGLImageKHR directly before
making a copy with copybit. The copy may be needed when
EGLImage doesn't support the requested format, which is
currently the case with YUV.
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
391f3f8b5e8f97e002cbbc6a7535cfd73a8d16b3 31-Jan-2010 Wu-cheng Li <wuchengli@google.com> Add float support for set and get in CameraParameters.

bug:2375989
bug:2375987
i/CameraParameters.cpp
077c40fee35f483df961c6a0746ee78b9d1c5a8f 27-Jan-2010 Wu-cheng Li <wuchengli@google.com> Add focal length and view angle API.

bug:2375989,2375987
i/CameraParameters.cpp
0dd0d2944a0a7b985db162dec8b49b77d689d171 26-Jan-2010 Mathias Agopian <mathias@google.com> Simplify the MemoryDealer implementation

At some point the implementation became complicated because of
SurfaceFlinger's special needs, since we are now relying on gralloc
we can go back to much simpler MemoryDealer.

Removed HeapInterface and AllocatorInterface, since those don't need
to be paramterized anymore. Merged SimpleMemory and Allocation.
Made SimplisticAllocator non virtual.

Removed MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)

Removed a lot of unneeded code.
udioflinger/AudioFlinger.cpp
inder/MemoryDealer.cpp
inder/MemoryHeapPmem.cpp
7ccc09a4f357a3d454c137ff2e1969e5aaa9bf2f 28-Jan-2010 Eric Laurent <elaurent@google.com> Remove verbose log from AudioPolicyManagerBase.
udioflinger/AudioPolicyManagerBase.cpp
2550f8557f1d0d9eeb9b0fffe5c83864324a9589 27-Jan-2010 Eric Laurent <elaurent@google.com> Merge "Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync"
556a6fed124adf9494bd7e1702ce0f665220e998 27-Jan-2010 Chih-Chung Chang <chihchung@google.com> Merge "Add support for setting camera display orientation."
e9ed2721f4e1f06494e8c90684af9a2490d44a29 20-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2285561: New AudioFlinger and audio driver API needed for A/V sync

Added getRenderPosition() API to IAudioFlinger to retreive number of audio frames
written by AudioFlinger to audio HAL and by DSP to DAC.

Added getRenderPosition() API to AudioHardwareInterface to retreive number of audio frames
written by DSP to DAC.

Exposed AudioTrack::getPosition() to AudioSink() to make it available to media player.

Removed excessive log in AudioHardwareGeneric.
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
f091e833d339d344fbc4815bcc87ce97d8535cd8 23-Jan-2010 Chih-Chung Chang <chihchung@google.com> Add support for setting camera display orientation.
i/CameraParameters.cpp
1b5cf329eaecdcbf734feec3336ff029b2b8a264 26-Jan-2010 Nick Pelly <npelly@google.com> Revert "Fix failure to open AVRCP input device due to EPERM."

This reverts commit e6b1bbd8acca3f6e174c24cf4eb23a66db2d08a2.
i/EventHub.cpp
2b2c2e3a35287fdd9a292ab981d5708e2bbfe07c 26-Jan-2010 Nick Pelly <npelly@google.com> am 425324e9: am e834722f: Merge "Fix failure to open AVRCP input device due to EPERM." into eclair

Merge commit '425324e97bba75cd69bb6c81de6248529540e6fe'

* commit '425324e97bba75cd69bb6c81de6248529540e6fe':
Fix failure to open AVRCP input device due to EPERM.
43c0b0a1f6b025ae84013cdaa663ee892ac8e4da 25-Jan-2010 Eric Laurent <elaurent@google.com> Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active.

Modified AudioService.getActiveStreamType() so that STREAM_VOICE_CALL is selected when a track using this stream
type is playing.

Chanded isMusicActive() for a more generic isStreamActive(stream) method in AudioSystem, IAudioFlinger and AudioFlinger.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
88eeff5270991df178ee09ffda7ce5076c9a1e59 25-Jan-2010 Wu-cheng Li <wuchengli@google.com> Change key to KEY_SUPPORTED_JPEG_THUMBNAIL_SIZES for consistency.

bug:2375986
i/CameraParameters.cpp
703111327eac2f3228de1f165d23fa3bf86120ba 23-Jan-2010 Chih-Chung Chang <chihchung@google.com> Merge "Add support for 180/270 degrees rotation."
5994a330ac949e7706540f22cd73d76d9f2a96cb 23-Jan-2010 Chih-Chung Chang <chihchung@google.com> Add support for 180/270 degrees rotation.
urfaceflinger/LayerBase.cpp
519f29f5d8e097b3a35a650d92ed0ad07773c9e2 22-Jan-2010 Mathias Agopian <mathias@google.com> Merge "return an error when Surface::lock() is called while the surface is already locked."
9014726d8954a003323d65ba639b2544f8ecea2e 22-Jan-2010 Mathias Agopian <mathias@google.com> return an error when Surface::lock() is called while the surface is already locked.
i/Surface.cpp
52e7200b6e020bba978c36e3a928493a3f2c8a92 22-Jan-2010 Chih-Chung Chang <chihchung@google.com> Add an orientation parameter for overlay, so we can do camera preview in portrait mode.
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
i/ISurface.cpp
edfd97c0f2e679e86699a0f6c4df65ea21ecff15 22-Jan-2010 Mathias Agopian <mathias@google.com> fix [2324665] texture leak in surfaceflinger when using camera
urfaceflinger/LayerBuffer.cpp
8c3b597aa7a627ab6979e58a173502cc505cb0df 22-Jan-2010 Mathias Agopian <mathias@google.com> fix a texture leak introduced recently.

create the texture name once and for all for a given BufferSource
and make sure to recreate it when we're forced to delete the texture.
urfaceflinger/LayerBuffer.cpp
c81bb207c67e82f25c8ec15a533dbdc2435d83f7 21-Jan-2010 Nick Pelly <npelly@google.com> Fix failure to open AVRCP input device due to EPERM.

Sleep for 100us and try to open the input device again if it fails, with a
maximum of 10 attempts.

We need the retry logic because setting permissions on a new input device is
racy. The init process watches for new input device (via uevent) and sets the
permission on them in devices.c:make_device(). However at the same time
EventHub.cpp watches for new input devices from the system_server process, and
immediately tries to open them. I can't see a simple way to avoid this race
condition.

As best as I can tell this race condition has always exisited.
There must have been some timing change that happened recently that causes us
to hit this race condition much more often. See repro notes in referenced bug.

Bug: 2375632
i/EventHub.cpp
5fdea8d5b0a015433e01849a6c862c147e16346c 20-Jan-2010 Mathias Agopian <mathias@google.com> fix [2363362] [Sapphire] Corrupted raw picture displayed during snapshot

handled all cases where the scale factor of a video is out of bounds of
supported scale factors in copybit.
urfaceflinger/LayerBuffer.cpp
ecc99c003b4aca7d7d2f268f927558db4cbddfe1 20-Jan-2010 Mathias Agopian <mathias@google.com> part of fix for [2363362] [Sapphire] Corrupted raw picture displayed during snapshot

make sure to fallback properly to software when copybit operation fails.
with this change, the preview image will at least be displayed in b&w
(since GL doesn't support the yuv format). This would also fix
2363506, but that one is now handled more cleanly.
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
42d095aaa54a762ef74d219854aca8e1a7c6f5f6 20-Jan-2010 Mathias Agopian <mathias@google.com> Merge "fix [2363506] [Sapphire] Video playback broken"
1faed6608655409cdd9c703cdbceedc03cb40bde 20-Jan-2010 Mathias Agopian <mathias@google.com> fix [2363506] [Sapphire] Video playback broken

don't try to use copybit for incompatible buffers
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
da3529b468404e160c1b98a94d5d31f8234d0ad1 10-Dec-2009 Eric Laurent <elaurent@google.com> Create base class for audio policy manager.

First implementations of audio policy manager in Eclair branch have shown that most code is common to all platforms.
Creating AudioPolicyManagerBase base class will improve code maintainability and readability.

Audio policy manager code for platforms using generic audio previously in AudioPolicyManagerGeneric is replaced by AudioPolicyManagerBase.
Audio policy manager test code previously in AudioPolicyManagerGeneric is moved to AudioPolicyManagerBase.

Also added a wake lock for delayed commands in AudioPolicyService.
udioflinger/Android.mk
udioflinger/AudioPolicyManagerBase.cpp
udioflinger/AudioPolicyManagerGeneric.cpp
udioflinger/AudioPolicyManagerGeneric.h
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
8a468f2fd6183d5a6e512aafbdaaad4d1b495390 22-Dec-2009 Eric Laurent <elaurent@google.com> am 0c5cc224: am d20a55af: Merge change Iccfa50fe into eclair

Merge commit '0c5cc224b052654ee38d39effce427a47697481b'

* commit '0c5cc224b052654ee38d39effce427a47697481b':
Fix issue 2323920: Notification & A2DP audio stutter.
7e2aad1e27fd52292d5b4dade6f411b3fc5a5e8a 18-Dec-2009 Eric Laurent <elaurent@google.com> Fix issue 2323920: Notification & A2DP audio stutter.

Modified AudioFlinger duplicating output thread so that audio tracks are not mixed until both outputs (A2DP and hardware) have exited standby mode. This avoids to have one output far ahead of the other and audio frames dropped because the compensation mechanism cannot keep up.
Also calculate the maximum wait time in OutputTrack::write() based the on smallest frame count of all output threads instead of the frame count of the thread the OutputTrack is connected to. This avoids starving the thread with the smallest frame count by waiting too long on the other thread.
Since the frame count was reduced on hardware output to reduce latency the difference between A2DP and hardware outputs frame counts had become problematic.
Also increased the number of overflow buffers to cope with bigger timing differences among outputs.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
839604c7694127cde6b5af226aa4c44c3dddc177 11-Dec-2009 Mathias Agopian <mathias@google.com> am f9b0e826: fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly

Merge commit 'f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2' into eclair-mr2

* commit 'f9b0e826689cca5ecbd40aa49f3ea7f7c73ad2a2':
fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly
f5430db059be3e771c004d0ada594bf8820d0517 11-Dec-2009 Mathias Agopian <mathias@google.com> fix [2269582] [TOP-10][Passion_1506][APT:Camera]Sometimes camera preview screen is truncated after launching and back to home screen by home key repeatedly

When a surface is removed from the screen while it holds a "freeze lock", the
release of that lock happens in the destructor as a "safety net". However, it
doesn't trigger an update at that point.

Make sure that "freeze locks" are released from the transaction at the point
a surface is removed from the screen (if it's not on screen, it shouldn't
prevent the screen to redraw, and therefore cannot hold a freeze lock).
The refresh corresponding to that transaction will pick it up as soon as possible.
urfaceflinger/Layer.cpp
3fb6f499f828efd1f696912202c726a2c6f04c42 11-Dec-2009 Mathias Agopian <mathias@google.com> am 083a557c: fix [2319255] crash in openGL : from the media recorder stress test.

Merge commit '083a557c25e0032bc4900f335b6643d0badd09ce' into eclair-mr2

* commit '083a557c25e0032bc4900f335b6643d0badd09ce':
fix [2319255] crash in openGL : from the media recorder stress test.
2c05ff5518f07889af1446c99d97198dc92e82cc 11-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I6478884a into eclair-mr2

* changes:
Add string resource type inspection
b2bf11e3894b6da45a63025f21c9fa51f7aad98b 11-Dec-2009 Mathias Agopian <mathias@google.com> am 76169da0: fix [2315900] Monochrome camera preview screen after launching camera

Merge commit '76169da0e84b0fcf621aeac6141af3ee85bc7c1e' into eclair-mr2

* commit '76169da0e84b0fcf621aeac6141af3ee85bc7c1e':
fix [2315900] Monochrome camera preview screen after launching camera
495c1be36368ea70b2ce9541531273dd29fcac0d 11-Dec-2009 Mathias Agopian <mathias@google.com> am d8c752ef: Merge change Ib548dbb2 into eclair

Merge commit 'd8c752ef74bc6d8b412defe35caf1a19be15eb8b' into eclair-mr2

* commit 'd8c752ef74bc6d8b412defe35caf1a19be15eb8b':
improve video performance to minimize the tearing effect seen in 720p movies
8f03b47432f007b1fb3438608361ebf4e3a1310b 11-Dec-2009 Mathias Agopian <mathias@google.com> fix [2319255] crash in openGL : from the media recorder stress test.

never call eglCreateImageKHR() with a NULL native buffer, which can
happen in OOM conditions.
urfaceflinger/Layer.cpp
ccb5b89029ca3f653fbfa32a7b6ed82bf227541c 10-Dec-2009 Kenny Root <kroot@google.com> Add string resource type inspection

Allows "aapt dump --values resource" to print out whether a string in a
ResStringPool is in UTF-8 or UTF-16 encoding.

Change-Id: I6478884a70a3b46fee862dece6cb33454fc34843
tils/ResourceTypes.cpp
c5e181f8b347ad89874e0c6c7d2eea8d0465a478 09-Dec-2009 Mathias Agopian <mathias@google.com> fix [2315900] Monochrome camera preview screen after launching camera

this was introduced by a recent change. when we try to figure out the size of
the yuv->rgb temporary buffer, the output resolution has not been computed yet
and an invalid buffer size is used. most of the time the allocation fails
and the system reverts to "standard" GL will uses onle the Y plane.

the allocation of the temporary buffer is moved to onDraw(), the first
time it is called, by that time, the window is positioned properly.
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
d0aeccebe2d1539a9f0b5f19beb6c272a60d3cc6 09-Dec-2009 Dianne Hackborn <hackbod@google.com> Maybe really fix windows build.
tils/Threads.cpp
69ff5de1b7bdc763a77093f829d2aa2c6da99545 09-Dec-2009 Mathias Agopian <mathias@google.com> improve video performance to minimize the tearing effect seen in 720p movies

always rescale videos to their target size using copybit during yuv->rgb
conversion. this improves performance of the GPU pass and doesn't require
linear filtering to be enabled. Also always use 16-bits buffers.

the average processing time for 720p dropped from ~50ms to ~30ms
urfaceflinger/LayerBuffer.cpp
c5b138995e68910cfa95f88f12a1c69a102aa997 09-Dec-2009 Dianne Hackborn <hackbod@google.com> Hopefully fix Windows build
tils/Threads.cpp
eb318fd88d16053010da554ba565eaaf3355a58e 08-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I129483f8 into eclair-mr2

* changes:
Optional use of UTF-8 strings in resource bundles
8c6cedc9bc9a4b69616a79a95449f6f6b08c7bf1 08-Dec-2009 Dianne Hackborn <hackbod@google.com> Propagate background scheduling class across processes.

This is a very simply implementation: upon receiving an IPC, if the handling
thread is at a background priority (the driver will have taken care of
propagating this from the calling thread), then stick it in to the background
scheduling group. Plus an API to turn this off for the process, which is
used by the system process.

This also pulls some of the code for managing scheduling classes out of
the Process JNI wrappers and in to some convenience methods in thread.h.
inder/IPCThreadState.cpp
tils/Threads.cpp
92f5984d2c2cd73b6b9f68c02c147877d1e2fc46 04-Dec-2009 Kenny Root <kroot@google.com> Optional use of UTF-8 strings in resource bundles

Allows the use of UTF-8 for packing resources instead of the
default of UTF-16 for Java. When strings are extracted from the
ResStringPool, they are converted to UTF-16 and the result is
cached for subsequent calls.

When using aapt to package, add in the "-8" switch to pack the
resources using UTF-8. This will result in the value, key, and
type strings as well as the compiled XML string values taking
significantly less space in the final application package in
most scenarios.

Change-Id: I129483f8b3d3b1c5869dced05cb525e494a6c83a
tils/ResourceTypes.cpp
tils/String16.cpp
tils/String8.cpp
7749a90e1ed35bd5766051a46e9493c21b47feed 07-Dec-2009 Eric Laurent <elaurent@google.com> am 0a08029f: Fix issue 2306779: Runtime restart - Init failed at android.media.ToneGenerator.

Merge commit '0a08029fc9a370c6ef2a2a6fd1d800d9159b61f8' into eclair-mr2

* commit '0a08029fc9a370c6ef2a2a6fd1d800d9159b61f8':
Fix issue 2306779: Runtime restart - Init failed at android.media.ToneGenerator.
fed9382a6a5a1d81c513b028da11bb6ca372a00c 07-Dec-2009 Eric Laurent <elaurent@google.com> Fix issue 2306779: Runtime restart - Init failed at android.media.ToneGenerator.

The ToneGenerator failed to initialize because no more tracks were available in AudioFlinger mixer.

All tracks were used because the duplicating output was failing to free the tracks on audio hardware output mixer when exiting due to a misplaced test on output activity: output tracks where only freed if the duplicating output was active when exiting.

The fix consists in freeing the output tracks when the duplicating thread is destroyed without condition.
udioflinger/AudioFlinger.cpp
8aaf9a21bce5c275686252556f575f9559d39d88 07-Dec-2009 Eric Laurent <elaurent@google.com> am 6d42d806: Merge change I9cc489a2 into eclair

Merge commit '6d42d80653f2c41f3e72a878a1d9a6f9693b89f7' into eclair-mr2

* commit '6d42d80653f2c41f3e72a878a1d9a6f9693b89f7':
Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.
0aa2563bb75fe16926575d08f16a49951bd018ef 07-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9cc489a2 into eclair

* changes:
Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.
5291095089264734307ae7456e0f5183e4690463 05-Dec-2009 Eric Laurent <elaurent@google.com> Fix issue 2304669: VoiceIME: starting and canceling voice IME yields persistent "error 8" state on future attempts and breaks voice search.

Fixed AudioFlinger::openInput() broken in change ddb78e7753be03937ad57ce7c3c842c52bdad65e
so that an invalid IO handle (0) is returned in case of failure.
Applied the same correction to openOutput().
Modified RecordThread start procedure so that a failure occuring during the first read from audio input stream is detected and causes
the record start to fail.
Modified RecordThread stop procedure to make sure that audio input stream fd is closed before we exit the stop function.

Fixed AudioRecord JAVA and JNI implementation to take status of native AudioRecord::start() into account
and not change mRecordingState to RECORDSTATE_RECORDING if start fails.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
0fe8a9bc4b24013ee3fcb112fe4dd6e1ad46b26b 07-Dec-2009 Dima Zavin <dima@android.com> am 0019215f: Revert "When using MDP, we needed to use a texture for diming."

Merge commit '0019215fc395ef12c191049b1903eeabf70859cf' into eclair-mr2

* commit '0019215fc395ef12c191049b1903eeabf70859cf':
Revert "When using MDP, we needed to use a texture for diming."
a9ec9be1952f8c70cc4227b0dd51aad0b863745c 07-Dec-2009 Dima Zavin <dima@android.com> Revert "When using MDP, we needed to use a texture for diming."

This reverts commit bf0c320afbf6bf2441916755ecb443b64afbe73f.
urfaceflinger/Android.mk
19b18d75fefc0c762be6b75d32a367e2ec9d9689 04-Dec-2009 Erik Gilling <konkers@android.com> am cef8d031: Merge change I00d0b54a into eclair

Merge commit 'cef8d031e842b773bbd6481b517996a185391e92' into eclair-mr2

* commit 'cef8d031e842b773bbd6481b517996a185391e92':
surfaceflinger: remove un-cached buffer hack for SGX
1bd48776eb41e1e9810a1a1915028cc4c9ce4882 03-Dec-2009 Erik Gilling <konkers@android.com> surfaceflinger: remove un-cached buffer hack for SGX

Signed-off-by: Erik Gilling <konkers@android.com>
urfaceflinger/DisplayHardware/DisplayHardware.cpp
fd70b7f335de31e6aaa5711d38584ebb8a07be1d 03-Dec-2009 Mathias Agopian <mathias@google.com> am 121a31ac: Merge change Id86beb99 into eclair

Merge commit '121a31ac3901fcb81c808da2b4a9a7cf66c12b7c' into eclair-mr2

* commit '121a31ac3901fcb81c808da2b4a9a7cf66c12b7c':
fix [2291418] Camera preview cannot work in Emulator
3e8a81e3546f4c065c49a08bbe7e04662db73577 03-Dec-2009 Mathias Agopian <mathias@google.com> fix [2291418] Camera preview cannot work in Emulator

The image buffer used by glTexImage2d() would be uninitialized when no copybit engine
can be found.
We now always initialize images, since the abscence of copybit is not necessarily fatal.
urfaceflinger/LayerBuffer.cpp
b598e9f38d5086a7f057f06871fc68c654537dac 02-Dec-2009 Eric Laurent <elaurent@google.com> am 1ac56b60: Merge change Iac196e17 into eclair

Merge commit '1ac56b602aa6a1ac54c608e5a8b76f44638db23b' into eclair-mr2

* commit '1ac56b602aa6a1ac54c608e5a8b76f44638db23b':
Fix issue 2292062: Audio freezes for three seconds when choosing ringtones with a headset connected and music playing.
ca8fa5a7bfda037f4b691d4de4d9a26594917647 02-Dec-2009 Mathias Agopian <mathias@google.com> am 33ad0f9e: Merge change I0e44976a into eclair

Merge commit '33ad0f9ec8d47660b16ced45242a45f369fe2547' into eclair-mr2

* commit '33ad0f9ec8d47660b16ced45242a45f369fe2547':
fix [2297155] SurfaceFlinger's freeze-timeout doesn't work
9e50912d687436f7234bcd37a093864e6e076f27 02-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iac196e17 into eclair

* changes:
Fix issue 2292062: Audio freezes for three seconds when choosing ringtones with a headset connected and music playing.
0408772e34931351d062f2088b611325ddaa6cdb 02-Dec-2009 Mathias Agopian <mathias@google.com> fix [2297155] SurfaceFlinger's freeze-timeout doesn't work

There was bug in the logic that calculated the relative timeout, the start time was
reset each time an event was received, which caused the timeout to never occur if
an application was constantly redrawing.

Now we always check for a timeout when we come back from the waitEvent() and
process the "anti-freeze" if needed, regardless of whether an event was received.
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
5f1cc4826c48ed024f8db524eebabea4c063701e 02-Dec-2009 Mathias Agopian <mathias@google.com> am 8e4a110b: Merge change I5469a4ac into eclair

Merge commit '8e4a110b3e146b30b804d7e2cd0825bf56bd7d0f' into eclair-mr2

* commit '8e4a110b3e146b30b804d7e2cd0825bf56bd7d0f':
fixed [2260070] display stopped updating
d3fc8ac6c52c20a6dc2de15d7cf306da8442e414 01-Dec-2009 Eric Laurent <elaurent@google.com> Fix issue 2292062: Audio freezes for three seconds when choosing ringtones with a headset connected and music playing.

The problem comes from a deadlock with AudioPolicyService mutex: When the second ringtone starts,
this mutex is locked by AudioPolicyService::startOutput() which in turn calls setParameters() to change the output device.
Audioflinger::ThreadBase::setParameters() signals the parameter change to the AudioFlinger mixer thread and waits for a condition
indicating that the parameter change has been processed.
At the same time, the mixer thread detects that the audio track corresponding to the first ring tone has been killed and calls its destructor.
This calls AudioPolicyService::releaseOutput() which tries to lock the AudioPolicyService mutex.
If this happens before the mixer thread can process the setParameters() command we are deadlocked.
The deadlock ends because setParameters() uses a timeout when waiting for the condition.

This regression was introduced by change 33736 fixing issue 2265163.

The fix consists in calling AudioPolicyService::releaseOutput() from Track::destroy() instead of from Track destructor: as detroy() is never called from the mixer thread loop (as opposed to the destructor) the deadlock described above cannot occur.
udioflinger/AudioFlinger.cpp
c61de17f143b5f806c5bab9cc58910a322302b70 30-Nov-2009 Mathias Agopian <mathias@google.com> fixed [2260070] display stopped updating

always check that the visible region isn't empty after all visible regions are recomputed
clear he freeze-lock if it is.
urfaceflinger/Layer.cpp
760971d0976e6a6cccb87e06b55e98ed9b50719c 25-Nov-2009 Eric Laurent <elaurent@google.com> Fix A2dpAudioInterface getParameters.

A2dpAudioInterface::getParameters() was prepending a ';' to the key value pair returned from underlying AudioHardwareInterface.
udioflinger/A2dpAudioInterface.cpp
2f0a0a58f6dd03708d3f187816ce849d95354ea0 24-Nov-2009 Mathias Agopian <mathias@google.com> When using MDP, we needed to use a texture for diming.
urfaceflinger/Android.mk
151f4f60276f79065fc70edf7ee218e0226e57ba 21-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I49f02be9 into eclair

* changes:
Issue 2265163: Audio still reported routed through earpiece on sholes
7b92d7ec36a01c3f95eab000581db3360596f61d 20-Nov-2009 Dianne Hackborn <hackbod@google.com> Debugging for issue #2228381 android.view.InflateException

Binary XML file line #37: Error inflating class <unknown> after adding a secondary account

Now that I have these debug logs, I want to keep them since they will make
debugging these kinds of issues a lot easier in the future. (Note in this
case there was no problem in the framework.)

Change-Id: If2b0bbeda4706b7c5dc1ba4a5db04b74f40e1543
tils/ResourceTypes.cpp
09b4ba82d7b6eb5e701fe4127ca93e3dcb93d4b1 19-Nov-2009 Eric Laurent <elaurent@google.com> Issue 2265163: Audio still reported routed through earpiece on sholes

This is a second attempt to fix the audio routed to earpiece syndrom.
The root cause identified this time is the crash of an application having an active AudioTrack playing on the VOICE_CALL stream type.
When this happens, the AudioTrack destructor is not called and the audio policy manager is not notified of the track stop.
Results a situation where the VOICE_CALL stream is considered as always in use by audio policy manager which makes that audio is routed to earpiece.

The fix consists in moving the track start/stop/close notification to audio policiy manager from AudioTrack to AudioFlinger Track objet.
The net result is that in the case of a client application crash, the AudioFlinger TrackHandle object (which implements the remote side of the IAudioTrack binder interface) destructor is called which in turn destroys the Track object and we can notify the audio policy manager of the track stop and removal.

The same modification is made for AudioRecord although no bug related to record has been reported yet.
Also fixed a potential problem if record stop is called while the record thread is exiting.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
60f5d3694b4422ac306320ea39678354cb534630 20-Nov-2009 Mathias Agopian <mathias@google.com> backout a workaround that is not needed anymore

we had to add a call to glFinish() before glReadPixels() because of a bug in the GL ES
driver of a certain device. This is not needed anymore.
urfaceflinger/LayerBlur.cpp
713795a2e0d594618f45d3b83ac78a2dcbeb12e5 19-Nov-2009 Mathias Agopian <mathias@google.com> fix [2269022] The raw picture displayed post shutter seems to have low-resolution

Make sure to always enable linear filtering in LayerBuffer. This change doesn't affect
devices using overlays.
urfaceflinger/LayerBuffer.cpp
9e911efc10071b7916362370615f8d10dacace62 16-Nov-2009 Mathias Agopian <mathias@google.com> fix [2262591] Junk on screen in ERD46

since we're using the GPU for composition, don't use a texture for dimming,
instead simply use an alpha-blended quad.

also workaround what looks like a GL driver bug by calling glFinish() before
glReadPixels().
urfaceflinger/Android.mk
urfaceflinger/LayerBlur.cpp
dcaf29af10a3f100f2b8f7a08e9d4b2c656dd1a4 14-Nov-2009 Mathias Agopian <mathias@google.com> addresses several bugs: 2206097, 2166583, 2261119, 2216759

2206097: Broken suggestions while composing message
2166583: Color artifacts with MDP dithering
2261119: Passion transition animations are rough
2216759: Screen flicker when dropdown list in background window shows or hides

This is part of enabling GPU composition instead of using the MDP. This change
is dependent on another change in the vendor project.

Specifically this change disables the use of EGLImageKHR for s/w buffers
for cache coherency reasons. memcpy is used instead.
urfaceflinger/DisplayHardware/DisplayHardware.cpp
963abad79ae64dae9bf4c32bfb110d9e6314c857 14-Nov-2009 Mathias Agopian <mathias@google.com> fix some aspects of [2258746] native crash in launcher2

Surface::validate() could sometimes dereference a null pointer before checking it wasn't null.
This will prevent the application to crash when given bad parameters or used incorrectly.
However, the bug above probably has another cause.
i/Surface.cpp
0b9285e707488e0bb403e857a0d227b3ac2a8cf4 13-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Iad79689a into eclair

* changes:
Improvements for issue 2197683: English IME key-press latency is noticeably higher on passion than sholes
c0c1092183ceb38dd4d70d2732dd3a743fefd567 31-Oct-2009 Rebecca Schultz Zavin <rebecca@android.com> Modify the binder to request 1M - 2 pages instead of 1M. The backing store
in the kernel requires a guard page, so 1M allocations fragment memory very
badly. Subtracting a couple of pages so that they fit in a power of
two allows the kernel to make more efficient use of its virtual address space.

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
inder/ProcessState.cpp
ad55651fe7a0525bbf38efe47000a56685b6e81a 12-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I31c52bef into eclair

* changes:
Revert change incorrectly submitted as part of change #32153.
bbc21b01cf43f9b4815fcd8f7c1bbae06a1dd1a7 06-Nov-2009 Mathias Agopian <mathias@google.com> fix [2143798] Need to figure out how to do video on Passion w/ GPU

This builds on the EGLImage solution. We simply use copybit to convert from the
YUV frame into an EGLImage created for that purpose and proceed with the
regular EGLImage code.
We need to do this because "regular" GL doesn't support YUV textures.

We could improve upon this by detecting exacly what the GL supports and bypass
this extra step if not required, but we'll do this later if needed.
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
0e49d35fa4cdd4fde41829a9d6ed0f841febe06d 10-Nov-2009 Eric Laurent <elaurent@google.com> Improvements for issue 2197683: English IME key-press latency is noticeably higher on passion than sholes

This change goes with a kernel driver change that reduces the audio buffer size from 4800 bytes (~27ms) to 3072 bytes (~17ms).
- The AudioFlinger modifcations in change 0bca68cfff161abbc992fec82dc7c88079dd1a36 have been removed: the short sleep period was counter productive when the AudioTrack is using the call back thread as it causes to many preemptions.
- AudioFlinger mixer thread now detects long standby exit time and in this case anticipates start by writing 0s as soon as a track is enabled even if not ready for mixing.
- AudioTrack::start() is modified to start call back thread before starting the IAudioTrack so that thread startup time is masked by IAudioTrack start and mixer thread wakeup time.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
7b57085a7353f368e8797ca5e4684a05fb55f26f 09-Nov-2009 Eric Laurent <elaurent@google.com> AudioFlinger: delete Track object when createTrack() fails due to lack of tracks in AudioMixer.

This problem was encountered as a side effect of issue 2245298.
udioflinger/AudioFlinger.cpp
5dc4fb08493aa9cf34dc81283c850b9b6a998ce8 09-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ifb9d6df3 into eclair

* changes:
More log for issue 2242381.
07d69893e1677bd59a3461a0c4fcd3541563144d 08-Nov-2009 Christopher Tate <ctate@android.com> Reset binder service threads' cgroup/priority after command completion

To prevent buggy command implementations from poisoning binder threads'
scheduling class & priority for future command execution, we now reset the
cgroup and thread priority to foreground/normal when a binder service thread
finishes executing the designated command.

Change-Id: Ibc0ab2485751453f6dc96fdb4eb877fd02796e3f
inder/IPCThreadState.cpp
ee47d43ed3692c8af682689b415c65dc1e45c866 07-Nov-2009 Eric Laurent <elaurent@google.com> More log for issue 2242381.

Added more log in system dump for AudioFlinger and AudioPolicyService to help debug issue 2242381 and other issues where the audio driver hangs.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
6dfe8f1ffad455363fff4fe69ced6da386970fbc 06-Nov-2009 Evan Millar <emillar@google.com> Revert jparks code from IPCThreadState.
inder/IPCThreadState.cpp
092fa4beaf6ca214d88f657a8b233ad0f3fd6a10 06-Nov-2009 Romain Guy <romainguy@android.com> Revert change incorrectly submitted as part of change #32153.

Change-Id: I31c52beff03c0d038a257fc151eff3b8da60eddc
i/FramebufferNativeWindow.cpp
471afca7fce7db8dfb4b59d10f9e699a6b951cb5 05-Nov-2009 Romain Guy <romainguy@android.com> Prevent crash in Home when using widgets whose ids collide with Home's
resources.

Bug #2228943.

Approved by mcleron, triaged by ryanpc.

Change-Id: Idf40f3b09502ae5d0d3b9a6a72c265a2de2ffca2
i/FramebufferNativeWindow.cpp
b5c41353337b3db2dc0ca0df163d5294af8281bc 04-Nov-2009 Jason Parks <jparks@google.com> When a thread is about to be put back onto the thread pool ensure that it is in the foreground cgroup.
inder/IPCThreadState.cpp
f19995856d2baebd1fe60cc190843acb6b6fe417 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change If2fdad3b into eclair

* changes:
Add a warning when we leave threads in the binder thread pool in the background scheduling group.
dcd3958c5086f757dc09472700ae7384efea7fc8 03-Nov-2009 Jason Parks <jparks@google.com> Add a warning when we leave threads in the binder thread pool in the background scheduling group.
inder/IPCThreadState.cpp
7f698b4c5cadcaf78a69a668285be8ce16b72b44 02-Nov-2009 Eric Laurent <elaurent@google.com> Log for issue 2203561.

Implemented AudioPolicyService dump().
Added detailed dump for AudioPolicyManageriGeneric when AudioPolicyService is dumped.
udioflinger/AudioPolicyManagerGeneric.cpp
udioflinger/AudioPolicyManagerGeneric.h
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
368ad53c549cd105e725d0290da68be2e7717b4c 03-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I36d0184e into eclair

* changes:
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video
6fee064809068fe1a7da63d55678d9a222b0be15 03-Nov-2009 Mathias Agopian <mathias@google.com> fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video

we lost the concept of vertical stride when moving video playback to EGLImage.
Here we bring it back in a somewhat hacky-way that will work only for the
softgl/mdp backend.
urfaceflinger/LayerBuffer.cpp
i/GraphicBuffer.cpp
d7f53e1945be8db145a5f1be038ed223d25a8edf 03-Nov-2009 Dima Zavin <dima@android.com> libbinder: MemoryHeapPmem: honor the NO_CACHING flag when creating a client heap

Change-Id: Ia7beb800f5a24beaa4b7f3032b486d4ed1991b23
Signed-off-by: Dima Zavin <dima@android.com>
inder/MemoryHeapPmem.cpp
1bd16a1511d43fc5b109f500d67b916776e8cce3 02-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibaef6141 into eclair

* changes:
libbinder: add a NO_CACHING flag to MemoryHeapBase
134aa9c94240283c8b89f67146d8c7301274a192 30-Oct-2009 Eric Laurent <elaurent@google.com> Fix issue 197683: English IME key-press latency is noticeably higher on passion than sholes. Part 2.

Reduce sleep time in AudioFlinger mixer thread when no data has been written to output to speed up startup time when exiting standby.

The rest of the modifications for this issues is in kernel driver:
commit 0dbb0ee136ed8de757df1ae26d84556c1751deae for buffer size modification from 8192 to 4800 bytes.
Another kernel improvement that is not submitted yes will reduce delay when audio output is exiting standby.
udioflinger/AudioFlinger.cpp
0db1a8931bb24b4f240c19210e70844af8c1e9ff 30-Oct-2009 Iliyan Malchev <malchev@google.com> libbinder: add a NO_CACHING flag to MemoryHeapBase

The NO_CACHING flag translates to opening a memory region with O_SYNC.

Signed-off-by: Iliyan Malchev <malchev@google.com>
inder/MemoryHeapBase.cpp
fa4c9b8af858ce0da30cafd1ecbb30b99bdfd078 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Id8b28e4f into eclair

* changes:
fix [2225964] Android runtime restarted in surfaceflinger/BlurFilter.cpp
bd5a0027f4fbffc8cada0d22e8ccebf680cdc749 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I56779290 into eclair

* changes:
fix[2222341] Soft reset while going back from camcorder settings
b4d8fbb1a72f77408db2bd2d89d987af504b0141 30-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change If007a2fa into eclair

* changes:
return proper error code from eglCreateImageKHR
863e5fdde858d732ac76320369b6304599f23b4c 30-Oct-2009 Mathias Agopian <mathias@google.com> fix[2222341] Soft reset while going back from camcorder settings

add a way to convert a mapped "pushbuffer" buffer to a gralloc handle
which then can be safely used by surfaceflinger, without including
gralloc_priv.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
550a11455a5155b078085fd5f464d7f3e5dfb7fc 29-Oct-2009 Andy McFadden <fadden@android.com> DO NOT MERGE: Another gcc 4.0.3 workaround.

Temporarily make a function public that doesn't need to be. When
host gcc-4.0.3 is gone from the build servers we can undo this.

(Cherry-picked from eclair-mr2.)
urfaceflinger/SurfaceFlinger.h
8889a8183c0a8ed2394c05c7d742554f8d0fa49d 30-Oct-2009 Mathias Agopian <mathias@google.com> fix [2225964] Android runtime restarted in surfaceflinger/BlurFilter.cpp

crash was due to an unintialized variable, which caused the wrong bluring
format to be used and caused a memory overrrun.
urfaceflinger/LayerBlur.cpp
df2d92940550bc68c3c237937bce7ac16d9fa91b 29-Oct-2009 Mathias Agopian <mathias@google.com> return proper error code from eglCreateImageKHR
urfaceflinger/LayerBuffer.cpp
54ba51dff21de666c5ae3bf3abd4f0634ebb0676 27-Oct-2009 Mathias Agopian <mathias@google.com> fix [2143798] Need to figure out how to do video

Use EGLImageKHR instead of copybit directly.
We now have the basis to use streaming YUV textures (well, in fact
we already are). When/if we use the GPU instead of the MDP we'll
need to make sure it supports the appropriate YUV format.

Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
i/GraphicBuffer.cpp
730ab0bc3bebe040cc82436743bc50cbea8ae7f3 24-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Icf10db28 into eclair

* changes:
Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.
57720c384af81327d327ef8b88078f11a750fd05 22-Oct-2009 Mathias Agopian <mathias@google.com> fix [2211532] improves sholes graphics performance

Instead of using glTex{Sub}Image2D() to refresh the textures, we're using an EGLImageKHR object
backed up by a gralloc buffer. The data is updated using memcpy(). This is faster than
glTex{Sub}Image2D() because the texture is not swizzled. It also uses less memory because
EGLImageKHW is not limited to power-of-two dimensions.
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
63da2b65f9cedf2d629bd5b35c51921bbb899a79 21-Oct-2009 Eric Laurent <elaurent@google.com> Fix issue 2192181: AudioFlinger must provide separated methods to set VOICE_CALL stream volume and down link audio volume.

Added setVoiceVolume() method to AudioSystem, AudioFlinger, IAudioFlinger, AudioPolicyService.
Removed call to AudioHardwareInterface::setVoiceVolume() from AudioFlinger::setStreamVolume().
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
38a7fa2ae37236952e5fb0186fddb4f6da5990d8 16-Oct-2009 Mathias Agopian <mathias@google.com> fix [2182249] [MR1] valgrind error in surface flinger
i/tests/region.cpp
21154125643ab0baba3c4b074e196ac0d43d77f4 08-Oct-2009 Eric Laurent <elaurent@google.com> Fix issue 2174002: After rejecting Call when device ringtone is mute and playing music, audio is not transfered to BT device.

Added a workarouond to request the A2DP output standby directly to audio hardware when the sink is suspended as it seems that the suspend request often fails.

Also take into account resume requests received while a suspend request is pending.
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
c3f90813a15d8ff97e04e5ae0873c2261214224d 08-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I46b2df15 into eclair

* changes:
fix [2164183] sometimes device just wants to stay asleep
d3144beec6acb37702629799a2adbeccc72ca222 07-Oct-2009 Mathias Agopian <mathias@google.com> fix [2170283] SurfaceFlinger crashes on OOM.

when running out of memory, a null handle is returned but the error code may not be set.
In that case we need to return NO_MEMORY instead of NO_ERROR, so that the calling code
won't try to dereference the null pointer.
i/Surface.cpp
8f2d50521653f24c2a5e77b627dc015c7fbd656a 08-Oct-2009 Mathias Agopian <mathias@google.com> fix [2164183] sometimes device just wants to stay asleep

When switching rapidily orientation back and forth, surfaces end-up
acquiring the freeze-lock when the first orientation change happens,
but never release it because by the time the 2nd orientation change
comes in, the surface size is back to its original size and
doesn't appear to have resized.

we now always release the freeze-lock when we receive a buffer of the
expected size.
urfaceflinger/Layer.cpp
e700501d0e888ead9ac6456c0a6fd74d634aa5fb 08-Oct-2009 Mathias Agopian <mathias@google.com> fix [2170319] gmail bulk operation checkbox latency on passion

This also fixes [2152536] ANR in browser

When SF is enqueuing buffers faster than SF dequeues them.
The update flag in SF is not counted and under some situations SF will only
dequeue the first buffer. The state at this point is not technically
corrupted, it's valid, but just delayed by one buffer.

In the case of the Browser ANR, because the last enqueued buffer was delayed
the resizing of the current buffer couldn't happen.

The system would always fall back onto its feet if anything -else- in
tried to draw, because the "late" buffer would be picked up then.
urfaceflinger/Layer.cpp
i/Android.mk
i/SharedBufferStack.cpp
i/SurfaceComposerClient.cpp
i/SurfaceFlingerSynchro.cpp
67838bc1129a07e8badf564df1472394ac0cae5e 07-Oct-2009 Mathias Agopian <mathias@google.com> Revert "temporarily disable the use of glTexImage2D for sw buffers on sholes."

This reverts commit c131c5671965b69b0dee3e4afa3b3dd5e3c0c405.

Approved by Hiroshi
urfaceflinger/DisplayHardware/DisplayHardware.cpp
c87104f17c8f6b9174335426dadf8d77c1bd2274 07-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I4961c959 into eclair

* changes:
fix [2152536] ANR in browser
9ec430adaea1cb88eaa1e78c7f759cd42ab6cf7a 07-Oct-2009 Mathias Agopian <mathias@google.com> fix [2152536] ANR in browser

A window is created and the browser is about to render into it the
very first time, at that point it does an IPC to SF to request a new
buffer. Meanwhile, the window manager removes that window from the
list and the shared memory block it uses is marked as invalid.
However, at that point, another window is created and is given the
same index (that just go freed), but a different identity and resets
the "invalid" bit in the shared block. When we go back to the buffer
allocation code, we're stuck because the surface we're allocating for
is gone and we don't detect it's invalid because the invalid bit has
been reset.

It is not sufficient to check for the invalid bit, I should
also check that identities match.
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBlur.cpp
i/SharedBufferStack.cpp
i/Surface.cpp
f5e868baf96fd6e3c4ab386ba6c4f7574a7307b9 06-Oct-2009 Eric Laurent <elaurent@google.com> Fix issue 2139634: DTMF tones on Sholes popping, hissing (audio latency too high).

This change is a complement to the main fix in kernel driver for the same issue (partner change #1250).
It removes clicks sometimes heard after the end of the tones while audio flinger is sending 0s to the audio output stream.
The problem was that the sleep time between two writes was more than the duration of one audio output stream buffer which could cause some underrun.

Also fixed a recent regression in ToneGenerator that made that the end of previous tone was repeated at the beginning of current one under certain timing circumstances when the maximum tone duration was specified.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
cfc7010ef822fdd63b6486601edbac21549aec7a 07-Oct-2009 Mathias Agopian <mathias@google.com> temporarily disable the use of glTexImage2D for sw buffers on sholes.

we're going to first cut a build without this change.

Approved by Dr. Hiroshi.
urfaceflinger/DisplayHardware/DisplayHardware.cpp
a4b740ed89074cda898a30eb1b029b0d3a5de1a5 06-Oct-2009 Mathias Agopian <mathias@google.com> fix [2168528] enable glTexImage2D code path in SF for software-only buffers
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
b26af23744fa73e8bc142b1eb98772fde5970c10 06-Oct-2009 Mathias Agopian <mathias@google.com> fix [2168531] have software-only gralloc buffer side-step the HAL
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
3330b203039dea366d4981db1408a460134b2d2c 06-Oct-2009 Mathias Agopian <mathias@google.com> fix [2167050] glTexImage2D code path buggy in SurfaceFlinger

When EGLImage extension is not available, SurfaceFlinger will fallback to using
glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an
extra copy. However this code path has never been exercised and had some bugs
which this patch fix.

Mainly the scale factor wasn't computed right when falling back on glDrawElements.
We also fallback to this mode of operation if a buffer doesn't have the adequate
usage bits for EGLImage usage.

This changes only code that is currently not executed. Some refactoring was needed to
keep the change clean. This doesn't change anything functionaly.
urfaceflinger/Android.mk
urfaceflinger/Buffer.cpp
urfaceflinger/Buffer.h
urfaceflinger/BufferAllocator.cpp
urfaceflinger/BufferAllocator.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/Android.mk
i/BufferMapper.cpp
i/GraphicBuffer.cpp
i/GraphicBufferAllocator.cpp
i/GraphicBufferMapper.cpp
i/ISurface.cpp
i/Surface.cpp
i/SurfaceBuffer.cpp
e6a550d02ff02f465d7dbb6e862671462866f024 29-Sep-2009 Wu-cheng Li <wuchengli@google.com> Add zoom functions and sendCommand.

b2060030
i/Camera.cpp
i/ICamera.cpp
0b3ad46a26dc3717260fa9347c77f673f3198606 03-Oct-2009 Mathias Agopian <mathias@google.com> Attempt to fix [2152536] ANR in browser

The ANR is caused by SurfaceFlinger waiting for buffers of a removed surface to become availlable.
When it is removed from the current list, a Surface is marked as NO_INIT, which causes SF to return
immediately in the above case. For some reason, the surface here wasn't marked as NO_INIT.

This change makes the code more robust by always (irregadless or errors) setting the NO_INIT status
in all code paths where a surface is removed from the list.

Additionaly added more information in the logs, should this happen again.
urfaceflinger/Buffer.cpp
urfaceflinger/Buffer.h
urfaceflinger/BufferAllocator.cpp
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
i/SharedBufferStack.cpp
i/Surface.cpp
e7e1009636b8043f9923b2274db766636dd9e40a 01-Oct-2009 Christopher Tate <ctate@android.com> Turn off most of the backup-related debug logging

The core logging in BackupManagerService and in the Google backup transport are
still enabled at this point.

Change-Id: I10abfa565bbd1097dd3631051b6aca163e4af33a
tils/BackupData.cpp
2b2888c3560d198c093dd21399b1c1a23acaad06 01-Oct-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change Ibe2085be into eclair

* changes:
Fix issue 2153835: AudioFlinger: setParameters() can remain stuck if output thread is terminated.
448f015966f367da1791942ffe0b47ae7f9e42ca 30-Sep-2009 Mathias Agopian <mathias@google.com> attempt to work around [2155085, 2150246] stuck in closeTransaction()
urfaceflinger/SurfaceFlinger.cpp
2d70c80a7f31ea9277c75af9666116e338482b09 29-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2153835: AudioFlinger: setParameters() can remain stuck if output thread is terminated.

Wait for the parameter set completed condition with a time out in ThreadBase::setParameters().
Also lock AudioFlinger mutex before accessing thread list in AudioFlinger::setParameters() and keep a strong reference
on the thread being used in case it is exited while processing the request.
udioflinger/AudioFlinger.cpp
68624f2aa5a3f93a81c69d3e1a4a083056e14217 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes I8851617a,Ie1b6f244,I70cab912,Ibd23e30d into eclair

* changes:
fix [2152247] Windows sometimes drawn scaled up.
invalidate the surface when the physical changes
introduce the notion of the requested size in the Layer state
remove unused code
75ed8b360a95f2be22dc8f41b892d8b1ee939373 30-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I45094a34 into eclair

* changes:
remove dead code
df3e0b934f2822ea0a334777e51e681f04a64d7c 30-Sep-2009 Mathias Agopian <mathias@google.com> fix [2152247] Windows sometimes drawn scaled up.
urfaceflinger/Layer.cpp
6656dbc81273424d9b4bf78c42a4e179dbe1cb71 30-Sep-2009 Mathias Agopian <mathias@google.com> invalidate the surface when the physical changes
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
8a95a45fd9ba591ed93c138f36d656a4c1679ef7 30-Sep-2009 Dave Sparks <davidsparks@android.com> Reduce the log spew from AudioFlinger due to a certain device that can't meet latency timing. Bug 2142215.
udioflinger/AudioFlinger.cpp
7e4a587f6038bcf9b58ca615fce9e52fd47e30c3 30-Sep-2009 Mathias Agopian <mathias@google.com> introduce the notion of the requested size in the Layer state
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
ba6be54876a19444f0b214b4b3b0749df227b013 30-Sep-2009 Mathias Agopian <mathias@google.com> remove unused code
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
85ec55f8f5581fca2fc680d7775abc03f9a3be3e 30-Sep-2009 Mathias Agopian <mathias@google.com> remove dead code
urfaceflinger/LayerBase.cpp
eb16a09f59022f9fd3f1d633204049bc4e96b0f9 28-Sep-2009 Wu-cheng Li <wuchengli@google.com> Change FLASH_MODE_VIDEO_LIGHT to FLASH_MODE_TORCH.
i/CameraParameters.cpp
8a77baaa11cb90f84d24f345463a856495be81a2 28-Sep-2009 Mathias Agopian <mathias@google.com> don't emit GL commands when sf is in freeze mode

We were emitting GL commands, calling composition complete and releasing clients
without ever calling eglSwapBuffers(), which is completely wrong on non-direct
renders. This could cause transient drawing artifacts when unfreezing the
screen (upon orientaion change for instance) and could also block the clients
for ever as they are waiting for their previous buffer to be rendered.
urfaceflinger/SurfaceFlinger.cpp
ff5054c81e400665a6adf8c7881e5ee2183716e4 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27375 into eclair

* changes:
Allways dump the list of allocated buffers when an allocation fails.
737e786acffe87a086720bf2cf0d8b9f818b12be 28-Sep-2009 Mathias Agopian <mathias@google.com> Allways dump the list of allocated buffers when an allocation fails.

Hopefully this will help us understand cases of failures such as [2148405]
urfaceflinger/BufferAllocator.cpp
a4f58892d4d23dc6957becab3504522cb033de46 28-Sep-2009 Doug Zongker <dougz@android.com> fix "pacakge" typo in error log message
tils/ResourceTypes.cpp
cc6ce203be6784130c73e6f253981c7236cdcb68 23-Sep-2009 Wu-cheng Li <wuchengli@google.com> Add camera parameter key constants and documentation.
i/CameraParameters.cpp
95a666b0e001ebf738418b89d8e8fd50b18110f8 24-Sep-2009 Mathias Agopian <mathias@google.com> minor SurfaceFlinger code cleanup and remove unnecessary tests
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/SurfaceFlinger.cpp
6e472890effc63430d0ab680051c10cf2cf3cdbe 22-Sep-2009 Christopher Tate <ctate@android.com> Clear the device's data from the transport when backup is disabled

Turning off backup in the Settings UI constitutes an opt-out of the whole
mechanism. For privacy reasons we instruct the backend to wipe all of the data
belonging to this device when the user does this. If the attempt fails it is
rescheduled in the future based on the transport's requestBackupTime()
suggestion. If network connectivity changes prompt the transport to indicate a
backup pass is appropriate "now," any pending init operation is processed before
the backup schedule is resumed.

The broadcasts used internally to the backup manager are now fully protected;
third party apps can neither send nor receive them.

(Also a minor logging change; don't log 'appropriate' EOF encountered during
parsing of a backup data stream.)
tils/BackupData.cpp
401c257fba770a267f637184b1f532b4e03bed20 24-Sep-2009 Mathias Agopian <mathias@google.com> turn dithering off if it's not needed
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
a2fe0a234bd6823f868742a3c137acb8875e1b03 24-Sep-2009 Mathias Agopian <mathias@google.com> fix [2142193] disable GL_LINEAR when not needed
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/Transform.h
8c0a3d75c8823e179d19c6303f64e669975a4d85 24-Sep-2009 Mathias Agopian <mathias@google.com> fix [2133214] STOPSHIP: revert I4a06bb4f: workaround for [2113743] Sholes: frozen then runtime restart going to list view

Revert "workaround for [2113743] Sholes: frozen then runtime restart going to list view"

This reverts commit 4a06bb4f3355b0ef2b76aa883704da9d154c44ae.
urfaceflinger/Layer.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
dd3423c6247965bf67ea30c75e484a6f5d72b1a2 24-Sep-2009 Mathias Agopian <mathias@google.com> fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to create flip chain)
i/SurfaceComposerClient.cpp
953eb137bc12829d933f7377acb28d2426f66733 23-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26623 into eclair

* changes:
fbDev wasn't initialized of hw_get_module failed, but was then used anyway.
a455793a8d068a06ae65e1e04170eb24851c0eb1 23-Sep-2009 Marco Nelissen <marcone@google.com> fbDev wasn't initialized of hw_get_module failed, but was then used anyway.
i/FramebufferNativeWindow.cpp
aef692f50f2dd4e80cd0588b57bab92769573486 22-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2116700: Ringer screwy while connected over Bluetooth.

There was a regression introduced in AudioFlinger by change 24114 for suspended output:
The suspended output was not reading and mixing audio tracks.
When the phone is ringing, the A2DP output is suspended if the SCO headset and A2DP headset are the same. As the ringtone is played over the duplicated output, the fact that the A2DP output was not reading data was causing the hardware output to be stalled from time to time.
udioflinger/AudioFlinger.cpp
2944a2b3601ae5847cf54b3130dcf653a7b24b8a 21-Sep-2009 Andy McFadden <fadden@android.com> Work around gcc 4.0.3 bug.

This appears to fix the sim-eng build on the gDapper build machines.

Basic problem is that LayerBuffer::OverlaySource has a constructor that
calls SurfaceFlinger.signalEvent(). SurfaceFlinger lists LayerBuffer
as a friend, but that's not enough to convince gcc that the embedded
OverlaySource class is also a friend. I don't see a way to make them
friendly, so I marked signalEvent() as public.
urfaceflinger/SurfaceFlinger.h
a69a8eeb2087242bbbaeb7eb1102cecae8a0c95b 21-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 26081 into eclair

* changes:
workaround for [2113743] Sholes: frozen then runtime restart going to list view
1f0ffc46fdb391a4d5a096f6b8c4554937ca081f 18-Sep-2009 Mathias Agopian <mathias@google.com> workaround for [2113743] Sholes: frozen then runtime restart going to list view
urfaceflinger/Layer.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
cfbb735f841ff93d36e92845699b186ac0973a88 20-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1862317: Browser does not appear to honor anchors (#es) in links

Also a little improved debugging output of bad resource identifiers.

Change-Id: I054064ef22855608ffd722e4ccf12ce57d1992b2
tils/ResourceTypes.cpp
5cfbb8dd1c155395e7092bf687ee8b927b853a23 18-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25496 into eclair

* changes:
Fix issue 2127371: Possible race condition in AudioFlinger::openRecord() when a Track is being destroyed.
6d9f69843bae31b2da9a8f2869547b1ff5d0654d 18-Sep-2009 Mathias Agopian <mathias@google.com> fix [2129080] Soft reboot after clicking around and then rubbing the screen
urfaceflinger/Layer.cpp
74faca212e2675aa55a30235c77cb6403471a4b9 18-Sep-2009 Mathias Agopian <mathias@google.com> Android side of the fix for [2121211] Sholes has stutter during animations

a new method, compostionComplete() is added to the framebuffer hal, it is used by surfaceflinger to signal the driver that the composition is complete, BEFORE it releases its client. This gives a chance to the driver to
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/SurfaceFlinger.cpp
i/FramebufferNativeWindow.cpp
0f8ab670c09988da64732a09d3a67d913e458900 17-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2127371: Possible race condition in AudioFlinger::openRecord() when a Track is being destroyed.

The fix consists in locking AudioFlinger::mLock mutex in the TrackBase destructor before clearing the strong pointer to the shared memory client. The mutex is not locked in removeclient() any more which implies that we must make sure that the Client destructor is always called from the TrackBase destructor or that we hold the mLock mutex before calling deleting the Client.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
86f7329080cbb6f70d56278b005c820f0360d84b 17-Sep-2009 Mathias Agopian <mathias@google.com> add basic time stats for surfaces lock time
urfaceflinger/SurfaceFlinger.cpp
i/SharedBufferStack.cpp
5643261a2580172ff2a01b9157f61c2c016f7062 16-Sep-2009 Benny Wong <Benny.Wong@motorola.com> Overlay could not set position or rotation immediately after created, it should be triggered by signalEvent().
Originally from: https://partner.source.android.com/g/#change,1074
urfaceflinger/LayerBuffer.cpp
0928bee979c8fa157e13e37e52ba9ad94e935237 17-Sep-2009 Mathias Agopian <mathias@google.com> disable backbuffer preservation when possible, which may improve performance a bit
urfaceflinger/DisplayHardware/DisplayHardware.cpp
caa600c4a1af1eefd108cf2ec3d86068af35111f 17-Sep-2009 Mathias Agopian <mathias@google.com> fix [2119400] sholes: artifacting when switching orientation
urfaceflinger/Layer.cpp
378532fdb05814be7cbf03ec157abc95d296e203 17-Sep-2009 Mathias Agopian <mathias@google.com> fix again [2102410] Home Screen is not displayed in the background in Landscape Mode
urfaceflinger/BlurFilter.cpp
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
bdc0f84793a3586ee67c3ca3d1d322cf9ad69bfb 16-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2123668: Class scope typo in AudioFlinger.cpp.
udioflinger/AudioFlinger.cpp
b8cfc0f9e1e2429010a98055678412ac94153925 16-Sep-2009 Mathias Agopian <mathias@google.com> revert to black video background, since we don't need the color-key anylonger
urfaceflinger/LayerBuffer.cpp
68a6afeb26002961387573dd64dd0ea3816bdc91 16-Sep-2009 Mathias Agopian <mathias@google.com> fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer

Take 2. We needed to check that the usage flags are "good enough" as opposed to "the same".

This reverts commit 8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6.
i/Surface.cpp
3910f5467a344c54b3c39c45b820c184e31b449c 16-Sep-2009 Mathias Agopian <mathias@google.com> Revert "fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer"

This reverts commit 486aa963b63e20b7910e1004cebb4f0afabbd80f.
i/Surface.cpp
d18afab9d6a89d14c5c583a7d976665af4765a6b 16-Sep-2009 Mathias Agopian <mathias@google.com> fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer
i/Surface.cpp
e5b0c947084e2beff19fb5fa634bc3c42c7dd462 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25050 into eclair

* changes:
Fix issue 2118464: cannot play ring tones and notifications after disconnecting BT headset while in call.
b3687ae925280a7addfaa0b724218bf8db197725 15-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2118464: cannot play ring tones and notifications after disconnecting BT headset while in call.

The problem comes from the fact that when the duplicated output is closed after BT headset disconnection, the OUTPUT_CLOSED notification is not sent to AudioSystem. Then the mapping between notification stream and duplicated output cached in AudioSystem is not cleared and next time a notification is played, the duplicated output is selected and the createTrack() request is refused by AudioFlinger as the selected output doesn't exist.
The notification is ignored by AudioFlinger because when it is sent by the terminating playback thread, the thread has already been removed from the playback thread list.

The fix consists in sending the notification in closeOutput() and not when exiting the playback thread.
The same fix is applied to record threads.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
00900eb35473530a5fc77f7bd3ac306b6dcf19cb 15-Sep-2009 Chih-Chung Chang <chihchung@google.com> Fix 2083478: Camera needs an auto-focus cancel API

Change-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2
i/Camera.cpp
i/ICamera.cpp
f5733b2938151fda955f01d9dc3ad15f7292604d 15-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24872 into eclair

* changes:
Fix issue 2115450: a2dp thread is started, even though we are only connected to headset and not playing music.
816d7d0268f98d891c44a8ac2e52711958abbf05 15-Sep-2009 Mathias Agopian <mathias@google.com> add support for RGBX_8888 surfaces in SurfaceFlinger
urfaceflinger/Buffer.cpp
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
4790a3c1a2899d92868b3912453e020752faa88c 15-Sep-2009 Mathias Agopian <mathias@google.com> fix [2117464] SF can crash when calling dumpsys
urfaceflinger/SurfaceFlinger.cpp
c7d56010815b0e7104dfc1d4bba6d16cdcbffec4 15-Sep-2009 Mathias Agopian <mathias@google.com> make sure to update the tail pointer when undoing a dequeue
i/SharedBufferStack.cpp
a6e58fe31667fab8ccfd01912a5e76e5c6f6d71f 14-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2115450: a2dp thread is started, even though we are only connected to headset and not playing music.

This is due to a regression introduced by change 24114: when no audio tracks are ready for mixing, 0s are written to audio hardware. However this should only happen if tracks have already been mixed since the audio flinger thread woke up.
Also do not write 0s to audio hardware in direct output threads when audio format is not linear PCM.
udioflinger/AudioFlinger.cpp
f79cbd93e679f70c44d00542036deb306f07a809 14-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24337 into eclair

* changes:
Fix issue 2107584: media server crash when AudioFlinger fails to allocate memory for track control block.
40d57996224a5c72fedfa80b6deb8f5a4935dc9a 12-Sep-2009 Mathias Agopian <mathias@google.com> fix [2111536] [FAST BLOCKER] Device is soft rebooted after ending the call through voice dialer
i/SharedBufferStack.cpp
48d819a1315f7d1b5abfec9d4fd34fb5aed27b1d 11-Sep-2009 Mathias Agopian <mathias@google.com> fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore

this also fixes part of [2111536] Device is soft rebooted after ending the call through voice dialer
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
i/SharedBufferStack.cpp
b58b5d72d6877300fe39b2a30b4742c6f962833f 11-Sep-2009 Mathias Agopian <mathias@google.com> make sure conditions will return when the status of a surface is not NO_ERROR
i/SharedBufferStack.cpp
a5b02e0b4dfc9947e373e17a383b397f6fcb751c 05-Sep-2009 Mathias Agopian <mathias@google.com> add a debug property to disable h/w composition. debug.sf.hw, when set to 0 will disable h/w composition
urfaceflinger/DisplayHardware/DisplayHardware.cpp
b6a5daa3ab653c15f21a97a1e869aade30355a50 10-Sep-2009 Mathias Agopian <mathias@google.com> fix [2102410] Home Screen is not displayed in the background in Landscape Mode

the blurring code now handles NPOT textures.
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
e0a963b72ed7babf1ab21ffdfd9e2b93ae4fe63e 09-Sep-2009 Andy McFadden <fadden@android.com> Fix sim-eng build.

Appears to have been broken by:

commit 9779b221e999583ff89e0dfc40e56398737adbb3
Author: Mathias Agopian <mathias@google.com>
Date: Mon Sep 7 16:32:45 2009 -0700

fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly

For some reason we don't like to have "-lpthread" globally -- it's a no-op
on device builds, but required for many host tools and all sim binaries --
so adding the use of pthread calls requires adding the library explicitly.
i/Android.mk
6ad8c64ce9ac6fff7a3f2510cd948f3457842510 09-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2107584: media server crash when AudioFlinger fails to allocate memory for track control block.

AudioFlinger: verify that mCblk is not null before using it in Track and RecordTrack contructors.
IAudioFlinger: check result of remote transaction before reading IAudioTrack and IAudioRecord.
IAudioTrack and IAudioRecord: check result of remote transaction before reading IMemory.
udioflinger/AudioFlinger.cpp
1f5105cf53c51e61f0adde24b90ddd54cc53d1cd 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24335 into eclair

* changes:
use broadcast() instead of signal() when signaling the condition-variable Thread::RequestExitAndWait() is waiting for
42c3c9a8d1bcb0b5f1102016215db6b1c1ae8b98 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24334 into eclair

* changes:
fix [2037525] Fail to start camera after adb sync new Camera
0ee8522ffa76ee4ff940ec1805ef57595b32af58 09-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 24333 into eclair

* changes:
rename Mutexes to make the code easier to follow
4de4ebf6a25b5cf1819809ffcedea331d79823e0 09-Sep-2009 Mathias Agopian <mathias@google.com> use broadcast() instead of signal() when signaling the condition-variable Thread::RequestExitAndWait() is waiting for

we could have several thread waiting on the condition and they all need to wake-up.
also added a debug "mTid" field in the class, which contains the tid of the thread (as opposed to pthread_t), this
is useful when debugging under gdb for instance.
tils/Threads.cpp
454ea681398a23a45e2a9c4f3b12d7c30fec8e3c 09-Sep-2009 Mathias Agopian <mathias@google.com> fix [2037525] Fail to start camera after adb sync new Camera

we ended-up locking a Mutex that had been destroyed.
This happened because we gave an sp<Source> to the outside world,
and were called after LayerBuffer had been destroyed.

Instead we now give a wp<LayerBuffer> to the outside and have it
do the destruction.
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
3522c808192848ba40ffc7c602de4210266da705 07-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 1992233: DTMF tones on Sholes is really long.

Add a parameter to ToneGenerator.startTone() allowing the caller to specify the tone duration. This is used by the phone application to have a precise control on the DTMF tone duration which was not possible with the use of delayed messaged.
Also modified AudioFlinger output threads so that 0s are written to the audio output stream when no more tracks are ready to mix instead of just sleeping. This avoids an issue where the end of a previous DTMF tone could stay in audio hardware buffers and be played just before the beginning of the next DTMF tone.
udioflinger/AudioFlinger.cpp
4d2de2c7696feccb9e5ecc05ac3281cdaae45418 09-Sep-2009 Mathias Agopian <mathias@google.com> rename Mutexes to make the code easier to follow
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
8837e2f2e6247bb72bdd328c1fe07178ab160cb3 08-Sep-2009 Mathias Agopian <mathias@google.com> delete old and unused source files
urfaceflinger/purgatory/GPUHardware/GPUHardware.cpp
urfaceflinger/purgatory/GPUHardware/GPUHardware.h
urfaceflinger/purgatory/LayerOrientationAnim.cpp
urfaceflinger/purgatory/LayerOrientationAnim.h
urfaceflinger/purgatory/LayerOrientationAnimRotate.cpp
urfaceflinger/purgatory/LayerOrientationAnimRotate.h
urfaceflinger/purgatory/OrientationAnimation.cpp
urfaceflinger/purgatory/OrientationAnimation.h
urfaceflinger/purgatory/VRamHeap.cpp
urfaceflinger/purgatory/VRamHeap.h
cbb288bfe89f585bf48371bd31b2d4aafa32f32e 08-Sep-2009 Mathias Agopian <mathias@google.com> fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly

Rewrote SurfaceFlinger's buffer management from the ground-up.
The design now support an arbitrary number of buffers per surface, however the current implementation is limited to four. Currently only 2 buffers are used in practice.

The main new feature is to be able to dequeue all buffers at once (very important when there are only two).

A client can dequeue all buffers until there are none available, it can lock all buffers except the last one that is used for composition. The client will block then, until a new buffer is enqueued.

The current implementation requires that buffers are locked in the same order they are dequeued and enqueued in the same order they are locked. Only one buffer can be locked at a time.

eg. Allowed sequence: DQ, DQ, LOCK, Q, LOCK, Q
eg. Forbidden sequence: DQ, DQ, LOCK, LOCK, Q, Q
urfaceflinger/Android.mk
urfaceflinger/Buffer.cpp
urfaceflinger/Buffer.h
urfaceflinger/BufferAllocator.cpp
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/Android.mk
i/ISurface.cpp
i/SharedBufferStack.cpp
i/Surface.cpp
i/SurfaceBuffer.cpp
i/SurfaceComposerClient.cpp
0852e674127780a458c96b4df0c1e73af8731f32 05-Sep-2009 Mathias Agopian <mathias@google.com> attempt to fix [2099362] Possible SurfaceFlinger crash
urfaceflinger/SurfaceFlinger.cpp
888eee68dbe82f2fe613f4ffdd34c1154618577c 05-Sep-2009 Mathias Agopian <mathias@google.com> fix [2098939] Smooth gradients show banding on Sholes
urfaceflinger/LayerBase.cpp
08d3d1d001941b396b2c5e615ab8b885eefc12b4 03-Sep-2009 Eric Laurent <elaurent@google.com> fix issue 2096657: Sholes: residue shutter sound heard ONCE while taking a picture AFTER the volume is turned off.

Do not ramp volume if the first frame of a track is processed after the track was stopped.
In the case of very short sounds, the track stop request can be received by AudioFlinger just after the start request before the first frame is mixed by AudioMixer. In this case, the track is already in stopped state and initial volume is applied with a ramp for the first frame processed which should not be the case: initial volume change is always applied immediatelly.
udioflinger/AudioFlinger.cpp
36c8e9848d6312280d3472b0a20737efcdec75cb 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23568 into eclair

* changes:
Work on issue #2079167: Flickering issue across multiple UI
39bf918e21d8fd13ce5015517fabac255b01f409 02-Sep-2009 Dianne Hackborn <hackbod@google.com> Work on issue #2079167: Flickering issue across multiple UI

This addresses a few parts of the bug:

- There was a small issue in the window manager where we could show a window
too early before the transition animation starts, which was introduced
by the recent wallpaper work. This was the cause of the flicker when
starting the dialer for the first time.

- There was a much larger problem that has existing forever where moving
an application token to the front or back was not synchronized with the
application animation transaction. This was the cause of the flicker
when hanging up (now that the in-call screen moves to the back instead
of closing and we always have a wallpaper visible). The approach to
solving this is to have the window manager go ahead and move the app
tokens (it must in order to keep in sync with the activity manager), but
to delay the actual window movement: perform the movement to front when
the animation starts, and to back when it ends. Actually, when the
animation ends, we just go and completely rebuild the window list to
ensure it is correct, because there can be ways people can add windows
while in this intermediate state where they could end up at the wrong
place once we do the delayed movement to the front or back. And it is
simply reasuring to know that every time we finish a full app transition,
we re-evaluate the world and put everything in its proper place.

Also included in this change are a few little tweaks to the input system,
to perform better logging, and completely ignore input devices that do not
have any of our input classes. There is also a little cleanup of evaluating
configuration changes to not do more work than needed when an input
devices appears or disappears, and to only log a config change message when
the config is truly changing.

Change-Id: Ifb2db77f8867435121722a6abeb946ec7c3ea9d3
i/EventHub.cpp
dfcfc67381dbf3bc5da63f2ce94612e472d62ccd 03-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 23720 into eclair

* changes:
Add colorkey to gl clear operation
29aa74c546751ed04d17dc248a967eebaef63b21 02-Sep-2009 Rebecca Schultz Zavin <rebecca@android.com> Add colorkey to gl clear operation

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
75a3d0a2153b5c63edd3a5c9a2aecd4ac30efa0a 02-Sep-2009 Eric Fischer <enf@google.com> Make it an error to use a bare apostrophe in aapt, and adjust warnings/errors.

In practice, no one ever writes an apostrophe in an aapt string with the
intent of using it to quote whitespace -- they always mean to include a
literal apostrophe in the string and then are surprised when they find
the apostrophe missing. Make this an error so that it is discovered
right away instead of waiting until late in QA or after the strings have
already been sent for translation. (And fix a recently-introduced string
that has exactly this problem.)

Silence the warning about an empty span in a string, since this seems to
annoy people instead of finding any real problems.

Make the error about having a translated string with no base string into
a warning, since this is a big pain when making changes to an application
that has already had some translations done, and the dead translations
should be removed by a later translation import anyway.
tils/ResourceTypes.cpp
0643771ad09faad0b75565291fe4d41bfc8d4be2 01-Sep-2009 Eric Laurent <elaurent@google.com> Fix issue 2091594: music chirp after disconnecting A2DP.

In AudioFlinger::MixerThread::putTracks(), change the mFillingUpStatus flag to FS_FILLING for active tracks so that mute request is executed without ramping volume down when the track is moved from A2DP to hardware output.
Also modified AudioFlinger::setStreamOutput() so that the notification of the change is sent only once to AudioSystem.
udioflinger/AudioFlinger.cpp
c80b1a0034eaf41779ee6c254cb7de00484549a6 28-Aug-2009 Eric Laurent <elaurent@google.com> Fix issue 2085690: AudioFlinger must properly terminate the input and output threads when destroyed.

Call closeInput() for all inputs and closeOutput() for all outputs before deleting audio hardware in AudioFlinger destructor.
udioflinger/AudioFlinger.cpp
07549f984d0088a5580caefeb5d40d0a39abcd0a 28-Aug-2009 Mike Lockwood <lockwood@android.com> EventHub: Fix file descriptor leak.

Signed-off-by: Mike Lockwood <lockwood@android.com>
i/EventHub.cpp
23490efd8e67d479caecafadc31ce80c929e7b01 27-Aug-2009 Eric Laurent <elaurent@google.com> Fix issue 2045911: Camera Shutter tone does not play correctly while listening to music.

Add the possibility to delay routing and volume commands in AudioPolicyClientInterface. The delay is not blocking for the caller.
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
9795c42e557cfa37b9fd353ef7a2a7977a77f504 27-Aug-2009 Mathias Agopian <mathias@google.com> dumpsys SurfaceFlinger will now always dump SF's state, even if SF is deadlocked
(in this case the state is dumped without the proper locks held which could result to a crash)

in addition, the last transaction and swap times are printed to the dump as well as the time spent
*currently* in these function. For instance, if SF is unresponsive because eglSwapBuffers() is stuck,
this will show up here.
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
04bc12bd4316e2928134037cd0f81c6d8b2adcc8 22-Aug-2009 Mathias Agopian <mathias@google.com> fix [2070341] [FAST BLOCKER] can't successfully setup erc52
i/Surface.cpp
d4851d74ac9c737acda85f1fdbc028c68f481a36 17-Aug-2009 Benny Wong <Benny.Wong@motorola.com> Add offset handling in MemoryHeapBase class
inder/MemoryHeapBase.cpp
1c97d2ebe1f035beabd90089bfc78326b73d7864 20-Aug-2009 Mathias Agopian <mathias@google.com> fix a bug that caused the PixelFormat viewed by Surface to be wrong.

what happened is that the efective pixel format is calculated by SF but Surface nevew had access to it directly.
in particular this caused query(FORMAT) to return the requested format instead of the effective format.
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/ISurfaceFlingerClient.cpp
i/Surface.cpp
50517543d84446fc91fa65c60eda6d2e2724de10 20-Aug-2009 Mathias Agopian <mathias@google.com> fix [2063336] Surface.lockSurface throws IllegalArgumentException when out of memory
urfaceflinger/LayerBitmap.cpp
i/Surface.cpp
84a6d041e2c69d4d0b69269a0b59e725c9f119a3 17-Aug-2009 Andreas Huber <andih@google.com> Support for marshalling pointers / intptr_t in Parcel.

Some refactoring to eliminate code duplication in Parcel implementation.
inder/Parcel.cpp
ba5972ffdc7179dd9a387f22032eb18666d97917 15-Aug-2009 Mathias Agopian <mathias@google.com> make sure to update a surface's usage bits when it changes, instead of only the first time.

also fixed a few locking issues in Surface and commented how each member is protected.
i/Surface.cpp
d66a97950e8ef64051a4d497a91e5508254f77f6 14-Aug-2009 Mathias Agopian <mathias@google.com> fix a bug that could cause a window to be hidden in some cases.

this would happen is the window is made visible but the client didn't render yet into it. This happens often with SurfaceView.
Instead of filling the window with solid black, SF would simply ignore it which could lead to more disturbing artifacts.

in theory the window manager should not display a window before it has been drawn into, but it does happen occasionnaly.
urfaceflinger/Layer.cpp
ccde199f7ce916e42a45b5a50e937d9c17904da2 14-Aug-2009 Mathias Agopian <mathias@google.com> Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.

this also ripples into the window manager API by making some constant there deprecated as well.
urfaceflinger/Layer.cpp
urfaceflinger/LayerBitmap.h
5eb77d68b3db2d436f2809c9bb93dcc9c1d69e78 13-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21059

* changes:
make sure EGL_ANDROID_swap_rectangle is actually supported before using it
8458a3140f51275d6b78b5879f942163c0d618e2 13-Aug-2009 Mathias Agopian <mathias@google.com> make sure EGL_ANDROID_swap_rectangle is actually supported before using it
urfaceflinger/DisplayHardware/DisplayHardware.cpp
153e4a4c2a42ed59a421e2984908a9cea5f3dff1 13-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21057

* changes:
Better error handling in EGL extensions
24e5f5290195e1c02c18730d0639efda65d64914 13-Aug-2009 Mathias Agopian <mathias@google.com> Better error handling in EGL extensions
urfaceflinger/DisplayHardware/DisplayHardware.cpp
878d647b5b77f040cdae810e7e05be23a105e1eb 12-Aug-2009 Dianne Hackborn <hackbod@google.com> am b8546001: Merge change 20878 into donut

Merge commit 'b8546001701405a76dad7e6235046e592296fac2'

* commit 'b8546001701405a76dad7e6235046e592296fac2':
Fix issue #2048263: More debugging information
11c04c984afa0b3eea351d7cd9a62daab0ec70ea 12-Aug-2009 Eric Laurent <elaurent@google.com> Workaround for issue 2046783.

Apparently the problem is caused by the fact that A2dpAudioStreamOut::standby() calls a2dp_stop() after the headset has been powered down.
The workaround consists in indicating to A2DP audio hardware that a close request is pending and that stanby() must be bypassed.
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
cf70e3301bcbfbdeb6a4fd04196f3e4ea5420c39 12-Aug-2009 Mathias Agopian <mathias@google.com> second take, hopefully this time it doesn't break one of the builds: "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerDim.cpp
5221271375f361b84a6eeec3d7086f223997fbb3 12-Aug-2009 Mathias Agopian <mathias@google.com> second take, hopefully this time it doesn't break one of the builds: "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerDim.cpp
i/FramebufferNativeWindow.cpp
i/ISurface.cpp
i/Surface.cpp
b2fd4665e66fe81969f1f07fd724c6f68dd8f7f1 12-Aug-2009 Fred Quintana <fredq@google.com> Revert "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."

This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerDim.cpp
i/FramebufferNativeWindow.cpp
i/ISurface.cpp
i/Surface.cpp
e868513287c50caec4bcc83be3c49e12dfbeac72 12-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2048263: More debugging information

We now hopefully do better about generating the anr reports, and include
information about the malloc loaded assets in meminfo.
tils/Asset.cpp
df37b62c62f8efd3b5a433f9b4d40d30cec13a31 11-Aug-2009 Mathias Agopian <mathias@google.com> SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything.

This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored).
Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerDim.cpp
i/FramebufferNativeWindow.cpp
i/ISurface.cpp
i/Surface.cpp
f5aba82cb7175547c0e2a697dc5d806a7203d2fa 11-Aug-2009 Eric Laurent <elaurent@google.com> Fix issue 2046140: master: media_server crash when powering down A2DP headset while a ringtone is playing.

This is because the AudioFlinger duplicating thread is closed while the output tracks are still active. This cause the output tracks objects to be destroyed at a time where they can be in use by the destination output mixer.

The fix consists in adding the OutputTrack to the track list (mTracks) of its destination thread so that a strong reference is help during the mixer processed and the track is detroyed only when safe by destination thread.

Also added detection of problems when creating the output track (e.g. no more tracks in mixer). In this case the output track is not added to output track list of duplicating thread.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
9e7b81943bb40b0d8d6d8b87cad40c10796864d9 10-Aug-2009 Eric Laurent <elaurent@google.com> Fix issue 2043314: Recorded audio is choppy.

Fixed cut/paste error causing constant reset of current frame index in input buffer.
udioflinger/AudioFlinger.cpp
544542bbb96ead056a80ee9800e40a78cd333dc7 11-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20699

* changes:
enable HW acceleration for the Dim Surface on 8k devices
af0b0f09bb5778b1346916d3cc18a5a81cb0077e 11-Aug-2009 Mathias Agopian <mathias@google.com> enable HW acceleration for the Dim Surface on 8k devices
urfaceflinger/Android.mk
878c0e1d686bbd804cf33e3b4ea8304f79523263 10-Aug-2009 Eric Laurent <elaurent@google.com> Limit AudioFlinger mixer track sampling rate.

When changing the audio output stream sampling rate with setParameters() make sure that all tracks have a sampling rate less or equal to 2 times the new output sampling rate.
udioflinger/AudioFlinger.cpp
efd9ad93ff7655b7386204b12eb7b50ae355527d 08-Aug-2009 Eric Laurent <elaurent@google.com> Test for issue 2041105: CPU pegged after lost of bluetooth connection[WAR ROOM].

Merge change 7419 from master that may help eliminate the problem.
This change was for a different use case (when disabling A2DP to switch output to SCO) but without a repro case it is worth trying.
udioflinger/AudioFlinger.cpp
9fbeb7c6e2b48ea5ee5696e7f8062a4118329567 08-Aug-2009 Mathias Agopian <mathias@google.com> remove unused and confusing comment
urfaceflinger/Layer.cpp
9cedf4c3f065f242380082a29434a47446b195c6 08-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes 20497,20498,20499

* changes:
minor code clean-up
added EGLUtils::strerror
better error handling
0928e31cc7a9ec7367a68796fcaa9c52959216a5 08-Aug-2009 Mathias Agopian <mathias@google.com> minor code clean-up
urfaceflinger/DisplayHardware/DisplayHardware.cpp
8c12c7aec3fdbccfa8161c2c12131d590a9b5ce8 08-Aug-2009 Mathias Agopian <mathias@google.com> added EGLUtils::strerror
i/EGLUtils.cpp
f9df24932fb94fb5503f834206bf84b173cfeb8b 06-Aug-2009 Eric Laurent <elaurent@google.com> AudioService now differentiates BT headsets and car kits.

The BT headset detection now makes the difference between car kits and headsets, which can be used by audio policy manager.
The headset connection is also detected earlier, that is when the headset is connected and not when the SCO socket is connected as it was the case before. This allows the audio policy manager to suspend A2DP output while ringing if a SCO headset is connected.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
dae20d9b7f1af8607dfbf3540d041bee7b286ae9 04-Aug-2009 Eric Laurent <elaurent@google.com> Fix problem in AudioFlinger closeOutput and closeInput.

There was no garanty that the corresponding thread destructor had been already called when exiting the closeOutput() or closeInput() functions.
This contructor could be called by the thread after the exit condition is signalled. By way of consequence, closeOutputStream() could be called after
we exited closeOutput() function.

To solve the problem, the call to closeOutputStream() or closeInputStream() is moved to closeOutput() or closeInput().
udioflinger/AudioFlinger.cpp
29b9eff418b065ec2232360fc2af5913902074c1 04-Aug-2009 Eric Laurent <elaurent@google.com> Improved unit test code for Audioflinger.
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioPolicyManagerGeneric.cpp
udioflinger/AudioPolicyManagerGeneric.h
3464c015ad2fb6e95525b294614217e5c5607013 04-Aug-2009 Eric Laurent <elaurent@google.com> Fix lockup in audio flinger threadbase setParameters.

The function checkForNewParameters_l() is called with the ThreadBase mutex mLock locked. In the case where the parameter change implies
an audio parameter modification (e.g. sampling rate) the function sendConfigEvent() is called which tries to lock mLock creating a deadlock.

The fix consists in creating a function equivalent to sendConfigEvent() that must be called with mLock locked and does not lock mLock.

Also added the possibility to have more than one set parameter request pending.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
cf6b2bf4690cc876fa3f1e00363c4a534894608d 07-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9660

* changes:
Fix problem in A2DP interface closeOutputStream().
dfbea2f39715c64adf1e99844945b4e4e816ddba 07-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9653

* changes:
Fix getParameters() default implementation.
e0e9ecc0ce17cce2e681d099426da9d4d3d83377 28-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2001214: AudioFlinger and AudioPolicyService interfaces should not use pointers as handles to inputs and outputs.

Use integers instead of void* as input/output handles at IAudioFlinger and IAudioPolicyService interfaces.
AudioFlinger maintains an always increasing count of opened inputs or outputs as unique ID.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioPolicyManagerGeneric.cpp
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
42db9dcea2e6b9f60f07a3e9e2d6fbc196082284 07-Aug-2009 Mathias Agopian <mathias@google.com> better error handling
i/EGLUtils.cpp
i/FramebufferNativeWindow.cpp
f9694507ec07e3909f41dba051b1bdbdb66002d8 07-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20365

* changes:
oops, EGLConfig of value zero may be valid
b97603dcf01792b3d5610ef9a8f0a4c9e1af8b02 07-Aug-2009 Mathias Agopian <mathias@google.com> oops, EGLConfig of value zero may be valid
i/EGLUtils.cpp
b2001065b957bf0db2577c0877c4751097d627af 07-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes 20345,20346,20347

* changes:
update most gl tests to use EGLUtils
added two EGL helpers for selecting a config matching a certain pixelformat or native window type
added NATIVE_WINDOW_FORMAT attribute to android_native_window_t
6cf50a770dabd13cf5b72bb0a6fb9dd002c88db6 07-Aug-2009 Mathias Agopian <mathias@google.com> added two EGL helpers for selecting a config matching a certain pixelformat or native window type
urfaceflinger/DisplayHardware/DisplayHardware.cpp
i/Android.mk
i/EGLUtils.cpp
6b1f41004fa48e96bab61f508867314261de660b 07-Aug-2009 Mathias Agopian <mathias@google.com> added NATIVE_WINDOW_FORMAT attribute to android_native_window_t
i/FramebufferNativeWindow.cpp
i/Surface.cpp
34193b31681dcbadf0a629879ca004f561b1b149 06-Aug-2009 Iliyan Malchev <malchev@google.com> EventHub: pass the name of each input device up to Java

Signed-off-by: Iliyan Malchev <malchev@google.com>
i/EventHub.cpp
46078d997861dd18798d6cc91b3ca32820faf7c6 05-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 20133

* changes:
don't crash when SurfaceBuffer::writeToParcel is given a null argument
3eded949243c8d331190d3803b5c5c2bf2a058fc 05-Aug-2009 Mathias Agopian <mathias@google.com> don't crash when SurfaceBuffer::writeToParcel is given a null argument
i/Surface.cpp
c591736c66cbd4320fc96573fda28bec2b4d4100 04-Aug-2009 Dianne Hackborn <hackbod@google.com> Finish implementation of multiple pointer support for MotionEvent.

The major things going on here:

- The MotionEvent API is now extended to included "pointer ID" information, for
applications to keep track of individual fingers as they move up and down.
PointerLocation has been updated to take advantage of this.

- The input system now has logic to generate MotionEvents with the new ID
information, synthesizing an identifier as new points are down and trying to
keep pointer ids consistent across events by looking at the distance between
the last and next set of pointers.

- We now support the new multitouch driver protocol, and will use that instead
of the old one if it is available. We do NOT use any finger id information
coming from the driver, but always synthesize pointer ids in user space.
(This is simply because we don't yet have a driver reporting this information
from which to base an implementation on.)

- Increase maximum number of fingers to 10. This code has only been used
with a driver that reports up to 2, so no idea how more will actually work.

- Oh and the input system can now detect and report physical DPAD devices.
i/EventHub.cpp
8851d1e0533df09c2577c32683ab6aa6fdbf252d 04-Aug-2009 Eric Laurent <elaurent@google.com> Fix problem in A2DP interface closeOutputStream().

If the output stream handler passed was not the A2DP output stream, the request was ignored instead of being forwarded downstream to hardware interface.
udioflinger/A2dpAudioInterface.cpp
764db963fa36b4a272e8c4a77cbe9610404a3b11 04-Aug-2009 Eric Laurent <elaurent@google.com> Fix getParameters() default implementation.

Do not return empty string but key value pairs with empty values.
udioflinger/AudioHardwareInterface.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
a03f7c9170ca5bf3ce68470a9d112ffebde1f143 01-Aug-2009 Mathias Agopian <mathias@google.com> free surface buffers before trying to allocate new ones, so we have more chance of success
urfaceflinger/LayerBitmap.cpp
4851d01930df752cfab14f70a44154146394d24c 01-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9397

* changes:
Fix Win32 libutils to get a working SDK build.
429db150affcc99b198fa0da52165fde4cd4cc7c 01-Aug-2009 David 'Digit' Turner <digit@google.com> Fix Win32 libutils to get a working SDK build.
tils/Threads.cpp
1d0a95b12a9194f64dd436224ec3bf8e0622d678 01-Aug-2009 Mathias Agopian <mathias@google.com> don't crash in Parcel when given a null (and therfore invalid) native_handle_t
inder/Parcel.cpp
cf81c84e43eb33931b950fa2c9b4c6f51afe7197 31-Jul-2009 Mathias Agopian <mathias@google.com> be more robust when errors occur upon EGL surface creation (ie: don't crash)
i/Surface.cpp
fa170f513338322102a200de7d1fd696e51d55c8 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9287

* changes:
fixed some issues with the software renderer when surfaces are made current.
cb6b9041647b4f080324742eee5ce709960ff610 31-Jul-2009 Mathias Agopian <mathias@google.com> fixed some issues with the software renderer when surfaces are made current.

there was several issues:
- when a surface was made non-current, the last frame wasn't shown and the buffer could stay locked
- when a surface was made current the 2nd time, it would not dequeue a new buffer

now, queue/dequeue are done when the surface is made current.

for this to work, a new query() hook had to be added on android_native_window_t, it allows to retrieve some attributes of a window (currently only width and height).
i/FramebufferNativeWindow.cpp
i/Surface.cpp
ff1dcc2cf9043c4d128cf8498b58e956e9ee965f 31-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 25dff70f: Merge change 9039 into donut

Merge commit '25dff70f153529b87f5ad4a92f4de21e8950b1de'

* commit '25dff70f153529b87f5ad4a92f4de21e8950b1de':
Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA
abcfe35781a10ab18470251f8e18661cd8ca2215 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9070

* changes:
Adding resizeInput and setAttributes for overlay
69bdcb9b7b5089984bf474f30029fa024f519e47 30-Jul-2009 Mathias Agopian <mathias@google.com> Fix a debug statement in BufferMapper
i/BufferMapper.cpp
f9cd64bc6c6aa58ad120689a1a951362ff234c78 30-Jul-2009 Mathias Agopian <mathias@google.com> NPOT EGLimage without GL_ARB_texture_non_power_of_two would be improperly scalled

The current gralloc allocates buffer memory for render targets that will typically have NPOT dimensions. Assuming that the vendor driver supports converting the resulting NPOT android_native_buffer_t to a NPOT EGLImage, SurfaceFlinger calls glEGLImageTargetTexture2DOES(), and uses glGetError() to test whether the GL can support creating an EGL target texture with the specified NPOT EGLImage. If it is supported, the DIRECT_TEXTURE flag remains set, otherwise it is cleared.

Tangentially, if the driver advertises the GL_ARB_texture_non_power_of_two extension, the NPOT_EXTENSION flag is set, otherwise it is cleared.

If the driver supported creating an EGL target texture from a NPOT source EGLImage, it implicitly creates a NPOT texture. This does not need any glScalef() texture coordinate correction in LayerBase::drawWithOpenGL(). However, the same driver may not advertise the GL_ARB_texture_non_power_of_two extension nor generally support NPOT textures that were not derived from EGLImages. So SurfaceFlinger may flag only DIRECT_TEXTURE, not NPOT_EXTENSION.

Therefore, the test in LayerBase::drawWithOpenGL() should only perform the glScalef() if neither NPOT_EXTENSION or DIRECT_TEXTURE are flagged. Otherwise scaling is applied to NPOT EGL target textures when none is required.
urfaceflinger/LayerBase.cpp
3945ae5065ec62ed267e1aaf4cfc160c5eb6a79e 30-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix #2018814: System cannot correctly render assets with "wrap_content" attribute in QVGA

It turns out we were not returning the density for anything retrieved from a
TypedArray... which basically means any bitmap references from a layout or style...!!!

This is now fixed.

Also fiddle with the density compatibility mode to turn on smoothing in certain situations,
helping the look of things when they need to scale and we couldn't do the scaling at
load time.
tils/ResourceTypes.cpp
e56271109fe59e1c1f4958bdcdeb9a3a7f53eb28 25-Jul-2009 Benny Wong <Benny.Wong@motorola.com> Adding resizeInput and setAttributes for overlay
i/Overlay.cpp
e437ff809942d3a234165d22cbf100f0f5b847ab 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 1521cd6e: Merge change 8015 into donut

Merge commit '1521cd6e657ba4efa9382ab73d3cbba3bdf50ead'

* commit '1521cd6e657ba4efa9382ab73d3cbba3bdf50ead':
Reset the mDpiX and mDpiY values when qemu.sf.lcd_density is defined.
e3772efdc5dacf9a580786b836daa77ce127cb6e 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 9008

* changes:
Only restore the bits for wallpapers that aren't built in.
c1d7a6ec1e8058135f1058d93811dff55e331276 29-Jul-2009 Joe Onorato <joeo@android.com> Only restore the bits for wallpapers that aren't built in.
tils/BackupData.cpp
c47c45f02ddc20fcc0054533f129cba2a2477732 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8987

* changes:
Fix firestone build
f4531691b2273927960817fba1a480e662d4f2ba 29-Jul-2009 Marco Nelissen <marcone@google.com> Fix firestone build
udioflinger/Android.mk
52eaa311d444e3686fad7b162402bb292697b171 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes 8935,8936

* changes:
Fix the IOException in wallpaper restore -- the padding isn't required at the end.
Fix bug 1982892 - batteryservice turns off device even while plugged in
672136f3e64f8ead215d99da52e780f6f87a133e 29-Jul-2009 Mathias Agopian <mathias@google.com> fix [1985856] Seg fault when using the soft keyboard in the Messaging app
urfaceflinger/LayerBitmap.cpp
1b96719b327c16db024836f91fcba54335e5a96b 29-Jul-2009 Joe Onorato <joeo@android.com> Fix the IOException in wallpaper restore -- the padding isn't required at the end.
tils/BackupData.cpp
7f5989e19ba47af4a147c19b9bb5b8960ad467d2 29-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8015 into donut

* changes:
Reset the mDpiX and mDpiY values when qemu.sf.lcd_density is defined.
31469e1069a873993ff43dec803bf5f14fad0fb5 29-Jul-2009 David 'Digit' Turner <digit@google.com> Reset the mDpiX and mDpiY values when qemu.sf.lcd_density is defined.

This will make android.view.Display return corresponding values for
the screen's DPI.
urfaceflinger/DisplayHardware/DisplayHardware.cpp
5d7126b625c8c4a7b945e8c247b63abff7bc13b6 28-Jul-2009 Mathias Agopian <mathias@google.com> resolved conflicts for merge of ac38dfc5 to master
970112231e887c8a14441ec4fed55342e019fc8c 28-Jul-2009 Mathias Agopian <mathias@google.com> fix [2017532] Partial Update leaves residual image.
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
d55d179e95baecdd9722dbd1c169608cb819716c 28-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2004229: DTMF tones play through earpiece (G1).
udioflinger/AudioFlinger.cpp
b734bce2acd99282f7ca97ffc148cf639c91466e 25-Jul-2009 Eric Laurent <elaurent@google.com> Fix the build for BOARD_USES_GENERIC_AUDIO option
udioflinger/Android.mk
a2e32699f4d0a967b271cb5d3ef141b3be4c1125 24-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 2001204: libaudiopolicy.so and libaudiopolicygeneric.so libraries must be pre-linked.
udioflinger/Android.mk
udioflinger/AudioPolicyManagerGeneric.cpp
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
fd558a97edd04399fabf54965f14cd6628479cb0 23-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1999585: audioflinger crash.

We were looping on the number of playback threads when dumping record threads.
udioflinger/AudioFlinger.cpp
9395d9be9c516a2468e2cf741a0e5a9c7615ef82 23-Jul-2009 Eric Laurent <elaurent@google.com> Fix the sim build.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
9d91ad5d99c1318f7f1435370e29f3f337afe82f 17-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1795088 Improve audio routing code

Initial commit for review.
Integrated comments after patch set 1 review.
Fixed lockup in AudioFlinger::ThreadBase::exit()
Fixed lockup when playing tone with AudioPlocyService startTone()
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/Android.mk
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareInterface.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
udioflinger/AudioMixer.cpp
udioflinger/AudioMixer.h
udioflinger/AudioPolicyManagerGeneric.cpp
udioflinger/AudioPolicyManagerGeneric.h
udioflinger/AudioPolicyService.cpp
udioflinger/AudioPolicyService.h
eba4009d897b30f2e24bb464468489c739f93e17 23-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8109

* changes:
Add a flag to set whether the overlay has been initialized. Commit needs to be called at least once on each overlay, and it appears that sometimes this doesn't happen because the visibility never changes. With this change the overlay parameter and position will be committed when either the visibility of the window changes, or on the first call to visibility resolved, if it hasn't already been done.
1000170033ec2fd7427cf72c81432384ad8a5286 22-Jul-2009 Rebecca Schultz Zavin <rebecca@android.com> Add a flag to set whether the overlay has been initialized. Commit needs to be called at least once on each overlay, and it appears that sometimes this
doesn't happen because the visibility never changes. With this change
the overlay parameter and position will be committed when either the visibility
of the window changes, or on the first call to visibility resolved, if it
hasn't already been done.

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
351b6f926e06355079669f170a97a729537932ed 22-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 9fc20b0e: Merge change 8126 into donut

Merge commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf'

* commit '9fc20b0e381b5fe00b7049ef357c839cd05a33bf':
First pass at reworking screen density/size APIs.
60cde60e89373b03f1c645c51f825c7898f62d9e 22-Jul-2009 Dianne Hackborn <hackbod@google.com> First pass at reworking screen density/size APIs.

This changes the names of the directories in aapt, to what you see
in the list of DpiTest resources. Also adds a new "long" configuration
for wide screens, which the platform sets appropriate, and introduces
a new kind of resizeability for not large but significantly larger
than normal screens which may have compatibility issues.
tils/ResourceTypes.cpp
96df49bb7deaa33168040084021ff142963a086b 21-Jul-2009 Rebecca Schultz Zavin <rebecca@android.com> Fix hardware overlay so all changes are commited when done.
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
811fdfd9b7863ee4e6300500b9159d11878e1664 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5892

* changes:
Hardware overlay support
89fbf845390322eb486632bae9108191803d4b9e 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am aad0fcc9: Merge change 7783 into donut

Merge commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54'

* commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54':
Add "nodpi" density, and expose a bunch of density-related APIs.
b3e8103538c4a487c20238a2da86159381a688d7 17-Jul-2009 Dianne Hackborn <hackbod@google.com> Add "nodpi" density, and expose a bunch of density-related APIs.

Also update the DpiTest app to use nodpi images, and try to have a mode
where it turns off compatibility though it's not quite working.
tils/ResourceTypes.cpp
d43b194b69fca6c81023effc921fcc7576bad496 17-Jul-2009 Marco Nelissen <marcone@google.com> Instead of using -1 for pid and uid in the simulator, and then having
to special-case the simulator case all over the framework, just use
getuid and getpid, and intercept those in the simulator wrapper.
inder/IPCThreadState.cpp
24a7e04a62cbba05eb02a8d7b993273e8e6befaf 17-Jul-2009 Mike Lockwood <lockwood@android.com> EventHub: Compare name instead of id when excluding event input devices.

Signed-off-by: Mike Lockwood <lockwood@android.com>
i/EventHub.cpp
9793c45993a667cc78ee779857daefc20588a045 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 3e1663a2: Merge change 7536 into donut

Merge commit '3e1663a2539ff0b939193304cfb601f6b134af7d'

* commit '3e1663a2539ff0b939193304cfb601f6b134af7d':
fix FILE* version of ZipUtils::inflateToBuffer
71f771570e1b5341048a6fbf82a7c57d885bd850 16-Jul-2009 Benny Wong <Benny.Wong@motorola.com> Hardware overlay support

Enable hardware overlay support for camera and video playback use cases
i/Overlay.cpp
0de50495d6ccb416e412052f428ab97dfee42f14 16-Jul-2009 Doug Zongker <dougz@android.com> fix FILE* version of ZipUtils::inflateToBuffer

This can't have ever worked; a successful fread() was returning 1
instead of getSize.
tils/ZipUtils.cpp
b441106276a9c5fcd47642aff8cda2a2039481c0 16-Jul-2009 Mike Lockwood <lockwood@android.com> EventHub: Add support for excluding devices from being opened by as a keyboard.

This will be used to avoid unnecessarily listening to data from sensors
that function as event devices.

Signed-off-by: Mike Lockwood <lockwood@android.com>
i/EventHub.cpp
7c38f9fbb0e140259a364302b37a1ee91e46ff23 15-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7419

* changes:
Standby A2DP audio hardware interface when disabling A2DP.
07c8a20f3913b20983c6b9c65b2e62269ace6923 15-Jul-2009 Nick Pelly <npelly@google.com> Standby A2DP audio hardware interface when disabling A2DP.

Patch supplied on advice of partner. This causes us to send suspend_sink to
Bluez via socket interface, so we enter suspend on the A2DP link faster.
This is especially important when switching to SCO so that we come closer to
whitepaper recommendations to suspend A2DP before setting up SCO.

We have another patch set to add DBUS A2DP suspend and resume calls to Bluez
that will do a better job of following whitepaper recommendations for
A2DP -> SCO -> A2DP, but this small patch is still an improvement.
udioflinger/AudioFlinger.cpp
66b29ec55e4398472b6944138a9dcc30262b3f83 13-Jul-2009 Joe Onorato <joeo@android.com> Need to skip the padding after reading.

m_dataEndPos points to the end of the data, not the beginning
of the next entity.
tils/BackupData.cpp
c968c3a9c782eaf44a5772cd388e5c690e5be4f3 14-Jul-2009 Dianne Hackborn <hackbod@google.com> Implement virtual button support.

The kernel can now publish a property describing the layout of virtual
hardware buttons on the touchscreen. These outside of the display
area (outside of the absolute x and y controller range the driver
reports), and when the user presses on them a key event will be
generated rather than a touch event.

This also includes a number of tweaks to the absolute controller
processing to make things work better on the new screens. For
example, we now reject down events outside of the display area.

Still left to be done is the ability to cancel a key down event,
so the user can slide up from the virtual keys to the touch screen
without causing a virtual key to execute.
i/EventHub.cpp
2d939020a4ecbcb9008bd07936ae37da2ea7ecd7 14-Jul-2009 Mathias Agopian <mathias@google.com> another attempt to fix the sim
udioflinger/Android.mk
d606003a66213da4587a18f5df8d006c11d96699 14-Jul-2009 Mathias Agopian <mathias@google.com> first attempt to fix the sim
urfaceflinger/Android.mk
b8eccd86603448a618978a92727a9b948d9f62ed 14-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6898

* changes:
implement Mutex and Condition with pthread instead of calling futex directly.
14998596937791c8efdfd61411236a7c7f66c064 14-Jul-2009 Mathias Agopian <mathias@google.com> fix [1964315] crash in the surface.cpp while browsing
i/Surface.cpp
ec0f1f6720cd7ecffab54b0dfc2553b55a38e50f 13-Jul-2009 Mathias Agopian <mathias@google.com> implement Mutex and Condition with pthread instead of calling futex directly.

internally pthread uses futex. the implementation consists of simple inlines
there are no implementation files anymore.
urfaceflinger/MessageQueue.cpp
tils/Android.mk
tils/Threads.cpp
tils/futex_synchro.c
5cd5d31d10b23673a39c4ce1a6b447b30935153c 11-Jul-2009 Mathias Agopian <mathias@google.com> fix [1967226] Donut orientation animation (dimming and blur) is slower than Cupcake
urfaceflinger/Android.mk
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
urfaceflinger/OrientationAnimation.cpp
e0528ba71b6a1bbf6691f70b1afb87d5a1c56ae5 10-Jul-2009 Mike Reed <reed@google.com> rename libsgl/libcorecg to libskia
urfaceflinger/Android.mk
829cb1304b91bb27c0bb9ab4b8f612a802969d46 10-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6742

* changes:
fix [1969200] Uninitialized double passed to Math.sqrt()
80d7a764fc439d7fbd7245ccae6b310386073d9f 10-Jul-2009 Mathias Agopian <mathias@google.com> fix [1969200] Uninitialized double passed to Math.sqrt()
urfaceflinger/DisplayHardware/DisplayHardware.cpp
4860b74b473e0043004530c4c4de9f8971af95c6 10-Jul-2009 Mathias Agopian <mathias@google.com> am 4d2dbebf: fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624

Merge commit '4d2dbebf3d08209f751585d8cc367369e2f6e32f'

* commit '4d2dbebf3d08209f751585d8cc367369e2f6e32f':
fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624
6e2d6483fe14362187c78c91dc03024fbb31d431 10-Jul-2009 Mathias Agopian <mathias@google.com> fix for [1885684] E/SurfaceFlinger( 60): not enough memory for layer bitmap size=4294938624
urfaceflinger/SurfaceFlinger.cpp
84f6814af45a224f78d5d8c4fc6aee9539e335af 10-Jul-2009 Mathias Agopian <mathias@google.com> fix for [1969185] valgrind errors in new gl stuff
urfaceflinger/MessageQueue.cpp
a93fbf8ae95288956696f79cfc12fab528750ea4 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am be91fdbc: Merge change 6665 into donut

Merge commit 'be91fdbc5c4f2de3a2bb574a98fdfeef44d8cdb5'

* commit 'be91fdbc5c4f2de3a2bb574a98fdfeef44d8cdb5':
Fix resources not being set correctly.
17500c2031135c501c975ba2f2d1121878251aa8 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 3893da46: Merge change 6614 into donut

Merge commit '3893da46f0a97d59a7687ae2bd71ba855eb5ffe3'

* commit '3893da46f0a97d59a7687ae2bd71ba855eb5ffe3':
Fix issue 1970108: crash in AudioFlinger::isMusicActive()
25c70c8685a6c439bde9af478e94858bff2c387d 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am fe811d8b: Merge change 6603 into donut

Merge commit 'fe811d8bd0da15f14702968a9c7deb02db7eec9f'

* commit 'fe811d8bd0da15f14702968a9c7deb02db7eec9f':
quick fix; utf8_codepoint_count must be utf8_length
1b85080b2a5a3199d5c335ced779d52c813595ac 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 8a715b4b: Merge change 5510 into donut

Merge commit '8a715b4b791db4390d12e0ded02280592634a424'

* commit '8a715b4b791db4390d12e0ded02280592634a424':
Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32
1f59751c3ef5996f2599ad3b3de1ef7afd69f600 09-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix resources not being set correctly.
tils/ResourceTypes.cpp
b025ca0c83356f204ae4948b744f3f068e5330c4 09-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1970108: crash in AudioFlinger::isMusicActive()

Protected calls to MixerThread::isMusicActive() by AudioFlinger::mLock
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
3ccdc56ae08b94dc3654c90114e28839384fca57 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6603 into donut

* changes:
quick fix; utf8_codepoint_count must be utf8_length
3228a1092325177966f58dd763eb3341f14ff7ba 09-Jul-2009 Daisuke Miyakawa <dmiyakawa@google.com> quick fix; utf8_codepoint_count must be utf8_length
tils/String8.cpp
0d5eee378489cee3f69c38fb5e039441518cb7af 09-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5510 into donut

* changes:
Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32 It will be used in SQL functions in external/sqlite/android. See https://android-git.corp.google.com/g/Gerrit#change,5511 for example.
9f1234e4600d343710635973f3296da7b39cd9a2 09-Jul-2009 Dave Sparks <davidsparks@android.com> resolved conflicts for merge of 04c7d0f8 to master
9f220247f64d7db8a36532851cff087f5a6e4070 30-Jun-2009 Daisuke Miyakawa <dmiyakawa@google.com> Add useful functions to String8, which enables users to convert between UTF-8 and UTF-32
It will be used in SQL functions in external/sqlite/android.
See https://android-git.corp.google.com/g/Gerrit#change,5511 for example.

Related internal bug id: 1707173
tils/String8.cpp
f72d640b7c7de40b4c5d83b69748535e4254c941 09-Jul-2009 Dave Sparks <davidsparks@android.com> Add timestamps to video frames to improve A/V sync.
Bug 1927069.
i/Camera.cpp
i/ICameraClient.cpp
4f9039002a7f6c44497eb00b01d1e21f53b78b73 07-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am a5188a09: Merge change 6367 into donut

Merge commit 'a5188a09bd20c376b4f0645b0df4c52f8e114e21'

* commit 'a5188a09bd20c376b4f0645b0df4c52f8e114e21':
Add virtual destructor.
ed65428df256e3d51c1817acdd05ad15c6a91396 07-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6367 into donut

* changes:
Add virtual destructor.
1c0f5382ed5e697ec7311254c4fa6a16aa866f14 07-Jul-2009 Marco Nelissen <marcone@google.com> Add virtual destructor.
udioflinger/AudioBufferProvider.h
8434c7886221bbc0abac9cc25488bbbd02380ceb 07-Jul-2009 Eric Laurent <elaurent@google.com> am 88e209dc: Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Merge commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c'

* commit '88e209dcf8c2ebddda5c272f46d1bd5478bc639c':
Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR
0bac53801b5e38e71eb6eb1759b6b8b09e79bbe7 07-Jul-2009 Eric Laurent <elaurent@google.com> Fix issue 1743700: AudioTrack: setPlaybackRate can not set the playback rate to twice of the ouputSR

Store sample rate on 32 bits instead of 16 bits in audio_track_cblk_t.
Removed sampleRate() methods from AudioTrack and AudioRecord: replaced by getSampleRate().
AudioTrack::setSampleRate() no returns a status.
udioflinger/AudioFlinger.cpp
1df3bbb8d88a4e725e4a8cdcb293f1e078176f4a 07-Jul-2009 Mathias Agopian <mathias@google.com> trying to fix the sim, I'm not even sure this syntaxe is valid, but my compilo doesn't complain
urfaceflinger/SurfaceFlinger.h
72b0ffe4c3776b33844bb00b9be5693bddd391f9 07-Jul-2009 Mathias Agopian <mathias@google.com> should fix sim build
i/Region.cpp
0f7f88db2771ec6b08df1354f1d85290f93227d5 06-Jul-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
1a16ea88edefc0d80126090f7ad239dbf5231751 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 991eec03: Merge change 6252 into donut

Merge commit '991eec03a73f8803d0f8c80b418480ea25293cfb'

* commit '991eec03a73f8803d0f8c80b418480ea25293cfb':
Don't re-parse the framework resources all the time.
0f253efba5552db81bf942705b1e5525fc1f0c90 06-Jul-2009 Dianne Hackborn <hackbod@google.com> Don't re-parse the framework resources all the time.

A small optimization to the resource code, to not re-parse the framework
resources every time we build a new AssetManager. Instead, you can now
construct a ResTable from a previously created one... of course, like the
existing code for using the data in-place, you can't delete the original
ResTable until you have deleted the one that has been constructed from it.
tils/Asset.cpp
tils/AssetManager.cpp
tils/ResourceTypes.cpp
4361996a8c4a398d818da4ea453595a0a3404358 06-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am c7396025: Merge change 6084 into donut

Merge commit 'c7396025e59524e7ef639fd86fc23123939ee91c'

* commit 'c7396025e59524e7ef639fd86fc23123939ee91c':
Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)
7887aa766ed5fea5c3b29096cdb269f890e5163f 03-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 2bbb80e1: Merge change 5994 into donut

Merge commit '2bbb80e183c6492689f8b10b2d0f5dfe9872a6ac'

* commit '2bbb80e183c6492689f8b10b2d0f5dfe9872a6ac':
Less logging in some places. More in others.
af54ab9d889c574b44786e81696e47bdbc9dffd4 03-Jul-2009 Mathias Agopian <mathias@google.com> don't need to link against libsgl
urfaceflinger/Android.mk
urfaceflinger/GPUHardware/GPUHardware.cpp
urfaceflinger/GPUHardware/GPUHardware.h
urfaceflinger/purgatory/GPUHardware/GPUHardware.cpp
urfaceflinger/purgatory/GPUHardware/GPUHardware.h
7303c6bf1a8b00a0e7d8165d774a1f259b4ccda9 03-Jul-2009 Mathias Agopian <mathias@google.com> get rid of references to MemoryDealer in SurfaceFlinger
urfaceflinger/Layer.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBuffer.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/ISurfaceComposer.cpp
i/ISurfaceFlingerClient.cpp
i/SurfaceComposerClient.cpp
6b5513538aedc19c624ff7a260c832dcfae630f2 03-Jul-2009 Mathias Agopian <mathias@google.com> forgot to remove those files
urfaceflinger/VRamHeap.cpp
urfaceflinger/VRamHeap.h
759fdb2ef735422d6b8c65e168fa9d1c24562a86 03-Jul-2009 Mathias Agopian <mathias@google.com> free gralloc buffers as soon as possible (when a surface is not visible any longer), client who have the buffers still mapped won't crash, btu may see garbage data
urfaceflinger/Layer.cpp
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
f777ac1a2be695b016dff078d14579483e9c3de9 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6084 into donut

* changes:
Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)
16f3d35459a03bf7fad41df0a0d192d2c50a0594 02-Jul-2009 James Dong <jdong@google.com> Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)
i/Camera.cpp
47a1a39ce9422c6468c0bd87c121658f385d2d8f 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 6e1647a2: Merge change 5829 into donut

Merge commit '6e1647a212317f4ee8bcc23948b6621a59172954'

* commit '6e1647a212317f4ee8bcc23948b6621a59172954':
Fix issue #1673793: Theme styles don't apply.
84d1f7a09827fe195dd08b647b8c5092d03516f7 02-Jul-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
00dae0a08479b0c2c9ddc5c491a2bebb1c43b028 02-Jul-2009 Joe Onorato <joeo@android.com> Less logging in some places. More in others.
udioflinger/AudioFlinger.cpp
78f1c1949ff509b88cc094ed782656c5fba9262a 02-Jul-2009 Mathias Agopian <mathias@google.com> Allocate 16MB for surfaces on Firstone, since 8MB is way to small for our bigger screen.
urfaceflinger/VRamHeap.cpp
cd998742c3b439eff94683e236c09c70c9729ecf 01-Jul-2009 Wu-cheng Li <wuchengli@google.com> am b8a10fe4: Allow setPreviewDisplay after startPreview.

Merge commit 'b8a10fe45657f2dcc50cae8a06805f8438a6937e'

* commit 'b8a10fe45657f2dcc50cae8a06805f8438a6937e':
Allow setPreviewDisplay after startPreview.
99da6dd7f26d31865794d25d062f150ac2bf5dc3 01-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 58ebdcc0: Merge change 5625 into donut

Merge commit '58ebdcc06eca06741460a7db2be4b79e3865eb88'

* commit '58ebdcc06eca06741460a7db2be4b79e3865eb88':
fix [1947273] the DimLayer causes the whole screen to update during transactions
faeef8ede670c2c51f97c0a331551e2a0db3d5f9 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5829 into donut

* changes:
Fix issue #1673793: Theme styles don't apply.
e3562924674927d6faf85fb4adf522b6fa80f140 30-Jun-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1673793: Theme styles don't apply.

It turns out this was not a problem in the resource code at all. Rather,
the system process has a cache of pre-loaded attributes it uses to avoid
continually reloading things as it needs them. Well it turns out this
cache wasn't flushed after a package was uninstalled or a configuration
changed, so you could re-install an app where you change its style resources
so its theme now points to one that is inconsistent in the cache.

This is mostly a problem for developers, where they continually install
new versions of an app where resources have changed. This could possibly
show up when updating an app on a normal phone, although the problem would
eventually correct itself since this cache uses weak references.

Anyway, the cache is now reworked to be flushed appropriately.

This change also includes an update to aapt to be able to dump the
contents of bags in resources.
tils/ResourceTypes.cpp
988fb62884c108e487a39ef03f0873f74525a9c8 23-Jun-2009 Wu-cheng Li <wuchengli@google.com> Allow setPreviewDisplay after startPreview.
i/Camera.cpp
2dd6727c46120f2164f7ac447281f485ece9bc72 30-Jun-2009 Mathias Agopian <mathias@google.com> when there is a choice between UPDATE_ON_DEMAND and SWAP_BUFFER optimizations, choose UPDATE_ON_DEMAND which is often more efficient.
urfaceflinger/DisplayHardware/DisplayHardware.cpp
29d06ac9a45e564b4f935b91067fc92c2d4c193d 30-Jun-2009 Mathias Agopian <mathias@google.com> fix a bug that caused artifacts when SWAP_RECTANGLE was enabled
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/SurfaceFlinger.cpp
9f96145725ff3f265712d607d19078fb91a5c8ec 30-Jun-2009 Mathias Agopian <mathias@google.com> Region::makeBoundsSelf() efficiently turns a region to its bounds
i/Region.cpp
446ff920387052887bc905cc0cc439a7e3c38b83 30-Jun-2009 Mathias Agopian <mathias@google.com> don't use a 1/4th of the screen size texture for the dim layer

we can't use a texture of 1/4th of the screen for the dim layer, because the mdp internal input resultion is alwyas integers and for very small blits of a couple pixels the scale factor can get way out of range, for instance for a 7 pixels source, the scale factor would be either 7 (7/1) or 3.5 (7/2) instead of 4 (7/1.75). This caused the mdp to fail in some cases and revert to software. we now always use a texture of the actual screen size, so the problem will never happen. This burns 300KB of pmem instead of 21KB. On devices with a larger screen we might want to use a smaller texture and tile it by hand.
urfaceflinger/LayerDim.cpp
468edaa46d96dda79332babb580a731dc9662aa5 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am d09f86ce: Merge changes 5548,5549 into donut

Merge commit 'd09f86ce175fad6ddbd446363f327dfa0575a1d2'

* commit 'd09f86ce175fad6ddbd446363f327dfa0575a1d2':
Better (and less) logging from backup.
Add an extra null terminator. String8::unlockBuffer is
b9c8a7349671ed003f40f70412ed0bbacab90931 30-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 72eb0aca: Merge change 5483 into donut

Merge commit '72eb0acad5cffc57ce5006f6deab29ee259e461e'

* commit '72eb0acad5cffc57ce5006f6deab29ee259e461e':
Expand support for different screen sizes.
a8d44f75e1934072713371a2dcd143c63ffcbe0e 28-Jun-2009 Mathias Agopian <mathias@google.com> fix [1947273] the DimLayer causes the whole screen to update during transactions
urfaceflinger/SurfaceFlinger.cpp
6b3287b5d4933cebf87b43aaf564cc2963d796d6 28-Jun-2009 Mathias Agopian <mathias@google.com> fix [1947273] the DimLayer causes the whole screen to update during transactions
urfaceflinger/SurfaceFlinger.cpp
b8a5560e1303cb10f5cd482af466fc04d2bdfcab 27-Jun-2009 Mathias Agopian <mathias@google.com> fix an update bug with SHOW_UPDATE debug feature. Fix a problem with the debug binder codes too
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/SurfaceFlinger.cpp
d8c2564bbf3e563f2e392fe2822c136e2ee74683 26-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge changes 5548,5549 into donut

* changes:
Better (and less) logging from backup.
Add an extra null terminator. String8::unlockBuffer is supposed to be doing this, but it's not and I can't figure out why. This makes BackupHelperDispatcher able to read the keys correctly.
6eabaa311f752bba624dff00a62b02a34119f55a 26-Jun-2009 Joe Onorato <joeo@android.com> Better (and less) logging from backup.
tils/BackupData.cpp
tils/BackupHelpers.cpp
21342c5c19c1768fe98a30155bfa97fa4138dc80 26-Jun-2009 Dianne Hackborn <hackbod@google.com> Expand support for different screen sizes.

Applications can now declare that they support small, normal, or
large screens. Resource selection can also be done based on these
sizes. By default, pre-Donut apps are false for small and large,
and Donut or later apps are assumed to support all sizes. In either
case they can use <supports-screens> in their manifest to declare
what they actually support.
tils/ResourceTypes.cpp
d512f238a6c439c422a229fe53a86dc386bd3b58 26-Jun-2009 Mathias Agopian <mathias@google.com> add support for out-of-range copybit scaling. camera capture is in color again
urfaceflinger/LayerBuffer.cpp
958b3cac99cef204767b9c8f5bb8e20cbe1fc97b 26-Jun-2009 Mathias Agopian <mathias@google.com> use 1/16 the size (20KB) for the dim texture in the copybit/msm case
urfaceflinger/LayerDim.cpp
240c9fe59e9db5807c88796f60889acc44ba845c 26-Jun-2009 Mathias Agopian <mathias@google.com> use copybit for eglSwapBuffers() copy-back operations
urfaceflinger/LayerBuffer.cpp
694fcc5d1d3505c034a2cb89b6150214e7cea0fd 26-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am c44989d6: Merge change 5350 into donut

Merge commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e'

* commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e':
move ui/Time.cpp to core/jni, since this is the only place it is used
a8664df810ad46ce33c0ea28d4e648c067112db8 25-Jun-2009 Mathias Agopian <mathias@google.com> move ui/Time.cpp to core/jni, since this is the only place it is used
i/Android.mk
i/Time.cpp
2ab55a4e31c37d74abdd85486e1f4045c7f708e2 25-Jun-2009 Mathias Agopian <mathias@google.com> make use of new eglGetRenderBufferANDROID extension to clean-up a bit a few hacks added recently
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/LayerBuffer.cpp
i/FramebufferNativeWindow.cpp
5911aa9510caad7c5d1dea849f9d2c8321fa9d7b 25-Jun-2009 Mathias Agopian <mathias@google.com> copybit now uses a native_handle_t* instead of a fd/offset
urfaceflinger/Android.mk
urfaceflinger/LayerBuffer.cpp
69029eb5abfaeb52716b84db89e32dc742551508 24-Jun-2009 Mathias Agopian <mathias@google.com> hack copybit back in for video playback on msm7k. we have h/w accelerated video again
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
i/FramebufferNativeWindow.cpp
4c4b387afb2e775fcac3b81a249bb7646515dffa 25-Jun-2009 Mathias Agopian <mathias@google.com> merge master in master_gl
6ef6895b03881d565643077c5d86591c5a3f4951 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am df65b60c: Merge change 5243 into donut

Merge commit 'df65b60ce33e5a56815864f8f0713e25378fa649'

* commit 'df65b60ce33e5a56815864f8f0713e25378fa649':
Only report "unknown metadata" once per restore helper
3fc010e74e1c4f9627daf1d48ed9d89702bf8028 25-Jun-2009 Christopher Tate <ctate@google.com> am 54118adb: Put back LOGP -> printf in the backup helper code

Merge commit '54118adb3766fdf73a409102b88d7494bb6889a3'

* commit '54118adb3766fdf73a409102b88d7494bb6889a3':
Put back LOGP -> printf in the backup helper code
5a35e220c5bfa5458c72498a899c86819d36d1a2 25-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 0e034e5a: Merge change 5162 into donut

Merge commit '0e034e5a9a71e5e196baff630dca796a0e3ed3e2'

* commit '0e034e5a9a71e5e196baff630dca796a0e3ed3e2':
Preserve file access mode when backing up / restoring files
bd95c1d3af82e329ada195876348383b7859ce85 24-Jun-2009 Christopher Tate <ctate@google.com> Only report "unknown metadata" once per restore helper

Also removes the auto-free object, replacing it with direct memory manipulation.
tils/BackupHelpers.cpp
de5b60b06254748e4593d6095277da45e44acf80 24-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am eaa89f74: Merge change 5172 into donut

Merge commit 'eaa89f74c04c0f10d5f3f8190b457087537bff2e'

* commit 'eaa89f74c04c0f10d5f3f8190b457087537bff2e':
Remove deprecated callback function support.
e193f7cd9eded002b5a74b8823be704c020be536 24-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 3d7b8d1a: Merge change 5158 into donut

Merge commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282'

* commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282':
Use a ref-counted callback interface for Camera.
6441a76b2ed24eddcadc6a0763dd674c3aa38c46 24-Jun-2009 Christopher Tate <ctate@google.com> Put back LOGP -> printf in the backup helper code
tils/BackupHelpers.cpp
8068d16df69034d917f201f8c4ca20c47fb4e3d2 24-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 5162 into donut

* changes:
Preserve file access mode when backing up / restoring files
dc76f7bfa10a037ea0cc0f253022d8de7eefc691 24-Jun-2009 Dave Sparks <davidsparks@android.com> Remove deprecated callback function support.
This is the last of a 3-part change to modify the camera to use
a more streamlined callback interface. This change removes the
old code.
Bug 1884362
i/Camera.cpp
bbbc7cb77efba3dd46e9d13fc22e81cff17c35d2 24-Jun-2009 Dave Sparks <davidsparks@android.com> Use a ref-counted callback interface for Camera.
This allows the camera service to hang onto the callback interface
until all callbacks have been processed. This prevents problems
where pending callbacks in binder worker threads are processed
after the Java camera object and its associated native resources
have been released.
Bug 1884362
i/Camera.cpp
2e123245811a1f31c080a29728fcc1655045f011 24-Jun-2009 Mathias Agopian <mathias@google.com> fix a bug causing push-buffer surfaces' identity to be garbage, which resulted in some attributes (size/pos) to fail to be set
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
1fed11c86a9d59d0f5282ae8ae25ceba2f802fdd 24-Jun-2009 Mathias Agopian <mathias@google.com> checkpoint. bring back video/camera
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
5c2882b25c5f50ad5fe0dd658e4076b0c857dddc 24-Jun-2009 Christopher Tate <ctate@google.com> Preserve file access mode when backing up / restoring files

This change adds a fixed-size metadata block at the head of each file's content
entity. The block is versioned, and fixed-size on the theory that it might be
nice to be able to recover the content (if not the full metadata) of the files
if we're ever confronted with data backed up some hypothetical future helper
that stored expanded metadata.

The net effect is that now on restore, we assign the same access mode to the
file that it originally had when backed up.

Also, some of the code was failing to properly free transient heap-based buffers
when it encountered errors. This has been fixed with the addition of a tiny
stack-based object whose job it is to free() its designated pointer from its
destructor.
tils/BackupHelpers.cpp
2d1db86e4587a919742c2f18223f7cf408263f7d 23-Jun-2009 Christopher Tate <ctate@google.com> am 11b15779: Add file mode to the file-backup saved state blobs

Merge commit '11b157790234d3d2f116ce4c7ed1d3d00fb78bc3'

* commit '11b157790234d3d2f116ce4c7ed1d3d00fb78bc3':
Add file mode to the file-backup saved state blobs
ab2e9e81e187d427b22ac969f47900d3de041264 23-Jun-2009 Christopher Tate <ctate@google.com> Add file mode to the file-backup saved state blobs

This change puts the file's access mode into the saved-state blob used by the
file backup helpers. The tests have been updated for the new blob content
format.

What this change *doesn't* do is actually backup/restore the file mode. This
change is a prerequisite for that, but mode preservation in backup/restore will
require adding metadata to the backup data stream itself, so will be approached
a bit more carefully.

(Also fixed one outright bug in the test program: ReadEntityData() had been
changed to return a ssize_t union of either a byte-count or a negative number
indicating error, but the test program was still assuming that nonzero == error,
and was spuriously failing.)
tils/BackupHelpers.cpp
d056f2d08771091b100bed8cb36946dfc421de24 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 72be4049: Merge change 4910 into donut

Merge commit '72be40490951d3f9d0ada16fcf5288d0c3306d88'

* commit '72be40490951d3f9d0ada16fcf5288d0c3306d88':
fix warnings that will show up with GCC 4.4 (in master)
cfb991d1f860e5233d383a40967b252793677469 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4910 into donut

* changes:
fix warnings that will show up with GCC 4.4 (in master)
2a84f2e369e144ff1fbd6eb0867ebaa608bfaf6a 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 856dd8a6: Merge change 4952 into donut

Merge commit '856dd8a60a70a5b7dca2bf2114872ce063e2ad60'

* commit '856dd8a60a70a5b7dca2bf2114872ce063e2ad60':
Helper API cleanup. Allows multiple helpers to function,
9cda3e02c6154422abec1c3215b93cc6bb70d76a 19-Jun-2009 Joe Onorato <joeo@android.com> Helper API cleanup. Allows multiple helpers to function,
because they'll always go in the same order, and this lets
us not have to write headers to keep them paired.
tils/BackupData.cpp
52ed26a78b77e559555622a006f888a70cd84a0a 22-Jun-2009 Mathias Agopian <mathias@google.com> fix warnings that will show up with GCC 4.4 (in master)
tils/ResourceTypes.cpp
cca6b4267d2e3910b9808aa45e69206e06ef353e 20-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
f9d932774e06d5122c48b47d8cabd791783f56d2 20-Jun-2009 Mathias Agopian <mathias@google.com> fix a memory corruption where a SF Client could be used after it's been destroyed
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
03428fcc8bfb43968f9e9cbd3c6c1fd23290439b 20-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 1585bd24: Merge change 4828 into donut

Merge commit '1585bd24c10d16351f89e32dddbfa799f18db6bd'

* commit '1585bd24c10d16351f89e32dddbfa799f18db6bd':
Report densities in badging, debugging for nine patch bug.
cd8c5e29c245e55a5f648b7a10f8586baf64e622 20-Jun-2009 Mathias Agopian <mathias@google.com> release the last reference to surfaces explicitely instead of letting it go implicitely when the message is destroyed
urfaceflinger/SurfaceFlinger.cpp
be1bc0a1f969dd874d4a4d10c70f8d585b21a214 20-Jun-2009 Dianne Hackborn <hackbod@google.com> Report densities in badging, debugging for nine patch bug.

The aapt tool now reports all available densities like it already did
for locales. Also this includes more resource data output, which I
was using to examine bug #1867049 (which at this point I am unable to
reproduce).
tils/ResourceTypes.cpp
05915a4d9d4a9ffc9a8fe36a3079762ca7b847d5 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am c6282977: Merge change 4718 into donut

Merge commit 'c6282977180c220b1a68c23a328e7d75a11963ab'

* commit 'c6282977180c220b1a68c23a328e7d75a11963ab':
Fix sim-eng build and simplify previous lcd-density related patch
ae71accf63add81ec3d3cd0269536c24db112cab 19-Jun-2009 David 'Digit' Turner <digit@google.com> Fix sim-eng build and simplify previous lcd-density related patch
urfaceflinger/DisplayHardware/DisplayHardware.cpp
4910dc62561c90c75d953a04f75b31f16e0c0e9c 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 5502f04c: Merge change 4709 into donut

Merge commit '5502f04c1dcf2b1918858bacb99fb0480a711707'

* commit '5502f04c1dcf2b1918858bacb99fb0480a711707':
backup stuff
0388b513418f0e1eb45bcb554f866e160cd475da 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 16ce3504: Merge change 4708 into donut

Merge commit '16ce3504c5bf98d95d5c36001f755bb4b15253c9'

* commit '16ce3504c5bf98d95d5c36001f755bb4b15253c9':
Make RestoreHelper and friends also write out the snapshot state.
945ebbfd3dc07c7168602a1603eeb76ea7425376 19-Jun-2009 Mathias Agopian <mathias@google.com> implement dimming with a texture on msm7k so it uses copybit
urfaceflinger/Android.mk
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/SurfaceFlinger.h
6bda7fd5564a1a88daef7a00890b3eaa191b8854 19-Jun-2009 Joe Onorato <joeo@android.com> backup stuff
tils/BackupData.cpp
tils/BackupHelpers.cpp
da1430be269b2b20920b6cb27616f54e2b83a973 18-Jun-2009 Joe Onorato <joeo@android.com> Make RestoreHelper and friends also write out the snapshot state.
tils/BackupHelpers.cpp
e2095d0a1c4cf65562213bc54eb880cd6dd8c82a 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am b1cdb648: Merge change 4565 into donut

Merge commit 'b1cdb64877ebd3b8c5182913ff02edd8b54a6982'

* commit 'b1cdb64877ebd3b8c5182913ff02edd8b54a6982':
Allow the qemu.sf.lcd_density property to override the value of ro.sf.lcd_density
bcb14286cc3f38701b0a28991694e4bbdaff10fc 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 4565 into donut

* changes:
Allow the qemu.sf.lcd_density property to override the value of ro.sf.lcd_density
694e10ba8778dbb3cda9abe106f73ec0f45c8800 18-Jun-2009 David 'Digit' Turner <digit@google.com> Allow the qemu.sf.lcd_density property to override the value of ro.sf.lcd_density

ro.sf.lcd_density is usually defined in the build.prop file which is parsed by init
before anything else. Since its name begins with "ro.", this property is write-once
and cannot later be modified, e.g. in /system/etc/init.goldfish.sh.

In other words, you cannot use "emulator -prop ro.sf.lcd_density=<value>", since
it is impossible to override the value defined in build.prop

This patch modifies the system to recognize "qemu.sf.lcd_density" as an override
value, which can be set with "emulator -prop qemu.sf.lcd_density=<value>", forcing
a specific density.

A later patch will allow the emulator to automatically set this property depending
on AVD hardware configuration settings.
urfaceflinger/DisplayHardware/DisplayHardware.cpp
00ea06792b76f30b7e1ee450f0915edb5df75e42 18-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am de72697b: Merge change 4524 into donut

Merge commit 'de72697b771d33738c5f9d6c28087504e0796622'

* commit 'de72697b771d33738c5f9d6c28087504e0796622':
FileRestoreHelper and RestoreHelperDispatcher work.
f509f669cfde367b4591b027d95512accbd2ccef 18-Jun-2009 Joe Onorato <joeo@android.com> FileRestoreHelper and RestoreHelperDispatcher work.
tils/BackupData.cpp
f757bd07108267d37a7944353d2cf2a40d68e115 18-Jun-2009 Joe Onorato <joeo@android.com> am 5f15d151: checkpoint BackupDatAInput / RestoreHelper

Merge commit '5f15d151b5101fadfe6cba1e8f4aa6367e8c603e'

* commit '5f15d151b5101fadfe6cba1e8f4aa6367e8c603e':
checkpoint BackupDatAInput / RestoreHelper
03aa8d7d04428b9c7981f9bada5acf1e808b0056 16-Jun-2009 Joe Onorato <joeo@android.com> checkpoint BackupDatAInput / RestoreHelper
tils/BackupData.cpp
tils/BackupHelpers.cpp
b6822d7a3ea86b729a8c716a5fc9ad7a02532bfe 16-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
375f56363a8737119ce2222dcfaacbe1cf733fc0 16-Jun-2009 Mathias Agopian <mathias@google.com> new Permission class used to improve permission checks speed (by caching results)
inder/Android.mk
inder/IServiceManager.cpp
inder/Permission.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
fcb97fcc43844d53a7d9e986dcb35119a72ca431 15-Jun-2009 Christopher Tate <ctate@google.com> am 2fdd428e: Fix some backup reader/writer issues; make local transport do backup

Merge commit '2fdd428e0f18384160f7c38ce3a2cd9ba7e7b2c2'

* commit '2fdd428e0f18384160f7c38ce3a2cd9ba7e7b2c2':
Fix some backup reader/writer issues; make local transport do backup
Fix the jni initializer.
Add RestoreFileHelper, BackupDataInput, and add java wrappers for the methods on BackupDataOutput.
Fix bug #1812041: activity manager crash with bad args.
Journal backup requests so that they won't be lost in a crash
Fix data connection issues.
7bdc440894ead2dc3f0eafee903782c9eb584ecd 12-Jun-2009 Joe Onorato <joeo@android.com> Add RestoreFileHelper, BackupDataInput, and add java wrappers for the methods on BackupDataOutput.
tils/BackupData.cpp
a08c7b6759075c3076e6f2c52df71dd7da894c15 12-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 78f0f8cb: Merge changes 3953,3954 into donut

Merge commit '78f0f8cb2efe9410127c39201e240f6d438eb53c'

* commit '78f0f8cb2efe9410127c39201e240f6d438eb53c':
Make the file backup helper not crash if a file you requested
Fix SharedPrefsBackupHelper so it doesn't hard code the paths to the files.
5e78e0965169790111f01354e78b0f8d34c94840 12-Jun-2009 Mathias Agopian <mathias@google.com> protect ANDROID specific egl extension with #define
urfaceflinger/DisplayHardware/DisplayHardware.cpp
1a9e19a73e12f5e4891557de64cab5b9b7ae1ac5 11-Jun-2009 Joe Onorato <joeo@android.com> Make the file backup helper not crash if a file you requested
can't be stated. This means you don't need to know if the files
you are backing up exist or not -- we'll figure it out for you.
tils/BackupHelpers.cpp
0ad6120dadc1665f394e73330d30e949066c77e1 11-Jun-2009 Joe Onorato <joeo@android.com> Fix SharedPrefsBackupHelper so it doesn't hard code the paths to the files.

This took quite a bit of refactoring.
tils/BackupHelpers.cpp
e3408b8e029f575e2edfce4a30decdc5db473d37 06-May-2009 Jaikumar Ganesh <jaikumar@google.com> Framework changes for bluez4.

Changes in the Bluetooth JNI calls and framework functions
for Bluez4.
udioflinger/Android.mk
1a0c4cd5d83facd9653c45db1d2b9725c2e060b0 06-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
4fcd9c700368f08117aa1e2264f56eeb6b8af832 06-Jun-2009 Mathias Agopian <mathias@google.com> get rid of LogSocket which wasn't even implemented (enabled)
tils/Android.mk
tils/LogSocket.cpp
7e83f043d9c7afc42b632aa9567ecc17e901068c 05-Jun-2009 Mathias Agopian <mathias@google.com> break dependency on utils/ZipEntry.h and utils/ZipFile.h, get rid of inet_address.h and Socket.h which were not used
tils/Android.mk
tils/InetAddress.cpp
tils/Socket.cpp
tils/ZipEntry.cpp
tils/ZipFile.cpp
c5992f071d1a0c89db0ff78dfca7bc81b9265fc3 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 3284

* changes:
rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file.
861aa2f0c9136298380496bd78d6a18e69331c53 05-Jun-2009 Mathias Agopian <mathias@google.com> rename string_array.h to StringArray.h and move the implementation from the header file to a new cpp file.

StringArray is used in two places in framework/base and in the Sim. Ideally we should get rid of it and use Vector<String8> instead of creating new code.
tils/Android.mk
tils/StringArray.cpp
1ba244fb656b452e3e4239e01f117cf8af336158 05-Jun-2009 Christopher Tate <ctate@google.com> am 0032ce80: Fix back_up_files() error detection when opening/CRCing the file

Merge commit '0032ce80ac127e6bfb25d727162eee4af208dc77'

* commit '0032ce80ac127e6bfb25d727162eee4af208dc77':
Fix back_up_files() error detection when opening/CRCing the file
6d2bc14d2420689d9789fadc3058bfc1191a8e72 05-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am 2a318867: Merge change 3203 into donut

Merge commit '2a3188672ab2b65c0ce7c9c598a463e382c47696'

* commit '2a3188672ab2b65c0ce7c9c598a463e382c47696':
rename a few files to camel-case, add copyright notices
3d57964a81cd631d80aa9575647e1ce35b5e82d5 05-Jun-2009 Mathias Agopian <mathias@google.com> fix a bunch of problems with destroying surfaces.

now, all destruction path, go through the purgatory which is emptied when ~ISurface is called, but we also make sure to remove the surface from the current list from there (in case a client forgot to request the destruction explicitely).
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
173e38d47c0c1f2407fe2741700b8bdc3c6035cc 05-Jun-2009 Christopher Tate <ctate@google.com> Fix back_up_files() error detection when opening/CRCing the file
tils/BackupHelpers.cpp
f446ba9dcb7df59f886be2f15d83ed3814a556f7 04-Jun-2009 Mathias Agopian <mathias@google.com> rename a few files to camel-case, add copyright notices
tils/Android.mk
tils/BackupData.cpp
tils/BackupHelpers.cpp
tils/CharacterData.h
tils/Unicode.cpp
tils/ZipEntry.cpp
tils/ZipFile.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/backup_data.cpp
tils/backup_helper_file.cpp
tils/characterData.h
e92c713cb685f78d2041b7ffc89ccb155c992b2d 03-Jun-2009 Mathias Agopian <mathias@google.com> when looking for an EGLConfig always pick the first one that matches, not the last one
urfaceflinger/DisplayHardware/DisplayHardware.cpp
6457359fa5df7869d5881acee80b34dfc760a5bf 01-Jun-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
294423e148c62b413788945be00cedde3cb3acec 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of TimerProbe which is never used
tils/Android.mk
tils/TimerProbe.cpp
1bc9c93faff43eeffe61fc371674159da83f1690 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of sleepForInterval() which didn't seem to be used anywhere in the source tree. Also get rid of ported.h which seem to be used only (possibly) in the sim. moved the implementation there.
tils/Android.mk
tils/Timers.cpp
tils/ported.cpp
e0c322049ab2be291c1fc40f79702543d4e77934 01-Jun-2009 Mathias Agopian <mathias@google.com> get rid of utils.h
i/EventHub.cpp
e839d826804b36b86839cb4c080f2541e9977438 31-May-2009 Mathias Agopian <mathias@google.com> merge master to master_gl
c20e4ebef258f243447b95349bb2664ac0b8013b 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> am b61ae351: Merge change 2747 into donut

Merge commit 'b61ae351256518add7bcb40e0bf18337dd87195c'

* commit 'b61ae351256518add7bcb40e0bf18337dd87195c':
log the geomerty of surfaces causing an out of memory in SurfaceFlinger.
489d3953f01b3d71774dd76fc2dbe985bb0dfa06 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2747 into donut

* changes:
log the geomerty of surfaces causing an out of memory in SurfaceFlinger.
3c4d8c83da33bdd740afd683af42eca1a6bd6500 29-May-2009 Mathias Agopian <mathias@google.com> log the geomerty of surfaces causing an out of memory in SurfaceFlinger.
urfaceflinger/LayerBitmap.cpp
e5eb06d98bc4759e3a248e2ece034cca9d103e28 29-May-2009 Android (Google) Code Review <android-gerrit@google.com> am d9cc7659: Merge change 2706 into donut

Merge commit 'd9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea'

* commit 'd9cc7659fa9b8544e2a3ca7b7040fbd79afdf7ea':
Fix issue 1883666: Audio coming from the music player stopped suddenly
01c4ba35637e1c3fbddcb80ce619345812f23c3f 29-May-2009 Eric Laurent <elaurent@google.com> Fix issue 1883666: Audio coming from the music player stopped suddenly

The problem comes from the code handling the automatic change of audio routing to speaker when notifications are played. The music is also muted while the sound is forced to speaker.
To avoid truncating the end of the notification, a delay is inserted between the end of the notification and the restoration of the audio routing. If a new notification starts during this delay, the current music mute state read and saved before muting music corresponds to the forced mute due to previous notification. When the new notification ends, the mute state restored is muted and music stream stays muted for ever.

The fix consists in reading and saving music mute state only if the audio routing has been restored (check that mForcedRoute is back to 0).
udioflinger/AudioFlinger.cpp
1c4ec71612bae05467fedbbebce37f5330a2b18c 28-May-2009 Mathias Agopian <mathias@google.com> fix typo defining a singleton attrbutes for an object that is not a singleton -- no side effects, but useless
i/Surface.cpp
bed9dd128dfbdc7d9dbca005078536dadc0b9359 28-May-2009 Mathias Agopian <mathias@google.com> make sure the Region code disallows constructs like "(a+b)=c;", which is somewhat meaningless.
i/Region.cpp
da416411e0598adbf180c187eb0c2bc08a4df283 28-May-2009 Andy McFadden <fadden@android.com> Sim-only files move, part 2/2.

Move Pipe and executablepath from libutils to the simulator, since nothing
else uses them.
tils/Android.mk
tils/Pipe.cpp
tils/executablepath_darwin.cpp
tils/executablepath_linux.cpp
723ec00af46d1f95d69fe5af53e0a5d09f01a7d6 27-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
include/ui/Rect.h
libs/ui/ISurfaceComposer.cpp
2787dddcd0a814aa4a90b9e8cc72c9c258c94854 27-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 0c0ad39c: Merge change 2502 into donut

Merge commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0'

* commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0':
minor clean-up to Rect and Point.
35801cea5f301c0e1d7a93b15a8f73f98e6b1033 27-May-2009 Mathias Agopian <mathias@google.com> minor clean-up to Rect and Point.

- return "const" objects for overloaded operators to disallow constructs like: (a+b) = c;
- don't return references to non-static members, it's not always safe.
- Point.cpp was empty, so get rid of it
i/Android.mk
i/Point.cpp
i/Rect.cpp
83c0446f27b9542d6c2e724817b2b2d8d1f55085 23-May-2009 Mathias Agopian <mathias@google.com> some work to try to reduce the code size of some native libraries

- make sure that all binder Bn classes define a ctor and dtor in their respective library.
This avoids duplication of the ctor/dtor in libraries where these objects are instantiated.
This is also cleaner, should we want these ctor/dtor to do something one day.

- same change as above for some Bp classes and various other non-binder classes

- moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere.

- improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere

- IBinder::getInterfaceDescriptor() now returns a "const String16&" instead of String16, which saves calls to String16 and ~String16

- implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called.
The cache makes BpBinder bigger, so we need to figure out if we need this method at all.
inder/Binder.cpp
inder/BpBinder.cpp
inder/IInterface.cpp
inder/IMemory.cpp
inder/IPermissionController.cpp
inder/IServiceManager.cpp
inder/MemoryDealer.cpp
inder/MemoryHeapPmem.cpp
inder/Parcel.cpp
i/ICamera.cpp
i/ICameraClient.cpp
i/ICameraService.cpp
i/IOverlay.cpp
i/ISurface.cpp
i/ISurfaceComposer.cpp
i/ISurfaceFlingerClient.cpp
tils/CallStack.cpp
tils/TextOutput.cpp
a26299d276452ccf04f9b9625eadc49c0bf1650b 26-May-2009 Android (Google) Code Review <android-gerrit@google.com> am de8268d6: Merge change 2331 into donut

Merge commit 'de8268d6d1cd168510c490b17e93154d2eab767c'

* commit 'de8268d6d1cd168510c490b17e93154d2eab767c':
Fix issue 1846343 - part 1
570dd0b4da533032ba4ec6214eeebb1c90f6d512 22-May-2009 Eric Laurent <elaurent@google.com> Fix issue 1846343 - part 1

This change is the first part of a fix for issue 1846343, :
- Added new enum values for input sources in AudioRecord and MediaRecorder for voice uplink, downlink and uplink+downlink sources.
- renamed streamType to inputSource in all native functions handling audio record.

A second change is required in opencore author driver and android audio input to completely fix the issue.
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareStub.cpp
0180a05fda0bee586d031942a80076feeff27171 23-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 04561a55: Merge change 2359 into donut

Merge commit '04561a55df693e7bd8d3047ccc4fbef504ac07cf'

* commit '04561a55df693e7bd8d3047ccc4fbef504ac07cf':
Fix for the simultor build breakage.
ca7b80e431fe8c742d396e84722eaf2f6b70a4d8 23-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2359 into donut

* changes:
Fix for the simultor build breakage.
b4c4265f9e532fb18c2d7097b1b2dd82d90f6b99 22-May-2009 Nicolas Catania <niko@google.com> Fix for the simultor build breakage.

Added missing include sys/time.h for utimes.

Detects when stat64 uses a timespec for the modif and access times
and work around the missing st_*time_nsec.

Apologies for the whitespace changes, emacs removed them automatically.
tils/backup_helper_file.cpp
4e97f8c62f3eb3c51343e9f4bbd898992a13903d 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> am d50a458b: Merge change 2351 into donut

Merge commit 'd50a458bb291801ab9fdc119301bc7b84b42a6e3'

* commit 'd50a458bb291801ab9fdc119301bc7b84b42a6e3':
Fix a major bug in Bundle when unparcelling from AIDL.
b6333b34a2d6e265edf2a052646b07c0b1456ab6 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2351 into donut

* changes:
Fix a major bug in Bundle when unparcelling from AIDL.
8af0f82d89b029edf7e104a36a9a6e48a92f9e93 22-May-2009 Dianne Hackborn <hackbod@google.com> Fix a major bug in Bundle when unparcelling from AIDL.

There was a serious problem in the Bundle(Parcel) and readFromParcel() methods,
where it wasn't doing the copying of the Parcel that Parcel.readBundle() does
and is a basic requirement for it to work correctly.

This re-arranges the code to make all of these functions (hopefully) correct.

Also fix a problem in Parcel where we were not duping fds when copying data from
one Parcel to another.
tils/Parcel.cpp
8f9ede0f6daef5bdb7327a17f22a4d4d545395f3 22-May-2009 Marco Nelissen <marcone@google.com> am 7198030f: This should fix the simulator build.

Merge commit '7198030fce4b54820a65a10d54fae18a1ab5df84'

* commit '7198030fce4b54820a65a10d54fae18a1ab5df84':
This should fix the simulator build.
d95aabc9eb117803ee784777fc4ffd22c55ddf43 22-May-2009 Marco Nelissen <marcone@google.com> This should fix the simulator build.
tils/futex_synchro.c
310f8da0c3122ed5419db8f12a6e98d3188325b2 22-May-2009 Mathias Agopian <mathias@google.com> merge master to master_gl
bdbf6b094d61f694f162a5a5279caededcb1f0a5 22-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 69a6c3eb: Merge change 2292 into donut

Merge commit '69a6c3ebd46a8de0e896747757f364322c12608d'

* commit '69a6c3ebd46a8de0e896747757f364322c12608d':
split boot animation out of SurfaceFlinger
a1ecca920e15ce04fe56ebf4f1b52ba711f9eb2d 22-May-2009 Mathias Agopian <mathias@google.com> split boot animation out of SurfaceFlinger

Conflicts:

data/etc/platform.xml
urfaceflinger/Android.mk
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/VRamHeap.cpp
i/ISurfaceFlingerClient.cpp
a47f02afb1e1f2c4abd9379c13903a5dde89d354 22-May-2009 Mathias Agopian <mathias@google.com> change 2115 wasn't merged properly into master. this fixes that.

Merge change 2115 into donut

* changes:
bring the native_handle stuff back from master_gl

Conflicts:

libs/binder/Parcel.cpp
inder/Parcel.cpp
i/Overlay.cpp
53f6f3c7998fca1a7e1eb277d0ee0fc556be3f35 20-May-2009 Mathias Agopian <mathias@google.com> bring the native_handle stuff back from master_gl
i/Overlay.cpp
tils/Parcel.cpp
c5b2c0bf8007562536b822eb060fc54a01f8e08b 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
inder/Binder.cpp
inder/BpBinder.cpp
inder/IDataConnection.cpp
inder/IInterface.cpp
inder/IMemory.cpp
inder/IPCThreadState.cpp
inder/IPermissionController.cpp
inder/IServiceManager.cpp
inder/MemoryBase.cpp
inder/MemoryDealer.cpp
inder/MemoryHeapBase.cpp
inder/MemoryHeapPmem.cpp
inder/Parcel.cpp
inder/ProcessState.cpp
inder/Static.cpp
urfaceflinger/GPUHardware/GPUHardware.cpp
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/LayerOrientationAnimRotate.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/VRamHeap.cpp
urfaceflinger/VRamHeap.h
urfaceflinger/tests/overlays/overlays.cpp
i/Camera.cpp
i/EventHub.cpp
i/ICamera.cpp
i/ICameraService.cpp
i/IOverlay.cpp
i/ISurface.cpp
i/ISurfaceComposer.cpp
i/ISurfaceFlingerClient.cpp
i/LayerState.cpp
i/Overlay.cpp
i/Surface.cpp
i/SurfaceComposerClient.cpp
i/SurfaceFlingerSynchro.cpp
208059f67ed2dd9fa025e07fcb6954d3cb61c79e 19-May-2009 Mathias Agopian <mathias@google.com> checkpoint: split libutils into libutils + libbinder
udioflinger/Android.mk
inder/Android.mk
inder/Binder.cpp
inder/BpBinder.cpp
inder/IDataConnection.cpp
inder/IInterface.cpp
inder/IMemory.cpp
inder/IPCThreadState.cpp
inder/IPermissionController.cpp
inder/IServiceManager.cpp
inder/MemoryBase.cpp
inder/MemoryDealer.cpp
inder/MemoryHeapBase.cpp
inder/MemoryHeapPmem.cpp
inder/Parcel.cpp
inder/ProcessState.cpp
inder/Static.cpp
urfaceflinger/Android.mk
i/Android.mk
tils/Android.mk
tils/Binder.cpp
tils/BpBinder.cpp
tils/IDataConnection.cpp
tils/IInterface.cpp
tils/IMemory.cpp
tils/IPCThreadState.cpp
tils/IPermissionController.cpp
tils/IServiceManager.cpp
tils/MemoryBase.cpp
tils/MemoryDealer.cpp
tils/MemoryHeapBase.cpp
tils/MemoryHeapPmem.cpp
tils/Parcel.cpp
tils/ProcessState.cpp
tils/Static.cpp
416acf8b32e32043908303b56dc3f29d242ab7f4 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am e2914615: Merge change 2099 into donut

Merge commit 'e29146158b6048936671decc060d398a68333fc0'

* commit 'e29146158b6048936671decc060d398a68333fc0':
Hook up the backup data writer, and add a utility to read the backup data files.
473b6e2d2de9f204e020c87b63a4e9b665641f45 19-May-2009 Joe Onorato <joeo@android.com> Hook up the backup data writer, and add a utility to read the backup data files.
tils/backup_data.cpp
tils/backup_helper_file.cpp
8c28eab6e267e3dd36df277a3d0ba314341a148b 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am eb2c314b: Merge change 2042 into donut

Merge commit 'eb2c314b4d31c44af8a27ef51120b33290e65837'

* commit 'eb2c314b4d31c44af8a27ef51120b33290e65837':
Remove deprecated openInputStream factory method
1e26a818e561c3640bf13b6e645077d5b95bb3a9 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am a59aba8c: Merge changes 2023,2036 into donut

Merge commit 'a59aba8cd88b8f98fa4de2a903899bc6ac9f73e8'

* commit 'a59aba8cd88b8f98fa4de2a903899bc6ac9f73e8':
Update more references to openInputStream in support classes.
Modify AudioFlinger to use updated openInputStream factory method.
d0945865cc03d1a31281e97e86c09bada73e7d2d 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am f6382011: Merge change 1998 into donut

Merge commit 'f638201182818f9e4041c6a862a297c6723240c0'

* commit 'f638201182818f9e4041c6a862a297c6723240c0':
Add inputSource to openInputStream
6c41033c47646e72467d523e8526f54c35bba19b 20-May-2009 Dave Sparks <davidsparks@android.com> Remove deprecated openInputStream factory method
udioflinger/A2dpAudioInterface.h
udioflinger/AudioDumpInterface.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
6554773d629a474df613946847a0225dca486155 20-May-2009 Dave Sparks <davidsparks@android.com> Update more references to openInputStream in support classes.
Continuation of bug 1846343
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/AudioDumpInterface.h
0e06d21a227a0991474b572e4416f14e98118c6c 20-May-2009 Dave Sparks <davidsparks@android.com> Modify AudioFlinger to use updated openInputStream factory method.
Continuation of bug 1846343
udioflinger/AudioFlinger.cpp
a5a11d47e9cfec8b504e625aa5c3eb0db96854f5 19-May-2009 Dave Sparks <davidsparks@android.com> Add inputSource to openInputStream
Continuation of bug 1846343
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
00875599646db9b32ddce85db3844e21071b0548 19-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 656a2726: Merge change 1910 into donut

Merge commit '656a2726ad977be194c3b8f4bf4ec3068bf3e1c9'

* commit '656a2726ad977be194c3b8f4bf4ec3068bf3e1c9':
Update aapt badging for native code, configs, density, etc.
7a5798596271cfe43a2cb8383ba9abda55ea9a7f 19-May-2009 Dianne Hackborn <hackbod@google.com> Update aapt badging for native code, configs, density, etc.
tils/AssetManager.cpp
20f68782a4ea71c6a977d7f87d8288d3daa265ec 11-May-2009 Mathias Agopian <mathias@google.com> Region now has its own implementation instead of relying on SkRegion, which allows us to break libui's dependency on libcorecg.
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerDim.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/Transform.cpp
i/Android.mk
i/Region.cpp
i/Surface.cpp
i/tests/Android.mk
i/tests/region.cpp
5e3877f43fe6d8d33f70b4e9d2f39f77347cf151 16-May-2009 Android (Google) Code Review <android-gerrit@google.com> am e85bb9eb: Merge change 1823 into donut

Merge commit 'e85bb9ebcce85b8c7a0e0ccb5116cd25bf684727'

* commit 'e85bb9ebcce85b8c7a0e0ccb5116cd25bf684727':
Add the backup data file writer C++ class.
ac2dda7e0e99917f40a771a92390f73a5da7c89e 16-May-2009 Mathias Agopian <mathias@google.com> Merge branch '2514' into merge_master
d502f05c6b355a0520781e6609dc8a2a5ce89f9e 16-May-2009 Joe Onorato <joeo@android.com> Add the backup data file writer C++ class.
tils/backup_data.cpp
tils/backup_helper_file.cpp
26a87a8e823221d8b12a7af0f8f22305ef02c787 15-May-2009 Joe Onorato <joeo@android.com> am 4535e405: Implement the C++ class to write the backed up file data.

Merge commit '4535e40544aeb957d44fad75fbe5676effe03689'

* commit '4535e40544aeb957d44fad75fbe5676effe03689':
Implement the C++ class to write the backed up file data.
8d626d6a48871fdb62b8adeea98e1299eca61184 15-May-2009 Joe Onorato <joeo@android.com> Implement the C++ class to write the backed up file data.
tils/Android.mk
tils/backup_data.cpp
tils/backup_helper_file.cpp
tils/file_backup_helper.cpp
d717598616910b5454b56429dec3bfad2757bd52 15-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
opengl/libagl/Android.mk
opengl/libs/Android.mk
opengl/libs/egl_impl.h
1d0ec01729f23e991243acf1b481f8cd9b7d27ef 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am aa642c0c: Merge changes 1591,1596 into donut

Merge commit 'aa642c0cc20293137376d44f8221876c121e5be9'

* commit 'aa642c0cc20293137376d44f8221876c121e5be9':
Get the backup calling through to the file backup helper.
Fix typos.
Add a new feature to android.os.Debug to add the ability to inject only specific fields when calling setFieldsOn().
Fixes #1836075. Adds consistency checks for the View hierarchy. To enable them, you need a debug build and ViewDebug.sConsistencyCheckEnabled set to true in debug.prop. This change also lets you easily enable drawing and layout profiling in ViewRoot by setting ViewRoot.sProfileDrawing, ViewRoot.sProfileLayout and ViewRoot.sShowFps in debug.prop with a debug build.
Add Intent.ACTION_APP_ERROR
c7bbc69ed501a7d194c1cbb9c41e2681d3004bd9 14-May-2009 Joe Onorato <joeo@android.com> Get the backup calling through to the file backup helper.

This includes some cleanup to make the parameters match
between BackupService.onBackup and FileBackupHelper.performBackup.
tils/file_backup_helper.cpp
fa1df1c64490212001737afc205854a6b2e55a35 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 3022a11: Merge change 1239 into donut

Merge commit '3022a11c4c41afa9d39b4d0d9abd7e6bcb6b8472'

* commit '3022a11c4c41afa9d39b4d0d9abd7e6bcb6b8472':
Modify camera framework to use new streamlined binder interface.
93b94584edb1c59037319d9bbf84881ccff9f66a 08-May-2009 Dave Sparks <davidsparks@android.com> Modify camera framework to use new streamlined binder interface.
This is the second half of bug 1837832. Modifies the camera client
and camera service to use the new binder interface. Removes the
old binder interface. There will be one more part to this change
to surface the undefined callbacks to the Java layer so that
partners can implement new features without having to touch the
stack.
i/Camera.cpp
i/ICameraClient.cpp
5958661507b39cd59e68e9bc2b54399af92847c4 08-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
2a98fb9fb1eda1f18cf1555634a7c33f3147234c 06-May-2009 Joe Onorato <joeo@android.com> fix the sim build. disables the tests for now.
tils/file_backup_helper.cpp
031af5ad8642782876630984b7cb29a548fec180 08-May-2009 The Android Open Source Project <initial-contribution@android.com> am 3fd7e13: Merge branch \'donut\' of ssh://android-git.corp.google.com:29

Merge commit '3fd7e13960c2763225c5c8bc187bd15da04820dd'

* commit '3fd7e13960c2763225c5c8bc187bd15da04820dd':
Add new binder methods to camera client to support generic callbacks
15e3747012fb2dc1b2656b0c7c8812c5bc3c6e31 08-May-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
1e16b13857809eaa9bd17fb60ac0a471dc92844b 08-May-2009 Mathias Agopian <mathias@google.com> add support for update-on-demand in SurfaceFlinger
urfaceflinger/DisplayHardware/DisplayHardware.cpp
i/FramebufferNativeWindow.cpp
e6bf8b32b616450f80b64d226ea673f4a2e0bf8d 07-May-2009 Mathias Agopian <mathias@google.com> fix EGL extension string names
urfaceflinger/DisplayHardware/DisplayHardware.cpp
df3ca30bf663cb8eed88ee3f16fb5e9a65dc00fc 05-May-2009 Mathias Agopian <mathias@google.com> created an new EGL extension called ANDROID_swap_rectangle

ANDROID_swap_rectangle allows to specify the rectangle affected by eglSwapBuffers(), anything outside of this rectangle is unchanged. in particular EGL_BUFFER_DESTROYED only applies to that rectangle. This extension as well as EGL_BUFFER_PRESERVED allow major optimizations on surfaceflinger, which can redraw only the dirty area during compositing.

However, ANDROID_swap_rectangle allows further optimizations in EGL by reducing the amount of copy-back needed. ANDROID_swap_rectangle is particularily important for software implementations.
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/SurfaceFlinger.cpp
9b35233ea511eab24aa15de5dc2e94b6f8ed081d 07-May-2009 Dave Sparks <davidsparks@android.com> Add new binder methods to camera client to support generic callbacks
This is the first step in a multi-step change to move from the old
specific callbacks to a generic callback. This will allow future
flexibility in the interface without requiring binder rewrites.
Bug 1837832
i/Camera.cpp
i/ICameraClient.cpp
081b070f6ffc938ec1582916edf3e019eac36ebf 06-May-2009 Joe Onorato <joeo@android.com> fix the sim build. disables the tests for now.
tils/file_backup_helper.cpp
a1bc294cf4dd8dd504e4a47dda60b02d58e17d7b 06-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 4488b11: Merge change 1039 into donut

Merge commit '4488b11c51ad8f5b8330279a9405e5a0f8586aa4'

* commit '4488b11c51ad8f5b8330279a9405e5a0f8586aa4':
Add some C++ code to do raw files for backup
aa8c0ff7a36b4840dcf3e72c9696b86d192c4314 06-May-2009 Mathias Agopian <mathias@google.com> get rid off unneeded flags
i/FramebufferNativeWindow.cpp
58a79f47457e9cae2f6880653b581fe3170b0b1f 06-May-2009 Mathias Agopian <mathias@google.com> move android_native_buffer_t declaration into its own private/ui/android_native_priv.h header, since user code should never have access to it.
i/FramebufferNativeWindow.cpp
7189c0054e29a66d945f5657c48d5ecf538ea511 06-May-2009 Mathias Agopian <mathias@google.com> move opengl/include/EGL/android_natives.h to include/ui/egl/android_natives.h and don't include it from egl.h

the android_native_ types are just forward declared in egl.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/LayerBitmap.h
i/BufferMapper.cpp
i/FramebufferNativeWindow.cpp
i/ISurface.cpp
i/Surface.cpp
0c4863b2669867cfc76ea9b50ea3f9b1fecfb9a4 05-May-2009 Joe Onorato <joeo@android.com> Add some C++ code to do raw files for backup
tils/Android.mk
tils/file_backup_helper.cpp
21c59d0070fe24a8e04e52ce04d511a924a9932f 05-May-2009 Mathias Agopian <mathias@google.com> get rid of android_native_buffer_t::getHandle() and replace it with an handle field

this abstraction was not necessary. things are easier now.
i/Surface.cpp
e71212ba5397387100a578d23b15862518a7a859 05-May-2009 Mathias Agopian <mathias@google.com> removed the "bits" attribute from android_native_buffer_t.

"bits" can never be trusted now that we need to call lock() on the handle to get the virtual address of the buffer.
urfaceflinger/LayerBitmap.cpp
i/Surface.cpp
b2dd686d06a608ee40285b93bc0217cf26c2b035 05-May-2009 Mathias Agopian <mathias@google.com> minor clean-up in FramebufferNativeWindow
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
i/FramebufferNativeWindow.cpp
0926f50664c739eaee60341f8e8c694dc9a4f3eb 04-May-2009 Mathias Agopian <mathias@google.com> update surfaceflinger, libui and libagl to the new gralloc api

- Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually.
- factor all the lock/unlock code in SurfaceBuffer.
- fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers().
- improved the situation with the dirty-region and fixed a problem that caused GL apps to not update.
- make use of LightRefBase() where needed, instead of duplicating its implementation
- add LightRefBase::getStrongCount()
- renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp

- disabled copybits test, since it clashes with the new gralloc api

- Camera/Video will be fixed later when we rework the overlay apis
urfaceflinger/Android.mk
urfaceflinger/BootAnimation.cpp
urfaceflinger/BufferAllocator.cpp
urfaceflinger/BufferAllocator.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/purgatory/LayerOrientationAnim.cpp
urfaceflinger/purgatory/LayerOrientationAnim.h
urfaceflinger/purgatory/LayerOrientationAnimRotate.cpp
urfaceflinger/purgatory/LayerOrientationAnimRotate.h
urfaceflinger/purgatory/OrientationAnimation.cpp
urfaceflinger/purgatory/OrientationAnimation.h
i/Android.mk
i/BufferMapper.cpp
i/EGLNativeWindowSurface.cpp
i/FramebufferNativeWindow.cpp
i/Region.cpp
i/Surface.cpp
7be3e5d2d8101a8f5e12bbdf650431a734f88eba 30-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master

Conflicts:
libs/surfaceflinger/Layer.cpp
libs/surfaceflinger/SurfaceFlinger.cpp
opengl/libagl/egl.cpp
opengl/libs/EGL/egl.cpp
opengl/libs/GLES_CM/gl.cpp
opengl/libs/GLES_CM/gl_api.in
opengl/libs/gl_entries.in
opengl/libs/tools/glapigen
3f54b2ae7ee5248aa87749f151130af5480e043c 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 0124a15: Merge change 626 into donut

Merge commit '0124a150157d69a9f0ea109be2390afb5399b8a7'

* commit '0124a150157d69a9f0ea109be2390afb5399b8a7':
fix 1803886 android15 Translucent GLSurfaceView demo does not display properly
7f0d4f52ea5728972944bc1565432c7cb90a1e7e 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 17f213b: Merge change 602 into donut

Merge commit '17f213bc528cf296e133e9ec9c9e0ce5dce41781'

* commit '17f213bc528cf296e133e9ec9c9e0ce5dce41781':
Bug fix(1807910): media recorder crash due to the use of locked camera object (last part)
abbab9ba2fda075b6038a1699a93c2c869e24ee7 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 0a9b5bb: Merge change 509 into donut

Merge commit '0a9b5bbb47a965238ca0e1e699d61d7ddd054742'

* commit '0a9b5bbb47a965238ca0e1e699d61d7ddd054742':
Fix a media server crash (bug 1807910): part one
e54a9e05f9de902ffd6d83a4c9b377379e6e3def 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 9c56513: Merge change 165 into donut

Merge commit '9c5651390056cd9c2f68d5df057739528bd4128b'

* commit '9c5651390056cd9c2f68d5df057739528bd4128b':
Squashed commit of the following:
b6683b58a8cd97e6d527a355bee7ffe9cf8fd6e7 28-Apr-2009 Mathias Agopian <mathias@google.com> make use of the perfectly fine List.h instead of our own reimplementation of a linked list.
urfaceflinger/MessageQueue.cpp
urfaceflinger/MessageQueue.h
urfaceflinger/SurfaceFlinger.cpp
2b42fa7fddafdfe27732813d79ca47a409a3b9c1 28-Apr-2009 Mathias Agopian <mathias@google.com> fix 1803886 android15 Translucent GLSurfaceView demo does not display properly
urfaceflinger/GPUHardware/GPUHardware.cpp
urfaceflinger/Layer.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/VRamHeap.cpp
d2dc9ac87bbdbbe465a0a07b63843282fb28eee7 27-Apr-2009 James Dong <jdong@google.com> Bug fix(1807910): media recorder crash due to the use of locked camera object (last part)
- remove an unused Camera constructor
- add a check on the argument in Camera::create() method
i/Camera.cpp
550b79f4491909b0f223d8fb25155974f53b3f79 23-Apr-2009 Mathias Agopian <mathias@google.com> get rid of an old hack to work around a bug around glDeleteTextures() in the adreno drivers
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/SurfaceFlinger.cpp
cbc93ca8005d0a885d54b9a13c18ea07220feedf 22-Apr-2009 Mathias Agopian <mathias@google.com> get rid of the "show fps" debug option
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
0aa758d64ac530833ce9a311b164c9175a7a054c 23-Apr-2009 Mathias Agopian <mathias@google.com> Surfaces are now destroyed properly in SurfaceFlinger.

First, the window manager tells us when a surface is no longer needed. At this point, several things happen:
- the surface is removed from the active/visible list
- it is added to a purgatory list, where it waits for all clients to release their reference
- it destroys all data/state that can be spared

Later, when all clients are done, the remains of the Surface are disposed off: it is removed from the purgatory and destroyed.
In particular its gralloc buffers are destroyed at that point (when we're sure nobody is using them anymore).
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.h
urfaceflinger/MessageQueue.h
urfaceflinger/SurfaceFlinger.cpp
f1d8e87b09abf963cd5b6a026194c1940fadb7b4 21-Apr-2009 Mathias Agopian <mathias@google.com> a brand new MessageQueue for SurfaceFlinger.
urfaceflinger/Android.mk
urfaceflinger/MessageQueue.cpp
urfaceflinger/MessageQueue.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/SurfaceFlingerSynchro.cpp
9a11206fe793363c0e8897b478cbe6ef8c52b543 18-Apr-2009 Mathias Agopian <mathias@google.com> more Surface lifetime management

Surfaces are now destroyed once all references from the clients are gone, but they go through a partial destruction as soon as the window manager requests it.
This last part is still buggy. see comments in SurfaceFlinger::destroySurface()
urfaceflinger/BootAnimation.cpp
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
9f88afb013a7560bf1362d7999a4609e38d0ea77 17-Apr-2009 Mathias Agopian <mathias@google.com> Squashed commit of the following:

commit e5c24638f98162c3b75b4c67a16b510d38e31341
Author: Mathias Agopian <mathias@google.com>
Date: Fri Apr 17 14:09:03 2009 -0700

oops forgot this file.

commit 282642632d0cb12882eecf42e0fdfb2343275de1
Author: Mathias Agopian <mathias@google.com>
Date: Fri Apr 17 14:07:32 2009 -0700

use a helper macro for creating Singleton<>'s static attributes instances.
urfaceflinger/BufferAllocator.cpp
i/BufferMapper.cpp
i/Surface.cpp
f35e00c9cf82b45152031fdc743b60af5742bad4 24-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into merge_master
972d985b7f72f870a11ce3ae46ed9a26162f4064 24-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 509 into donut

* changes:
Fix a media server crash (bug 1807910): part one Add a factory method that creates a Camera object from a remote client
f1a5314076248a352915ae1a987725ae76cc8a22 23-Apr-2009 James Dong <jdong@google.com> Fix a media server crash (bug 1807910): part one
Add a factory method that creates a Camera object from a remote client

Next:
The changes in authordriver.cpp and android_camera_input.cpp will come.
and the constructor for Camera object will be removed.
i/Camera.cpp
2bcce3696e2fbb2f54f9e0fd18c40a83b2ba11fc 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
fd392958eac8813575c29aa733a5a1ec4f655279 22-Apr-2009 Robert Greenwalt <robdroid@android.com> Squashed commit of the following:

commit 012b56fc607cf243cf4b29cb2a5f172bcbe0aecd
Author: Robert Greenwalt <robdroid@android.com>
Date: Wed Apr 22 14:31:26 2009 -0700

Additional fixes and tests for density.

commit 91fdc8e187551ae69e0029a4325fb3ad38fe411b
Author: Robert Greenwalt <robdroid@android.com>
Date: Tue Apr 14 14:39:00 2009 -0700

Fix runtime resource selection logic.

Fix isBetterThan so that o or this may be supperior at any stage.
Used to only handle this-better or tie at each stage, biasing against o.
Also allows reset of unit test to succeed. Fixes bug 1709202.
tils/ResourceTypes.cpp
4dd495b72cbe8cf8df03f862e8e600ac14fdf30d 21-Apr-2009 Eric Laurent <elaurent@google.com> Fix issue 1745312: Various cleanups in media framework

AudioTrack, AudioRecord:
- remove useless mAudioFlinger member of AudioTrack and AudioRecord.
- signal cblk.cv condition in stop() method to speed up stop completion.
- extend wait condition timeout in obtainBuffer() when waitCount is -1 to avoid waking up callback thread unnecessarily

AudioFlinger:
- remove some warnings in AudioFlinger.cpp.
- remove function AudioFlinger::MixerThread::removetrack_l() as its content is never executed.
- remove useless call to setMasterVolume in AudioFlinger::handleForcedSpeakerRoute().
- Offset VOICE_CALL stream volume to reflect actual volume that is never 0 in hardware (this fix has been made in the open source): 0.01 + v * 0.99.

AudioSystem.java:
- correct typo in comment

IAudioflinger, IAudioFlingerClient:
- make AudioFlinger binder interfaces used for callbacks ONEWAY.

AudioHardwareInterface:
- correct routeStrings[] table in AudioHardwareInteface.cpp
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareInterface.cpp
4ab7abd7963f837c39e743ebe6bac1d351a56394 20-Apr-2009 Marco Nelissen <> Merge branch 'readonly-p4-master'
760b67af397f416e2c463855d376df2a0b2d95bf 20-Apr-2009 Marco Nelissen <> AI 146964: tabs -> spaces

Automated import of CL 146964
tils/ZipFile.cpp
18d8446fe1596cd50561777e1d1a8c7b39c689f6 17-Apr-2009 Mathias Agopian <mathias@google.com> cleanup, remove unused fields. Also make sure that we don't systematically allocate a Surface in Surface.java if only a SurfaceControl is needed (Common case).
i/Surface.cpp
01b766839e06c32540cef100e3a7710d12cf1eef 17-Apr-2009 Mathias Agopian <mathias@google.com> more splitting of Surface/SurfaceControl. Surface.java is now implemented in terms of Surface and SurfaceControl.

The WindowManager side of Surface.java holds a SurfaceControl, while the client-side holds a Surface. When the client is in the system process, Surface.java holds both (which is a problem we'll try to fix later).
urfaceflinger/Android.mk
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
urfaceflinger/CPUGauge.cpp
urfaceflinger/CPUGauge.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/Surface.cpp
i/SurfaceComposerClient.cpp
62185b7335e85211dc4d0e2003354eb3ea2e66ef 17-Apr-2009 Mathias Agopian <mathias@google.com> split Surface.cpp into Surface and SurfaceControl

SurfaceControl is used for controling the geometry of the surface (for the WM), while Surface is used to access the buffers (for SF's clients).
SurfaceFlingerClient now uses the SurfaceID instead of Surface*.

Currently Surface still has the SurfaceControl API and is implemented by calling into SurfaceControl.
i/Surface.cpp
i/SurfaceComposerClient.cpp
62b74444be6742ab6b877918c85caeb9f2f1a2c9 15-Apr-2009 Mathias Agopian <mathias@google.com> fix a few typos in comments. this is really intended as a git pull/push test.
urfaceflinger/SurfaceFlinger.cpp
40b7f6e0433b89c27b2fe5a1c0c47f67b42eceb2 15-Apr-2009 Mathias Agopian <mathias@google.com> fix some issues with Surface's lifetime management.

To deal with Java's lack of destructors and delayed garbage collection, we used to duplicate Surface.cpp objects in some case; this caused some issues because Surface is supposed to be reference-counted and unique.
i/Surface.cpp
4243e666213029a293935987c979831093fb0779 16-Apr-2009 Mathias Agopian <mathias@google.com> fix a rookie mistake causing Singleton<> to be a "multiton". Also improve the BufferMapper's debugging, but turn it off.

Squashed commit of the following:

commit 04e9cae7f806bd65f2cfe35c011b47a36773bbe5
Author: Mathias Agopian <mathias@google.com>
Date: Wed Apr 15 18:30:30 2009 -0700

fix and improve BufferMapper's tracking of mapped buffers.

commit 1a8deaed15811092b2349cc3c40cafb5f722046c
Author: Mathias Agopian <mathias@google.com>
Date: Wed Apr 15 00:52:02 2009 -0700

fix some bugs with the Singleton<> class. untested.

commit ed01cc06ad70cf640ce1258f01189cb1a96fd3a8
Author: Mathias Agopian <mathias@google.com>
Date: Tue Apr 14 19:29:25 2009 -0700

some work to debug the Singleton<> template.
urfaceflinger/BufferAllocator.cpp
i/BufferMapper.cpp
i/Surface.cpp
8b765b7f5ea7f56963ea0e3141d043d20944dbcc 11-Apr-2009 Mathias Agopian <mathias@google.com> more debugging tools around BufferMapper
urfaceflinger/BufferAllocator.cpp
urfaceflinger/LayerBitmap.h
i/BufferMapper.cpp
0308739d0beef940588bf8bb693b91d0c2936d67 10-Apr-2009 Mathias Agopian <mathias@google.com> Merge commit 'goog/master' into master_gl

Conflicts:
libs/utils/Parcel.cpp
076b1cc3a9b90aa5b381a1ed268ca0b548444c9b 10-Apr-2009 Mathias Agopian <mathias@google.com> Integrate from //sandbox/mathias/donut/...@145728

SurfaceFlinger rework for new EGL driver model support.
urfaceflinger/Android.mk
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
urfaceflinger/BufferAllocator.cpp
urfaceflinger/BufferAllocator.h
urfaceflinger/CPUGauge.cpp
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Tokenizer.cpp
urfaceflinger/purgatory/VRamHeap.cpp
urfaceflinger/purgatory/VRamHeap.h
urfaceflinger/tests/resize/Android.mk
urfaceflinger/tests/resize/resize.cpp
i/Android.mk
i/BufferMapper.cpp
i/EGLDisplaySurface.cpp
i/EGLNativeWindowSurface.cpp
i/ISurface.cpp
i/ISurfaceComposer.cpp
i/ISurfaceFlingerClient.cpp
i/Overlay.cpp
i/Surface.cpp
i/SurfaceComposerClient.cpp
tils/Parcel.cpp
40b304e574b5774509192de85f4087cb4ecbd8cd 02-Apr-2009 Nick Pelly <> Merge branch 'readonly-p4-master'
42781c76fc8174a5c64218d69542a98082d6a552 02-Apr-2009 Nick Pelly <> AI 144205: am: CL 144151 am: CL 144150 Fix heap corruption.
Take mutex in close(), and skip write path after turning bluetooth off.
Original author: npelly
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 144205
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
819aa237a578c365481f44a380d8301926fca10c 02-Apr-2009 Nick Pelly <> AI 144151: am: CL 144150 Fix heap corruption.
Take mutex in close(), and skip write path after turning bluetooth off.
Original author: npelly
Merged from: //branches/cupcake/...

Automated import of CL 144151
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
bdf653f3a4fa8f7c91891e080e8386f490964a48 01-Apr-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'goog/readonly-p4-master'
c828f6ae9775149fc579827c3841a63b99fbd2a9 31-Mar-2009 Eric Laurent <> AI 143785: am: CL 143775 am: CL 143620 Attempt for fixing crash in AudioFlinger::MixerThread::dumpTracks() seen in bug report for issue 1747119.
AudioFlinger::MixerThread::dumpTracks() was reading mTracks[] vector instead of mActiveTracks[] when dumping active tracks.
Original author: elaurent
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143785
udioflinger/AudioFlinger.cpp
34c594bde98a3fa8491b22deaed0493f5183c738 31-Mar-2009 Eric Laurent <> AI 143775: am: CL 143620 Attempt for fixing crash in AudioFlinger::MixerThread::dumpTracks() seen in bug report for issue 1747119.
AudioFlinger::MixerThread::dumpTracks() was reading mTracks[] vector instead of mActiveTracks[] when dumping active tracks.
Original author: elaurent
Merged from: //branches/cupcake/...

Automated import of CL 143775
udioflinger/AudioFlinger.cpp
933a9418d95f871c66a3202a71d1815b3b0d24f9 28-Mar-2009 Eric Laurent <> AI 143327: am: CL 143177 am: CL 142889 Fix issue #1736153 Camera shutter sound can be muted by new AlarmClock setting.
Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.
The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.
Original author: elaurent
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143327
udioflinger/AudioFlinger.cpp
253ed06781698a14aa838327d4d1135a11e01e3a 28-Mar-2009 Mathias Agopian <> AI 143321: am: CL 143172 am: CL 142875 [1732012] for some reason these files didn't go through in the preview check-in.
Original author: mathias
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143321
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
c08731e756868653d09d3e49b723706df3687070 28-Mar-2009 Mathias Agopian <> AI 143320: am: CL 143171 am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
Original author: mathias
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143320
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/ISurfaceComposer.cpp
i/SurfaceComposerClient.cpp
0d1318b974feba2e6ff13e36a1781343c2fce045 28-Mar-2009 Mathias Agopian <> AI 143309: am: CL 143160 am: CL 142856 new-new-new-new rotation animation. it may still change one more time.
Original author: mathias
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 143309
urfaceflinger/Android.mk
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
cbcb00eb7302a166411c0b87e6a9ed70298f65b2 28-Mar-2009 Eric Laurent <> AI 143177: am: CL 142889 Fix issue #1736153 Camera shutter sound can be muted by new AlarmClock setting.
Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.
The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.
Original author: elaurent
Merged from: //branches/cupcake/...

Automated import of CL 143177
udioflinger/AudioFlinger.cpp
816c5e2314c8dc241c962efaed6a57c0e20f7330 28-Mar-2009 Mathias Agopian <> AI 143172: am: CL 142875 [1732012] for some reason these files didn't go through in the preview check-in.
Original author: mathias
Merged from: //branches/cupcake/...

Automated import of CL 143172
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
24fd77d44088011c88c55a5de459e75792bb2ecb 28-Mar-2009 Mathias Agopian <> AI 143171: am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor
Original author: mathias
Merged from: //branches/cupcake/...

Automated import of CL 143171
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/ISurfaceComposer.cpp
i/SurfaceComposerClient.cpp
06ee417bc5f07eb783f93233e27ffe2b90225f67 27-Mar-2009 The Android Open Source Project <initial-contribution@android.com> Merge commit 'korg/cupcake'

Conflicts:
core/java/android/webkit/WebView.java
core/java/android/widget/TwoLineListItem.java
preloaded-classes
ecbeaa0cf1cd0bf1bcb00bb25502137db5a9847f 27-Mar-2009 Mathias Agopian <> AI 143160: am: CL 142856 new-new-new-new rotation animation. it may still change one more time.
Original author: mathias
Merged from: //branches/cupcake/...

Automated import of CL 143160
urfaceflinger/Android.mk
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
b1596ee235b568d4c25313e2d335a1203953663b 26-Mar-2009 Eric Laurent <> Automated import from //branches/cupcake/...@142889,142889
udioflinger/AudioFlinger.cpp
192f79fe71af21e6a877bd298b33be92bee6b353 26-Mar-2009 Mathias Agopian <> Automated import from //branches/cupcake/...@142875,142875
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
ceff6e1874d760f4d5029b49b4da344b428555e5 26-Mar-2009 Mathias Agopian <> Automated import from //branches/cupcake/...@142873,142873
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/ISurfaceComposer.cpp
i/SurfaceComposerClient.cpp
262453cecb32ba418c9001bc9cc33dcc4f306b64 26-Mar-2009 Mathias Agopian <> Automated import from //branches/cupcake/...@142856,142856
urfaceflinger/Android.mk
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/LayerOrientationAnimRotate.cpp
urfaceflinger/LayerOrientationAnimRotate.h
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
c1992a6f7551e22f14bb3fb92f1bd0b074cdac32 26-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@142727,142727
i/EventHub.cpp
c3aa00b29fd9ab9b06a2bd675dac404970acb477 26-Mar-2009 Dianne Hackborn <> Automated import from //branches/master/...@142771,142771
i/EventHub.cpp
11d93f968ca515cd448ef51e4d8b79e3de561475 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/cupcake/...@142663,142663
i/EventHub.cpp
7c143aab44b562eb917ca57ed7c1eb584591b7e2 25-Mar-2009 Mathias Agopian <> Automated import from //branches/master/...@142447,142447
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
b535e58351bf204e7a96c9cf5f4aebe5bf56f9f2 25-Mar-2009 Mathias Agopian <> Automated import from //branches/master/...@142432,142432
urfaceflinger/BootAnimation.cpp
74c770be33d41f129334de97ce4d0db141312d02 25-Mar-2009 Mathias Agopian <> Automated import from //branches/donutburger/...@142446,142446
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
6219dd7d3a685725e1f8e0fad94e6aa64492ca82 25-Mar-2009 Mathias Agopian <> Automated import from //branches/donutburger/...@142430,142430
urfaceflinger/BootAnimation.cpp
e74be0afd9b450b8fae7eae92e9c768add565a26 25-Mar-2009 Mathias Agopian <> Automated import from //branches/master/...@141504,141504
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
3df5e433a2bbdec20af735fe7fd928bef8ed6ad8 25-Mar-2009 Mathias Agopian <> Automated import from //branches/donutburger/...@141502,141502
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
0348218e930441c68e90a4e55893ae3b9e1ea0ef 25-Mar-2009 Mathias Agopian <> Automated import from //branches/cupcake/...@142445,142445
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
2ed5f739ebd88f25e16f1f5edfd0041bdf637394 25-Mar-2009 Mathias Agopian <> Automated import from //branches/cupcake/...@142427,142427
urfaceflinger/BootAnimation.cpp
38c89491e4d9a9d951ced381e08f108a43ef33b0 25-Mar-2009 Mathias Agopian <> Automated import from //branches/donutburger/...@140807,140807
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
7a7af5c866e121dbc4586a7fa9755e9b05d6f36d 25-Mar-2009 Mathias Agopian <> Automated import from //branches/master/...@140808,140808
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
0c2bcbc6cc2c41c567596e1579adae64570e9aad 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
4f68be1a5b53f690f1a7d8ba62cddb5ef0022a96 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioMixer.cpp
732ca39b704428b77ef305826d4e6c07190fd7ed 18-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake' into merge

Conflicts:
core/java/android/view/animation/TranslateAnimation.java
core/jni/Android.mk
core/res/res/values-en-rGB/strings.xml
libs/audioflinger/AudioFlinger.cpp
libs/surfaceflinger/LayerScreenshot.cpp
packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
ebad147e654682b6f05438ca8f3685809df5d2e2 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
bcef13b666c7459241235bc6209837ae81884d2f 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
urfaceflinger/SurfaceFlinger.cpp
tils/String16.cpp
22f8defddca562244d43611d99ce76c3ae65a73e 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
9adf84a4b6735354893ff1e57c129f66d97d75ee 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
tils/CallStack.cpp
tils/ResourceTypes.cpp
tils/String16.cpp
tils/Threads.cpp
edbf3b6af777b721cd2a1ef461947e51e88241e1 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/Android.mk
udioflinger/AudioBufferProvider.h
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareInterface.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
udioflinger/AudioMixer.cpp
udioflinger/AudioMixer.h
udioflinger/AudioResampler.cpp
udioflinger/AudioResampler.h
udioflinger/AudioResamplerCubic.cpp
udioflinger/AudioResamplerCubic.h
udioflinger/AudioResamplerSinc.cpp
udioflinger/AudioResamplerSinc.h
urfaceflinger/Android.mk
urfaceflinger/Barrier.h
urfaceflinger/BlurFilter.cpp
urfaceflinger/BlurFilter.h
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
urfaceflinger/CPUGauge.cpp
urfaceflinger/CPUGauge.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
urfaceflinger/DisplayHardware/DisplayHardwareBase.h
urfaceflinger/GPUHardware/GPUHardware.cpp
urfaceflinger/GPUHardware/GPUHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/MODULE_LICENSE_APACHE2
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Tokenizer.cpp
urfaceflinger/Tokenizer.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
urfaceflinger/VRamHeap.cpp
urfaceflinger/VRamHeap.h
urfaceflinger/clz.cpp
urfaceflinger/clz.h
urfaceflinger/tests/Android.mk
urfaceflinger/tests/overlays/Android.mk
urfaceflinger/tests/overlays/overlays.cpp
i/Android.mk
i/Camera.cpp
i/CameraParameters.cpp
i/EGLDisplaySurface.cpp
i/EGLNativeWindowSurface.cpp
i/EventHub.cpp
i/EventRecurrence.cpp
i/ICamera.cpp
i/ICameraClient.cpp
i/ICameraService.cpp
i/IOverlay.cpp
i/ISurface.cpp
i/ISurfaceComposer.cpp
i/ISurfaceFlingerClient.cpp
i/KeyCharacterMap.cpp
i/KeyLayoutMap.cpp
i/KeyLayoutMap.h
i/LayerState.cpp
i/MODULE_LICENSE_APACHE2
i/NOTICE
i/Overlay.cpp
i/PixelFormat.cpp
i/Point.cpp
i/Rect.cpp
i/Region.cpp
i/Surface.cpp
i/SurfaceComposerClient.cpp
i/SurfaceFlingerSynchro.cpp
i/Time.cpp
tils/Android.mk
tils/Asset.cpp
tils/AssetDir.cpp
tils/AssetManager.cpp
tils/Binder.cpp
tils/BpBinder.cpp
tils/BufferedTextOutput.cpp
tils/CallStack.cpp
tils/Debug.cpp
tils/FileMap.cpp
tils/IDataConnection.cpp
tils/IInterface.cpp
tils/IMemory.cpp
tils/IPCThreadState.cpp
tils/IPermissionController.cpp
tils/IServiceManager.cpp
tils/InetAddress.cpp
tils/LogSocket.cpp
tils/MODULE_LICENSE_APACHE2
tils/MemoryBase.cpp
tils/MemoryDealer.cpp
tils/MemoryHeapBase.cpp
tils/MemoryHeapPmem.cpp
tils/NOTICE
tils/Parcel.cpp
tils/Pipe.cpp
tils/ProcessState.cpp
tils/README
tils/RefBase.cpp
tils/ResourceTypes.cpp
tils/SharedBuffer.cpp
tils/Socket.cpp
tils/Static.cpp
tils/StopWatch.cpp
tils/String16.cpp
tils/String8.cpp
tils/SystemClock.cpp
tils/TextOutput.cpp
tils/Threads.cpp
tils/TimerProbe.cpp
tils/Timers.cpp
tils/Unicode.cpp
tils/VectorImpl.cpp
tils/ZipEntry.cpp
tils/ZipFile.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/characterData.h
tils/executablepath_darwin.cpp
tils/executablepath_linux.cpp
tils/futex_synchro.c
tils/misc.cpp
tils/ported.cpp
d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/Android.mk
udioflinger/AudioBufferProvider.h
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareInterface.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
udioflinger/AudioMixer.cpp
udioflinger/AudioMixer.h
udioflinger/AudioResampler.cpp
udioflinger/AudioResampler.h
udioflinger/AudioResamplerCubic.cpp
udioflinger/AudioResamplerCubic.h
udioflinger/AudioResamplerSinc.cpp
udioflinger/AudioResamplerSinc.h
urfaceflinger/Android.mk
urfaceflinger/Barrier.h
urfaceflinger/BlurFilter.cpp
urfaceflinger/BlurFilter.h
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
urfaceflinger/CPUGauge.cpp
urfaceflinger/CPUGauge.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
urfaceflinger/DisplayHardware/DisplayHardwareBase.h
urfaceflinger/GPUHardware/GPUHardware.cpp
urfaceflinger/GPUHardware/GPUHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/MODULE_LICENSE_APACHE2
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Tokenizer.cpp
urfaceflinger/Tokenizer.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
urfaceflinger/VRamHeap.cpp
urfaceflinger/VRamHeap.h
urfaceflinger/clz.cpp
urfaceflinger/clz.h
urfaceflinger/tests/Android.mk
urfaceflinger/tests/overlays/Android.mk
urfaceflinger/tests/overlays/overlays.cpp
i/Android.mk
i/Camera.cpp
i/CameraParameters.cpp
i/EGLDisplaySurface.cpp
i/EGLNativeWindowSurface.cpp
i/EventHub.cpp
i/EventRecurrence.cpp
i/ICamera.cpp
i/ICameraClient.cpp
i/ICameraService.cpp
i/IOverlay.cpp
i/ISurface.cpp
i/ISurfaceComposer.cpp
i/ISurfaceFlingerClient.cpp
i/KeyCharacterMap.cpp
i/KeyLayoutMap.cpp
i/KeyLayoutMap.h
i/LayerState.cpp
i/MODULE_LICENSE_APACHE2
i/NOTICE
i/Overlay.cpp
i/PixelFormat.cpp
i/Point.cpp
i/Rect.cpp
i/Region.cpp
i/Surface.cpp
i/SurfaceComposerClient.cpp
i/SurfaceFlingerSynchro.cpp
i/Time.cpp
tils/Android.mk
tils/Asset.cpp
tils/AssetDir.cpp
tils/AssetManager.cpp
tils/Binder.cpp
tils/BpBinder.cpp
tils/BufferedTextOutput.cpp
tils/CallStack.cpp
tils/Debug.cpp
tils/FileMap.cpp
tils/IDataConnection.cpp
tils/IInterface.cpp
tils/IMemory.cpp
tils/IPCThreadState.cpp
tils/IPermissionController.cpp
tils/IServiceManager.cpp
tils/InetAddress.cpp
tils/LogSocket.cpp
tils/MODULE_LICENSE_APACHE2
tils/MemoryBase.cpp
tils/MemoryDealer.cpp
tils/MemoryHeapBase.cpp
tils/MemoryHeapPmem.cpp
tils/NOTICE
tils/Parcel.cpp
tils/Pipe.cpp
tils/ProcessState.cpp
tils/README
tils/RefBase.cpp
tils/ResourceTypes.cpp
tils/SharedBuffer.cpp
tils/Socket.cpp
tils/Static.cpp
tils/StopWatch.cpp
tils/String16.cpp
tils/String8.cpp
tils/SystemClock.cpp
tils/TextOutput.cpp
tils/Threads.cpp
tils/TimerProbe.cpp
tils/Timers.cpp
tils/Unicode.cpp
tils/VectorImpl.cpp
tils/ZipEntry.cpp
tils/ZipFile.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/characterData.h
tils/executablepath_darwin.cpp
tils/executablepath_linux.cpp
tils/futex_synchro.c
tils/misc.cpp
tils/ported.cpp
6015dfc996dadefd1494cb3635928f8dce3b5a4c 17-Jan-2009 James E. Blair <corvus@gnu.org> Fix issue #1324: No audible call-waiting indication when in-call volume
is low

http://code.google.com/p/android/issues/detail?id=1324
Re-base the internally generated in-call audio volume so that it is
never muted, which is already the case for the hardware routed in-call
audio.
udioflinger/AudioFlinger.cpp
43aa2b1cbf7a03e248e10f4d0fec0463257cd52d 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.h
i/Camera.cpp
tils/Threads.cpp
0bb03408de8886e8d17013219967d42fb9c8cf8c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.h
i/Camera.cpp
tils/Threads.cpp
f18936cbf4e7a2005a23e1abb04d10224e9249a3 11-Feb-2009 Adrian Taylor <adrian@macrobug.com> Fixing LayerScreenshot bitmap config value.
urfaceflinger/LayerScreenshot.cpp
d2bd26d32612a1c7d5629202e3f41741b7936c60 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
45fa004f64870bbdaecf448cc6c76d0baa6cd724 14-Feb-2009 Rebecca Schultz Zavin <rebecca@android.com> Add getBufferCount API to Overlay objects

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
i/Overlay.cpp
360211f7feff8472e082ed5a0675a0b37da74ce5 14-Feb-2009 Rebecca Schultz Zavin <rebecca@android.com> Need to dup file descriptor when reading from the binder for native handles

When reading a native handle that has passed through the binder,
the fds have to be duped to prevent them from getting closed when the binder
object is destructed.

Signed-off-by: Rebecca Schultz Zavin <rebecca@android.com>
tils/Parcel.cpp
ac65e0b172b33f7e068c14e3d95678fa20205577 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
urfaceflinger/Android.mk
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerScreenshot.cpp
urfaceflinger/LayerScreenshot.h
urfaceflinger/RFBServer.cpp
urfaceflinger/RFBServer.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
i/ISurface.cpp
a6938bab1f6fa76ae98ebbe44f4e534e05fa0993 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
urfaceflinger/Android.mk
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerOrientationAnim.cpp
urfaceflinger/LayerOrientationAnim.h
urfaceflinger/LayerScreenshot.cpp
urfaceflinger/OrientationAnimation.cpp
urfaceflinger/OrientationAnimation.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/VRamHeap.cpp
i/Camera.cpp
i/CameraParameters.cpp
i/EGLDisplaySurface.cpp
i/EGLNativeWindowSurface.cpp
i/EventHub.cpp
i/ICamera.cpp
i/ICameraClient.cpp
i/ISurface.cpp
i/Overlay.cpp
i/PixelFormat.cpp
tils/Parcel.cpp
tils/ResourceTypes.cpp
tils/String8.cpp
a837ba778f2d7a5170b37aa33624d9b9711c354d 26-Jan-2009 Jean-Baptiste Queru <jbq@google.com> Add missing <limits.h> include

This should fix the build for gcc 4.3.2
urfaceflinger/SurfaceFlinger.cpp
e41dd756db5184519f4dacbf4d95b333822605c7 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
5f78a48bb8f7714ee231fca67d60fad77bc1cad9 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
udioflinger/A2dpAudioInterface.cpp
urfaceflinger/LayerBuffer.h
i/Camera.cpp
i/Overlay.cpp
tils/Parcel.cpp
8a7a67538a9977c892389bfcde76a8372aa0b56c 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/Android.mk
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareStub.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/tests/Android.mk
urfaceflinger/tests/overlays/Android.mk
urfaceflinger/tests/overlays/overlays.cpp
i/Android.mk
i/EventHub.cpp
i/ISurface.cpp
i/Overlay.cpp
276293246ea9cbc0a578a7697cc48930376ec0e9 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
urfaceflinger/BootAnimation.cpp
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerScreenshot.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Transform.h
i/Camera.cpp
i/ICamera.cpp
i/IOverlay.cpp
i/ISurface.cpp
i/Overlay.cpp
i/Region.cpp
tils/MemoryHeapBase.cpp
e09fd9e819c23dc90bca68375645e15544861330 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
udioflinger/A2dpAudioInterface.cpp
udioflinger/A2dpAudioInterface.h
udioflinger/Android.mk
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareInterface.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
udioflinger/AudioMixer.cpp
udioflinger/AudioMixer.h
udioflinger/AudioResampler.cpp
udioflinger/AudioResamplerCubic.cpp
udioflinger/AudioResamplerSinc.cpp
udioflinger/AudioResamplerSinc.h
urfaceflinger/Android.mk
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
urfaceflinger/GPUHardware/GPUHardware.cpp
urfaceflinger/GPUHardware/GPUHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/VRamHeap.cpp
urfaceflinger/VRamHeap.h
i/Android.mk
i/BlitHardware.cpp
i/Camera.cpp
i/EGLDisplaySurface.cpp
i/EGLNativeWindowSurface.cpp
i/EventHub.cpp
i/ICamera.cpp
i/ICameraClient.cpp
i/IOverlay.cpp
i/ISurface.cpp
i/ISurfaceFlingerClient.cpp
i/Overlay.cpp
i/Surface.cpp
i/Time.cpp
tils/Android.mk
tils/CallStack.cpp
tils/IPCThreadState.cpp
tils/LogSocket.cpp
tils/MemoryDealer.cpp
tils/MemoryHeapPmem.cpp
tils/ResourceTypes.cpp
tils/futex_synchro.c
7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
udioflinger/Android.mk
udioflinger/AudioBufferProvider.h
udioflinger/AudioDumpInterface.cpp
udioflinger/AudioDumpInterface.h
udioflinger/AudioFlinger.cpp
udioflinger/AudioFlinger.h
udioflinger/AudioHardwareGeneric.cpp
udioflinger/AudioHardwareGeneric.h
udioflinger/AudioHardwareInterface.cpp
udioflinger/AudioHardwareStub.cpp
udioflinger/AudioHardwareStub.h
udioflinger/AudioMixer.cpp
udioflinger/AudioMixer.h
udioflinger/AudioResampler.cpp
udioflinger/AudioResampler.h
udioflinger/AudioResamplerCubic.cpp
udioflinger/AudioResamplerCubic.h
udioflinger/AudioResamplerSinc.cpp
udioflinger/AudioResamplerSinc.h
urfaceflinger/Android.mk
urfaceflinger/Barrier.h
urfaceflinger/BlurFilter.cpp
urfaceflinger/BlurFilter.h
urfaceflinger/BootAnimation.cpp
urfaceflinger/BootAnimation.h
urfaceflinger/CPUGauge.cpp
urfaceflinger/CPUGauge.h
urfaceflinger/DisplayHardware/DisplayHardware.cpp
urfaceflinger/DisplayHardware/DisplayHardware.h
urfaceflinger/DisplayHardware/DisplayHardwareBase.cpp
urfaceflinger/DisplayHardware/DisplayHardwareBase.h
urfaceflinger/GPUHardware/GPUHardware.cpp
urfaceflinger/GPUHardware/GPUHardware.h
urfaceflinger/Layer.cpp
urfaceflinger/Layer.h
urfaceflinger/LayerBase.cpp
urfaceflinger/LayerBase.h
urfaceflinger/LayerBitmap.cpp
urfaceflinger/LayerBitmap.h
urfaceflinger/LayerBlur.cpp
urfaceflinger/LayerBlur.h
urfaceflinger/LayerBuffer.cpp
urfaceflinger/LayerBuffer.h
urfaceflinger/LayerDim.cpp
urfaceflinger/LayerDim.h
urfaceflinger/LayerScreenshot.cpp
urfaceflinger/LayerScreenshot.h
urfaceflinger/MODULE_LICENSE_APACHE2
urfaceflinger/RFBServer.cpp
urfaceflinger/RFBServer.h
urfaceflinger/SurfaceFlinger.cpp
urfaceflinger/SurfaceFlinger.h
urfaceflinger/Tokenizer.cpp
urfaceflinger/Tokenizer.h
urfaceflinger/Transform.cpp
urfaceflinger/Transform.h
urfaceflinger/VRamHeap.cpp
urfaceflinger/VRamHeap.h
urfaceflinger/clz.cpp
urfaceflinger/clz.h
i/Android.mk
i/BlitHardware.cpp
i/Camera.cpp
i/CameraParameters.cpp
i/EGLDisplaySurface.cpp
i/EGLNativeWindowSurface.cpp
i/EventHub.cpp
i/EventRecurrence.cpp
i/ICamera.cpp
i/ICameraClient.cpp
i/ICameraService.cpp
i/ISurface.cpp
i/ISurfaceComposer.cpp
i/ISurfaceFlingerClient.cpp
i/KeyCharacterMap.cpp
i/KeyLayoutMap.cpp
i/KeyLayoutMap.h
i/LayerState.cpp
i/MODULE_LICENSE_APACHE2
i/NOTICE
i/PixelFormat.cpp
i/Point.cpp
i/Rect.cpp
i/Region.cpp
i/Surface.cpp
i/SurfaceComposerClient.cpp
i/SurfaceFlingerSynchro.cpp
i/Time.cpp
tils/Android.mk
tils/Asset.cpp
tils/AssetDir.cpp
tils/AssetManager.cpp
tils/Binder.cpp
tils/BpBinder.cpp
tils/BufferedTextOutput.cpp
tils/CallStack.cpp
tils/Debug.cpp
tils/FileMap.cpp
tils/IDataConnection.cpp
tils/IInterface.cpp
tils/IMemory.cpp
tils/IPCThreadState.cpp
tils/IPermissionController.cpp
tils/IServiceManager.cpp
tils/InetAddress.cpp
tils/LogSocket.cpp
tils/MODULE_LICENSE_APACHE2
tils/MemoryBase.cpp
tils/MemoryDealer.cpp
tils/MemoryHeapBase.cpp
tils/MemoryHeapPmem.cpp
tils/NOTICE
tils/Parcel.cpp
tils/Pipe.cpp
tils/ProcessState.cpp
tils/README
tils/RefBase.cpp
tils/ResourceTypes.cpp
tils/SharedBuffer.cpp
tils/Socket.cpp
tils/Static.cpp
tils/StopWatch.cpp
tils/String16.cpp
tils/String8.cpp
tils/SystemClock.cpp
tils/TextOutput.cpp
tils/Threads.cpp
tils/TimerProbe.cpp
tils/Timers.cpp
tils/Unicode.cpp
tils/VectorImpl.cpp
tils/ZipEntry.cpp
tils/ZipFile.cpp
tils/ZipFileCRO.cpp
tils/ZipFileRO.cpp
tils/ZipUtils.cpp
tils/characterData.h
tils/executablepath_darwin.cpp
tils/executablepath_linux.cpp
tils/futex_synchro.c
tils/misc.cpp
tils/ported.cpp