summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Shashwat Razdan <srazdan@google.com> 2024-03-07 10:32:03 -0800
committer Cherrypicker Worker <android-build-cherrypicker-worker@google.com> 2024-03-13 23:59:03 +0000
commit240c8048404edb3e9035df9f76f664ba4d14d452 (patch)
tree77d40e06eb63c102f0cdbcdbf315cc3ed0a4b2b4
parente1bb375b75c17c1e8ed2ff2bd5c18fad3d6f84bf (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.java9
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();