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

Commit 8915c9b3 authored by Orhan Uysal's avatar Orhan Uysal Committed by Android (Google) Code Review
Browse files

Merge "Move home task to back on core launch" into main

parents d1b9f49e 81066777
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -417,7 +417,7 @@ class DesktopTasksController(
        )
        val wct = WindowContainerTransaction()
        exitSplitIfApplicable(wct, taskInfo)
        moveHomeTaskToFront(wct)
        moveHomeTask(wct, true /* toTop */)
        val taskToMinimize =
            bringDesktopAppsToFrontBeforeShowingNewTask(taskInfo.displayId, wct, taskInfo.taskId)
        addMoveToDesktopChanges(wct, taskInfo)
@@ -795,7 +795,7 @@ class DesktopTasksController(
            addWallpaperActivity(wct)
        } else {
            // Move home to front
            moveHomeTaskToFront(wct)
            moveHomeTask(wct, true /* toTop */)
        }

        val nonMinimizedTasksOrderedFrontToBack =
@@ -821,11 +821,11 @@ class DesktopTasksController(
        return taskToMinimize
    }

    private fun moveHomeTaskToFront(wct: WindowContainerTransaction) {
    private fun moveHomeTask(wct: WindowContainerTransaction, toTop: Boolean) {
        shellTaskOrganizer
            .getRunningTasks(context.displayId)
            .firstOrNull { task -> task.activityType == ACTIVITY_TYPE_HOME }
            ?.let { homeTask -> wct.reorder(homeTask.getToken(), true /* onTop */) }
            ?.let { homeTask -> wct.reorder(homeTask.getToken(), toTop /* onTop */) }
    }

    private fun addWallpaperActivity(wct: WindowContainerTransaction) {
@@ -1040,6 +1040,9 @@ class DesktopTasksController(
            )
            return WindowContainerTransaction().also { wct ->
                addMoveToDesktopChanges(wct, task)
                // In some launches home task is moved behind new task being launched. Make sure
                // that's not the case for launches in desktop.
                moveHomeTask(wct, false /* toTop */)
                // Desktop Mode is already showing and we're launching a new Task - we might need to
                // minimize another Task.
                val taskToMinimize = addAndGetMinimizeChangesIfNeeded(task.displayId, wct, task)
+6 −2
Original line number Diff line number Diff line
@@ -1087,13 +1087,17 @@ class DesktopTasksControllerTest : ShellTestCase() {
  fun handleRequest_fullscreenTask_freeformVisible_returnSwitchToFreeformWCT() {
    assumeTrue(ENABLE_SHELL_TRANSITIONS)

    val homeTask = setUpHomeTask()
    val freeformTask = setUpFreeformTask()
    markTaskVisible(freeformTask)
    val fullscreenTask = createFullscreenTask()

    val result = controller.handleRequest(Binder(), createTransition(fullscreenTask))
    assertThat(result?.changes?.get(fullscreenTask.token.asBinder())?.windowingMode)
    val wct = controller.handleRequest(Binder(), createTransition(fullscreenTask))
    assertThat(wct?.changes?.get(fullscreenTask.token.asBinder())?.windowingMode)
        .isEqualTo(WINDOWING_MODE_FREEFORM)

    assertThat(wct!!.hierarchyOps.size).isEqualTo(2)
    wct.assertReorderAt(1, homeTask, toTop = false)
  }

  @Test