audiopolicy: align custom APM with AOSP
- Update custom APM for 190404 tag
Change-Id: Icb60d59756e7c64ff30aaf3711457293da16a368
diff --git a/policy_hal/AudioPolicyManager.cpp b/policy_hal/AudioPolicyManager.cpp
index 3885491..cc5747c 100644
--- a/policy_hal/AudioPolicyManager.cpp
+++ b/policy_hal/AudioPolicyManager.cpp
@@ -184,8 +184,6 @@
broadcastDeviceConnectionState(device, AUDIO_POLICY_DEVICE_STATE_UNAVAILABLE);
return INVALID_OPERATION;
}
- // Propagate device availability to Engine
- mEngine->setDeviceConnectionState(device, state);
if (deviceType == AUDIO_DEVICE_OUT_AUX_DIGITAL) {
chkDpConnAndAllowedForVoice();
}
@@ -233,8 +231,6 @@
// Reset active device codec
device->setEncodedFormat(AUDIO_FORMAT_DEFAULT);
- // Propagate device availability to Engine
- mEngine->setDeviceConnectionState(device, state);
if (deviceType == AUDIO_DEVICE_OUT_AUX_DIGITAL) {
mEngine->setDpConnAndAllowedForVoice(false);
}
@@ -245,6 +241,9 @@
return BAD_VALUE;
}
+ // Propagate device availability to Engine
+ setEngineDeviceConnectionState(device, state);
+
if (!outputs.isEmpty()) {
for (size_t i = 0; i < outputs.size(); i++) {
sp<SwAudioOutputDescriptor> desc = mOutputs.valueFor(outputs[i]);
@@ -369,8 +368,6 @@
return NO_MEMORY;
}
- // Propagate device availability to Engine
- mEngine->setDeviceConnectionState(device, state);
} break;
// handle input device disconnection
@@ -388,8 +385,6 @@
checkInputsForDevice(device, state, inputs);
mAvailableInputDevices.remove(device);
- // Propagate device availability to Engine
- mEngine->setDeviceConnectionState(device, state);
} break;
default:
@@ -397,6 +392,9 @@
return BAD_VALUE;
}
+ // Propagate device availability to Engine
+ setEngineDeviceConnectionState(device, state);
+
closeAllInputs();
/*audio policy: fix call volume over USB*/
// As the input device list can impact the output device selection, update
@@ -1106,7 +1104,7 @@
if (stream == AUDIO_STREAM_ENFORCED_AUDIBLE &&
mEngine->getForceUse(AUDIO_POLICY_FORCE_FOR_SYSTEM) == AUDIO_POLICY_FORCE_SYSTEM_ENFORCED) {
- setStrategyMute(streamToStrategy(AUDIO_STREAM_RING), false, outputDesc);
+ setStrategyMute(streamToStrategy(AUDIO_STREAM_ALARM), false, outputDesc);
}
if (followsSameRouting(client->attributes(), attributes_initializer(AUDIO_USAGE_MEDIA))) {
@@ -1139,7 +1137,7 @@
if (stream == AUDIO_STREAM_TTS) {
ALOGV("\t found BEACON stream");
if (!mTtsOutputAvailable && mOutputs.isAnyOutputActive(
- streamToVolumeSource(AUDIO_STREAM_TTS) /*sourceToIgnore*/)) {
+ toVolumeSource(AUDIO_STREAM_TTS) /*sourceToIgnore*/)) {
return INVALID_OPERATION;
} else {
beaconMuteLatency = handleEventForBeacon(STARTING_BEACON);