Merge "audio policy: fix capture policy for HOTWORD source"
diff --git a/services/audiopolicy/service/AudioPolicyService.cpp b/services/audiopolicy/service/AudioPolicyService.cpp
index 85ea94f..62010e1 100644
--- a/services/audiopolicy/service/AudioPolicyService.cpp
+++ b/services/audiopolicy/service/AudioPolicyService.cpp
@@ -458,16 +458,20 @@
continue;
}
+ bool isAssistant = mUidPolicy->isAssistantUid(current->uid);
if (appState == APP_STATE_TOP) {
if (current->startTimeNs > topStartNs) {
topActive = current;
topStartNs = current->startTimeNs;
}
- if (mUidPolicy->isAssistantUid(current->uid)) {
+ if (isAssistant) {
isAssistantOnTop = true;
}
}
- if (current->startTimeNs > latestStartNs) {
+ // Assistant capturing for HOTWORD not considered for latest active to avoid
+ // masking regular clients started before
+ if (current->startTimeNs > latestStartNs &&
+ !(current->attributes.source == AUDIO_SOURCE_HOTWORD && isAssistant)) {
latestActive = current;
latestStartNs = current->startTimeNs;
}