| Index: chrome/android/java_staging/src/org/chromium/chrome/browser/contextualsearch/SwipeRecognizer.java
|
| diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/contextualsearch/SwipeRecognizer.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/contextualsearch/SwipeRecognizer.java
|
| deleted file mode 100644
|
| index ca79af2e159b3759322036678e0c901a75fd81ff..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java_staging/src/org/chromium/chrome/browser/contextualsearch/SwipeRecognizer.java
|
| +++ /dev/null
|
| @@ -1,195 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.chrome.browser.contextualsearch;
|
| -
|
| -import android.content.Context;
|
| -import android.graphics.PointF;
|
| -import android.view.GestureDetector;
|
| -import android.view.GestureDetector.SimpleOnGestureListener;
|
| -import android.view.MotionEvent;
|
| -
|
| -import org.chromium.chrome.browser.compositor.layouts.eventfilter.EdgeSwipeEventFilter.ScrollDirection;
|
| -import org.chromium.chrome.browser.compositor.layouts.eventfilter.EdgeSwipeHandler;
|
| -
|
| -/**
|
| - * TODO(pedrosimonetti): Confirm with dtrainor@ the proper location for this file.
|
| - *
|
| - * Recognizes directional swipe gestures using supplied {@link MotionEvent}s.
|
| - * The {@EdgeSwipeHandler} callbacks will notify users when a particular gesture
|
| - * has occurred, if the handler supports the particular direction of the swipe.
|
| - *
|
| - * To use this class:
|
| - * <ul>
|
| - * <li>Create an instance of the {@code SwipeRecognizer} for your View
|
| - * <li>In the View#onTouchEvent(MotionEvent) method ensure you call
|
| - * {@link #onTouchEvent(MotionEvent)}. The methods defined in your callback
|
| - * will be executed when the gestures occur.
|
| - * <li>Before trying to recognize the gesture, the class will call
|
| - * {@link #shouldRecognizeSwipe(MotionEvent, MotionEvent)}, which allow
|
| - * ignoring swipe recognition based on the MotionEvents.
|
| - * <li>Once a swipe gesture is detected, the class will check if the the direction
|
| - * is supported by calling {@link EdgeSwipeHandler#isSwipeEnabled(ScrollDirection)}.
|
| - * </ul>
|
| -
|
| - * Internally, this class uses a {@link GestureDetector} to recognize swipe gestures.
|
| - * For convenience, this class also extends {@link SimpleOnGestureListener} which
|
| - * is passed to the {@GestureDetector}. This means that this class can also be
|
| - * used to detect simple gestures defined in {@link GestureDetector}.
|
| - */
|
| -public class SwipeRecognizer extends SimpleOnGestureListener {
|
| -
|
| - /**
|
| - * The threshold for a vertical swipe gesture, in dps.
|
| - */
|
| - private static final float SWIPE_VERTICAL_DRAG_THRESHOLD_DP = 5.f;
|
| -
|
| - /**
|
| - * The threshold for a horizontal swipe gesture, in dps.
|
| - */
|
| - private static final float SWIPE_HORIZONTAL_DRAG_THRESHOLD_DP = 10.f;
|
| -
|
| - /**
|
| - * The {@link EdgeSwipeHandler} that will respond to recognized gestures.
|
| - */
|
| - private EdgeSwipeHandler mSwipeHandler;
|
| -
|
| - /**
|
| - * The direction of the swipe gesture.
|
| - * TODO(pedrosimonetti): Consider renaming ScrollDirection to SwipeDirection.
|
| - * Also consider renaming EdgeSwipeHandler to SwipeHandler or DirectionalSwipeHandler.
|
| - * Finally, consider moving the ScrollDirection/SwipeDirection enum to this class.
|
| - */
|
| - private ScrollDirection mSwipeDirection = ScrollDirection.UNKNOWN;
|
| -
|
| - /**
|
| - * The point that originated the swipe gesture.
|
| - */
|
| - private final PointF mMotionStartPoint = new PointF();
|
| -
|
| - /**
|
| - * The dps per pixel ratio.
|
| - */
|
| - private final float mPxToDp;
|
| -
|
| - /**
|
| - * The internal {@GestureDetector} used to recognize swipe gestures.
|
| - */
|
| - private final GestureDetector mGestureDetector;
|
| -
|
| - /**
|
| - * @param context The current Android {@link Context}.
|
| - */
|
| - public SwipeRecognizer(Context context) {
|
| - mPxToDp = 1.f / context.getResources().getDisplayMetrics().density;
|
| - mGestureDetector = new GestureDetector(context, this);
|
| - }
|
| -
|
| - /**
|
| - * Sets the {@link EdgeSwipeHandler} that will respond to recognized gestures.
|
| - * @param handler The {@link EdgeSwipeHandler}.
|
| - */
|
| - public void setSwipeHandler(EdgeSwipeHandler handler) {
|
| - mSwipeHandler = handler;
|
| - }
|
| -
|
| - /**
|
| - * Analyzes the given motion event by feeding it to a {@GestureDetector}. Depending on the
|
| - * results from the onScroll() and onFling() methods, it triggers the appropriate callbacks
|
| - * on the {@link EdgeSwipeHandler} supplied.
|
| - *
|
| - * @param event The {@link MotionEvent}.
|
| - * @return Whether the event has been consumed.
|
| - */
|
| - public boolean onTouchEvent(MotionEvent event) {
|
| - boolean consumed = mGestureDetector.onTouchEvent(event);
|
| -
|
| - if (mSwipeHandler != null) {
|
| - final int action = event.getAction();
|
| - if ((action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL)
|
| - && mSwipeDirection != ScrollDirection.UNKNOWN) {
|
| - mSwipeHandler.swipeFinished();
|
| - mSwipeDirection = ScrollDirection.UNKNOWN;
|
| - consumed = true;
|
| - }
|
| - }
|
| -
|
| - return consumed;
|
| - }
|
| -
|
| - /**
|
| - * Checks whether the swipe gestures should be recognized. If this method returns false,
|
| - * then the whole swipe recognition process will be ignored. By default this method returns
|
| - * true. If a more complex logic is needed, this method should be overridden.
|
| - *
|
| - * @param e1 The first {@link MotionEvent}.
|
| - * @param e2 The second {@link MotionEvent}.
|
| - * @return Whether the swipe gestures should be recognized
|
| - */
|
| - public boolean shouldRecognizeSwipe(MotionEvent e1, MotionEvent e2) {
|
| - return true;
|
| - }
|
| -
|
| - // ============================================================================================
|
| - // Swipe Recognition Helpers
|
| - // ============================================================================================
|
| -
|
| - @Override
|
| - public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
|
| - if (mSwipeHandler == null || e1 == null || e2 == null) return false;
|
| -
|
| - final float x = e2.getRawX() * mPxToDp;
|
| - final float y = e2.getRawY() * mPxToDp;
|
| -
|
| - if (mSwipeDirection == ScrollDirection.UNKNOWN && shouldRecognizeSwipe(e1, e2)) {
|
| - float tx = (e2.getRawX() - e1.getRawX()) * mPxToDp;
|
| - float ty = (e2.getRawY() - e1.getRawY()) * mPxToDp;
|
| -
|
| - ScrollDirection direction = ScrollDirection.UNKNOWN;
|
| -
|
| - if (Math.abs(tx) > SWIPE_HORIZONTAL_DRAG_THRESHOLD_DP) {
|
| - direction = tx > 0.f ? ScrollDirection.RIGHT : ScrollDirection.LEFT;
|
| - } else if (Math.abs(ty) > SWIPE_VERTICAL_DRAG_THRESHOLD_DP) {
|
| - direction = ty > 0.f ? ScrollDirection.DOWN : ScrollDirection.UP;
|
| - }
|
| -
|
| - if (direction != ScrollDirection.UNKNOWN && mSwipeHandler.isSwipeEnabled(direction)) {
|
| - mSwipeDirection = direction;
|
| - mSwipeHandler.swipeStarted(direction, x, y);
|
| - mMotionStartPoint.set(e2.getRawX(), e2.getRawY());
|
| - }
|
| - }
|
| -
|
| - if (mSwipeDirection != ScrollDirection.UNKNOWN) {
|
| - final float tx = (e2.getRawX() - mMotionStartPoint.x) * mPxToDp;
|
| - final float ty = (e2.getRawY() - mMotionStartPoint.y) * mPxToDp;
|
| - final float dx = -distanceX * mPxToDp;
|
| - final float dy = -distanceY * mPxToDp;
|
| -
|
| - mSwipeHandler.swipeUpdated(x, y, dx, dy, tx, ty);
|
| - return true;
|
| - }
|
| -
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
|
| - if (mSwipeHandler == null) return false;
|
| -
|
| - if (mSwipeDirection != ScrollDirection.UNKNOWN) {
|
| - final float x = e2.getRawX() * mPxToDp;
|
| - final float y = e2.getRawY() * mPxToDp;
|
| - final float tx = (e2.getRawX() - mMotionStartPoint.x) * mPxToDp;
|
| - final float ty = (e2.getRawY() - mMotionStartPoint.y) * mPxToDp;
|
| - final float vx = velocityX * mPxToDp;
|
| - final float vy = velocityY * mPxToDp;
|
| -
|
| - mSwipeHandler.swipeFlingOccurred(x, y, tx, ty, vx, vy);
|
| - return true;
|
| - }
|
| -
|
| - return false;
|
| - }
|
| -}
|
|
|