diff options
| author | 2020-02-03 11:17:46 -0800 | |
|---|---|---|
| committer | 2020-02-06 18:49:09 +0000 | |
| commit | 05ed8f3d78f9838e30fb798232b6f4919b889cd2 (patch) | |
| tree | 65e85107f8a39260700aac966e02c79f0bac7c1f | |
| parent | 1059d5a169cc03ce733d446d91e9fe8f4f21c138 (diff) | |
Skip creating control when animation is cancelled.
If current control animation is cancelled, skip creating the control.
This avoids nullpointer observed in test cases [1]
[1] sponge/4014128a-35d0-41cb-89b4-7b8adbfe65f3
Bug: 111084606
Test: atest CtsInputMethodTestCases
Change-Id: I5c02f44d5232ddac1448630bc28a1b186aed27e6
| -rw-r--r-- | services/core/java/com/android/server/wm/InsetsSourceProvider.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/InsetsSourceProvider.java b/services/core/java/com/android/server/wm/InsetsSourceProvider.java index 0418afaf033a..798665972a33 100644 --- a/services/core/java/com/android/server/wm/InsetsSourceProvider.java +++ b/services/core/java/com/android/server/wm/InsetsSourceProvider.java @@ -240,6 +240,10 @@ class InsetsSourceProvider { target = target.getWindow().getImeControlTarget(); } + if (mWin != null && mWin.getSurfaceControl() == null) { + // if window doesn't have a surface, set it null and return. + setWindow(null, null, null); + } if (mWin == null) { mControlTarget = target; return; |