Merge "Fix bug with drag-to-split involving work profiles" into udc-dev am: 57d6975cfb am: cbe2af092d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23357894 Change-Id: Ie4e55116280d518d96eae22a247ada2398198297 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -371,7 +371,8 @@ public class RecentTasksController implements TaskStackListenerCallback,
|
||||
* Find the background task that match the given component.
|
||||
*/
|
||||
@Nullable
|
||||
public ActivityManager.RecentTaskInfo findTaskInBackground(ComponentName componentName) {
|
||||
public ActivityManager.RecentTaskInfo findTaskInBackground(ComponentName componentName,
|
||||
int userId) {
|
||||
if (componentName == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -383,7 +384,7 @@ public class RecentTasksController implements TaskStackListenerCallback,
|
||||
if (task.isVisible) {
|
||||
continue;
|
||||
}
|
||||
if (componentName.equals(task.baseIntent.getComponent())) {
|
||||
if (componentName.equals(task.baseIntent.getComponent()) && userId == task.userId) {
|
||||
return task;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -723,7 +723,7 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
|
||||
// in the background with priority.
|
||||
final ActivityManager.RecentTaskInfo taskInfo = mRecentTasksOptional
|
||||
.map(recentTasks -> recentTasks.findTaskInBackground(
|
||||
intent.getIntent().getComponent()))
|
||||
intent.getIntent().getComponent(), userId1))
|
||||
.orElse(null);
|
||||
if (taskInfo != null) {
|
||||
startTask(taskInfo.taskId, position, options);
|
||||
|
||||
@@ -223,7 +223,7 @@ public class SplitScreenControllerTests extends ShellTestCase {
|
||||
doReturn(topRunningTask).when(mRecentTasks).getTopRunningTask();
|
||||
// Put the same component into a task in the background
|
||||
ActivityManager.RecentTaskInfo sameTaskInfo = new ActivityManager.RecentTaskInfo();
|
||||
doReturn(sameTaskInfo).when(mRecentTasks).findTaskInBackground(any());
|
||||
doReturn(sameTaskInfo).when(mRecentTasks).findTaskInBackground(any(), anyInt());
|
||||
|
||||
mSplitScreenController.startIntent(pendingIntent, mContext.getUserId(), null,
|
||||
SPLIT_POSITION_TOP_OR_LEFT, null);
|
||||
@@ -247,7 +247,7 @@ public class SplitScreenControllerTests extends ShellTestCase {
|
||||
SPLIT_POSITION_BOTTOM_OR_RIGHT);
|
||||
// Put the same component into a task in the background
|
||||
doReturn(new ActivityManager.RecentTaskInfo()).when(mRecentTasks)
|
||||
.findTaskInBackground(any());
|
||||
.findTaskInBackground(any(), anyInt());
|
||||
|
||||
mSplitScreenController.startIntent(pendingIntent, mContext.getUserId(), null,
|
||||
SPLIT_POSITION_TOP_OR_LEFT, null);
|
||||
|
||||
Reference in New Issue
Block a user