summaryrefslogtreecommitdiff
path: root/core/java/android/window/TaskOrganizerTaskEmbedder.java
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2020-04-09 14:30:55 -0700
committerWinson Chung <winsonc@google.com>2020-04-11 00:01:05 -0700
commit1df39e2cf6baf6441636ef69f8f978bf51a27462 (patch)
tree181ec2866cdf1bc6f241c76d900af047842f160d /core/java/android/window/TaskOrganizerTaskEmbedder.java
parentcb437ade00bd23dba1a8ea729bc4ecefd1bc5fbe (diff)
Send task description changed though task org taskInfoChanged
- This removes the need for a separate task stack listener and aligns with other task info change properties - Also implement equals/hashCode for the token so we can use it in containers Bug: 148977538 Test: atest TaskOrganizerTests Signed-off-by: Winson Chung <winsonc@google.com> Change-Id: Ie035e6389fdbdc374c1a4b4a684758efa0cb7a9e
Diffstat (limited to 'core/java/android/window/TaskOrganizerTaskEmbedder.java')
-rw-r--r--core/java/android/window/TaskOrganizerTaskEmbedder.java37
1 files changed, 7 insertions, 30 deletions
diff --git a/core/java/android/window/TaskOrganizerTaskEmbedder.java b/core/java/android/window/TaskOrganizerTaskEmbedder.java
index 39a0101bbf59..b63741ec69c4 100644
--- a/core/java/android/window/TaskOrganizerTaskEmbedder.java
+++ b/core/java/android/window/TaskOrganizerTaskEmbedder.java
@@ -21,7 +21,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
import android.app.ActivityManager;
import android.app.ActivityOptions;
-import android.app.ActivityView;
import android.app.TaskStackListener;
import android.content.Context;
import android.graphics.Rect;
@@ -55,11 +54,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder {
super(context, host);
}
- @Override
- public TaskStackListener createTaskStackListener() {
- return new TaskStackListenerImpl();
- }
-
/**
* Whether this container has been initialized.
*
@@ -219,29 +213,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder {
Log.d(TAG, "[" + System.identityHashCode(this) + "] " + msg);
}
- /**
- * A task change listener that detects background color change of the topmost stack on our
- * virtual display and updates the background of the surface view. This background will be shown
- * when surface view is resized, but the app hasn't drawn its content in new size yet.
- * It also calls StateCallback.onTaskMovedToFront to notify interested parties that the stack
- * associated with the {@link ActivityView} has had a Task moved to the front. This is useful
- * when needing to also bring the host Activity to the foreground at the same time.
- */
- private class TaskStackListenerImpl extends TaskStackListener {
-
- @Override
- public void onTaskDescriptionChanged(ActivityManager.RunningTaskInfo taskInfo) {
- if (!isInitialized()) {
- return;
- }
- if (taskInfo.taskId == mTaskInfo.taskId) {
- mTaskInfo.taskDescription = taskInfo.taskDescription;
- mHost.onTaskBackgroundColorChanged(TaskOrganizerTaskEmbedder.this,
- taskInfo.taskDescription.getBackgroundColor());
- }
- }
- }
-
private class TaskOrganizerImpl extends TaskOrganizer {
@Override
public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo) {
@@ -249,7 +220,6 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder {
log("taskAppeared: " + taskInfo.taskId);
}
- // TODO: Ensure visibility/alpha of the leash in its initial state?
mTaskInfo = taskInfo;
mTaskToken = taskInfo.token;
mTaskLeash = mTaskToken.getLeash();
@@ -270,6 +240,13 @@ public class TaskOrganizerTaskEmbedder extends TaskEmbedder {
}
@Override
+ public void onTaskInfoChanged(ActivityManager.RunningTaskInfo taskInfo) {
+ mTaskInfo.taskDescription = taskInfo.taskDescription;
+ mHost.post(() -> mHost.onTaskBackgroundColorChanged(TaskOrganizerTaskEmbedder.this,
+ taskInfo.taskDescription.getBackgroundColor()));
+ }
+
+ @Override
public void onTaskVanished(ActivityManager.RunningTaskInfo taskInfo) {
if (DEBUG) {
log("taskVanished: " + taskInfo.taskId);