From 0d562bf89288fc9a4d0341ee3e48721811c01f09 Mon Sep 17 00:00:00 2001 From: chaviw Date: Thu, 15 Mar 2018 14:24:14 -0700 Subject: [PATCH] Revert "Set options on startingActivity instead of topActivity" This reverts commit ee6f81b20286e5942ce738763e3b8713dfc7c9ac. Bug: 74611027 --- .../core/java/com/android/server/am/ActivityStack.java | 17 ++++++++--------- .../com/android/server/am/ActivityStackSupervisor.java | 2 +- .../java/com/android/server/am/ActivityStarter.java | 17 ++++++++--------- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 906f52bee0ec..e89d87dc2e24 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -4501,11 +4501,11 @@ class ActivityStack extends ConfigurationContai return hasVisibleActivities; } - private void updateTransitLocked(int transit, ActivityRecord starting, - ActivityOptions options) { + private void updateTransitLocked(int transit, ActivityOptions options) { if (options != null) { - if (starting != null && !starting.isState(RESUMED)) { - starting.updateOptionsLocked(options); + ActivityRecord r = topRunningActivityLocked(); + if (r != null && !r.isState(RESUMED)) { + r.updateOptionsLocked(options); } else { ActivityOptions.abort(options); } @@ -4542,9 +4542,8 @@ class ActivityStack extends ConfigurationContai } } - final void moveTaskToFrontLocked(TaskRecord tr, ActivityRecord starting, - boolean noAnimation, ActivityOptions options, AppTimeTracker timeTracker, - String reason) { + final void moveTaskToFrontLocked(TaskRecord tr, boolean noAnimation, ActivityOptions options, + AppTimeTracker timeTracker, String reason) { if (DEBUG_SWITCH) Slog.v(TAG_SWITCH, "moveTaskToFront: " + tr); final ActivityStack topStack = getDisplay().getTopStack(); @@ -4556,7 +4555,7 @@ class ActivityStack extends ConfigurationContai if (noAnimation) { ActivityOptions.abort(options); } else { - updateTransitLocked(TRANSIT_TASK_TO_FRONT, starting, options); + updateTransitLocked(TRANSIT_TASK_TO_FRONT, options); } return; } @@ -4594,7 +4593,7 @@ class ActivityStack extends ConfigurationContai } ActivityOptions.abort(options); } else { - updateTransitLocked(TRANSIT_TASK_TO_FRONT, starting, options); + updateTransitLocked(TRANSIT_TASK_TO_FRONT, options); } // If a new task is moved to the front, then mark the existing top activity as supporting // picture-in-picture while paused only if the task would not be considered an oerlay on top diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java index efc0d7d87e63..abd24e140c01 100644 --- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java @@ -2196,7 +2196,7 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D } final ActivityRecord r = task.getTopActivity(); - currentStack.moveTaskToFrontLocked(task, r, false /* noAnimation */, options, + currentStack.moveTaskToFrontLocked(task, false /* noAnimation */, options, r == null ? null : r.appTimeTracker, reason); if (DEBUG_STACK) Slog.d(TAG_STACK, diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java index 267023569ce0..bd53eac7fee7 100644 --- a/services/core/java/com/android/server/am/ActivityStarter.java +++ b/services/core/java/com/android/server/am/ActivityStarter.java @@ -1815,9 +1815,8 @@ class ActivityStarter { // We only want to move to the front, if we aren't going to launch on a // different stack. If we launch on a different stack, we will put the // task on top there. - mTargetStack.moveTaskToFrontLocked(intentTask, mStartActivity, mNoAnimation, - mOptions, mStartActivity.appTimeTracker, - "bringingFoundTaskToFront"); + mTargetStack.moveTaskToFrontLocked(intentTask, mNoAnimation, mOptions, + mStartActivity.appTimeTracker, "bringingFoundTaskToFront"); mMovedToFront = true; } else if (launchStack.inSplitScreenWindowingMode()) { if ((mLaunchFlags & FLAG_ACTIVITY_LAUNCH_ADJACENT) != 0) { @@ -1831,7 +1830,7 @@ class ActivityStarter { // We choose to move task to front instead of launching it adjacent // when specific stack was requested explicitly and it appeared to be // adjacent stack, but FLAG_ACTIVITY_LAUNCH_ADJACENT was not set. - mTargetStack.moveTaskToFrontLocked(intentTask, mStartActivity, + mTargetStack.moveTaskToFrontLocked(intentTask, mNoAnimation, mOptions, mStartActivity.appTimeTracker, "bringToFrontInsteadOfAdjacentLaunch"); } @@ -2060,7 +2059,7 @@ class ActivityStarter { final TaskRecord topTask = mTargetStack.topTask(); if (topTask != sourceTask && !mAvoidMoveToFront) { - mTargetStack.moveTaskToFrontLocked(sourceTask, mStartActivity, mNoAnimation, mOptions, + mTargetStack.moveTaskToFrontLocked(sourceTask, mNoAnimation, mOptions, mStartActivity.appTimeTracker, "sourceTaskToFront"); } else if (mDoResume) { mTargetStack.moveToFront("sourceStackToFront"); @@ -2126,7 +2125,7 @@ class ActivityStarter { && top.userId == mStartActivity.userId) { if ((mLaunchFlags & FLAG_ACTIVITY_SINGLE_TOP) != 0 || isLaunchModeOneOf(LAUNCH_SINGLE_TOP, LAUNCH_SINGLE_TASK)) { - mTargetStack.moveTaskToFrontLocked(mInTask, mStartActivity, mNoAnimation, mOptions, + mTargetStack.moveTaskToFrontLocked(mInTask, mNoAnimation, mOptions, mStartActivity.appTimeTracker, "inTaskToFront"); if ((mStartFlags & START_FLAG_ONLY_IF_NEEDED) != 0) { // We don't need to start a new activity, and the client said not to do @@ -2139,7 +2138,7 @@ class ActivityStarter { } if (!mAddingToTask) { - mTargetStack.moveTaskToFrontLocked(mInTask, mStartActivity, mNoAnimation, mOptions, + mTargetStack.moveTaskToFrontLocked(mInTask, mNoAnimation, mOptions, mStartActivity.appTimeTracker, "inTaskToFront"); // We don't actually want to have this activity added to the task, so just // stop here but still tell the caller that we consumed the intent. @@ -2159,8 +2158,8 @@ class ActivityStarter { updateBounds(mInTask, mLaunchParams.mBounds); } - mTargetStack.moveTaskToFrontLocked(mInTask, mStartActivity, mNoAnimation, mOptions, - mStartActivity.appTimeTracker, "inTaskToFront"); + mTargetStack.moveTaskToFrontLocked( + mInTask, mNoAnimation, mOptions, mStartActivity.appTimeTracker, "inTaskToFront"); addOrReparentStartingActivity(mInTask, "setTaskFromInTask"); if (DEBUG_TASKS) Slog.v(TAG_TASKS, "Starting new activity " + mStartActivity -- 2.11.0