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

Commit ad6b49f3 authored by Pragya Bajoria's avatar Pragya Bajoria
Browse files

Update task management for onTaskMovingToBack method in

DesktopTaskChangeListener.

Bug: 332682201
Test: atest DesktopTaskChangeListenerTest
Flag:
com.android.window.flags.enable_windowing_transition_handlers_observers

Change-Id: I6dc71e34a291e18d4d9b958e4311c5b9183a6ff8
parent ab919348
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ class DesktopTaskChangeListener(private val desktopUserRepositories: DesktopUser
            desktopUserRepositories.getProfile(taskInfo.userId)
        if (!desktopRepository.isActiveTask(taskInfo.taskId)) return
        logD("onTaskMovingToBack for taskId=%d, displayId=%d", taskInfo.taskId, taskInfo.displayId)
        // TODO: b/367268953 - Connect this with DesktopRepository.
        desktopRepository.updateTask(taskInfo.displayId, taskInfo.taskId, /* isVisible= */ false)
    }

    override fun onTaskClosing(taskInfo: RunningTaskInfo) {
+22 −0
Original line number Diff line number Diff line
@@ -179,6 +179,28 @@ class DesktopTaskChangeListenerTest : ShellTestCase() {
        verify(desktopUserRepositories.current).addTask(task.displayId, task.taskId, task.isVisible)
    }

    @Test
    fun onTaskMovingToBack_activeTaskInRepo_updatesTask() {
        val task = createFreeformTask().apply { isVisible = true }
        whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(true)

        desktopTaskChangeListener.onTaskMovingToBack(task)

        verify(desktopUserRepositories.current)
            .updateTask(task.displayId, task.taskId, /* isVisible= */ false)
    }

    @Test
    fun onTaskMovingToBack_nonActiveTaskInRepo_noop() {
        val task = createFreeformTask().apply { isVisible = true }
        whenever(desktopUserRepositories.current.isActiveTask(task.taskId)).thenReturn(false)

        desktopTaskChangeListener.onTaskMovingToBack(task)

        verify(desktopUserRepositories.current, never())
            .updateTask(task.displayId, task.taskId, /* isVisible= */ false)
    }

    @Test
    @EnableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION)
    fun onTaskClosing_backNavEnabled_nonClosingTask_minimizesTaskInRepo() {