Add query API for hotword streams
- Add query API for device support of hotword_tap and hw_lookback flags
- Allow AudioService to call directly into AudioPolicyManager via AIDL
Bug: 237449755
Test: atest AudioRecordTest, atest AudioManagerTest
Change-Id: I730ca36b2dd42baabd8087a51160f75ab294e27b
diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
index 23be0c4..2fb6d58 100644
--- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
+++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
@@ -5645,6 +5645,21 @@
return false;
}
+bool AudioPolicyManager::isHotwordStreamSupported(bool lookbackAudio)
+{
+ const auto mask = AUDIO_INPUT_FLAG_HOTWORD_TAP |
+ (lookbackAudio ? AUDIO_INPUT_FLAG_HW_LOOKBACK : 0);
+ for (const auto& hwModule : mHwModules) {
+ const InputProfileCollection &inputProfiles = hwModule->getInputProfiles();
+ for (const auto &inputProfile : inputProfiles) {
+ if ((inputProfile->getFlags() & mask) == mask) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
bool AudioPolicyManager::isCallScreenModeSupported()
{
return getConfig().isCallScreenModeSupported();