Merge "Put launch adjacent activity in a new task if the activity does exist" into nyc-dev

am: a781232656

* commit 'a78123265658380b3968773a5f575b0ba1b4620e':
  Put launch adjacent activity in a new task if the activity does exist

Change-Id: I3f08450d7cbb248467ba34e3a28c2b1225b92d31
This commit is contained in:
Wale Ogunwale
2016-05-20 17:24:15 +00:00
committed by android-build-merger

View File

@@ -1396,11 +1396,18 @@ class ActivityStarter {
final TaskRecord task = mSupervisor.anyTaskForIdLocked(mOptions.getLaunchTaskId()); final TaskRecord task = mSupervisor.anyTaskForIdLocked(mOptions.getLaunchTaskId());
intentActivity = task != null ? task.getTopActivity() : null; intentActivity = task != null ? task.getTopActivity() : null;
} else if (putIntoExistingTask) { } else if (putIntoExistingTask) {
// See if there is a task to bring to the front. If this is a SINGLE_INSTANCE if (mLaunchSingleInstance) {
// activity, there can be one and only one instance of it in the history, and it is // There can be one and only one instance of single instance activity in the
// always in its own unique task, so we do a special search. // history, and it is always in its own unique task, so we do a special search.
intentActivity = mLaunchSingleInstance ? mSupervisor.findActivityLocked(mIntent, mStartActivity.info) intentActivity = mSupervisor.findActivityLocked(mIntent, mStartActivity.info);
: mSupervisor.findTaskLocked(mStartActivity); } else if ((mLaunchFlags & FLAG_ACTIVITY_LAUNCH_ADJACENT) != 0) {
// For the launch adjacent case we only want to put the activity in an existing
// task if the activity already exists in the history.
intentActivity = mSupervisor.findActivityLocked(mIntent, mStartActivity.info);
} else {
// Otherwise find the best task to put the activity in.
intentActivity = mSupervisor.findTaskLocked(mStartActivity);
}
} }
return intentActivity; return intentActivity;
} }