Added IAudioControl#onDevicesToMuteChange

Added new API and parceable for informing the HAL when to mute and
unmute audio for automotive targets. Also added default implementation
to log information passed on.

Bug: 173141906
Test: atest VtsAidlHalAudioControlTest
Change-Id: I4c20320d33417616eef7a980a375ab9303b43eab
diff --git a/automotive/audiocontrol/aidl/default/AudioControl.cpp b/automotive/audiocontrol/aidl/default/AudioControl.cpp
index 748947c..b076d01 100644
--- a/automotive/audiocontrol/aidl/default/AudioControl.cpp
+++ b/automotive/audiocontrol/aidl/default/AudioControl.cpp
@@ -109,21 +109,38 @@
     for (const DuckingInfo& duckingInfo : in_duckingInfos) {
         LOG(INFO) << "zone: " << duckingInfo.zoneId;
         LOG(INFO) << "Devices to duck:";
-        for (auto& addressToDuck : duckingInfo.deviceAddressesToDuck) {
+        for (const auto& addressToDuck : duckingInfo.deviceAddressesToDuck) {
             LOG(INFO) << addressToDuck;
         }
         LOG(INFO) << "Devices to unduck:";
-        for (auto& addressToUnduck : duckingInfo.deviceAddressesToUnduck) {
+        for (const auto& addressToUnduck : duckingInfo.deviceAddressesToUnduck) {
             LOG(INFO) << addressToUnduck;
         }
         LOG(INFO) << "Usages holding focus:";
-        for (auto& usage : duckingInfo.usagesHoldingFocus) {
+        for (const auto& usage : duckingInfo.usagesHoldingFocus) {
             LOG(INFO) << usage;
         }
     }
     return ndk::ScopedAStatus::ok();
 }
 
+ndk::ScopedAStatus AudioControl::onDevicesToMuteChange(
+        const std::vector<MutingInfo>& in_mutingInfos) {
+    LOG(INFO) << "AudioControl::onDevicesToMuteChange";
+    for (const MutingInfo& mutingInfo : in_mutingInfos) {
+        LOG(INFO) << "zone: " << mutingInfo.zoneId;
+        LOG(INFO) << "Devices to mute:";
+        for (const auto& addressToMute : mutingInfo.deviceAddressesToMute) {
+            LOG(INFO) << addressToMute;
+        }
+        LOG(INFO) << "Devices to unmute:";
+        for (const auto& addressToUnmute : mutingInfo.deviceAddressesToUnmute) {
+            LOG(INFO) << addressToUnmute;
+        }
+    }
+    return ndk::ScopedAStatus::ok();
+}
+
 binder_status_t AudioControl::dump(int fd, const char** args, uint32_t numArgs) {
     if (numArgs == 0) {
         return dumpsys(fd);