summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2019-07-18 16:01:53 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-07-18 16:01:53 -0700
commit6e6ebe9db3c39c1573f719839348f85b16ba85bf (patch)
tree74c958c68c475e9a37ac9501c7de538e0194aaab
parentbca0d254ec86e80f0bdbf5cde2306298c6ac9d0c (diff)
parent6670435c149b31c1fe6870e797519af554c4faf5 (diff)
downloadandroid_packages_apps_Trebuchet-6e6ebe9db3c39c1573f719839348f85b16ba85bf.tar.gz
android_packages_apps_Trebuchet-6e6ebe9db3c39c1573f719839348f85b16ba85bf.tar.bz2
android_packages_apps_Trebuchet-6e6ebe9db3c39c1573f719839348f85b16ba85bf.zip
Merge "Allow TouchControllers to override shouldDisableGestures" into ub-launcher3-qt-r1-dev
am: 6670435c14 Change-Id: If4a2599b3011001d1ef09fb36e07778383b60fe1
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java6
-rw-r--r--src/com/android/launcher3/util/TouchController.java4
-rw-r--r--src/com/android/launcher3/views/BaseDragLayer.java10
3 files changed, 15 insertions, 5 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
index f5ba3725d..18996ddb0 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/StatusBarTouchController.java
@@ -166,4 +166,10 @@ public class StatusBarTouchController implements TouchController {
mSysUiProxy = RecentsModel.INSTANCE.get(mLauncher).getSystemUiProxy();
return mSysUiProxy != null;
}
+
+ @Override
+ public boolean allowWhenGesturesDisabled() {
+ // Always allow intercepting touches for this controller.
+ return true;
+ }
} \ No newline at end of file
diff --git a/src/com/android/launcher3/util/TouchController.java b/src/com/android/launcher3/util/TouchController.java
index fc1d819f7..2cd28bbe8 100644
--- a/src/com/android/launcher3/util/TouchController.java
+++ b/src/com/android/launcher3/util/TouchController.java
@@ -32,5 +32,9 @@ public interface TouchController {
*/
boolean onControllerInterceptTouchEvent(MotionEvent ev);
+ default boolean allowWhenGesturesDisabled() {
+ return false;
+ }
+
default void dump(String prefix, PrintWriter writer) { }
}
diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java
index 594a24630..7b16409d9 100644
--- a/src/com/android/launcher3/views/BaseDragLayer.java
+++ b/src/com/android/launcher3/views/BaseDragLayer.java
@@ -21,7 +21,6 @@ import static android.view.MotionEvent.ACTION_DOWN;
import static android.view.MotionEvent.ACTION_UP;
import static com.android.launcher3.Utilities.SINGLE_FRAME_MS;
-import static com.android.launcher3.Utilities.shouldDisableGestures;
import android.annotation.TargetApi;
import android.content.Context;
@@ -30,7 +29,6 @@ import android.graphics.Rect;
import android.graphics.RectF;
import android.os.Build;
import android.util.AttributeSet;
-import android.util.Log;
import android.util.Property;
import android.view.MotionEvent;
import android.view.View;
@@ -152,15 +150,17 @@ public abstract class BaseDragLayer<T extends Context & ActivityContext>
}
private TouchController findControllerToHandleTouch(MotionEvent ev) {
- if (shouldDisableGestures(ev)) return null;
+ boolean gesturesEnabled = !Utilities.shouldDisableGestures(ev);
AbstractFloatingView topView = AbstractFloatingView.getTopOpenView(mActivity);
- if (topView != null && topView.onControllerInterceptTouchEvent(ev)) {
+ if (topView != null && (gesturesEnabled || topView.allowWhenGesturesDisabled())
+ && topView.onControllerInterceptTouchEvent(ev)) {
return topView;
}
for (TouchController controller : mControllers) {
- if (controller.onControllerInterceptTouchEvent(ev)) {
+ if ((gesturesEnabled || controller.allowWhenGesturesDisabled())
+ && controller.onControllerInterceptTouchEvent(ev)) {
return controller;
}
}