Loading services/core/java/com/android/server/am/ActivityStackSupervisor.java +2 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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. Loading services/core/java/com/android/server/am/ActivityStarter.java +2 −14 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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 Loading Loading @@ -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=" Loading Loading
services/core/java/com/android/server/am/ActivityStackSupervisor.java +2 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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. Loading
services/core/java/com/android/server/am/ActivityStarter.java +2 −14 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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 Loading Loading @@ -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=" Loading