audio policy: improve input device connection logic
Do not systematically close all inputs when an input device is connected
or disconnected but only those affected by the change.
Also:
- refactor setDeviceConnectionStateInt() to align input and output
devices connection sequence
- remove unused "inputs" argument to checkInputsForDevice()
Bug: 126370328
Test: phone call, video call , camcorder, assistant, auto projected
Change-Id: I27734b32da97ad4790d6cd74eaaf866e414db211
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h
index 3376965..8ca06e7 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.h
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h
@@ -142,7 +142,7 @@
// indicates to the audio policy manager that the input stops being used.
virtual status_t stopInput(audio_port_handle_t portId);
virtual void releaseInput(audio_port_handle_t portId);
- virtual void closeAllInputs();
+ virtual void checkCloseInputs();
/**
* @brief initStreamVolume: even if the engine volume files provides min and max, keep this
* api for compatibility reason.
@@ -486,8 +486,7 @@
SortedVector<audio_io_handle_t>& outputs);
status_t checkInputsForDevice(const sp<DeviceDescriptor>& device,
- audio_policy_dev_state_t state,
- SortedVector<audio_io_handle_t>& inputs);
+ audio_policy_dev_state_t state);
// close an output and its companion duplicating output.
void closeOutput(audio_io_handle_t output);