summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/IActivityTaskManager.aidl2
-rw-r--r--packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java2
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java18
3 files changed, 18 insertions, 4 deletions
diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl
index 55ce90d00011..c876921379c3 100644
--- a/core/java/android/app/IActivityTaskManager.aidl
+++ b/core/java/android/app/IActivityTaskManager.aidl
@@ -226,7 +226,7 @@ interface IActivityTaskManager {
in IBinder activityToken, int flags);
boolean isAssistDataAllowed();
boolean requestAssistDataForTask(in IAssistDataReceiver receiver, int taskId,
- in String callingPackageName, String callingAttributionTag);
+ in String callingPackageName, String callingAttributionTag, boolean fetchStructure);
/**
* Notify the system that the keyguard is going away.
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java b/packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java
index 6ff153569ad7..74513f728601 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/AssistContentRequester.java
@@ -91,7 +91,7 @@ public class AssistContentRequester {
try {
boolean success = mActivityTaskManager.requestAssistDataForTask(
new AssistDataReceiver(callback, this), taskId, mPackageName,
- mAttributionTag);
+ mAttributionTag, false /* fetchStructure */);
if (!success) {
callback.onAssistContentAvailable(null);
}
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 1c14c5dbc43a..20e6c4e1901d 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -3142,9 +3142,23 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
null, PENDING_ASSIST_EXTRAS_LONG_TIMEOUT, 0) != null;
}
+ /**
+ * Requests assist data for a particular Task.
+ *
+ * <p>This is used by the system components to request assist data for a Task.
+ *
+ * @param receiver The receiver to send the assist data to.
+ * @param taskId The Task to request assist data for.
+ * @param callingPackageName The package name of the caller.
+ * @param callingAttributionTag The attribution tag of the caller.
+ * @param fetchStructure Whether to fetch the assist structure. Note that this is slow and
+ * should be avoided if possible.
+ * @return Whether the request was successful.
+ */
@Override
public boolean requestAssistDataForTask(IAssistDataReceiver receiver, int taskId,
- String callingPackageName, @Nullable String callingAttributionTag) {
+ String callingPackageName, @Nullable String callingAttributionTag,
+ boolean fetchStructure) {
mAmInternal.enforceCallingPermission(android.Manifest.permission.GET_TOP_ACTIVITY_INFO,
"requestAssistDataForTask()");
final long callingId = Binder.clearCallingIdentity();
@@ -3169,7 +3183,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
List<IBinder> topActivityToken = new ArrayList<>();
topActivityToken.add(tokens.getActivityToken());
requester.requestAssistData(topActivityToken, true /* fetchData */,
- false /* fetchScreenshot */, false /* fetchStructure */, true /* allowFetchData */,
+ false /* fetchScreenshot */, fetchStructure, true /* allowFetchData */,
false /* allowFetchScreenshot*/, true /* ignoreFocusCheck */,
Binder.getCallingUid(), callingPackageName, callingAttributionTag);