summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Robert Carr <racarr@google.com> 2018-03-23 09:20:40 +0000
committer android-build-merger <android-build-merger@google.com> 2018-03-23 09:20:40 +0000
commite73ab594b488d16f560402d0adf7bf82247666db (patch)
treecd3d9896dab82b0e90285a7f2ec96fa53c78e153
parentb4fe177675af51d9e41960bfda4ba9441e3832ca (diff)
parent4d7b702abee7c2a13bba61e0ecd55d297a6190a3 (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.java8
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