Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f1959a11 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add displayId to StageTaskListener protologs" into main

parents 1f8e2b3f 4e30d5b5
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -735,8 +735,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,

    boolean moveToStage(RunningTaskInfo task, @SplitPosition int stagePosition,
            WindowContainerTransaction wct) {
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "moveToStage: task=%d position=%d", task.taskId,
                stagePosition);
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "moveToStage: task=%d position=%d displayId=%d",
                task.taskId, stagePosition, task.displayId);
        // TODO(b/349828130) currently pass in index_undefined until we can revisit these
        //  specific cases in the future. Only focusing on parity with starting intent/task
        prepareEnterSplitScreen(wct, task, stagePosition, false /* resizeAnim */,
@@ -2034,8 +2034,9 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
    void prepareEnterSplitScreen(WindowContainerTransaction wct,
            @Nullable RunningTaskInfo taskInfo, @SplitPosition int startPosition,
            boolean resizeAnim, @SplitIndex int index) {
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "prepareEnterSplitScreen: position=%d resize=%b",
                startPosition, resizeAnim);
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "prepareEnterSplitScreen: position=%d resize=%b "
                        + "displayId=%d",
                startPosition, resizeAnim, taskInfo != null ? taskInfo.displayId : -1);
        onSplitScreenEnter();
        // Preemptively reset the reparenting behavior if we know that we are entering, as starting
        // split tasks with activity trampolines can inadvertently trigger the task to be
@@ -2054,9 +2055,12 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
    private void prepareBringSplit(WindowContainerTransaction wct,
            @Nullable RunningTaskInfo taskInfo, @SplitPosition int startPosition,
            boolean resizeAnim) {
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "prepareBringSplit: task=%d isSplitVisible=%b",
                taskInfo != null ? taskInfo.taskId : -1, isSplitScreenVisible());
        if (taskInfo != null) {
        boolean taskInfoNotNull = taskInfo != null;
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "prepareBringSplit: task=%d isSplitVisible=%b "
                        + "displayId=%d",
                taskInfoNotNull ? taskInfo.taskId : -1, isSplitScreenVisible(),
                taskInfoNotNull ? taskInfo.displayId : -1);
        if (taskInfoNotNull) {
            wct.startTask(taskInfo.taskId,
                    resolveStartStage(STAGE_TYPE_UNDEFINED, startPosition, null, wct));
        }
@@ -2084,12 +2088,15 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
    private void prepareActiveSplit(WindowContainerTransaction wct,
            @Nullable RunningTaskInfo taskInfo, @SplitPosition int startPosition,
            boolean resizeAnim, @SplitIndex int index) {
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "prepareActiveSplit: task=%d isSplitVisible=%b",
                taskInfo != null ? taskInfo.taskId : -1, isSplitScreenVisible());
        boolean taskInfoNotNull = taskInfo != null;
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "prepareActiveSplit: task=%d isSplitVisible=%b "
                        + "displayId=%d",
                taskInfoNotNull ? taskInfo.taskId : -1, isSplitScreenVisible(),
                taskInfoNotNull ? taskInfo.displayId : -1);
        // We handle split visibility itself on shell transition, but sometimes we didn't
        // reset it correctly after dismiss by some reason, so just set invisible before active.
        setSplitsVisible(false);
        if (taskInfo != null) {
        if (taskInfoNotNull) {
            setSideStagePosition(startPosition, wct);
            mSideStage.addTask(taskInfo, wct);
        }
+10 −10
Original line number Diff line number Diff line
@@ -252,10 +252,10 @@ public class StageTaskListener implements ShellTaskOrganizer.TaskListener {
    @CallSuper
    public void onTaskAppeared(ActivityManager.RunningTaskInfo taskInfo, SurfaceControl leash) {
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "onTaskAppeared: taskId=%d taskParent=%d rootTask=%d "
                        + "stageId=%s taskActivity=%s",
                        + "stageId=%s taskActivity=%s displayId=%d",
                taskInfo.taskId, taskInfo.parentTaskId,
                mRootTaskInfo != null ? mRootTaskInfo.taskId : -1,
                stageTypeToString(mId), taskInfo.baseActivity);
                stageTypeToString(mId), taskInfo.baseActivity, taskInfo.displayId);
        if (mRootTaskInfo == null) {
            mRootLeash = leash;
            mRootTaskInfo = taskInfo;
@@ -286,8 +286,8 @@ public class StageTaskListener implements ShellTaskOrganizer.TaskListener {
    @CallSuper
    public void onTaskInfoChanged(ActivityManager.RunningTaskInfo taskInfo) {
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "onTaskInfoChanged: taskId=%d taskAct=%s "
                        + "stageId=%s",
                taskInfo.taskId, taskInfo.baseActivity, stageTypeToString(mId));
                        + "stageId=%s displayId=%d",
                taskInfo.taskId, taskInfo.baseActivity, stageTypeToString(mId), taskInfo.displayId);
        mWindowDecorViewModel.ifPresent(viewModel -> viewModel.onTaskInfoChanged(taskInfo));
        if (mRootTaskInfo.taskId == taskInfo.taskId) {
            mRootTaskInfo = taskInfo;
@@ -297,8 +297,8 @@ public class StageTaskListener implements ShellTaskOrganizer.TaskListener {
                    || !ArrayUtils.contains(CONTROLLED_WINDOWING_MODES_WHEN_ACTIVE,
                    taskInfo.getWindowingMode())) {
                ProtoLog.d(WM_SHELL_SPLIT_SCREEN,
                        "onTaskInfoChanged: task=%d no longer supports multiwindow",
                        taskInfo.taskId);
                        "onTaskInfoChanged: task=%d no longer supports multiwindow on display=%d",
                        taskInfo.taskId, taskInfo.displayId);
                // Leave split screen if the task no longer supports multi window or have
                // uncontrolled task.
                mCallbacks.onNoLongerSupportMultiWindow(this, taskInfo);
@@ -316,8 +316,8 @@ public class StageTaskListener implements ShellTaskOrganizer.TaskListener {
    @Override
    @CallSuper
    public void onTaskVanished(ActivityManager.RunningTaskInfo taskInfo) {
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "onTaskVanished: task=%d stageId=%s",
                taskInfo.taskId, stageTypeToString(mId));
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "onTaskVanished: task=%d stageId=%s displayId=%d",
                taskInfo.taskId, stageTypeToString(mId), taskInfo.displayId);
        final int taskId = taskInfo.taskId;
        mWindowDecorViewModel.ifPresent(vm -> vm.onTaskVanished(taskInfo));
        if (mRootTaskInfo.taskId == taskId) {
@@ -478,8 +478,8 @@ public class StageTaskListener implements ShellTaskOrganizer.TaskListener {

    private void evictChild(@NonNull WindowContainerTransaction wct, @NonNull TaskInfo taskInfo,
            @NonNull String reason) {
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "Evict child: task=%d reason=%s", taskInfo.taskId,
                reason);
        ProtoLog.d(WM_SHELL_SPLIT_SCREEN, "Evict child: task=%d reason=%s displayId=%d",
                taskInfo.taskId, reason, taskInfo.displayId);
        // We are reparenting the task, but not removing the task from mChildrenTaskInfo, so to
        // prevent this task from being considered as a top task for the roots, we need to override
        // the visibility of the soon-to-be-hidden task