From 97f7e3d486a3bb5f61aecb81f32093145c5540d9 Mon Sep 17 00:00:00 2001 From: "jorgegil@google.com" Date: Fri, 11 Jun 2021 10:57:40 -0700 Subject: Apply PIP exclusion region only if in PIP mode Bug: 189834209 Test: enter/exit PIP, use stash - verify back gesture exclusion region is set correctly Change-Id: I8f25ff4f84b76e2bc0421865cd3a709cb6619c2e --- .../navigationbar/gestural/EdgeBackGestureHandler.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java index 8838d7e5e87a..d09797d62a1d 100644 --- a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java +++ b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java @@ -147,6 +147,16 @@ public class EdgeBackGestureHandler extends CurrentUserTracker mPackageName = "_UNKNOWN"; } } + + @Override + public void onActivityPinned(String packageName, int userId, int taskId, int stackId) { + mIsInPipMode = true; + } + + @Override + public void onActivityUnpinned() { + mIsInPipMode = false; + } }; private DeviceConfig.OnPropertiesChangedListener mOnPropertiesChangedListener = @@ -220,6 +230,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker private boolean mIsNavBarShownTransiently; private boolean mIsBackGestureAllowed; private boolean mGestureBlockingActivityRunning; + private boolean mIsInPipMode; private InputMonitor mInputMonitor; private InputChannelCompat.InputEventReceiver mInputEventReceiver; @@ -636,7 +647,8 @@ public class EdgeBackGestureHandler extends CurrentUserTracker // If the point is inside the PiP or Nav bar overlay excluded bounds, then ignore the back // gesture - if (mPipExcludedBounds.contains(x, y) || mNavBarOverlayExcludedBounds.contains(x, y)) { + final boolean isInsidePip = mIsInPipMode && mPipExcludedBounds.contains(x, y); + if (isInsidePip || mNavBarOverlayExcludedBounds.contains(x, y)) { return false; } @@ -898,6 +910,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker pw.println(" mInRejectedExclusion" + mInRejectedExclusion); pw.println(" mExcludeRegion=" + mExcludeRegion); pw.println(" mUnrestrictedExcludeRegion=" + mUnrestrictedExcludeRegion); + pw.println(" mIsInPipMode=" + mIsInPipMode); pw.println(" mPipExcludedBounds=" + mPipExcludedBounds); pw.println(" mNavBarOverlayExcludedBounds=" + mNavBarOverlayExcludedBounds); pw.println(" mEdgeWidthLeft=" + mEdgeWidthLeft); -- cgit v1.2.3-59-g8ed1b