Merge commit '4b9baa69f3b3146edbc623f0670103265c4f4fe5' into gingerbread-plus-aosp
* commit '4b9baa69f3b3146edbc623f0670103265c4f4fe5':
Doc change: Add revision notes for Android 2.2_r2 development platform. Fix some umappable characters in WebView class doc.
Merge commit '2651504c020f07847bafa3d539c36f1396629669' into gingerbread
* commit '2651504c020f07847bafa3d539c36f1396629669':
Doc change: Add revision notes for Android 2.2_r2 development platform. Fix some umappable characters in WebView class doc.
Merge commit 'c42433427a7ed51b5577b2587bf6cb0af903ebf8' into gingerbread-plus-aosp
* commit 'c42433427a7ed51b5577b2587bf6cb0af903ebf8':
Allow application to set two more encoding paramters: video profile and level
Merge commit '58c35573cc677b736efefa267eba8727d4411999' into gingerbread-plus-aosp
* commit '58c35573cc677b736efefa267eba8727d4411999':
Fix some bugs in the MediaProfileReader
Merge commit 'c34c8c3fe7fef15b410b0544d5436fcbefccd610' into gingerbread-plus-aosp
* commit 'c34c8c3fe7fef15b410b0544d5436fcbefccd610':
Only send the playback complete notification if a) an error occurred on any track or b) all tracks have finished playing. The previous behaviour was to send the notification as soon as the first track finished playing.
Merge commit 'ef52b5682d8c6ab3a384da5151f0e4dd6e9a5506' into gingerbread-plus-aosp
* commit 'ef52b5682d8c6ab3a384da5151f0e4dd6e9a5506':
More improvements to the SensorManager documentation
Merge commit '2e6aff8e19ce8292a36fe211f8051dccf1fb9670' into gingerbread-plus-aosp
* commit '2e6aff8e19ce8292a36fe211f8051dccf1fb9670':
ALooperRoster no longer holds strong references to handlers and loopers.
Merge commit '6615defd4b8ae627e7f0bbb2382c4d86481f76bd' into gingerbread-plus-aosp
* commit '6615defd4b8ae627e7f0bbb2382c4d86481f76bd':
Make sure the OMX callback thread is properly shutdown after the node goes away.
Merge commit '9406f626b2d8f64a084d41f6ea379e539b162a55' into gingerbread-plus-aosp
* commit '9406f626b2d8f64a084d41f6ea379e539b162a55':
An AHandler can now find its associated ALooper.
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
Merge commit '8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d' into gingerbread-plus-aosp
* commit '8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d':
Fix a bug that prevented the creation of EGL shared contexts.
Merge commit '2cfd8198cc4e1dcdcae52ae8a0c86b871c87a27e' into gingerbread-plus-aosp
* commit '2cfd8198cc4e1dcdcae52ae8a0c86b871c87a27e':
Add an option to ALooper::start that allows it to call back into java or not.
Merge commit '3ef6ebe874022c4ec8fbb00067833a6f636c1e2f' into gingerbread-plus-aosp
* commit '3ef6ebe874022c4ec8fbb00067833a6f636c1e2f':
Flush binder buffer after setting raw heap to avoid leaking a reference.
Merge commit '7df7447112371fb5e46f6084b55ac2ccdfde139d' into gingerbread
* commit '7df7447112371fb5e46f6084b55ac2ccdfde139d':
Flush binder buffer after setting raw heap to avoid leaking a reference.
The problem was:
1. In handleShutter(), thread A in CameraService calls
registerBuffers(IMemoryHeap) and it's received by thread B
in system_server. [transaction 1]
2. While thread A is waiting for the reply, thread B calls
back to thread A to get the id of the heap
(IMemoryHeap.getHeapID). [transaction 2]
3. Thread A replies transaction 2 and is preemptied in kernel.
Thread B gets the reply and finishes registerBuffers and send
reply for transaction 1.
4. When thread A runs again, it gets the reply for transaction 1
and returns to handleShutter().
5. At this point the transaction buffer for transaction 2 (which
holds a reference to IMemoryHeap) is not freed because the
BC_FREE_BUFFER command is kept in thread A's local command
queue and not sent to the kernel.
6. Normally when thread A makes next transaction, the
BC_FREE_BUFFER command will be sent together (piggyback) with
the commands for that transaction. But in this case thread A
is a callback thread from camera driver, so it does not make
any binder calls afterwards, and the IMemoryHeap is never freed
(until the next time handleShutter is called).
Change-Id: I435a258187509bdbbaf353339eb9ea577610cbd2
Merge commit '6ffd9ff07733a855daeda75416cea88e7456e9d6' into gingerbread-plus-aosp
* commit '6ffd9ff07733a855daeda75416cea88e7456e9d6':
Log full exception when failing to inflate notification view
Merge commit '8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb' into gingerbread-plus-aosp
* commit '8ae5a8e7c04c7b204b739dfcd5da9e2e0f83e1eb':
Get to the point of being able to do native drawing.
Merge commit 'f520411a35db5248934a4b50859ca72e3f865593' into gingerbread-plus-aosp
* commit 'f520411a35db5248934a4b50859ca72e3f865593':
Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
Merge commit 'c03befe3d62eb2a3e1d56fec0ca188a6094d53dd' into gingerbread
* commit 'c03befe3d62eb2a3e1d56fec0ca188a6094d53dd':
Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
Merge commit '54a181b1a2b1517a9479b21fbf7705a688232faf' into gingerbread-plus-aosp
* commit '54a181b1a2b1517a9479b21fbf7705a688232faf':
Make real API for native code to get its window.
Merge commit 'c7dacb7374e04c003b0764e7c348765b629c18cb' into gingerbread-plus-aosp
* commit 'c7dacb7374e04c003b0764e7c348765b629c18cb':
DO NOT MERGE: Add a battery capacity value to the power profile.