audiopolicy: add Volume for attribute and callback native APIs
Change-Id: I259de42452d2802aa8dbd553f56040dea6995a93
Signed-off-by: François Gaffie <francois.gaffie@renault.com>
Bug: 124767636
Test: make
diff --git a/media/libaudioclient/IAudioPolicyServiceClient.cpp b/media/libaudioclient/IAudioPolicyServiceClient.cpp
index 1f9eab7..52d8ccd 100644
--- a/media/libaudioclient/IAudioPolicyServiceClient.cpp
+++ b/media/libaudioclient/IAudioPolicyServiceClient.cpp
@@ -31,7 +31,8 @@
PORT_LIST_UPDATE = IBinder::FIRST_CALL_TRANSACTION,
PATCH_LIST_UPDATE,
MIX_STATE_UPDATE,
- RECORDING_CONFIGURATION_UPDATE
+ RECORDING_CONFIGURATION_UPDATE,
+ VOLUME_GROUP_CHANGED,
};
// ----------------------------------------------------------------------
@@ -108,6 +109,15 @@
remote()->transact(PATCH_LIST_UPDATE, data, &reply, IBinder::FLAG_ONEWAY);
}
+ void onAudioVolumeGroupChanged(volume_group_t group, int flags)
+ {
+ Parcel data, reply;
+ data.writeInterfaceToken(IAudioPolicyServiceClient::getInterfaceDescriptor());
+ data.writeUint32(group);
+ data.writeInt32(flags);
+ remote()->transact(VOLUME_GROUP_CHANGED, data, &reply, IBinder::FLAG_ONEWAY);
+ }
+
void onDynamicPolicyMixStateUpdate(String8 regId, int32_t state)
{
Parcel data, reply;
@@ -157,6 +167,13 @@
onAudioPatchListUpdate();
return NO_ERROR;
} break;
+ case VOLUME_GROUP_CHANGED: {
+ CHECK_INTERFACE(IAudioPolicyServiceClient, data, reply);
+ volume_group_t group = static_cast<volume_group_t>(data.readUint32());
+ int flags = data.readInt32();
+ onAudioVolumeGroupChanged(group, flags);
+ return NO_ERROR;
+ } break;
case MIX_STATE_UPDATE: {
CHECK_INTERFACE(IAudioPolicyServiceClient, data, reply);
String8 regId = data.readString8();