diff options
| author | 2022-09-16 13:40:55 +0000 | |
|---|---|---|
| committer | 2022-09-16 13:40:55 +0000 | |
| commit | 88f8b673d3d58d1ce1da08a1aae4ae37414ae3e0 (patch) | |
| tree | 3735e9e55ccab5174ba11cf4f066e8d939b71ed2 | |
| parent | 88deb417100bb49a325bb9078c3d3b72f16b4b7b (diff) | |
| parent | 97914b05f1365607cbe4be52a6efe1c45e126d72 (diff) | |
Merge "Mark touchable region of IME windows as unrestricted keep clear areas" into tm-qpr-dev
| -rw-r--r-- | services/core/java/com/android/server/wm/DisplayContent.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index b093d2566710..95d71a36313f 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -245,6 +245,7 @@ import com.android.internal.util.function.pooled.PooledLambda; import com.android.internal.util.function.pooled.PooledPredicate; import com.android.server.inputmethod.InputMethodManagerInternal; import com.android.server.policy.WindowManagerPolicy; +import com.android.server.wm.utils.RegionUtils; import com.android.server.wm.utils.RotationCache; import com.android.server.wm.utils.WmDisplayCutout; @@ -5780,6 +5781,12 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp if (w.isVisible() && !w.inPinnedWindowingMode()) { w.getKeepClearAreas(outRestricted, outUnrestricted, tmpMatrix, tmpFloat9); + + if (w.mIsImWindow) { + Region touchableRegion = Region.obtain(); + w.getEffectiveTouchableRegion(touchableRegion); + RegionUtils.forEachRect(touchableRegion, rect -> outUnrestricted.add(rect)); + } } // We stop traversing when we reach the base of a fullscreen app. |