From 9260d568dac8ed9148bd8a6c1c67fb93f6b3f0ff Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Mon, 10 Apr 2017 15:32:52 -0700 Subject: [PATCH] Fix the issue of voice interactor getting reset after reboot. Bug: 35308046 Test: manual Change-Id: I71ca106f1186e3cebc7899eca30f7b7746fe1e6c --- .../VoiceInteractionManagerService.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java index dc4b41c3d65a2..6c4ced4326a26 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -302,9 +302,13 @@ public class VoiceInteractionManagerService extends SystemService { ComponentName curInteractor = !TextUtils.isEmpty(curInteractorStr) ? ComponentName.unflattenFromString(curInteractorStr) : null; try { - recognizerInfo = pm.getServiceInfo(curRecognizer, 0, userHandle); + recognizerInfo = pm.getServiceInfo(curRecognizer, + PackageManager.MATCH_DIRECT_BOOT_AWARE + | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userHandle); if (curInteractor != null) { - interactorInfo = pm.getServiceInfo(curInteractor, 0, userHandle); + interactorInfo = pm.getServiceInfo(curInteractor, + PackageManager.MATCH_DIRECT_BOOT_AWARE + | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userHandle); } } catch (RemoteException e) { } @@ -492,7 +496,9 @@ public class VoiceInteractionManagerService extends SystemService { ComponentName findAvailRecognizer(String prefPackage, int userHandle) { List available = mContext.getPackageManager().queryIntentServicesAsUser( - new Intent(RecognitionService.SERVICE_INTERFACE), 0, userHandle); + new Intent(RecognitionService.SERVICE_INTERFACE), + PackageManager.MATCH_DIRECT_BOOT_AWARE + | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userHandle); int numAvailable = available.size(); if (numAvailable == 0) {