Make AudioPortEventHandler and audio port and patch caches
static members of AudioManager. There is only one callback
per process in AudioSystem for audio port updates
and having those non static would not work when more than
one AudioManager instance exists in one app.
Bug: 18727023.
Change-Id: I4c1041dc6441d168be4efa066e14289cc5f41872
Update the list of audio devices that cause the
ACTION_AUDIO_BECOMING_NOISY intent to be broadcast according
to the FOR_MEDIA forced configuration.
Synchronize access to list of "noisy" audio devices on the
connected devices, as it can be updated from different
threads.
Bug 18313377
Change-Id: Iffd95861d0796691350b0e19b596dd1db0567836
Handle stream mute/unmute requests at the stream
alias level (like is done volume changes) to be consistent.
E.g a request to mute/unmute a stream will affect all streams
sharing the same alias for volume management.
Bug: 18844550.
Change-Id: Ie2e463c58df0371589150f0ebb9b36c38b14e1be
Dead lock sequence:
1. called onSetA2dpConnectionState()
1-1. synchronized(mConnectedDevices)
2. called onServiceDisconnected()
2-1. synchronized(mA2DPAvrcpLock)
3. waiting to lock(mConnectedDevices) in onServiceDisconnected()
4. waiting to lock(mA2DPAvrcpLock) in onSetA2dpConnectionState()
========================================================================================
- watchdog issue
----- pid 3306 at 2014-10-14 16:15:12 -----
Cmd line: system_server
"main" prio=5 tid=1 MONITOR
- waiting to lock <0x4343e9b0> (a java.util.HashMap) held by tid=46 (AudioService)
at android.bluetooth.BluetoothA2dp$2.onServiceDisconnected(BluetoothA2dp.java:529)
"AudioService" prio=5 tid=46 MONITOR
- waiting to lock <0x42ab7a58> (a java.lang.Object) held by tid=1 (main)
========================================================================================
Signed-off-by: Seunghwan Hong <seunghwan.hong@lge.com>
Change-Id: I99e061c07be01aabcd26786ef2ebb71f46717b93
Attach/Detach logic
Decoupling card# and list index
Modern loop constructs
Consistent logging flags
Add class/type flags to device "address" string.
Factored UsbAudioDevice out of UsbAudioManager.
Bug: 18399845
Bug: 18717784
Change-Id: I6f185e1c24091d4c0d21eb7e922a1496748d32c3
Only one callback can be set on a given media id on MediaBrowser. When you
try to subscribe with a new callback it replaces the old callback, but it
wasn't resending the child data for the id. This causes calling subscribe
again also cause the data to be reloaded and sent to the app again.
bug:18683452
Change-Id: I2d30dbbbfe07cb9a720fb6d65664c1c4c58cb637
When creating an AudioRecord instance, filter the tags in the
AudioAttributes to remove tags that are handled at the Java
layer.
Bug: 18733215
Bug: 18736417
Change-Id: I16a3497742086deced4e8677bd6231290396c5f6
MediaSessionLegacyHelper used a Context passed by an application
which can cause a leak of Activity instances. Use the global
Application context instead.
Also prevent crash if a null Context is supplied (method not
documented as requesting a non-null Context).
Bug 18767503
Change-Id: I8281047d0af233a323f3fc11ababedff848829ec
This makes sure that accessing the HdmiControlService via audio service
should be possible without the system permission.
Bug: 18730526
Change-Id: I05b364d8e38218eb75f3c08972a06bb2d71a982b