Loading libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java +10 −5 Original line number Diff line number Diff line Loading @@ -381,7 +381,8 @@ public class RecentTasksController implements TaskStackListenerCallback, private void notifyRunningTaskAppeared(RunningTaskInfo taskInfo) { if (mListener == null || !shouldEnableRunningTasksForDesktopMode() || taskInfo.realActivity == null) { || taskInfo.realActivity == null || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading @@ -397,7 +398,8 @@ public class RecentTasksController implements TaskStackListenerCallback, private void notifyRunningTaskChanged(RunningTaskInfo taskInfo) { if (mListener == null || !shouldEnableRunningTasksForDesktopMode() || taskInfo.realActivity == null) { || taskInfo.realActivity == null || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading @@ -413,7 +415,8 @@ public class RecentTasksController implements TaskStackListenerCallback, private void notifyRunningTaskVanished(RunningTaskInfo taskInfo) { if (mListener == null || !shouldEnableRunningTasksForDesktopMode() || taskInfo.realActivity == null) { || taskInfo.realActivity == null || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading @@ -430,7 +433,8 @@ public class RecentTasksController implements TaskStackListenerCallback, if (mListener == null || !DesktopModeFlags.ENABLE_TASK_STACK_OBSERVER_IN_SHELL.isTrue() || taskInfo.realActivity == null || enableShellTopTaskTracking()) { || enableShellTopTaskTracking() || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading @@ -447,7 +451,8 @@ public class RecentTasksController implements TaskStackListenerCallback, if (mListener == null || !DesktopModeFlags.ENABLE_TASK_STACK_OBSERVER_IN_SHELL.isTrue() || taskInfo.realActivity == null || enableShellTopTaskTracking()) { || enableShellTopTaskTracking() || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java +63 −1 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ import java.util.function.Consumer; @RunWith(AndroidJUnit4.class) @SmallTest public class RecentTasksControllerTest extends ShellTestCase { private static final String SYSTEM_UI_PACKAGE_NAME = "com.android.systemui"; @Mock private Context mContext; Loading Loading @@ -579,6 +580,19 @@ public class RecentTasksControllerTest extends ShellTestCase { verify(mRecentTasksListener, never()).onRunningTaskAppeared(any()); } @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS}) public void onTaskAdded_orDesktopWallpaperActivity_doesNotTriggerOnRunningTaskAppeared() throws Exception { RunningTaskInfo taskInfo = makeDesktopWallpaperActivityTaskInfo(/* taskId= */10); mRecentTasksControllerReal.registerRecentTasksListener(mRecentTasksListener); mRecentTasksControllerReal.onTaskAdded(taskInfo); verify(mRecentTasksListener, never()).onRunningTaskAppeared(any()); } @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS}) Loading @@ -592,6 +606,19 @@ public class RecentTasksControllerTest extends ShellTestCase { verify(mRecentTasksListener).onRunningTaskChanged(taskInfo); } @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS}) public void taskInfoChanged_forDesktopWallpaperActivity_doesNotTriggerOnRunningTaskChanged() throws Exception { RunningTaskInfo taskInfo = makeDesktopWallpaperActivityTaskInfo(/* taskId= */10); mRecentTasksControllerReal.registerRecentTasksListener(mRecentTasksListener); mRecentTasksControllerReal.onTaskRunningInfoChanged(taskInfo); verify(mRecentTasksListener, never()).onRunningTaskChanged(any()); } @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE) @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS) Loading Loading @@ -619,6 +646,20 @@ public class RecentTasksControllerTest extends ShellTestCase { verify(mRecentTasksListener).onRunningTaskVanished(taskInfo); } @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS}) public void onTaskRemoved_forDesktopWallpaperActivity_doesNotTriggerOnRunningTaskVanished() throws Exception { RunningTaskInfo taskInfo = makeDesktopWallpaperActivityTaskInfo(/* taskId= */10); mRecentTasksControllerReal.registerRecentTasksListener(mRecentTasksListener); mRecentTasksControllerReal.onTaskRemoved(taskInfo); verify(mRecentTasksListener, never()).onRunningTaskVanished(any()); } @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE) @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS) Loading Loading @@ -658,6 +699,18 @@ public class RecentTasksControllerTest extends ShellTestCase { verify(mRecentTasksListener, never()).onTaskMovedToFront(any()); } @Test @EnableFlags(Flags.FLAG_ENABLE_TASK_STACK_OBSERVER_IN_SHELL) public void onDesktopWallpaperActivityMovedToFront_doesNotTriggerOnTaskMovedToFront() throws Exception { RunningTaskInfo taskInfo = makeDesktopWallpaperActivityTaskInfo(/* taskId= */10); mRecentTasksControllerReal.registerRecentTasksListener(mRecentTasksListener); mRecentTasksControllerReal.onTaskMovedToFrontThroughTransition(taskInfo); verify(mRecentTasksListener, never()).onTaskMovedToFront(any()); } @Test public void getNullSplitBoundsNonSplitTask() { SplitBounds sb = mRecentTasksController.getSplitBoundsForTaskId(3); Loading Loading @@ -829,16 +882,25 @@ public class RecentTasksControllerTest extends ShellTestCase { * Helper to create a running task with a given task id. */ private RunningTaskInfo makeRunningTaskInfo(int taskId) { return makeRunningTaskInfo(taskId, new ComponentName("com." + taskId, "Activity" + taskId)); } private RunningTaskInfo makeRunningTaskInfo(int taskId, ComponentName intentComponent) { RunningTaskInfo info = new RunningTaskInfo(); info.taskId = taskId; info.realActivity = new ComponentName("testPackage", "testClass"); Intent intent = new Intent(); intent.setComponent(new ComponentName("com." + taskId, "Activity" + taskId)); intent.setComponent(intentComponent); info.baseIntent = intent; info.lastNonFullscreenBounds = new Rect(); return info; } private RunningTaskInfo makeDesktopWallpaperActivityTaskInfo(int taskId) { return makeRunningTaskInfo(taskId, new ComponentName(SYSTEM_UI_PACKAGE_NAME, DesktopWallpaperActivity.class.getName())); } /** * Helper to set the raw task list on the controller. */ Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java +10 −5 Original line number Diff line number Diff line Loading @@ -381,7 +381,8 @@ public class RecentTasksController implements TaskStackListenerCallback, private void notifyRunningTaskAppeared(RunningTaskInfo taskInfo) { if (mListener == null || !shouldEnableRunningTasksForDesktopMode() || taskInfo.realActivity == null) { || taskInfo.realActivity == null || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading @@ -397,7 +398,8 @@ public class RecentTasksController implements TaskStackListenerCallback, private void notifyRunningTaskChanged(RunningTaskInfo taskInfo) { if (mListener == null || !shouldEnableRunningTasksForDesktopMode() || taskInfo.realActivity == null) { || taskInfo.realActivity == null || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading @@ -413,7 +415,8 @@ public class RecentTasksController implements TaskStackListenerCallback, private void notifyRunningTaskVanished(RunningTaskInfo taskInfo) { if (mListener == null || !shouldEnableRunningTasksForDesktopMode() || taskInfo.realActivity == null) { || taskInfo.realActivity == null || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading @@ -430,7 +433,8 @@ public class RecentTasksController implements TaskStackListenerCallback, if (mListener == null || !DesktopModeFlags.ENABLE_TASK_STACK_OBSERVER_IN_SHELL.isTrue() || taskInfo.realActivity == null || enableShellTopTaskTracking()) { || enableShellTopTaskTracking() || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading @@ -447,7 +451,8 @@ public class RecentTasksController implements TaskStackListenerCallback, if (mListener == null || !DesktopModeFlags.ENABLE_TASK_STACK_OBSERVER_IN_SHELL.isTrue() || taskInfo.realActivity == null || enableShellTopTaskTracking()) { || enableShellTopTaskTracking() || excludeTaskFromGeneratedList(taskInfo)) { return; } try { Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java +63 −1 Original line number Diff line number Diff line Loading @@ -107,6 +107,7 @@ import java.util.function.Consumer; @RunWith(AndroidJUnit4.class) @SmallTest public class RecentTasksControllerTest extends ShellTestCase { private static final String SYSTEM_UI_PACKAGE_NAME = "com.android.systemui"; @Mock private Context mContext; Loading Loading @@ -579,6 +580,19 @@ public class RecentTasksControllerTest extends ShellTestCase { verify(mRecentTasksListener, never()).onRunningTaskAppeared(any()); } @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS}) public void onTaskAdded_orDesktopWallpaperActivity_doesNotTriggerOnRunningTaskAppeared() throws Exception { RunningTaskInfo taskInfo = makeDesktopWallpaperActivityTaskInfo(/* taskId= */10); mRecentTasksControllerReal.registerRecentTasksListener(mRecentTasksListener); mRecentTasksControllerReal.onTaskAdded(taskInfo); verify(mRecentTasksListener, never()).onRunningTaskAppeared(any()); } @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS}) Loading @@ -592,6 +606,19 @@ public class RecentTasksControllerTest extends ShellTestCase { verify(mRecentTasksListener).onRunningTaskChanged(taskInfo); } @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS}) public void taskInfoChanged_forDesktopWallpaperActivity_doesNotTriggerOnRunningTaskChanged() throws Exception { RunningTaskInfo taskInfo = makeDesktopWallpaperActivityTaskInfo(/* taskId= */10); mRecentTasksControllerReal.registerRecentTasksListener(mRecentTasksListener); mRecentTasksControllerReal.onTaskRunningInfoChanged(taskInfo); verify(mRecentTasksListener, never()).onRunningTaskChanged(any()); } @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE) @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS) Loading Loading @@ -619,6 +646,20 @@ public class RecentTasksControllerTest extends ShellTestCase { verify(mRecentTasksListener).onRunningTaskVanished(taskInfo); } @Test @EnableFlags({Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE, Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS}) public void onTaskRemoved_forDesktopWallpaperActivity_doesNotTriggerOnRunningTaskVanished() throws Exception { RunningTaskInfo taskInfo = makeDesktopWallpaperActivityTaskInfo(/* taskId= */10); mRecentTasksControllerReal.registerRecentTasksListener(mRecentTasksListener); mRecentTasksControllerReal.onTaskRemoved(taskInfo); verify(mRecentTasksListener, never()).onRunningTaskVanished(any()); } @Test @EnableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_MODE) @DisableFlags(Flags.FLAG_ENABLE_DESKTOP_WINDOWING_TASKBAR_RUNNING_APPS) Loading Loading @@ -658,6 +699,18 @@ public class RecentTasksControllerTest extends ShellTestCase { verify(mRecentTasksListener, never()).onTaskMovedToFront(any()); } @Test @EnableFlags(Flags.FLAG_ENABLE_TASK_STACK_OBSERVER_IN_SHELL) public void onDesktopWallpaperActivityMovedToFront_doesNotTriggerOnTaskMovedToFront() throws Exception { RunningTaskInfo taskInfo = makeDesktopWallpaperActivityTaskInfo(/* taskId= */10); mRecentTasksControllerReal.registerRecentTasksListener(mRecentTasksListener); mRecentTasksControllerReal.onTaskMovedToFrontThroughTransition(taskInfo); verify(mRecentTasksListener, never()).onTaskMovedToFront(any()); } @Test public void getNullSplitBoundsNonSplitTask() { SplitBounds sb = mRecentTasksController.getSplitBoundsForTaskId(3); Loading Loading @@ -829,16 +882,25 @@ public class RecentTasksControllerTest extends ShellTestCase { * Helper to create a running task with a given task id. */ private RunningTaskInfo makeRunningTaskInfo(int taskId) { return makeRunningTaskInfo(taskId, new ComponentName("com." + taskId, "Activity" + taskId)); } private RunningTaskInfo makeRunningTaskInfo(int taskId, ComponentName intentComponent) { RunningTaskInfo info = new RunningTaskInfo(); info.taskId = taskId; info.realActivity = new ComponentName("testPackage", "testClass"); Intent intent = new Intent(); intent.setComponent(new ComponentName("com." + taskId, "Activity" + taskId)); intent.setComponent(intentComponent); info.baseIntent = intent; info.lastNonFullscreenBounds = new Rect(); return info; } private RunningTaskInfo makeDesktopWallpaperActivityTaskInfo(int taskId) { return makeRunningTaskInfo(taskId, new ComponentName(SYSTEM_UI_PACKAGE_NAME, DesktopWallpaperActivity.class.getName())); } /** * Helper to set the raw task list on the controller. */ Loading