diff options
| author | 2018-03-23 09:20:40 +0000 | |
|---|---|---|
| committer | 2018-03-23 09:20:40 +0000 | |
| commit | e73ab594b488d16f560402d0adf7bf82247666db (patch) | |
| tree | cd3d9896dab82b0e90285a7f2ec96fa53c78e153 | |
| parent | b4fe177675af51d9e41960bfda4ba9441e3832ca (diff) | |
| parent | 4d7b702abee7c2a13bba61e0ecd55d297a6190a3 (diff) | |
Merge "Layer input method on top while transitioning." into pi-dev am: e47deacaab
am: 4d7b702abe
Change-Id: Ifedb1ff82143dfc4ed70f3ca6b4d4a86c0ed4b26
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayContent.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 20947557f1da..3e47ea641123 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -3807,9 +3807,15 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo // we use relative layering of the IME targets child windows, and place the // IME in the non-app layer (see {@link AboveAppWindowContainers#assignChildLayers}). // + // In the case the IME target is animating, the animation Z order may be different + // than the WindowContainer Z order, so it's difficult to be sure we have the correct + // IME target. In this case we just layer the IME over all transitions by placing it in the + // above applications layer. + // // In the case where we have no IME target we assign it where it's base layer would // place it in the AboveAppWindowContainers. - if (imeTarget != null && !imeTarget.inSplitScreenWindowingMode() + if (imeTarget != null && !(imeTarget.inSplitScreenWindowingMode() + || imeTarget.mToken.isAppAnimating()) && (imeTarget.getSurfaceControl() != null)) { mImeWindowsContainers.assignRelativeLayer(t, imeTarget.getSurfaceControl(), // TODO: We need to use an extra level on the app surface to ensure |