Merge "Merge "Prevent setting the launch task id when docking." into nyc-dev am: 386a947616 am: 2e494ecc21" into nyc-mr1-dev-plus-aosp
am: ed5f73b124
* commit 'ed5f73b1245b62d0a7b9c46a9b6b6bfa66296a8e':
Prevent setting the launch task id when docking.
Change-Id: I9a0984cbf820de06095b6b0bb303251f3a09c4e1
This commit is contained in:
@@ -373,7 +373,7 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
|
||||
if (stack.getTaskCount() > 0) {
|
||||
// Only preload the icon (but not the thumbnail since it may not have been taken for
|
||||
// the pausing activity)
|
||||
preloadIcon(runningTask);
|
||||
preloadIcon(runningTask.id);
|
||||
|
||||
// At this point, we don't know anything about the stack state. So only calculate
|
||||
// the dimensions of the thumbnail that we need for the transition into Recents, but
|
||||
@@ -667,10 +667,10 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
|
||||
/**
|
||||
* Preloads the icon of a task.
|
||||
*/
|
||||
private void preloadIcon(ActivityManager.RunningTaskInfo task) {
|
||||
private void preloadIcon(int runningTaskId) {
|
||||
// Ensure that we load the running task's icon
|
||||
RecentsTaskLoadPlan.Options launchOpts = new RecentsTaskLoadPlan.Options();
|
||||
launchOpts.runningTaskId = task.id;
|
||||
launchOpts.runningTaskId = runningTaskId;
|
||||
launchOpts.loadThumbnails = false;
|
||||
launchOpts.onlyLoadForCache = true;
|
||||
Recents.getTaskLoader().loadTasks(mContext, sInstanceLoadPlan, launchOpts);
|
||||
@@ -702,7 +702,7 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
|
||||
private ActivityOptions getThumbnailTransitionActivityOptions(
|
||||
ActivityManager.RunningTaskInfo runningTask, TaskStackView stackView,
|
||||
Rect windowOverrideRect) {
|
||||
if (runningTask.stackId == FREEFORM_WORKSPACE_STACK_ID) {
|
||||
if (runningTask != null && runningTask.stackId == FREEFORM_WORKSPACE_STACK_ID) {
|
||||
ArrayList<AppTransitionAnimationSpec> specs = new ArrayList<>();
|
||||
ArrayList<Task> tasks = stackView.getStack().getStackTasks();
|
||||
TaskStackLayoutAlgorithm stackLayout = stackView.getStackAlgorithm();
|
||||
@@ -813,6 +813,10 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
|
||||
RecentsTaskLoader loader = Recents.getTaskLoader();
|
||||
RecentsActivityLaunchState launchState = Recents.getConfiguration().getLaunchState();
|
||||
|
||||
int runningTaskId = !mLaunchedWhileDocking && (runningTask != null)
|
||||
? runningTask.id
|
||||
: -1;
|
||||
|
||||
// In the case where alt-tab is triggered, we never get a preloadRecents() call, so we
|
||||
// should always preload the tasks now. If we are dragging in recents, reload them as
|
||||
// the stacks might have changed.
|
||||
@@ -821,7 +825,7 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
|
||||
sInstanceLoadPlan = loader.createLoadPlan(mContext);
|
||||
}
|
||||
if (mLaunchedWhileDocking || mTriggeredFromAltTab || !sInstanceLoadPlan.hasTasks()) {
|
||||
loader.preloadTasks(sInstanceLoadPlan, runningTask.id, !isHomeStackVisible);
|
||||
loader.preloadTasks(sInstanceLoadPlan, runningTaskId, !isHomeStackVisible);
|
||||
}
|
||||
|
||||
TaskStack stack = sInstanceLoadPlan.getTaskStack();
|
||||
@@ -833,12 +837,12 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener
|
||||
launchState.launchedFromApp = useThumbnailTransition || mLaunchedWhileDocking;
|
||||
launchState.launchedViaDockGesture = mLaunchedWhileDocking;
|
||||
launchState.launchedViaDragGesture = mDraggingInRecents;
|
||||
launchState.launchedToTaskId = (runningTask != null) ? runningTask.id : -1;
|
||||
launchState.launchedToTaskId = runningTaskId;
|
||||
launchState.launchedWithAltTab = mTriggeredFromAltTab;
|
||||
|
||||
// Preload the icon (this will be a null-op if we have preloaded the icon already in
|
||||
// preloadRecents())
|
||||
preloadIcon(runningTask);
|
||||
preloadIcon(runningTaskId);
|
||||
|
||||
// Update the header bar if necessary
|
||||
Rect windowOverrideRect = getWindowRectOverride(growTarget);
|
||||
|
||||
Reference in New Issue
Block a user