From 7f1b8f6cf6720163ea1a616b4536a7f7260d8e41 Mon Sep 17 00:00:00 2001 From: Hai Zhang Date: Fri, 8 Mar 2019 16:44:27 -0800 Subject: [PATCH] Reset assistant role after package force stop. Bug: 124450140 Test: manual Change-Id: I6a29fe27f9b5f95c32d6171d0cca1fa700c07e4d --- .../VoiceInteractionManagerService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index b9440ebd88f66..ad1e3ef43ea46 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -1389,6 +1389,16 @@ public class VoiceInteractionManagerService extends SystemService { resetCurAssistant(userHandle); initForUser(userHandle); switchImplementationIfNeededLocked(true); + + Context context = getContext(); + context.getSystemService(RoleManager.class).clearRoleHoldersAsUser( + RoleManager.ROLE_ASSISTANT, 0, UserHandle.of(userHandle), + context.getMainExecutor(), successful -> { + if (!successful) { + Slog.e(TAG, + "Failed to clear default assistant for force stop"); + } + }); } } else if (hitRec && doit) { // We are just force-stopping the current recognizer, which is not