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

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

Merge "Notify launcher of freeform task visibility" into main

parents 21016c85 c17e5fe6
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -584,7 +584,8 @@ public class ShellTaskOrganizer extends TaskOrganizer {
            final boolean windowModeChanged =
                    data.getTaskInfo().getWindowingMode() != taskInfo.getWindowingMode();
            final boolean visibilityChanged = data.getTaskInfo().isVisible != taskInfo.isVisible;
            if (windowModeChanged || visibilityChanged) {
            if (windowModeChanged || (taskInfo.getWindowingMode() == WINDOWING_MODE_FREEFORM
                    && visibilityChanged)) {
                mRecentTasks.ifPresent(recentTasks ->
                        recentTasks.onTaskRunningInfoChanged(taskInfo));
            }
+13 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.never;

import android.app.ActivityManager.RunningTaskInfo;
import android.app.TaskInfo;
@@ -598,6 +599,18 @@ public class ShellTaskOrganizerTests extends ShellTestCase {
        verify(mRecentTasksController).onTaskRunningInfoChanged(task2);
    }

    @Test
    public void testRecentTasks_visibilityChanges_notFreeForm_shouldNotNotifyTaskController() {
        RunningTaskInfo task1_visible = createTaskInfo(/* taskId= */ 1, WINDOWING_MODE_FULLSCREEN);
        mOrganizer.onTaskAppeared(task1_visible, /* leash= */ null);
        RunningTaskInfo task1_hidden = createTaskInfo(/* taskId= */ 1, WINDOWING_MODE_FULLSCREEN);
        task1_hidden.isVisible = false;

        mOrganizer.onTaskInfoChanged(task1_hidden);

        verify(mRecentTasksController, never()).onTaskRunningInfoChanged(task1_hidden);
    }

    @Test
    public void testRecentTasks_windowingModeChanges_shouldNotifyTaskController() {
        RunningTaskInfo task1 = createTaskInfo(/* taskId= */ 1, WINDOWING_MODE_FULLSCREEN);