Merge commit '8c411fb13923d1fa28fcd98452bf3d17b8b1a338' into eclair-plus-aosp
* commit '8c411fb13923d1fa28fcd98452bf3d17b8b1a338':
Add support for Car Dock.
Merge commit '90d311ff33f33024f642ef03a02fb62566c9f46b' into eclair-plus-aosp
* commit '90d311ff33f33024f642ef03a02fb62566c9f46b':
docs: fix markup error in xml sample
Merge commit '678c2e35768a5426b4ad8f67c836008e7751a353' into eclair-plus-aosp
* commit '678c2e35768a5426b4ad8f67c836008e7751a353':
Add WindowManagerPolicy.OFF_BECAUSE_OF_PROX_SENSOR to indicate screen was turned off by the proximity sensor.
Merge commit '40057ce749c8c4d274db0352a2af4344bda92dba' into eclair-plus-aosp
* commit '40057ce749c8c4d274db0352a2af4344bda92dba':
Document that stopPreview is not needed before takePicture.
Merge commit '19a4157ce40f4ab77b60445b8e73069c5877bb8a' into eclair-plus-aosp
* commit '19a4157ce40f4ab77b60445b8e73069c5877bb8a':
Make the notification panel send the position as well.
Merge commit '7597065d6b0877ffc460b443fdb1595965ccd7b2' into eclair-plus-aosp
* commit '7597065d6b0877ffc460b443fdb1595965ccd7b2':
Make RemoteViews also set the sourceBounds in the PendingIntent.
Merge commit 'c7a63eea8d3d346addaaf892b5bbe0aa80651640' into eclair-plus-aosp
* commit 'c7a63eea8d3d346addaaf892b5bbe0aa80651640':
Add a new field to Intent that allows you to give a hint about what on screen caused the intent to
Merge commit 'de5343290c4bac9b10b6fdd328b70da6f5e4d626' into eclair-plus-aosp
* commit 'de5343290c4bac9b10b6fdd328b70da6f5e4d626':
Fix bug 2216426: correct the hdpi star assets for RatingBar.
Merge commit '121a31ac3901fcb81c808da2b4a9a7cf66c12b7c' into eclair-plus-aosp
* commit '121a31ac3901fcb81c808da2b4a9a7cf66c12b7c':
fix [2291418] Camera preview cannot work in Emulator
Merge commit '9b7dba936c24fa7959561ddf1a0c8ba4d2165782' into eclair-plus-aosp
* commit '9b7dba936c24fa7959561ddf1a0c8ba4d2165782':
Implement new notification LED blinking logic:
Merge commit '8693f82d02fd9b3a805e076fa1eafacd1737446d' into eclair-plus-aosp
* commit '8693f82d02fd9b3a805e076fa1eafacd1737446d':
Some work on issue #2286804: sometimes text field doesn't accept input
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.
Merge commit '59c0627841381f47da5cc72e6ff55fa8bad431ed' into eclair-plus-aosp
* commit '59c0627841381f47da5cc72e6ff55fa8bad431ed':
Add a new priority for Auto Connection of A2DP. DO NOT MERGE.
Merge commit '525bfe896b8638d20e6d7a362fd089ef8e316d4a' into eclair-plus-aosp
* commit '525bfe896b8638d20e6d7a362fd089ef8e316d4a':
add screenshots for the Bluetooth Chat sample app
Merge commit '6d5c42ef00a46e0b560b3d15ba73d89d94072af8' into eclair-plus-aosp
* commit '6d5c42ef00a46e0b560b3d15ba73d89d94072af8':
Import revised translations. DO NOT MERGE
Merge commit '1ac56b602aa6a1ac54c608e5a8b76f44638db23b' into eclair-plus-aosp
* commit '1ac56b602aa6a1ac54c608e5a8b76f44638db23b':
Fix issue 2292062: Audio freezes for three seconds when choosing ringtones with a headset connected and music playing.
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.
Merge commit 'f27eb3264d4b5d3fd154834a709a9a53cc878b58' into eclair-plus-aosp
* commit 'f27eb3264d4b5d3fd154834a709a9a53cc878b58':
DATE_TAKEN should be in millisecond instead of second.
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.