replicant-frameworks_native/libs
Eric Laurent d878cd8a79 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
2010-05-12 06:29:16 -07:00
..
audioflinger Fix issue 2678048: binder death detection in AudioFlinger is broken. 2010-05-12 06:29:16 -07:00
binder Make static versions of libutils and libbinder. 2010-05-06 01:03:31 -07:00
surfaceflinger am 56aed6bd: am c69775d6: Merge "fix [2664345] Flash: Bad flicker at the end of a pinch zoom." into froyo 2010-05-10 09:49:19 -07:00
surfaceflinger_client make sure the server-side validates pointers/indices visible on the client side 2010-04-30 13:05:36 -07:00
ui when a zero dimension buffer is allocated, turn the allocation into 2010-04-15 15:23:25 -07:00
utils am ca48c88c: am 8a8658a5: Merge "Make static versions of libutils and libbinder." into froyo 2010-05-06 17:35:06 -07:00