Call SoundTrigger::setCaptureState in AudioPoilcyManager::closeAllInputs
closeAllInputs wasn't informing the sound trigger service that all
inputs were closed. This meant that the service could get stuck in a
state where it was disabled because it thought there was some active
capture, even though there was nothing listening. (This was particularly
common when a bluetooth device disconnected).
BUG: 26970013,26450651
Change-Id: I613434ecacce3ef03a657008fd94c314948ba2b8
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 941757a..ec70ed4 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -1809,6 +1809,7 @@
mpClientInterface->closeInput(mInputs.keyAt(input_index));
}
mInputs.clear();
+ SoundTrigger::setCaptureState(false);
nextAudioPortGeneration();
if (patchRemoved) {