Loading services/core/java/com/android/server/wm/DisplayContent.java +6 −0 Original line number Diff line number Diff line Loading @@ -2449,6 +2449,10 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp setWindowingMode(windowingMode); } /** * See {@code WindowState#applyImeWindowsIfNeeded} for the details that we won't traverse the * IME window in some cases. */ boolean forAllImeWindows(ToBooleanFunction<WindowState> callback, boolean traverseTopToBottom) { return mImeWindowsContainer.forAllWindowForce(callback, traverseTopToBottom); } Loading Loading @@ -4566,6 +4570,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp private boolean skipImeWindowsDuringTraversal(DisplayContent dc) { // We skip IME windows so they're processed just above their target, except // in split-screen mode where we process the IME containers above the docked divider. // Note that this method check should align with {@link // WindowState#applyImeWindowsIfNeeded} in case of any state mismatch. return dc.getImeTarget(IME_TARGET_LAYERING) != null && !dc.getDefaultTaskDisplayArea().isSplitScreenModeActivated(); } Loading services/core/java/com/android/server/wm/WindowState.java +4 −1 Original line number Diff line number Diff line Loading @@ -4842,7 +4842,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP // directly above it. The exception is if we are in split screen // in which case we process the IME at the DisplayContent level to // ensure it is above the docked divider. if (isImeLayeringTarget() && !inSplitScreenWindowingMode()) { // (i.e. Like {@link DisplayContent.ImeContainer#skipImeWindowsDuringTraversal}, the IME // window will be ignored to traverse when the IME target is still in split-screen mode). if (isImeLayeringTarget() && !getDisplayContent().getDefaultTaskDisplayArea().isSplitScreenModeActivated()) { if (getDisplayContent().forAllImeWindows(callback, traverseTopToBottom)) { return true; } Loading Loading
services/core/java/com/android/server/wm/DisplayContent.java +6 −0 Original line number Diff line number Diff line Loading @@ -2449,6 +2449,10 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp setWindowingMode(windowingMode); } /** * See {@code WindowState#applyImeWindowsIfNeeded} for the details that we won't traverse the * IME window in some cases. */ boolean forAllImeWindows(ToBooleanFunction<WindowState> callback, boolean traverseTopToBottom) { return mImeWindowsContainer.forAllWindowForce(callback, traverseTopToBottom); } Loading Loading @@ -4566,6 +4570,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp private boolean skipImeWindowsDuringTraversal(DisplayContent dc) { // We skip IME windows so they're processed just above their target, except // in split-screen mode where we process the IME containers above the docked divider. // Note that this method check should align with {@link // WindowState#applyImeWindowsIfNeeded} in case of any state mismatch. return dc.getImeTarget(IME_TARGET_LAYERING) != null && !dc.getDefaultTaskDisplayArea().isSplitScreenModeActivated(); } Loading
services/core/java/com/android/server/wm/WindowState.java +4 −1 Original line number Diff line number Diff line Loading @@ -4842,7 +4842,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP // directly above it. The exception is if we are in split screen // in which case we process the IME at the DisplayContent level to // ensure it is above the docked divider. if (isImeLayeringTarget() && !inSplitScreenWindowingMode()) { // (i.e. Like {@link DisplayContent.ImeContainer#skipImeWindowsDuringTraversal}, the IME // window will be ignored to traverse when the IME target is still in split-screen mode). if (isImeLayeringTarget() && !getDisplayContent().getDefaultTaskDisplayArea().isSplitScreenModeActivated()) { if (getDisplayContent().forAllImeWindows(callback, traverseTopToBottom)) { return true; } Loading