Place InputMethod after DockedDivider in window list.
We need to ensure that the InputMethod ends up after the docked divider so it will have a higher Z-order for input. Bug: 28184654 Change-Id: Ifbe943312a82a79e850f106cc906f3749737710d
This commit is contained in:
@@ -663,4 +663,8 @@ public class DockedStackDividerController implements DimLayerUser {
|
||||
public String toShortString() {
|
||||
return TAG;
|
||||
}
|
||||
}
|
||||
|
||||
WindowState getWindow() {
|
||||
return mWindow;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1563,6 +1563,16 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
mLayersController.setInputMethodAnimLayerAdjustment(0);
|
||||
}
|
||||
}
|
||||
|
||||
// If the docked divider is visible, we still need to go through this whole
|
||||
// excercise to find the appropriate input method target (used for animations
|
||||
// and dialog adjustments), but for purposes of Z ordering we simply wish to
|
||||
// place it above the docked divider.
|
||||
WindowState dockedDivider = w.mDisplayContent.mDividerControllerLocked.getWindow();
|
||||
if (dockedDivider != null && dockedDivider.isVisibleLw()) {
|
||||
int dividerIndex = windows.indexOf(dockedDivider);
|
||||
return dividerIndex > 0 ? dividerIndex + 1 : i + 1;
|
||||
}
|
||||
return i+1;
|
||||
}
|
||||
if (willMove) {
|
||||
|
||||
Reference in New Issue
Block a user