summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Robert Wu <robertwu@google.com> 2024-10-29 23:48:24 +0000
committer Robert Wu <robertwu@google.com> 2024-11-15 19:40:32 +0000
commit4fcdbe7d61451747bd7993eb2511cf93f67a391d (patch)
tree1ebe19e20b782cc532d093b8f43bf9981449ef5b
parentfc48edc76ed0897b3108439c0ae299e4513765a3 (diff)
Use a vector of devices in IAudioManager
Bug: 367816690 Test: Alarm with and without USB headset Flag: EXEMPT refactor Change-Id: If707cd8abf5c248217d0855f42fb1a4900a1674d
-rw-r--r--include/audiomanager/IAudioManager.h2
-rw-r--r--services/audiomanager/IAudioManager.cpp7
2 files changed, 6 insertions, 3 deletions
diff --git a/include/audiomanager/IAudioManager.h b/include/audiomanager/IAudioManager.h
index 0b7e16bc7d..a35a145084 100644
--- a/include/audiomanager/IAudioManager.h
+++ b/include/audiomanager/IAudioManager.h
@@ -56,7 +56,7 @@ public:
/*oneway*/ virtual status_t playerAttributes(audio_unique_id_t piid, audio_usage_t usage,
audio_content_type_t content)= 0;
/*oneway*/ virtual status_t playerEvent(audio_unique_id_t piid, player_state_t event,
- audio_port_handle_t eventId) = 0;
+ const std::vector<audio_port_handle_t>& eventIds) = 0;
/*oneway*/ virtual status_t releasePlayer(audio_unique_id_t piid) = 0;
virtual audio_unique_id_t trackRecorder(const sp<IBinder>& recorder) = 0;
/*oneway*/ virtual status_t recorderEvent(audio_unique_id_t riid, recorder_state_t event) = 0;
diff --git a/services/audiomanager/IAudioManager.cpp b/services/audiomanager/IAudioManager.cpp
index da1aae2acb..f8a38d1e38 100644
--- a/services/audiomanager/IAudioManager.cpp
+++ b/services/audiomanager/IAudioManager.cpp
@@ -87,12 +87,15 @@ public:
}
virtual status_t playerEvent(audio_unique_id_t piid, player_state_t event,
- audio_port_handle_t eventId) {
+ const std::vector<audio_port_handle_t>& eventIds) {
Parcel data, reply;
data.writeInterfaceToken(IAudioManager::getInterfaceDescriptor());
data.writeInt32((int32_t) piid);
data.writeInt32((int32_t) event);
- data.writeInt32((int32_t) eventId);
+ data.writeInt32((int32_t) eventIds.size());
+ for (auto eventId: eventIds) {
+ data.writeInt32((int32_t) eventId);
+ }
return remote()->transact(PLAYER_EVENT, data, &reply, IBinder::FLAG_ONEWAY);
}