diff options
author | Tony Wickham <twickham@google.com> | 2019-07-18 16:01:53 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-07-18 16:01:53 -0700 |
commit | 6e6ebe9db3c39c1573f719839348f85b16ba85bf (patch) | |
tree | 74c958c68c475e9a37ac9501c7de538e0194aaab | |
parent | bca0d254ec86e80f0bdbf5cde2306298c6ac9d0c (diff) | |
parent | 6670435c149b31c1fe6870e797519af554c4faf5 (diff) | |
download | android_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
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; } } |