diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java index 22cce1b4b5867..591e35a49be6a 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java @@ -445,9 +445,15 @@ final class HotwordDetectionConnection { // Recreate connection to reset the cache. mRestartCount++; - mRemoteHotwordDetectionService = mHotwordDetectionServiceConnectionFactory.createLocked(); - mRemoteVisualQueryDetectionService = - mVisualQueryDetectionServiceConnectionFactory.createLocked(); + if (oldHotwordConnection != null) { + mRemoteHotwordDetectionService = + mHotwordDetectionServiceConnectionFactory.createLocked(); + } + + if (oldVisualQueryDetectionConnection != null) { + mRemoteVisualQueryDetectionService = + mVisualQueryDetectionServiceConnectionFactory.createLocked(); + } Slog.v(TAG, "Started the new process, dispatching processRestarted to detector"); runForEachDetectorSessionLocked((session) -> {