summaryrefslogtreecommitdiff
path: root/core/java/android/window/TaskOrganizer.java
diff options
context:
space:
mode:
authorWale Ogunwale <ogunwale@google.com>2020-10-23 13:45:54 -0700
committerWale Ogunwale <ogunwale@google.com>2020-10-26 13:18:09 -0700
commit188d801038e9cb68dbbe0c69558c2f13ca71c20d (patch)
treeef2c92a671ba1b1eb61ed33455fbca263bf7bb9b /core/java/android/window/TaskOrganizer.java
parent6a6ce5e69835aebe3be98500cedbc6a2ed726c53 (diff)
Changed createRootTask task to be completely async
Currently some of the information about a task created by createRootTask is returned with the method and the rest like leash is return in onTaskAppear. Mixing both async and sync infromation return styles complicates the mental model for this. So, we will have this be completely aync for now. Also, fixed an issue where the windowing mode for organizer created task was not set correctly before the organizer gets the first task appear signal. Bug: 169266958 Test: Split-screen works! Change-Id: Ia4180d5a42838bf566fbf75f40466dfd8237e0f1
Diffstat (limited to 'core/java/android/window/TaskOrganizer.java')
-rw-r--r--core/java/android/window/TaskOrganizer.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/core/java/android/window/TaskOrganizer.java b/core/java/android/window/TaskOrganizer.java
index 6c739bed35a4..ad48a9f9f776 100644
--- a/core/java/android/window/TaskOrganizer.java
+++ b/core/java/android/window/TaskOrganizer.java
@@ -23,6 +23,7 @@ import android.annotation.Nullable;
import android.annotation.RequiresPermission;
import android.annotation.TestApi;
import android.app.ActivityManager;
+import android.os.IBinder;
import android.os.RemoteException;
import android.view.SurfaceControl;
@@ -101,12 +102,18 @@ public class TaskOrganizer extends WindowOrganizer {
@BinderThread
public void onBackPressedOnTaskRoot(@NonNull ActivityManager.RunningTaskInfo taskInfo) {}
- /** Creates a persistent root task in WM for a particular windowing-mode. */
+ /**
+ * Creates a persistent root task in WM for a particular windowing-mode.
+ * @param displayId The display to create the root task on.
+ * @param windowingMode Windowing mode to put the root task in.
+ * @param launchCookie Launch cookie to associate with the task so that is can be identified
+ * when the {@link ITaskOrganizer#onTaskAppeared} callback is called.
+ */
@RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS)
@Nullable
- public ActivityManager.RunningTaskInfo createRootTask(int displayId, int windowingMode) {
+ public void createRootTask(int displayId, int windowingMode, @Nullable IBinder launchCookie) {
try {
- return mTaskOrganizerController.createRootTask(displayId, windowingMode);
+ mTaskOrganizerController.createRootTask(displayId, windowingMode, launchCookie);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}