Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebe9c0db authored by Robert Carr's avatar Robert Carr
Browse files

Do not set docked divider as IME target.

If we do this, we will fail to adjust the proper IME target
to make it visible. Accomplish relative ordering of IME and
Docked Divider in WindowLayersController instead.

Bug: 26387930
Change-Id: I7d406cc88aae40a8b22c1fc1d856ccb7b6bb4558
parent fc03b2bd
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -203,6 +203,12 @@ public class WindowLayersController {
        // the divider sometimes overlaps the app windows.
        layer++;
        layer = assignAndIncreaseLayerIfNeeded(mDockDivider, layer);

        // If we have a dock divider ensure the Input Method is above it.
        if (mDockDivider != null && mService.mInputMethodWindow != null) {
            layer = assignAndIncreaseLayerIfNeeded(mService.mInputMethodWindow, layer);
        }
        
        // We know that we will be animating a relaunching window in the near future, which will
        // receive a z-order increase. We want the replaced window to immediately receive the same
        // treatment, e.g. to be above the dock divider.
+1 −1
Original line number Diff line number Diff line
@@ -1365,7 +1365,7 @@ public class WindowManagerService extends IWindowManager.Stub
        // needs to sit above the dock divider, so it doesn't get cut in half. We make the dock
        // divider be a target for IME, so this relationship can occur naturally.
        if (fl == 0 || fl == (FLAG_NOT_FOCUSABLE|FLAG_ALT_FOCUSABLE_IM)
                || type == TYPE_APPLICATION_STARTING || type == TYPE_DOCK_DIVIDER) {
                || type == TYPE_APPLICATION_STARTING) {
            if (DEBUG_INPUT_METHOD) {
                Slog.i(TAG_WM, "isVisibleOrAdding " + w + ": " + w.isVisibleOrAdding());
                if (!w.isVisibleOrAdding()) {