Merge commit '4ff6d01d42fce2dc52b2dec8f59b625b18770bb0' into eclair-mr2
* commit '4ff6d01d42fce2dc52b2dec8f59b625b18770bb0':
fix [2164183] sometimes device just wants to stay asleep
Merge commit '3161795b2353171bb0636fb3ea6dab7dec80a4f4' into eclair
* commit '3161795b2353171bb0636fb3ea6dab7dec80a4f4':
when logging free space on /data, log /system and /cache as well
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.
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.
Merge commit '568cae571a3d74d1992176a21722e07b44e9a3c4' into eclair-mr2
* commit '568cae571a3d74d1992176a21722e07b44e9a3c4':
Fix issue #2171460: Turn off background blurring of power dialog
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.
Merge commit 'dc2ccb82f96b6a7be7a7b262b81d3aa1422f46fa' into eclair-mr2
* commit 'dc2ccb82f96b6a7be7a7b262b81d3aa1422f46fa':
Encourage developers to connect RFCOMM by UUID instead of Channel.
Merge commit '35b38cefcc92f1ed599a652ac5736ab9e9e75039' into eclair-mr2
* commit '35b38cefcc92f1ed599a652ac5736ab9e9e75039':
Improve drawing cache speed by selecting the correct opacity and keeping a 32 bits
Merge commit '64dd5be583bab8218e54068bbf70edc5fc6087c8' into eclair-mr2
* commit '64dd5be583bab8218e54068bbf70edc5fc6087c8':
add (hidden) setHasAlpha() to allow clients like the view's cache to hint that a bitmap is opaque.
Merge commit 'e4b6639dbcfe9c5a429fb6f216790d69d1b3a6e8' into eclair-mr2
* commit 'e4b6639dbcfe9c5a429fb6f216790d69d1b3a6e8':
Import revised translations. DO NOT MERGE
Merge commit '4625758d0b909ccfc9f40b707666b1b21e9e8ffd' into eclair-mr2
* commit '4625758d0b909ccfc9f40b707666b1b21e9e8ffd':
Fix back button handling in ACTV
Merge commit '460b60c9b064ef02e9eaf56ecf2f266fd7c4089c' into eclair-mr2
* commit '460b60c9b064ef02e9eaf56ecf2f266fd7c4089c':
Revert "temporarily disable the use of glTexImage2D for sw buffers on sholes."
Merge commit 'c404ed2be5d29c8932a3d69b53fea4653c9b868b' into eclair-mr2
* commit 'c404ed2be5d29c8932a3d69b53fea4653c9b868b':
Fix failing unit test; the test was using a deprecated API making it fail on WVGA devices.
Merge commit 'c131c5671965b69b0dee3e4afa3b3dd5e3c0c405' into eclair-mr2
* commit 'c131c5671965b69b0dee3e4afa3b3dd5e3c0c405':
temporarily disable the use of glTexImage2D for sw buffers on sholes.
Merge commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb' into eclair-mr2
* commit '9d6a685ba939f413a8d3e1e97627593aa1cdf6cb':
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger
Merge commit 'fe7c2a50148ac9f0d6fbe0030fc53f457c10870a' into eclair-mr2
* commit 'fe7c2a50148ac9f0d6fbe0030fc53f457c10870a':
Fix tls crash on startup if more than one RS contexts are created in one process.
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.
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.
* changes:
fix [2168528] enable glTexImage2D code path in SF for software-only buffers
fix [2168531] have software-only gralloc buffer side-step the HAL
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.