From 2e4f47dc287045bf5f91b98b5e2a6ce2bb41f55f Mon Sep 17 00:00:00 2001 From: Yuncheol Heo Date: Wed, 13 Jan 2021 21:56:00 -0800 Subject: [PATCH] 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 --- services/core/java/com/android/server/wm/Task.java | 1 + .../core/java/com/android/server/wm/TaskOrganizerController.java | 1 + 2 files changed, 2 insertions(+) diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index a88e4537d1a25..397d585f61e7e 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 { 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 089071f5de54b..71ce3c2c3a935 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;