Merge "Fix regression in recents animation consumer touchable region" into udc-dev am: 064a703275

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23734092

Change-Id: I886898f39845c8af69d540580714ee3ed94ac4c8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Winson Chung
2023-06-21 06:04:02 +00:00
committed by Automerger Merge Worker

View File

@@ -49,6 +49,7 @@ import static com.android.server.wm.WindowManagerService.LOGTAG_INPUT_FOCUS;
import static java.lang.Integer.MAX_VALUE;
import android.annotation.Nullable;
import android.graphics.Rect;
import android.graphics.Region;
import android.os.Handler;
import android.os.IBinder;
@@ -558,7 +559,8 @@ final class InputMonitor {
private boolean mAddWallpaperInputConsumerHandle;
private boolean mAddRecentsAnimationInputConsumerHandle;
boolean mInDrag;
private boolean mInDrag;
private final Rect mTmpRect = new Rect();
private void updateInputWindows(boolean inDrag) {
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "updateInputWindows");
@@ -582,8 +584,11 @@ final class InputMonitor {
layer = layer != null ? layer : activeRecents;
// Handle edge-case for SUW where windows don't exist yet
if (layer.getSurfaceControl() != null) {
mRecentsAnimationInputConsumer.mWindowHandle
.replaceTouchableRegionWithCrop(layer.getSurfaceControl());
final WindowState targetAppMainWindow = activeRecents.findMainWindow();
if (targetAppMainWindow != null) {
targetAppMainWindow.getBounds(mTmpRect);
mRecentsAnimationInputConsumer.mWindowHandle.touchableRegion.set(mTmpRect);
}
mRecentsAnimationInputConsumer.show(mInputTransaction, layer);
mAddRecentsAnimationInputConsumerHandle = false;
}