From 0be54555c79dfaed41b620a1096323ec13e87310 Mon Sep 17 00:00:00 2001 From: mattsziklay Date: Wed, 29 Mar 2023 13:44:23 -0700 Subject: [PATCH] Mark corner resize areas as gesture exclusion areas. Prevent back gesture from triggering when a corner resize is attempted. Bug: 269661917 Test: Manual, resize desktop mode task to left/right edge of screen, then attempt to resize again from the edge. Confirm back gesture does not trigger. Change-Id: I933b139171fa8049a5c0c98611e8831963236e0e --- .../wm/shell/windowdecor/DragResizeInputListener.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java index 8cb575cc96e33..2cd1e1d558aea 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DragResizeInputListener.java @@ -42,6 +42,9 @@ import android.view.WindowManagerGlobal; import com.android.internal.view.BaseIWindow; +import java.util.Arrays; +import java.util.List; + /** * An input event listener registered to InputDispatcher to receive input events on task edges and * and corners. Converts them to drag resize requests. @@ -211,6 +214,10 @@ class DragResizeInputListener implements AutoCloseable { PRIVATE_FLAG_TRUSTED_OVERLAY, 0 /* inputFeatures */, touchRegion); + List cornersList = Arrays.asList( + mLeftTopCornerBounds, mLeftBottomCornerBounds, + mRightTopCornerBounds, mRightBottomCornerBounds); + mWindowSession.reportSystemGestureExclusionChanged(mFakeWindow, cornersList); } catch (RemoteException e) { e.rethrowFromSystemServer(); }