Merge "Clean up out of date logic for starting activity"
This commit is contained in:
@@ -53,6 +53,7 @@ import static android.view.Display.DEFAULT_DISPLAY;
|
||||
import static android.view.Display.INVALID_DISPLAY;
|
||||
import static android.view.Display.TYPE_VIRTUAL;
|
||||
import static android.view.WindowManager.TRANSIT_DOCK_TASK_FROM_RECENTS;
|
||||
|
||||
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_ALL;
|
||||
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_FOCUS;
|
||||
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_IDLE;
|
||||
@@ -99,6 +100,7 @@ import static com.android.server.am.TaskRecord.LOCK_TASK_AUTH_WHITELISTED;
|
||||
import static com.android.server.am.TaskRecord.REPARENT_KEEP_STACK_AT_FRONT;
|
||||
import static com.android.server.am.TaskRecord.REPARENT_LEAVE_STACK_IN_PLACE;
|
||||
import static com.android.server.am.TaskRecord.REPARENT_MOVE_STACK_TO_FRONT;
|
||||
|
||||
import static java.lang.Integer.MAX_VALUE;
|
||||
|
||||
import android.Manifest;
|
||||
@@ -4456,10 +4458,6 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
|
||||
if (!task.canBeLaunchedOnDisplay(actualDisplayId)) {
|
||||
throw new IllegalStateException("Task resolved to incompatible display");
|
||||
}
|
||||
// The task might have landed on a display different from requested.
|
||||
// TODO(multi-display): Find proper stack for the task on the default display.
|
||||
mService.setTaskWindowingMode(task.taskId,
|
||||
WINDOWING_MODE_FULLSCREEN_OR_SPLIT_SCREEN_SECONDARY, true /* toTop */);
|
||||
if (preferredDisplayId != actualDisplayId) {
|
||||
Slog.w(TAG, "Failed to put " + task + " on display " + preferredDisplayId);
|
||||
// Display a warning toast that we failed to put a task on a secondary display.
|
||||
|
||||
@@ -1477,7 +1477,7 @@ class ActivityStarter {
|
||||
if (mStartActivity.resultTo == null && mInTask == null && !mAddingToTask
|
||||
&& (mLaunchFlags & FLAG_ACTIVITY_NEW_TASK) != 0) {
|
||||
newTask = true;
|
||||
result = setTaskFromReuseOrCreateNewTask(taskToAffiliate, topStack);
|
||||
result = setTaskFromReuseOrCreateNewTask(taskToAffiliate);
|
||||
} else if (mSourceRecord != null) {
|
||||
result = setTaskFromSourceRecord();
|
||||
} else if (mInTask != null) {
|
||||
@@ -2125,8 +2125,7 @@ class ActivityStarter {
|
||||
mSupervisor.updateUserStackLocked(mStartActivity.userId, mTargetStack);
|
||||
}
|
||||
|
||||
private int setTaskFromReuseOrCreateNewTask(
|
||||
TaskRecord taskToAffiliate, ActivityStack topStack) {
|
||||
private int setTaskFromReuseOrCreateNewTask(TaskRecord taskToAffiliate) {
|
||||
mTargetStack = computeStackFocus(mStartActivity, true, mLaunchFlags, mOptions);
|
||||
|
||||
// Do no move the target stack to front yet, as we might bail if
|
||||
@@ -2431,17 +2430,6 @@ class ActivityStarter {
|
||||
}
|
||||
}
|
||||
if (stack == null) {
|
||||
// We first try to put the task in the first dynamic stack on home display.
|
||||
final ActivityDisplay display = mSupervisor.getDefaultDisplay();
|
||||
for (int stackNdx = display.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
|
||||
stack = display.getChildAt(stackNdx);
|
||||
if (!stack.isOnHomeDisplay()) {
|
||||
if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG_FOCUS,
|
||||
"computeStackFocus: Setting focused stack=" + stack);
|
||||
return stack;
|
||||
}
|
||||
}
|
||||
// If there is no suitable dynamic stack then we figure out which static stack to use.
|
||||
stack = mSupervisor.getLaunchStack(r, aOptions, task, ON_TOP);
|
||||
}
|
||||
if (DEBUG_FOCUS || DEBUG_STACK) Slog.d(TAG_FOCUS, "computeStackFocus: New stack r="
|
||||
|
||||
Reference in New Issue
Block a user