diff options
| author | 2024-03-07 10:32:03 -0800 | |
|---|---|---|
| committer | 2024-03-13 23:59:03 +0000 | |
| commit | 240c8048404edb3e9035df9f76f664ba4d14d452 (patch) | |
| tree | 77d40e06eb63c102f0cdbcdbf315cc3ed0a4b2b4 | |
| parent | e1bb375b75c17c1e8ed2ff2bd5c18fad3d6f84bf (diff) | |
Handle currInteractor's state when deciding to go VIS path. Also, add CLEAR_TASK in the launch flags.
Bug: 326143814
Test: Built and tested this branch on device
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:dd3ed16c9377da5bb6b73e93da788a82dea5b2b0)
Merged-In: Ia50e9f0ace9633dce192750d4ac889208c63480a
Change-Id: Ia50e9f0ace9633dce192750d4ac889208c63480a
| -rw-r--r-- | services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java | 9 |
1 files changed, 6 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 5a5296836089..ae4faa84421e 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java @@ -16,6 +16,7 @@ package com.android.server.voiceinteraction; +import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION; import static android.content.Intent.FLAG_ACTIVITY_NO_USER_ACTION; @@ -1072,8 +1073,10 @@ public class VoiceInteractionManagerService extends SystemService { // If visEnabledKey is set to true (or absent), we try following VIS path. String csPkgName = mContext.getResources() .getString(R.string.config_defaultContextualSearchPackageName); - if (!csPkgName.equals(getCurInteractor( - Binder.getCallingUserHandle().getIdentifier()).getPackageName())) { + ComponentName currInteractor = + getCurInteractor(Binder.getCallingUserHandle().getIdentifier()); + if (currInteractor == null + || !csPkgName.equals(currInteractor.getPackageName())) { // Check if the interactor can handle Contextual Search. // If not, return failure. Slog.w(TAG, "Contextual Search not supported yet. Returning failure."); @@ -2718,7 +2721,7 @@ public class VoiceInteractionManagerService extends SystemService { } launchIntent.setComponent(resolveInfo.getComponentInfo().getComponentName()); launchIntent.addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_NO_ANIMATION - | FLAG_ACTIVITY_NO_USER_ACTION); + | FLAG_ACTIVITY_NO_USER_ACTION | FLAG_ACTIVITY_CLEAR_TASK); launchIntent.putExtras(args); boolean isAssistDataAllowed = mAtmInternal.isAssistDataAllowed(); final List<ActivityAssistInfo> records = mAtmInternal.getTopVisibleActivities(); |