Merge "Request starting window first when moving task with shell transition" into tm-qpr-dev
This commit is contained in:
@@ -2179,14 +2179,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
|
||||
: null;
|
||||
mTaskSupervisor.findTaskToMoveToFront(task, flags, realOptions, "moveTaskToFront",
|
||||
false /* forceNonResizable */);
|
||||
|
||||
final ActivityRecord topActivity = task.getTopNonFinishingActivity();
|
||||
if (topActivity != null) {
|
||||
|
||||
// We are reshowing a task, use a starting window to hide the initial draw delay
|
||||
// so the transition can start earlier.
|
||||
topActivity.showStartingWindow(true /* taskSwitch */);
|
||||
}
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(origId);
|
||||
}
|
||||
|
||||
@@ -1434,10 +1434,10 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {
|
||||
mUserLeaving = true;
|
||||
}
|
||||
|
||||
task.mTransitionController.requestTransitionIfNeeded(TRANSIT_TO_FRONT,
|
||||
0 /* flags */, task, task /* readyGroupRef */,
|
||||
options != null ? options.getRemoteTransition() : null,
|
||||
null /* displayChange */);
|
||||
final Transition newTransition = task.mTransitionController.isShellTransitionsEnabled()
|
||||
? task.mTransitionController.isCollecting() ? null
|
||||
: task.mTransitionController.createTransition(TRANSIT_TO_FRONT) : null;
|
||||
task.mTransitionController.collect(task);
|
||||
reason = reason + " findTaskToMoveToFront";
|
||||
boolean reparented = false;
|
||||
if (task.isResizeable() && canUseActivityOptionsLaunchBounds(options)) {
|
||||
@@ -1480,6 +1480,17 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {
|
||||
handleNonResizableTaskIfNeeded(task, WINDOWING_MODE_UNDEFINED,
|
||||
mRootWindowContainer.getDefaultTaskDisplayArea(), currentRootTask,
|
||||
forceNonResizeable);
|
||||
if (r != null) {
|
||||
// Use a starting window to reduce the transition latency for reshowing the task.
|
||||
// Note that with shell transition, this should be executed before requesting
|
||||
// transition to avoid delaying the starting window.
|
||||
r.showStartingWindow(true /* taskSwitch */);
|
||||
}
|
||||
if (newTransition != null) {
|
||||
task.mTransitionController.requestStartTransition(newTransition, task,
|
||||
options != null ? options.getRemoteTransition() : null,
|
||||
null /* displayChange */);
|
||||
}
|
||||
} finally {
|
||||
mUserLeaving = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user