Removed a cross deadlock condition between audioflinger and audio policy
service mutexes.
Audioflinger::createEffect() locks audioflinger mutex and then calls
AudioSystem::getOutputForEffect() which ends up in
AudioPolicyService::getOutputForEffect() which locks audio policy service
mutex. If at the same time, the command thread in audio policy service is
processing a command(set volume, set route...), the mutex is locked and the
command will call one audioflinger method which in turn will attempt to
lock audioflinger mutex.
The fix consists in releasing audioflinger mutex before calling
getOutputForEffect().
Change-Id: Id44e7feb36e0a295731f6aa97cf32d022edd34d0
Merge commit '982c07e908c4cb66db224ccfd0810bf8bd449835'
* commit '982c07e908c4cb66db224ccfd0810bf8bd449835':
Crash apps when they provide bad notifications instead of crashing the system process.
Merge commit '84a357bb6a8005e1c5e924e96a8ecf310e77c47c' into gingerbread-plus-aosp
* commit '84a357bb6a8005e1c5e924e96a8ecf310e77c47c':
Refactoring SIP classes to get ready for API review.
+ replace SipAudioCall and its Listener interfaces with real implementations,
+ remove SipAudioCallImpl.java, most of it is has become part of SipAudioCall,
+ add SipSession and its Listener classes to wrap ISipSession and ISipSessionListener,
+ move SipSessionState to SipSession.State,
+ make SipManager keep context and remove the context argument from many methods of its,
+ rename SipManager.getInstance() to newInstance(),
+ rename constant names for action strings and extra keys to follow conventions,
+ set thread names for debugging purpose.
Change-Id: Ie1790dc0e8f49c06c7fc80d33fec0f673a9c3044
Merge commit 'cbb7b05e35368b104c27089f5f16640680f567c2' into gingerbread-plus-aosp
* commit 'cbb7b05e35368b104c27089f5f16640680f567c2':
Crash apps when they provide bad notifications instead of crashing the system process.
Merge commit '287952c35e148811c106bc0f5036eabf20f71562' into gingerbread-plus-aosp
* commit '287952c35e148811c106bc0f5036eabf20f71562':
Fix issue #3022508: Crash during media scan
Don't kill processes for excessive wake lock use, even if they
are in the background, as long as they have running services.
Also fix some problems with this, such as not noting the kill
in battery stats.
And add killing of processes for cpu usage as well, along with
some optimizations to computing CPU usage.
And fix BatteryWaster to be better behaving for testing these
cases.
Add new "monitor" command to am to watch as the activity manager
does stuff (so we can catch things at the point of ANR).
Finally some miscellaneous debug output for the stuff here, as
well as in progress debugging of an ANR.
Change-Id: Ib32f55ca50fb7486b4be4eb5e695f8f60c882cd1
Merge commit '045398e6243fa4e83fb6435df4e8ffc6a7487a70' into gingerbread-plus-aosp
* commit '045398e6243fa4e83fb6435df4e8ffc6a7487a70':
Fix a deadlock I ran into.
- added showInputMethodSubtypePicker to public API
-- show the selector dialog for subtypes
- added getter, setter and event handler to InputMethodManagerService
- extract InputMethodSubtype to the top level class for using it in aidl
- TODO: make an enabler for input method subtypes
- TODO: handle the event of changing an input method subtype in LatinIME
Change-Id: I49f8c6675ac4b06511635d14a37bd398738eff33
to DISABLE the h/w composer:
adb shell service call SurfaceFlinger 1008 i32 1
to ENABLE the h/w composer:
adb shell service call SurfaceFlinger 1008 i32 0
the state is dumped in "dumpsys SurfaceFlinger"
Change-Id: I23e2242d42c6e3fd5261a83332dd900b189e38ce
Merge commit '1c3846979a657e4e2b1f7864fa6defb65b3bbf42'
* commit '1c3846979a657e4e2b1f7864fa6defb65b3bbf42':
Don't do single byte writes in DropBoxManagerService
Merge commit '89647b1172cdf40a3681922150122b0bd2ea83f1' into gingerbread-plus-aosp
* commit '89647b1172cdf40a3681922150122b0bd2ea83f1':
Don't do single byte writes in DropBoxManagerService
Merge commit 'abdd2c7f03651e95424133c2be948238c6dc7bf6'
* commit 'abdd2c7f03651e95424133c2be948238c6dc7bf6':
Fix NPE in PowerManagerService on boot, if some settings are corrupted.
If the sending of the command fails we should note it and not wait forever
for the response.
We should also not say we're ready until we actually are.
bug:2993205
Change-Id: I380f0312ac4693ad184a526b330fdfa23f6ac558
Merge commit '95f600b55f617fcc94985fee07927aff48160362' into gingerbread-plus-aosp
* commit '95f600b55f617fcc94985fee07927aff48160362':
Fix NPE in PowerManagerService on boot, if some settings are corrupted.
Merge commit '08959c6396b8a52194554f961ae8fd874c994e4e' into gingerbread-plus-aosp
* commit '08959c6396b8a52194554f961ae8fd874c994e4e':
Request permission for global audio effects.
Applications creating an audio effect on the output mix must
have the MODIFY_AUDIO_SETTINGS permission.
Change-Id: I57d88533f91ad0d33680107d79abcec28f7263b5
Merge commit '32371695daf917701f78a86224b58bfda0381e27' into gingerbread-plus-aosp
* commit '32371695daf917701f78a86224b58bfda0381e27':
GpsLocationProvider: Fix race condition while bringing up APN for SUPL.