Merge "Reparent task back to the surface control during change transitions" into udc-dev

This commit is contained in:
Mady Mellor
2023-04-27 16:37:29 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 0 deletions

View File

@@ -82,6 +82,10 @@ public class TaskViewTaskController implements ShellTaskOrganizer.TaskListener {
mGuard.open("release");
}
SurfaceControl getSurfaceControl() {
return mSurfaceControl;
}
/**
* Sets the provided {@link TaskViewBase}, which is used to notify the client part about the
* task related changes and getting the current bounds.

View File

@@ -336,6 +336,19 @@ public class TaskViewTransitions implements Transitions.TransitionHandler {
tv.prepareOpenAnimation(taskIsNew, startTransaction, finishTransaction,
chg.getTaskInfo(), chg.getLeash(), wct);
changesHandled++;
} else if (chg.getMode() == TRANSIT_CHANGE) {
TaskViewTaskController tv = findTaskView(chg.getTaskInfo());
if (tv == null) {
if (pending != null) {
Slog.w(TAG, "Found a non-TaskView task in a TaskView Transition. This "
+ "shouldn't happen, so there may be a visual artifact: "
+ chg.getTaskInfo().taskId);
}
continue;
}
startTransaction.reparent(chg.getLeash(), tv.getSurfaceControl());
finishTransaction.reparent(chg.getLeash(), tv.getSurfaceControl());
changesHandled++;
}
}
if (stillNeedsMatchingLaunch) {