From f105c93c4aa6d1cbebe94c5c8d7d6297258f6fc9 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Tue, 14 May 2019 16:23:50 -0700 Subject: [PATCH] Offload role manager work to background thread Bug: 130305914 Test: Manual Change-Id: Ifbe25980aa5c91698556b6f0070b5fee06014f31 --- .../voiceinteraction/VoiceInteractionManagerService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index e1ffb0f179f84..d77ea6e41cc24 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -77,6 +77,7 @@ import com.android.internal.util.DumpUtils; import com.android.internal.util.Preconditions; import com.android.server.FgThread; import com.android.server.LocalServices; +import com.android.server.SystemServerInitThreadPool; import com.android.server.SystemService; import com.android.server.UiThread; import com.android.server.soundtrigger.SoundTriggerInternal; @@ -1283,7 +1284,9 @@ public class VoiceInteractionManagerService extends SystemService { mRm.addOnRoleHoldersChangedListenerAsUser(executor, this, UserHandle.ALL); UserHandle currentUser = UserHandle.of(LocalServices.getService( ActivityManagerInternal.class).getCurrentUserId()); - onRoleHoldersChanged(RoleManager.ROLE_ASSISTANT, currentUser); + SystemServerInitThreadPool.get().submit(() -> onRoleHoldersChanged( + RoleManager.ROLE_ASSISTANT, currentUser), + "VoiceInteractionManagerService RoleObserver initialization"); } private @NonNull String getDefaultRecognizer(@NonNull UserHandle user) {