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

Commit 8dd4d541 authored by Pragya Bajoria's avatar Pragya Bajoria Committed by Android (Google) Code Review
Browse files

Merge "In FreeformTaskListener, flag-guard the method `onFocusTaskChanged` so...

Merge "In FreeformTaskListener, flag-guard the method `onFocusTaskChanged` so that it is a no-op when the aconfig flag `ENABLE_WINDOWING_TRANSITION_HANDLERS_OBSERVERS` is enabled." into main
parents 26ad2768 63fad9a1
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -70,8 +70,7 @@ class DesktopTaskChangeListener(private val desktopUserRepositories: DesktopUser
        if (!isFreeformTask(taskInfo)) {
            desktopRepository.removeTask(taskInfo.displayId, taskInfo.taskId)
        }
        // TODO: b/367268953 - Connect this with DesktopRepository for handling
        // task moving to front for tasks in windowing mode.
        desktopRepository.addTask(taskInfo.displayId, taskInfo.taskId, taskInfo.isVisible)
    }

    override fun onTaskMovingToBack(taskInfo: RunningTaskInfo) {
+2 −1
Original line number Diff line number Diff line
@@ -171,7 +171,8 @@ public class FreeformTaskListener implements ShellTaskOrganizer.TaskListener,

    @Override
    public void onFocusTaskChanged(RunningTaskInfo taskInfo) {
        if (taskInfo.getWindowingMode() != WINDOWING_MODE_FREEFORM) {
        if (taskInfo.getWindowingMode() != WINDOWING_MODE_FREEFORM
                || DesktopModeFlags.ENABLE_WINDOWING_TRANSITION_HANDLERS_OBSERVERS.isTrue()) {
            return;
        }
        ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TASK_ORG,
+10 −0
Original line number Diff line number Diff line
@@ -143,6 +143,16 @@ class DesktopTaskChangeListenerTest : ShellTestCase() {
        verify(desktopUserRepositories.current).removeTask(task.displayId, task.taskId)
    }

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

        desktopTaskChangeListener.onTaskMovingToFront(task)

        verify(desktopUserRepositories.current).addTask(task.displayId, task.taskId, task.isVisible)
    }

    @Test
    @EnableFlags(FLAG_ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION)
    fun onTaskClosing_backNavEnabled_nonClosingTask_minimizesTaskInRepo() {
+15 −1
Original line number Diff line number Diff line
@@ -159,7 +159,8 @@ public final class FreeformTaskListenerTests extends ShellTestCase {
    }

    @Test
    public void focusTaskChanged_addsFreeformTaskToRepo() {
    @DisableFlags(FLAG_ENABLE_WINDOWING_TRANSITION_HANDLERS_OBSERVERS)
    public void focusTaskChanged_noTransitionObserversFlag_addsFreeformTaskToRepo() {
        ActivityManager.RunningTaskInfo task =
                new TestRunningTaskInfoBuilder().setWindowingMode(WINDOWING_MODE_FREEFORM).build();
        task.isFocused = true;
@@ -170,6 +171,19 @@ public final class FreeformTaskListenerTests extends ShellTestCase {
                .addTask(task.displayId, task.taskId, task.isVisible);
    }

    @Test
    @EnableFlags(FLAG_ENABLE_WINDOWING_TRANSITION_HANDLERS_OBSERVERS)
    public void focusTaskChanged_enableTransitionObservers_freeformTaskNotAddedToRepo() {
        ActivityManager.RunningTaskInfo task =
                new TestRunningTaskInfoBuilder().setWindowingMode(WINDOWING_MODE_FREEFORM).build();
        task.isFocused = true;

        mFreeformTaskListener.onFocusTaskChanged(task);

        verify(mDesktopUserRepositories.getCurrent(), never())
                .addTask(task.displayId, task.taskId, task.isVisible);
    }

    @Test
    public void focusTaskChanged_fullscreenTaskNotAddedToRepo() {
        ActivityManager.RunningTaskInfo fullscreenTask =