Loading core/java/android/view/WindowManagerPolicyConstants.java +3 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,9 @@ public interface WindowManagerPolicyConstants { */ int LAYER_OFFSET_THUMBNAIL = WINDOW_LAYER_MULTIPLIER - 1; // TODO(b/207185041): Remove this divider workaround after we full remove leagacy split and // make app pair split only have single root then we can just attach the // divider to the single root task in shell. int SPLIT_DIVIDER_LAYER = TYPE_LAYER_MULTIPLIER * 3; int WATERMARK_LAYER = TYPE_LAYER_MULTIPLIER * 100; int STRICT_MODE_LAYER = TYPE_LAYER_MULTIPLIER * 101; Loading services/core/java/com/android/server/wm/TaskDisplayArea.java +4 −0 Original line number Diff line number Diff line Loading @@ -867,6 +867,10 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> { // Place root home tasks to the bottom. layer = adjustRootTaskLayer(t, mTmpHomeChildren, layer); layer = adjustRootTaskLayer(t, mTmpNormalChildren, layer); // TODO(b/207185041): Remove this divider workaround after we full remove leagacy split and // make app pair split only have single root then we can just attach the // divider to the single root task in shell. layer = Math.max(layer, SPLIT_DIVIDER_LAYER + 1); adjustRootTaskLayer(t, mTmpAlwaysOnTopChildren, layer); t.setLayer(mSplitScreenDividerAnchor, SPLIT_DIVIDER_LAYER); } Loading services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java +33 −2 Original line number Diff line number Diff line Loading @@ -501,8 +501,6 @@ public class ZOrderingTests extends WindowTestsBase { mDisplayContent.assignChildLayers(mTransaction); assertWindowHigher(splitWindow1, belowTaskWindow); assertWindowHigher(splitWindow1, belowTaskWindow); assertWindowHigher(splitWindow2, belowTaskWindow); assertWindowHigher(splitWindow2, belowTaskWindow); assertWindowHigher(mDockedDividerWindow, splitWindow1); assertWindowHigher(mDockedDividerWindow, splitWindow2); Loading @@ -510,6 +508,39 @@ public class ZOrderingTests extends WindowTestsBase { assertWindowHigher(pinnedWindow, aboveTaskWindow); } @Test public void testDockedDividerPosition_noAboveTask() { final Task pinnedTask = createTask(mDisplayContent, WINDOWING_MODE_PINNED, ACTIVITY_TYPE_STANDARD); final WindowState pinnedWindow = createAppWindow(pinnedTask, ACTIVITY_TYPE_STANDARD, "pinnedWindow"); final Task belowTask = createTask(mDisplayContent, WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD); final WindowState belowTaskWindow = createAppWindow(belowTask, ACTIVITY_TYPE_STANDARD, "belowTaskWindow"); final Task splitScreenTask1 = createTask(mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD); final WindowState splitWindow1 = createAppWindow(splitScreenTask1, ACTIVITY_TYPE_STANDARD, "splitWindow1"); final Task splitScreenTask2 = createTask(mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD); final WindowState splitWindow2 = createAppWindow(splitScreenTask2, ACTIVITY_TYPE_STANDARD, "splitWindow2"); splitScreenTask1.setAdjacentTaskFragment(splitScreenTask2); splitScreenTask2.setAdjacentTaskFragment(splitScreenTask1); mDisplayContent.assignChildLayers(mTransaction); assertWindowHigher(splitWindow1, belowTaskWindow); assertWindowHigher(splitWindow2, belowTaskWindow); assertWindowHigher(mDockedDividerWindow, splitWindow1); assertWindowHigher(mDockedDividerWindow, splitWindow2); assertWindowHigher(pinnedWindow, mDockedDividerWindow); } @Test public void testAttachNavBarWhenEnteringRecents_expectNavBarHigherThanIme() { // create RecentsAnimationController Loading Loading
core/java/android/view/WindowManagerPolicyConstants.java +3 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,9 @@ public interface WindowManagerPolicyConstants { */ int LAYER_OFFSET_THUMBNAIL = WINDOW_LAYER_MULTIPLIER - 1; // TODO(b/207185041): Remove this divider workaround after we full remove leagacy split and // make app pair split only have single root then we can just attach the // divider to the single root task in shell. int SPLIT_DIVIDER_LAYER = TYPE_LAYER_MULTIPLIER * 3; int WATERMARK_LAYER = TYPE_LAYER_MULTIPLIER * 100; int STRICT_MODE_LAYER = TYPE_LAYER_MULTIPLIER * 101; Loading
services/core/java/com/android/server/wm/TaskDisplayArea.java +4 −0 Original line number Diff line number Diff line Loading @@ -867,6 +867,10 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> { // Place root home tasks to the bottom. layer = adjustRootTaskLayer(t, mTmpHomeChildren, layer); layer = adjustRootTaskLayer(t, mTmpNormalChildren, layer); // TODO(b/207185041): Remove this divider workaround after we full remove leagacy split and // make app pair split only have single root then we can just attach the // divider to the single root task in shell. layer = Math.max(layer, SPLIT_DIVIDER_LAYER + 1); adjustRootTaskLayer(t, mTmpAlwaysOnTopChildren, layer); t.setLayer(mSplitScreenDividerAnchor, SPLIT_DIVIDER_LAYER); } Loading
services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java +33 −2 Original line number Diff line number Diff line Loading @@ -501,8 +501,6 @@ public class ZOrderingTests extends WindowTestsBase { mDisplayContent.assignChildLayers(mTransaction); assertWindowHigher(splitWindow1, belowTaskWindow); assertWindowHigher(splitWindow1, belowTaskWindow); assertWindowHigher(splitWindow2, belowTaskWindow); assertWindowHigher(splitWindow2, belowTaskWindow); assertWindowHigher(mDockedDividerWindow, splitWindow1); assertWindowHigher(mDockedDividerWindow, splitWindow2); Loading @@ -510,6 +508,39 @@ public class ZOrderingTests extends WindowTestsBase { assertWindowHigher(pinnedWindow, aboveTaskWindow); } @Test public void testDockedDividerPosition_noAboveTask() { final Task pinnedTask = createTask(mDisplayContent, WINDOWING_MODE_PINNED, ACTIVITY_TYPE_STANDARD); final WindowState pinnedWindow = createAppWindow(pinnedTask, ACTIVITY_TYPE_STANDARD, "pinnedWindow"); final Task belowTask = createTask(mDisplayContent, WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD); final WindowState belowTaskWindow = createAppWindow(belowTask, ACTIVITY_TYPE_STANDARD, "belowTaskWindow"); final Task splitScreenTask1 = createTask(mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD); final WindowState splitWindow1 = createAppWindow(splitScreenTask1, ACTIVITY_TYPE_STANDARD, "splitWindow1"); final Task splitScreenTask2 = createTask(mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD); final WindowState splitWindow2 = createAppWindow(splitScreenTask2, ACTIVITY_TYPE_STANDARD, "splitWindow2"); splitScreenTask1.setAdjacentTaskFragment(splitScreenTask2); splitScreenTask2.setAdjacentTaskFragment(splitScreenTask1); mDisplayContent.assignChildLayers(mTransaction); assertWindowHigher(splitWindow1, belowTaskWindow); assertWindowHigher(splitWindow2, belowTaskWindow); assertWindowHigher(mDockedDividerWindow, splitWindow1); assertWindowHigher(mDockedDividerWindow, splitWindow2); assertWindowHigher(pinnedWindow, mDockedDividerWindow); } @Test public void testAttachNavBarWhenEnteringRecents_expectNavBarHigherThanIme() { // create RecentsAnimationController Loading