Merge "audio policy: fix capture policy for HOTWORD source" into qt-r1-dev
diff --git a/services/audiopolicy/service/AudioPolicyService.cpp b/services/audiopolicy/service/AudioPolicyService.cpp
index 77f7997..692f612 100644
--- a/services/audiopolicy/service/AudioPolicyService.cpp
+++ b/services/audiopolicy/service/AudioPolicyService.cpp
@@ -459,16 +459,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;
}