Merge "Cleanup the legacy split screen (2/n)"
This commit is contained in:
@@ -19,7 +19,6 @@ package com.android.wm.shell.draganddrop;
|
||||
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_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.content.ClipDescription.MIMETYPE_APPLICATION_ACTIVITY;
|
||||
import static android.content.ClipDescription.MIMETYPE_APPLICATION_SHORTCUT;
|
||||
import static android.content.ClipDescription.MIMETYPE_APPLICATION_TASK;
|
||||
@@ -111,7 +110,6 @@ public class DragAndDropPolicyTest {
|
||||
private ActivityManager.RunningTaskInfo mHomeTask;
|
||||
private ActivityManager.RunningTaskInfo mFullscreenAppTask;
|
||||
private ActivityManager.RunningTaskInfo mNonResizeableFullscreenAppTask;
|
||||
private ActivityManager.RunningTaskInfo mSplitPrimaryAppTask;
|
||||
|
||||
@Before
|
||||
public void setUp() throws RemoteException {
|
||||
@@ -144,8 +142,6 @@ public class DragAndDropPolicyTest {
|
||||
mNonResizeableFullscreenAppTask =
|
||||
createTaskInfo(WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
|
||||
mNonResizeableFullscreenAppTask.isResizeable = false;
|
||||
mSplitPrimaryAppTask = createTaskInfo(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY,
|
||||
ACTIVITY_TYPE_STANDARD);
|
||||
|
||||
setRunningTask(mFullscreenAppTask);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.content.pm.ActivityInfo.CONFIG_ORIENTATION;
|
||||
import static android.content.pm.ActivityInfo.CONFIG_SCREEN_LAYOUT;
|
||||
import static android.content.pm.ActivityInfo.FLAG_SUPPORTS_PICTURE_IN_PICTURE;
|
||||
@@ -571,7 +570,7 @@ public class ActivityRecordTests extends WindowTestsBase {
|
||||
final ActivityRecord activity = createActivityWith2LevelTask();
|
||||
final Task task = activity.getTask();
|
||||
final Task rootTask = activity.getRootTask();
|
||||
rootTask.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
|
||||
rootTask.setWindowingMode(WINDOWING_MODE_MULTI_WINDOW);
|
||||
final Rect stableRect = new Rect();
|
||||
rootTask.mDisplayContent.getStableRect(stableRect);
|
||||
|
||||
@@ -616,7 +615,7 @@ public class ActivityRecordTests extends WindowTestsBase {
|
||||
spyOn(tda);
|
||||
doReturn(true).when(tda).supportsNonResizableMultiWindow();
|
||||
final Task rootTask = mDisplayContent.getDefaultTaskDisplayArea().createRootTask(
|
||||
WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, ACTIVITY_TYPE_STANDARD, true /* onTop */);
|
||||
WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD, true /* onTop */);
|
||||
rootTask.setBounds(0, 0, 1000, 500);
|
||||
final ActivityRecord activity = new ActivityBuilder(mAtm)
|
||||
.setParentTask(rootTask)
|
||||
|
||||
@@ -1102,7 +1102,7 @@ public class DisplayContentTests extends WindowTestsBase {
|
||||
final DisplayContent dc = createNewDisplay();
|
||||
dc.setImeLayeringTarget(createWindow(null, TYPE_STATUS_BAR, "app"));
|
||||
dc.getImeTarget(IME_TARGET_LAYERING).getWindow().setWindowingMode(
|
||||
WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
|
||||
WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW);
|
||||
assertEquals(dc.getImeContainer().getParentSurfaceControl(), dc.computeImeParent());
|
||||
}
|
||||
|
||||
@@ -1153,7 +1153,7 @@ public class DisplayContentTests extends WindowTestsBase {
|
||||
final DisplayContent dc = createNewDisplay();
|
||||
dc.setImeInputTarget(createWindow(null, TYPE_BASE_APPLICATION, "app"));
|
||||
dc.getImeTarget(IME_TARGET_INPUT).getWindow().setWindowingMode(
|
||||
WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
|
||||
WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW);
|
||||
dc.setImeLayeringTarget(dc.getImeTarget(IME_TARGET_INPUT).getWindow());
|
||||
dc.setRemoteInsetsController(createDisplayWindowInsetsController());
|
||||
assertNotEquals(dc.getImeTarget(IME_TARGET_INPUT).getWindow(),
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.android.server.wm;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.view.InsetsState.ITYPE_CLIMATE_BAR;
|
||||
import static android.view.InsetsState.ITYPE_EXTRA_NAVIGATION_BAR;
|
||||
import static android.view.InsetsState.ITYPE_IME;
|
||||
@@ -246,7 +245,7 @@ public class InsetsStateControllerTest extends WindowTestsBase {
|
||||
final WindowState child = createWindow(app, TYPE_APPLICATION, "child");
|
||||
app.mAboveInsetsState.addSource(getController().getRawInsetsState().peekSource(ITYPE_IME));
|
||||
child.mAttrs.flags |= FLAG_NOT_FOCUSABLE;
|
||||
child.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
|
||||
child.setWindowingMode(WINDOWING_MODE_MULTI_WINDOW);
|
||||
|
||||
mDisplayContent.computeImeTarget(true);
|
||||
mDisplayContent.setLayoutNeeded();
|
||||
|
||||
@@ -20,7 +20,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
|
||||
import static android.view.Display.INVALID_DISPLAY;
|
||||
|
||||
import static com.android.dx.mockito.inline.extended.ExtendedMockito.any;
|
||||
@@ -334,7 +333,7 @@ public class LaunchParamsControllerTests extends WindowTestsBase {
|
||||
params.mWindowingMode = windowingMode;
|
||||
final InstrumentedPositioner positioner = new InstrumentedPositioner(RESULT_DONE, params);
|
||||
final Task task = new TaskBuilder(mAtm.mTaskSupervisor).setCreateParentTask(true).build();
|
||||
task.getRootTask().setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY);
|
||||
task.getRootTask().setWindowingMode(WINDOWING_MODE_MULTI_WINDOW);
|
||||
|
||||
mController.registerModifier(positioner);
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
|
||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_RECENTS;
|
||||
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;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE;
|
||||
import static android.view.Display.DEFAULT_DISPLAY;
|
||||
import static android.view.Display.TYPE_VIRTUAL;
|
||||
@@ -458,7 +458,7 @@ public class RootWindowContainerTests extends WindowTestsBase {
|
||||
final TaskDisplayArea defaultTaskDisplayArea = mRootWindowContainer
|
||||
.getDefaultTaskDisplayArea();
|
||||
final Task task = defaultTaskDisplayArea.createRootTask(
|
||||
WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, ACTIVITY_TYPE_STANDARD, true /* onTop */);
|
||||
WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD, true /* onTop */);
|
||||
final ActivityRecord activity = new ActivityBuilder(mAtm).setTask(task).build();
|
||||
|
||||
// Created tasks are focusable by default.
|
||||
|
||||
@@ -25,8 +25,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT;
|
||||
import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE;
|
||||
@@ -355,14 +353,10 @@ public class TaskDisplayAreaTests extends WindowTestsBase {
|
||||
true /* reuseCandidate */);
|
||||
assertGetOrCreateRootTask(WINDOWING_MODE_UNDEFINED, type, candidateTask,
|
||||
true /* reuseCandidate */);
|
||||
assertGetOrCreateRootTask(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, type, candidateTask,
|
||||
true /* reuseCandidate */);
|
||||
assertGetOrCreateRootTask(WINDOWING_MODE_FREEFORM, type, candidateTask,
|
||||
true /* reuseCandidate */);
|
||||
assertGetOrCreateRootTask(WINDOWING_MODE_MULTI_WINDOW, type, candidateTask,
|
||||
true /* reuseCandidate */);
|
||||
assertGetOrCreateRootTask(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, type, candidateTask,
|
||||
false /* reuseCandidate */);
|
||||
assertGetOrCreateRootTask(WINDOWING_MODE_PINNED, type, candidateTask,
|
||||
true /* reuseCandidate */);
|
||||
|
||||
@@ -388,7 +382,7 @@ public class TaskDisplayAreaTests extends WindowTestsBase {
|
||||
|
||||
final Task primarySplitTask = new TaskBuilder(mSupervisor)
|
||||
.setTaskDisplayArea(defaultTaskDisplayArea)
|
||||
.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY)
|
||||
.setWindowingMode(WINDOWING_MODE_MULTI_WINDOW)
|
||||
.setActivityType(ACTIVITY_TYPE_STANDARD)
|
||||
.setOnTop(true)
|
||||
.setCreateActivity(true)
|
||||
|
||||
@@ -17,8 +17,7 @@
|
||||
package com.android.server.wm;
|
||||
|
||||
import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION;
|
||||
|
||||
import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
|
||||
@@ -50,11 +49,8 @@ public class WindowContainerTraversalTests extends WindowTestsBase {
|
||||
@Test
|
||||
public void testDockedDividerPosition() {
|
||||
final WindowState splitScreenWindow = createWindow(null,
|
||||
WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, ACTIVITY_TYPE_STANDARD, TYPE_BASE_APPLICATION,
|
||||
WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD, TYPE_BASE_APPLICATION,
|
||||
mDisplayContent, "splitScreenWindow");
|
||||
final WindowState splitScreenSecondaryWindow = createWindow(null,
|
||||
WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, ACTIVITY_TYPE_STANDARD,
|
||||
TYPE_BASE_APPLICATION, mDisplayContent, "splitScreenSecondaryWindow");
|
||||
|
||||
mDisplayContent.setImeLayeringTarget(splitScreenWindow);
|
||||
|
||||
|
||||
@@ -24,8 +24,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
|
||||
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
|
||||
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET;
|
||||
@@ -520,16 +518,16 @@ public class WindowOrganizerTests extends WindowTestsBase {
|
||||
DisplayContent dc = mWm.mRoot.getDisplayContent(Display.DEFAULT_DISPLAY);
|
||||
|
||||
Task task1 = mWm.mAtmService.mTaskOrganizerController.createRootTask(
|
||||
dc, WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, null);
|
||||
dc, WINDOWING_MODE_FULLSCREEN, null);
|
||||
RunningTaskInfo info1 = task1.getTaskInfo();
|
||||
assertEquals(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY,
|
||||
assertEquals(WINDOWING_MODE_FULLSCREEN,
|
||||
info1.configuration.windowConfiguration.getWindowingMode());
|
||||
assertEquals(ACTIVITY_TYPE_UNDEFINED, info1.topActivityType);
|
||||
|
||||
Task task2 = mWm.mAtmService.mTaskOrganizerController.createRootTask(
|
||||
dc, WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, null);
|
||||
dc, WINDOWING_MODE_MULTI_WINDOW, null);
|
||||
RunningTaskInfo info2 = task2.getTaskInfo();
|
||||
assertEquals(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY,
|
||||
assertEquals(WINDOWING_MODE_MULTI_WINDOW,
|
||||
info2.configuration.windowConfiguration.getWindowingMode());
|
||||
assertEquals(ACTIVITY_TYPE_UNDEFINED, info2.topActivityType);
|
||||
|
||||
@@ -539,7 +537,7 @@ public class WindowOrganizerTests extends WindowTestsBase {
|
||||
assertTrue(mWm.mAtmService.mTaskOrganizerController.deleteRootTask(info1.token));
|
||||
infos = getTasksCreatedByOrganizer(dc);
|
||||
assertEquals(1, infos.size());
|
||||
assertEquals(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, infos.get(0).getWindowingMode());
|
||||
assertEquals(WINDOWING_MODE_MULTI_WINDOW, infos.get(0).getWindowingMode());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -577,7 +575,7 @@ public class WindowOrganizerTests extends WindowTestsBase {
|
||||
final StubOrganizer listener = new StubOrganizer();
|
||||
mWm.mAtmService.mTaskOrganizerController.registerTaskOrganizer(listener);
|
||||
Task task = mWm.mAtmService.mTaskOrganizerController.createRootTask(
|
||||
mDisplayContent, WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, null);
|
||||
mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, null);
|
||||
RunningTaskInfo info1 = task.getTaskInfo();
|
||||
|
||||
final Task rootTask = createTask(
|
||||
@@ -626,7 +624,7 @@ public class WindowOrganizerTests extends WindowTestsBase {
|
||||
};
|
||||
mWm.mAtmService.mTaskOrganizerController.registerTaskOrganizer(listener);
|
||||
Task task = mWm.mAtmService.mTaskOrganizerController.createRootTask(
|
||||
mDisplayContent, WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, null);
|
||||
mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, null);
|
||||
RunningTaskInfo info1 = task.getTaskInfo();
|
||||
// Ensure events dispatch to organizer.
|
||||
mWm.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
|
||||
@@ -684,10 +682,10 @@ public class WindowOrganizerTests extends WindowTestsBase {
|
||||
mWm.mAtmService.mTaskOrganizerController.registerTaskOrganizer(listener);
|
||||
|
||||
Task task1 = mWm.mAtmService.mTaskOrganizerController.createRootTask(
|
||||
mDisplayContent, WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, null);
|
||||
mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, null);
|
||||
RunningTaskInfo info1 = task1.getTaskInfo();
|
||||
Task task2 = mWm.mAtmService.mTaskOrganizerController.createRootTask(
|
||||
mDisplayContent, WINDOWING_MODE_SPLIT_SCREEN_SECONDARY, null);
|
||||
mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, null);
|
||||
RunningTaskInfo info2 = task2.getTaskInfo();
|
||||
// Ensure events dispatch to organizer.
|
||||
mWm.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
|
||||
@@ -1056,7 +1054,7 @@ public class WindowOrganizerTests extends WindowTestsBase {
|
||||
public void testReparentToOrganizedTask() {
|
||||
final ITaskOrganizer organizer = registerMockOrganizer();
|
||||
Task rootTask = mWm.mAtmService.mTaskOrganizerController.createRootTask(
|
||||
mDisplayContent, WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, null);
|
||||
mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, null);
|
||||
final Task task1 = createRootTask();
|
||||
final Task task2 = createTask(rootTask, false /* fakeDraw */);
|
||||
WindowContainerTransaction wct = new WindowContainerTransaction();
|
||||
@@ -1223,7 +1221,7 @@ public class WindowOrganizerTests extends WindowTestsBase {
|
||||
final Task rootTask = activity.getRootTask();
|
||||
rootTask.setResizeMode(activity.info.resizeMode);
|
||||
final Task splitPrimaryRootTask = mWm.mAtmService.mTaskOrganizerController.createRootTask(
|
||||
mDisplayContent, WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, null);
|
||||
mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, null);
|
||||
final WindowContainerTransaction wct = new WindowContainerTransaction();
|
||||
wct.reparent(rootTask.mRemoteToken.toWindowContainerToken(),
|
||||
splitPrimaryRootTask.mRemoteToken.toWindowContainerToken(), true /* onTop */);
|
||||
|
||||
@@ -20,7 +20,6 @@ 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;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.view.InsetsState.ITYPE_IME;
|
||||
import static android.view.InsetsState.ITYPE_NAVIGATION_BAR;
|
||||
import static android.view.InsetsState.ITYPE_STATUS_BAR;
|
||||
@@ -266,22 +265,19 @@ public class WindowStateTests extends WindowTestsBase {
|
||||
assertFalse(appWindow.canBeImeTarget());
|
||||
assertFalse(imeWindow.canBeImeTarget());
|
||||
|
||||
// Simulate the window is in split screen primary root task and the current state is
|
||||
// minimized and home root task is resizable, so that we should ignore input for the
|
||||
// root task.
|
||||
// Simulate the window is in split screen root task.
|
||||
final DockedTaskDividerController controller =
|
||||
mDisplayContent.getDockedDividerController();
|
||||
final Task rootTask = createTask(mDisplayContent,
|
||||
WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, ACTIVITY_TYPE_STANDARD);
|
||||
WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD);
|
||||
spyOn(appWindow);
|
||||
spyOn(controller);
|
||||
spyOn(rootTask);
|
||||
rootTask.setFocusable(false);
|
||||
doReturn(rootTask).when(appWindow).getRootTask();
|
||||
|
||||
// Make sure canBeImeTarget is false due to shouldIgnoreInput is true;
|
||||
// Make sure canBeImeTarget is false;
|
||||
assertFalse(appWindow.canBeImeTarget());
|
||||
assertTrue(rootTask.shouldIgnoreInput());
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -728,8 +724,9 @@ public class WindowStateTests extends WindowTestsBase {
|
||||
@Test
|
||||
public void testCantReceiveTouchWhenNotFocusable() {
|
||||
final WindowState win0 = createWindow(null, TYPE_APPLICATION, "win0");
|
||||
win0.mActivityRecord.getRootTask().setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
|
||||
win0.mActivityRecord.getRootTask().setFocusable(false);
|
||||
final Task rootTask = win0.mActivityRecord.getRootTask();
|
||||
spyOn(rootTask);
|
||||
when(rootTask.shouldIgnoreInput()).thenReturn(true);
|
||||
assertFalse(win0.canReceiveTouchInput());
|
||||
}
|
||||
|
||||
@@ -929,8 +926,8 @@ public class WindowStateTests extends WindowTestsBase {
|
||||
mDisplayContent.setImeLayeringTarget(mAppWindow);
|
||||
|
||||
// Simulate entering multi-window mode and verify if the IME control target is remote.
|
||||
app.mActivityRecord.getRootTask().setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
|
||||
assertEquals(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, app.getWindowingMode());
|
||||
app.mActivityRecord.getRootTask().setWindowingMode(WINDOWING_MODE_MULTI_WINDOW);
|
||||
assertEquals(WINDOWING_MODE_MULTI_WINDOW, app.getWindowingMode());
|
||||
assertEquals(mDisplayContent.mRemoteInsetsControlTarget,
|
||||
mDisplayContent.computeImeControlTarget());
|
||||
|
||||
@@ -945,14 +942,13 @@ public class WindowStateTests extends WindowTestsBase {
|
||||
|
||||
@UseTestDisplay(addWindows = { W_ACTIVITY, W_INPUT_METHOD, W_NOTIFICATION_SHADE })
|
||||
@Test
|
||||
public void testNotificationShadeHasImeInsetsWhenSplitscreenActivated() {
|
||||
public void testNotificationShadeHasImeInsetsWhenMultiWindow() {
|
||||
WindowState app = createWindow(null, TYPE_BASE_APPLICATION,
|
||||
mAppWindow.mToken, "app");
|
||||
|
||||
// Simulate entering multi-window mode and verify if the split-screen is activated.
|
||||
app.mActivityRecord.getRootTask().setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY);
|
||||
assertEquals(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, app.getWindowingMode());
|
||||
assertTrue(mDisplayContent.getDefaultTaskDisplayArea().isSplitScreenModeActivated());
|
||||
// Simulate entering multi-window mode and windowing mode is multi-window.
|
||||
app.mActivityRecord.getRootTask().setWindowingMode(WINDOWING_MODE_MULTI_WINDOW);
|
||||
assertEquals(WINDOWING_MODE_MULTI_WINDOW, app.getWindowingMode());
|
||||
|
||||
// Simulate notificationShade is shown and being IME layering target.
|
||||
mNotificationShadeWindow.setHasSurface(true);
|
||||
@@ -966,7 +962,7 @@ public class WindowStateTests extends WindowTestsBase {
|
||||
mDisplayContent.getInsetsStateController().getRawInsetsState()
|
||||
.setSourceVisible(ITYPE_IME, true);
|
||||
|
||||
// Verify notificationShade can still get IME insets even the split-screen is activated.
|
||||
// Verify notificationShade can still get IME insets even windowing mode is multi-window.
|
||||
InsetsState state = mDisplayContent.getInsetsStateController().getInsetsForWindow(
|
||||
mNotificationShadeWindow);
|
||||
assertNotNull(state.peekSource(ITYPE_IME));
|
||||
|
||||
@@ -22,7 +22,6 @@ 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;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
|
||||
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_ABOVE_SUB_PANEL;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_ATTACHED_DIALOG;
|
||||
@@ -363,7 +362,7 @@ public class ZOrderingTests extends WindowTestsBase {
|
||||
ACTIVITY_TYPE_STANDARD, TYPE_BASE_APPLICATION, mDisplayContent,
|
||||
"pinnedStackWindow");
|
||||
final WindowState dockedStackWindow = createWindow(null,
|
||||
WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, ACTIVITY_TYPE_STANDARD, TYPE_BASE_APPLICATION,
|
||||
WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD, TYPE_BASE_APPLICATION,
|
||||
mDisplayContent, "dockedStackWindow");
|
||||
final WindowState assistantStackWindow = createWindow(null,
|
||||
WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_ASSISTANT, TYPE_BASE_APPLICATION,
|
||||
|
||||
Reference in New Issue
Block a user