Squash all 4.2.2 changes into one

audio policy: direct output fix - DO NOT MERGE

merge "Close a newly opened direct output if its parameters are invalid"
from master

Change-Id: I27ac015217480a854d25273ab9498949971b411a

audio policy: fix dynamic parameter - DO NOT MERGE

merge from master:

"Fix a parse error in checkOutputForDevice

Fix a small parsing error in parsing the supported formats and sample
rates of a stream out with dynamic values for these parameters.  The
channel mask parser was properly skipping the "=" in the setting
string, but formats and sample rates were not (cauing the first
reported format and sample rate to end up being skipped)"

Change-Id: Id227a44f6b5fc0c223f2ce74f94ebb6abc5fa77d
Signed-off-by: John Grossman <johngro@google.com>

audio policy: fix volume problem - DO NOT MERGE

merge from master:

"audio policy: fix volume change when disabling SCO

commit 76e97d39 introduced a regression by having setDeviceConnectionState()
force a device change on duplicated outputs even if the selected device is 0.
This also forces a device 0 for the two outputs it is duplicated to,
which may override a valid device selection on those outputs and apply
default volumes.

Bug 7429869."

Change-Id: I37dd66343c54eb27e420089edbda04444fa1e2c6

audio policy: notification delay - DO NOT MERGE

merge from master:

"audio policy: fix notification start delay

The mechanism delaying notifications in case of
muliple active outputs with long latencies must
take into account recently paused audio tracks.

Bug 7400428."

Change-Id: I4ac9dfac81336e33f475b4f28df82713707d0c46

Fix stop supplicant api

Bug: 7227463
Change-Id: I4576e223c69dd67bd714fefecf0a1047770362fd
fmradio: cleanup QCOM_FM_ENABLED/STE_FM defs and ifdef

Change-Id: Ia34dca04e6b9de3509987ad9d88a5fecc3820e2f