Merge "Reparent task back to the surface control during change transitions" into udc-dev
This commit is contained in:
@@ -82,6 +82,10 @@ public class TaskViewTaskController implements ShellTaskOrganizer.TaskListener {
|
|||||||
mGuard.open("release");
|
mGuard.open("release");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SurfaceControl getSurfaceControl() {
|
||||||
|
return mSurfaceControl;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the provided {@link TaskViewBase}, which is used to notify the client part about the
|
* Sets the provided {@link TaskViewBase}, which is used to notify the client part about the
|
||||||
* task related changes and getting the current bounds.
|
* task related changes and getting the current bounds.
|
||||||
|
|||||||
@@ -336,6 +336,19 @@ public class TaskViewTransitions implements Transitions.TransitionHandler {
|
|||||||
tv.prepareOpenAnimation(taskIsNew, startTransaction, finishTransaction,
|
tv.prepareOpenAnimation(taskIsNew, startTransaction, finishTransaction,
|
||||||
chg.getTaskInfo(), chg.getLeash(), wct);
|
chg.getTaskInfo(), chg.getLeash(), wct);
|
||||||
changesHandled++;
|
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) {
|
if (stillNeedsMatchingLaunch) {
|
||||||
|
|||||||
Reference in New Issue
Block a user