Loading services/core/java/com/android/server/wm/TaskFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -1241,7 +1241,7 @@ class TaskFragment extends WindowContainer<WindowContainer> { // have any running activities, not starting one and not home stack. shouldBeVisible = hasRunningActivities || (starting != null && starting.isDescendantOf(this)) || isActivityTypeHome(); || (isActivityTypeHome() && !isEmbedded()); break; } Loading services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.server.wm; import static android.Manifest.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE; import static android.Manifest.permission.MANAGE_ACTIVITY_TASKS; import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME; import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; Loading Loading @@ -961,6 +962,22 @@ public class TaskFragmentTest extends WindowTestsBase { assertEquals(appLeftTop, task.getDisplayContent().mFocusedApp); } @Test public void testShouldBeVisible_invisibleForEmptyTaskFragment() { final Task task = new TaskBuilder(mSupervisor).setCreateActivity(true) .setWindowingMode(WINDOWING_MODE_FULLSCREEN).build(); final TaskFragment taskFragment = new TaskFragmentBuilder(mAtm) .setParentTask(task) .build(); // Empty taskFragment should be invisible assertFalse(taskFragment.shouldBeVisible(null)); // Should be invisible even if it is ACTIVITY_TYPE_HOME. when(taskFragment.getActivityType()).thenReturn(ACTIVITY_TYPE_HOME); assertFalse(taskFragment.shouldBeVisible(null)); } private WindowState createAppWindow(ActivityRecord app, String name) { final WindowState win = createWindow(null, TYPE_BASE_APPLICATION, app, name, 0 /* ownerId */, false /* ownerCanAddInternalSystemWindow */, new TestIWindow()); Loading Loading
services/core/java/com/android/server/wm/TaskFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -1241,7 +1241,7 @@ class TaskFragment extends WindowContainer<WindowContainer> { // have any running activities, not starting one and not home stack. shouldBeVisible = hasRunningActivities || (starting != null && starting.isDescendantOf(this)) || isActivityTypeHome(); || (isActivityTypeHome() && !isEmbedded()); break; } Loading
services/tests/wmtests/src/com/android/server/wm/TaskFragmentTest.java +17 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.server.wm; import static android.Manifest.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE; import static android.Manifest.permission.MANAGE_ACTIVITY_TASKS; import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME; import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW; Loading Loading @@ -961,6 +962,22 @@ public class TaskFragmentTest extends WindowTestsBase { assertEquals(appLeftTop, task.getDisplayContent().mFocusedApp); } @Test public void testShouldBeVisible_invisibleForEmptyTaskFragment() { final Task task = new TaskBuilder(mSupervisor).setCreateActivity(true) .setWindowingMode(WINDOWING_MODE_FULLSCREEN).build(); final TaskFragment taskFragment = new TaskFragmentBuilder(mAtm) .setParentTask(task) .build(); // Empty taskFragment should be invisible assertFalse(taskFragment.shouldBeVisible(null)); // Should be invisible even if it is ACTIVITY_TYPE_HOME. when(taskFragment.getActivityType()).thenReturn(ACTIVITY_TYPE_HOME); assertFalse(taskFragment.shouldBeVisible(null)); } private WindowState createAppWindow(ActivityRecord app, String name) { final WindowState win = createWindow(null, TYPE_BASE_APPLICATION, app, name, 0 /* ownerId */, false /* ownerCanAddInternalSystemWindow */, new TestIWindow()); Loading