Merge "Mark touchable region of IME windows as unrestricted keep clear areas" into tm-qpr-dev am: 88f8b673d3
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19971746 Change-Id: I9ffbfe2f63a46dae0d5d8db8a67ebe358bca917a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -245,6 +245,7 @@ import com.android.internal.util.function.pooled.PooledLambda;
|
|||||||
import com.android.internal.util.function.pooled.PooledPredicate;
|
import com.android.internal.util.function.pooled.PooledPredicate;
|
||||||
import com.android.server.inputmethod.InputMethodManagerInternal;
|
import com.android.server.inputmethod.InputMethodManagerInternal;
|
||||||
import com.android.server.policy.WindowManagerPolicy;
|
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.RotationCache;
|
||||||
import com.android.server.wm.utils.WmDisplayCutout;
|
import com.android.server.wm.utils.WmDisplayCutout;
|
||||||
|
|
||||||
@@ -5780,6 +5781,12 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
|
|||||||
|
|
||||||
if (w.isVisible() && !w.inPinnedWindowingMode()) {
|
if (w.isVisible() && !w.inPinnedWindowingMode()) {
|
||||||
w.getKeepClearAreas(outRestricted, outUnrestricted, tmpMatrix, tmpFloat9);
|
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.
|
// We stop traversing when we reach the base of a fullscreen app.
|
||||||
|
|||||||
Reference in New Issue
Block a user