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
Merge commit '458fc5f52e25d7a8b4e482010711aed66f0b4999' into gingerbread-plus-aosp
* commit '458fc5f52e25d7a8b4e482010711aed66f0b4999':
Fix issue #3041660: Camera image flips upside down when rotating device
Merge commit '33a4c77218e4513268be8d5ce2af6f746976706b' into gingerbread-plus-aosp
* commit '33a4c77218e4513268be8d5ce2af6f746976706b':
New green in assets for battery, download, upload
Merge commit '87efbbb563ef96a74ffd2fbbe5c0865a450254df' into gingerbread-plus-aosp
* commit '87efbbb563ef96a74ffd2fbbe5c0865a450254df':
implement the number bubbles on the status bar
Merge commit 'ae1864c0e79baae75ad25f20828349be8635d471' into gingerbread-plus-aosp
* commit 'ae1864c0e79baae75ad25f20828349be8635d471':
docs: consistency fixit for the quickview boxes in the dev guide
Merge commit 'ec80d7f311b1a0899bb4caf5b380b07027e902d1' into gingerbread
* commit 'ec80d7f311b1a0899bb4caf5b380b07027e902d1':
docs: consistency fixit for the quickview boxes in the dev guide
Merge commit '407f625a9b8e356e765a5ec587c443af1f3aadb5' into gingerbread-plus-aosp
* commit '407f625a9b8e356e765a5ec587c443af1f3aadb5':
Add new API to find out whether external storage is removable.
Merge commit '4d3baaf5308ddee43c1cd742497a38806cec6320' into gingerbread-plus-aosp
* commit '4d3baaf5308ddee43c1cd742497a38806cec6320':
Bug fixes in Text selection.
Merge commit '1073e3fa72a59af15ff4243b65a789ddb61bcded' into gingerbread-plus-aosp
* commit '1073e3fa72a59af15ff4243b65a789ddb61bcded':
Don't write settings multiple times when unmounting.
Merge commit 'dfd03fe99336792b6dae6c4c9fd5f5ba157e054c'
* commit 'dfd03fe99336792b6dae6c4c9fd5f5ba157e054c':
Make sure to finish the preparation phase even EOS occurs before we consider the cache to be completely filled up.
Merge commit 'aa1a694dc78e5201fc83fe3d710a6e43eb62831a' into gingerbread-plus-aosp
* commit 'aa1a694dc78e5201fc83fe3d710a6e43eb62831a':
Make sure to finish the preparation phase even EOS occurs before we consider the cache to be completely filled up.
Merge commit '53fb09b42f8862650f959c30c1ab104142fa873a'
* commit '53fb09b42f8862650f959c30c1ab104142fa873a':
DO NOT MERGE. Fix logic for switching between overscroll and scroll modes.
Merge commit '106950f20bd352ed72ddf4490b2e19d305e36a74' into gingerbread-plus-aosp
* commit '106950f20bd352ed72ddf4490b2e19d305e36a74':
DO NOT MERGE. Fix logic for switching between overscroll and scroll modes.
Merge commit '07fb33efe8b0cbedf518a8afa20d96d8d4bab69a'
* commit '07fb33efe8b0cbedf518a8afa20d96d8d4bab69a':
Refrain warning when not appropriate. Do not merge