From 34041385833e4555ceadd139657bccfea1cd99c7 Mon Sep 17 00:00:00 2001 From: Andy Wickham Date: Wed, 12 May 2021 02:25:33 -0700 Subject: [PATCH] Forces a back region for sandbox even if gesture nav is disabled. When gesture nav is disabled, this config value returns 0, preventing the back gesture from being recognized. Probably we won't show the sandbox in that case, but it'd be good to have a reasonable fallback just in case. Bug: 186715828 Test: Manual with gesture nav enabled and disabled Change-Id: Ic5e03bede80521670f81e6ac7b02f364259b9f96 --- .../quickstep/interaction/EdgeBackGestureHandler.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/quickstep/interaction/EdgeBackGestureHandler.java b/quickstep/src/com/android/quickstep/interaction/EdgeBackGestureHandler.java index 9489bac266..c532f8e43d 100644 --- a/quickstep/src/com/android/quickstep/interaction/EdgeBackGestureHandler.java +++ b/quickstep/src/com/android/quickstep/interaction/EdgeBackGestureHandler.java @@ -30,6 +30,7 @@ import android.view.ViewGroup.LayoutParams; import androidx.annotation.Nullable; import com.android.launcher3.ResourceUtils; +import com.android.launcher3.Utilities; /** * Utility class to handle edge swipes for back gestures. @@ -47,9 +48,9 @@ public class EdgeBackGestureHandler implements OnTouchListener { private final Point mDisplaySize = new Point(); // The edge width where touch down is allowed - private int mEdgeWidth; + private final int mEdgeWidth; // The bottom gesture area height - private int mBottomGestureHeight; + private final int mBottomGestureHeight; // The slop to distinguish between horizontal and vertical motion private final float mTouchSlop; // Duration after which we consider the event as longpress. @@ -97,7 +98,9 @@ public class EdgeBackGestureHandler implements OnTouchListener { mBottomGestureHeight = ResourceUtils.getNavbarSize(ResourceUtils.NAVBAR_BOTTOM_GESTURE_SIZE, res); - mEdgeWidth = ResourceUtils.getNavbarSize("config_backGestureInset", res); + int systemBackRegion = ResourceUtils.getNavbarSize("config_backGestureInset", res); + // System back region is 0 if gesture nav is not currently enabled. + mEdgeWidth = systemBackRegion == 0 ? Utilities.dpToPx(18) : systemBackRegion; } void setViewGroupParent(@Nullable ViewGroup parent) {