summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yuncheol Heo <ycheo@google.com> 2021-01-13 21:56:00 -0800
committer Yuncheol Heo <ycheo@google.com> 2021-01-14 11:38:25 -0800
commit2e4f47dc287045bf5f91b98b5e2a6ce2bb41f55f (patch)
tree7b35003a0dfbcc08863eefbcfa03dd7b45c18a80
parent41c074582d20e2b33350130c22bb41bd032cf54a (diff)
Initialize launchCookie in fillTaskInfo.
- This can cause that some tasks are routed to the wrong TaskListener. - The TaskInfo can be reused if the previous TaskOrganizerController .dispatchTaskInfoChanged() exits in the middle: http://shortn/_I3HhUmbKPh Bug: 177490846 Test: Check if CarLauncher with TaskView starts properly Change-Id: I76f45c68bf7f9db34259bb6c2651d253505cdc6b
-rw-r--r--services/core/java/com/android/server/wm/Task.java1
-rw-r--r--services/core/java/com/android/server/wm/TaskOrganizerController.java1
2 files changed, 2 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index a88e4537d1a2..397d585f61e7 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -4085,6 +4085,7 @@ class Task extends WindowContainer<WindowContainer> {
info.topActivityInfo = mReuseActivitiesReport.top != null
? mReuseActivitiesReport.top.info
: null;
+ info.launchCookies.clear();
info.addLaunchCookie(mLaunchCookie);
forAllActivities(r -> {
info.addLaunchCookie(r.mLaunchCookie);
diff --git a/services/core/java/com/android/server/wm/TaskOrganizerController.java b/services/core/java/com/android/server/wm/TaskOrganizerController.java
index 089071f5de54..71ce3c2c3a93 100644
--- a/services/core/java/com/android/server/wm/TaskOrganizerController.java
+++ b/services/core/java/com/android/server/wm/TaskOrganizerController.java
@@ -555,6 +555,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
changed = (cfgChanges & REPORT_CONFIGS) != 0;
}
if (!(changed || force)) {
+ // mTmpTaskInfo will be reused next time.
return;
}
final RunningTaskInfo newInfo = mTmpTaskInfo;