From aef17248499384e63fcaecec9fa8c10187b1f5cb Mon Sep 17 00:00:00 2001 From: Nicholas Ambur Date: Tue, 18 Apr 2023 01:03:49 +0000 Subject: [PATCH] unbind from HotwordDetectionService when all sessions are destroyed Test: atest AlwaysOnHotwordDetectorTest Bug: 277392480 Change-Id: I15855ad174bebd97409e6baa7c0256d2b0440d1a --- .../server/voiceinteraction/HotwordDetectionConnection.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java index 486945d9159ed..edaaf3fbbcccd 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java @@ -913,8 +913,10 @@ final class HotwordDetectionConnection { } // Handle case where all hotword detector sessions are destroyed with only the visual // detector session left - if (mDetectorSessions.size() == 1 - && mDetectorSessions.get(0) instanceof VisualQueryDetectorSession) { + boolean allHotwordDetectionServiceSessionsRemoved = mDetectorSessions.size() == 0 + || (mDetectorSessions.size() == 1 && mDetectorSessions.get(0) + instanceof VisualQueryDetectorSession); + if (allHotwordDetectionServiceSessionsRemoved) { unbindHotwordDetectionService(); } }