summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Winson Chung <winsonc@google.com> 2021-05-19 21:58:15 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-05-19 21:58:15 +0000
commit22709326993ff87fc8a03fbda66250e9e9ef9ddc (patch)
tree5b740632e3363c89ab9e49e9549d3813f15da238
parent330f8f000d289d6946a99745aa8b2dcd815befdd (diff)
parent1113e624758b5950ce1b5a1e097a7b3438dddf72 (diff)
Merge "Ignore regions specified by the nav bar overlay" into sc-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarOverlayController.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java10
-rw-r--r--packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java11
3 files changed, 18 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarOverlayController.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarOverlayController.java
index 40f908b0c62f..9f2fb50c0214 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarOverlayController.java
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarOverlayController.java
@@ -17,6 +17,7 @@
package com.android.systemui.navigationbar;
import android.content.Context;
+import android.graphics.Rect;
import android.view.View;
import com.android.systemui.dagger.SysUISingleton;
@@ -47,7 +48,8 @@ public class NavigationBarOverlayController {
/**
* Initialize the controller with visibility change callback.
*/
- public void init(Consumer<Boolean> visibilityChangeCallback) {}
+ public void init(Consumer<Boolean> visibilityChangeCallback,
+ Consumer<Rect> excludeBackRegionCallback) {}
/**
* Set whether the view can be shown.
diff --git a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java
index fcbd59659ae4..7af4853dd3f2 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarView.java
@@ -323,10 +323,6 @@ public class NavigationBarView extends FrameLayout implements
mOverviewProxyService = Dependency.get(OverviewProxyService.class);
mRecentsOnboarding = new RecentsOnboarding(context, mOverviewProxyService);
- mNavBarOverlayController = Dependency.get(NavigationBarOverlayController.class);
- if (mNavBarOverlayController.isNavigationBarOverlayEnabled()) {
- mNavBarOverlayController.init(mNavbarOverlayVisibilityChangeCallback);
- }
mConfiguration = new Configuration();
mTmpLastConfiguration = new Configuration();
@@ -371,6 +367,12 @@ public class NavigationBarView extends FrameLayout implements
return isGesturalModeOnDefaultDisplay(getContext(), mNavBarMode);
}
});
+
+ mNavBarOverlayController = Dependency.get(NavigationBarOverlayController.class);
+ if (mNavBarOverlayController.isNavigationBarOverlayEnabled()) {
+ mNavBarOverlayController.init(mNavbarOverlayVisibilityChangeCallback,
+ mEdgeBackGestureHandler::updateNavigationBarOverlayExcludeRegion);
+ }
}
public void setAutoHideController(AutoHideController autoHideController) {
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 fc615deb1db6..be513f3aead0 100644
--- a/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/navigationbar/gestural/EdgeBackGestureHandler.java
@@ -187,6 +187,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
private final Executor mMainExecutor;
private final Rect mPipExcludedBounds = new Rect();
+ private final Rect mNavBarOverlayExcludedBounds = new Rect();
private final Region mExcludeRegion = new Region();
private final Region mUnrestrictedExcludeRegion = new Region();
@@ -366,6 +367,10 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
mTouchSlop = mViewConfiguration.getScaledTouchSlop() * backGestureSlop;
}
+ public void updateNavigationBarOverlayExcludeRegion(Rect exclude) {
+ mNavBarOverlayExcludedBounds.set(exclude);
+ }
+
private void onNavigationSettingsChanged() {
boolean wasBackAllowed = isHandlingGestures();
updateCurrentUserResources();
@@ -629,8 +634,9 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
return false;
}
- // If the point is inside the PiP excluded bounds, then drop it.
- if (mPipExcludedBounds.contains(x, y)) {
+ // 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)) {
return false;
}
@@ -893,6 +899,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
pw.println(" mExcludeRegion=" + mExcludeRegion);
pw.println(" mUnrestrictedExcludeRegion=" + mUnrestrictedExcludeRegion);
pw.println(" mPipExcludedBounds=" + mPipExcludedBounds);
+ pw.println(" mNavBarOverlayExcludedBounds=" + mNavBarOverlayExcludedBounds);
pw.println(" mEdgeWidthLeft=" + mEdgeWidthLeft);
pw.println(" mEdgeWidthRight=" + mEdgeWidthRight);
pw.println(" mLeftInset=" + mLeftInset);