commit | 761f8461559f83590386b44ce5c81b092e02c878 | [log] [tgz] |
---|---|---|
author | TreeHugger Robot <treehugger-gerrit@google.com> | Fri Jun 05 16:49:00 2020 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Fri Jun 05 16:49:00 2020 +0000 |
tree | d7940ffac00745f0b6f15d2641ed04a3cbdb53bc | |
parent | 9a63f7dbdfbd6d03b5ab5e60790901371c7bd1fe [diff] | |
parent | 488044fc2ec9785e1e1ebd7c8c00dbda2c8e27b8 [diff] |
Merge "Allowing ListenerView intercept events in system areas" into ub-launcher3-rvc-dev am: 488044fc2e Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/11740423 Change-Id: I6bd60c2859c0e02f12c0610fbf643aa2133fc2fd
diff --git a/src/com/android/launcher3/AbstractFloatingView.java b/src/com/android/launcher3/AbstractFloatingView.java index 1aa3144..572615f 100644 --- a/src/com/android/launcher3/AbstractFloatingView.java +++ b/src/com/android/launcher3/AbstractFloatingView.java
@@ -257,4 +257,8 @@ @FloatingViewType int type) { return getOpenView(activity, type); } + + public boolean canInterceptEventsInSystemGestureRegion() { + return false; + } }
diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java index c37c47c..f54edc2 100644 --- a/src/com/android/launcher3/views/BaseDragLayer.java +++ b/src/com/android/launcher3/views/BaseDragLayer.java
@@ -186,11 +186,12 @@ + ", isEventInLauncher=" + isEventInLauncher(ev) + ", topOpenView=" + AbstractFloatingView.getTopOpenView(mActivity)); } - if (isEventInLauncher(ev)) { - AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(mActivity); - if (topView != null && topView.onControllerInterceptTouchEvent(ev)) { - return topView; - } + + AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(mActivity); + if (topView != null + && (isEventInLauncher(ev) || topView.canInterceptEventsInSystemGestureRegion()) + && topView.onControllerInterceptTouchEvent(ev)) { + return topView; } for (TouchController controller : mControllers) {
diff --git a/src/com/android/launcher3/views/ListenerView.java b/src/com/android/launcher3/views/ListenerView.java index 575f864..3ef778b 100644 --- a/src/com/android/launcher3/views/ListenerView.java +++ b/src/com/android/launcher3/views/ListenerView.java
@@ -106,4 +106,9 @@ // We want other views to be able to intercept the touch so we return false here. return false; } + + @Override + public boolean canInterceptEventsInSystemGestureRegion() { + return true; + } }