| Index: sky/shell/org/domokit/sky/shell/GestureProvider.java
|
| diff --git a/sky/shell/org/domokit/sky/shell/GestureProvider.java b/sky/shell/org/domokit/sky/shell/GestureProvider.java
|
| deleted file mode 100644
|
| index f9e29e9ed94b19b8eb774e5f9b2d2559c03b1e06..0000000000000000000000000000000000000000
|
| --- a/sky/shell/org/domokit/sky/shell/GestureProvider.java
|
| +++ /dev/null
|
| @@ -1,136 +0,0 @@
|
| -// Copyright 2016 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.domokit.sky.shell;
|
| -
|
| -import android.content.Context;
|
| -import android.view.GestureDetector;
|
| -import android.view.MotionEvent;
|
| -
|
| -import org.chromium.mojom.sky.EventType;
|
| -import org.chromium.mojom.sky.GestureData;
|
| -import org.chromium.mojom.sky.InputEvent;
|
| -
|
| -/**
|
| - * Knows how to drive a GestureDetector to turn MotionEvents into Sky's
|
| - * InputEvents. Seems like this should not be needed. That there must exist
|
| - * some Android class to do most of this work for us?
|
| - */
|
| -public class GestureProvider implements GestureDetector.OnGestureListener {
|
| - private static final String TAG = "GestureProvider";
|
| -
|
| - /**
|
| - * Callback interface
|
| - */
|
| - public interface OnGestureListener {
|
| - void onGestureEvent(InputEvent e);
|
| - }
|
| -
|
| - private OnGestureListener mListener;
|
| - private GestureDetector mDetector;
|
| - private boolean mScrolling;
|
| - private boolean mFlinging;
|
| -
|
| - public GestureProvider(Context context, OnGestureListener listener) {
|
| - mListener = listener;
|
| - mDetector = new GestureDetector(context, this);
|
| - }
|
| -
|
| - private InputEvent createGestureEvent(MotionEvent event) {
|
| - int pointerIndex = event.getActionIndex();
|
| - GestureData gestureData = new GestureData();
|
| - gestureData.primaryPointer = event.getPointerId(pointerIndex);
|
| - gestureData.x = event.getX(pointerIndex);
|
| - gestureData.y = event.getY(pointerIndex);
|
| - InputEvent inputEvent = new InputEvent();
|
| - inputEvent.timeStamp = event.getEventTime();
|
| - inputEvent.gestureData = gestureData;
|
| - return inputEvent;
|
| - }
|
| -
|
| - public void onTouchEvent(MotionEvent event) {
|
| - // TODO(eseidel): I am not confident that these stops are correct.
|
| - int maskedAction = event.getActionMasked();
|
| - if (mScrolling && maskedAction == MotionEvent.ACTION_UP) {
|
| - mScrolling = false;
|
| - InputEvent inputEvent = createGestureEvent(event);
|
| - inputEvent.type = EventType.GESTURE_SCROLL_END;
|
| - mListener.onGestureEvent(inputEvent);
|
| - }
|
| -
|
| - if (mFlinging && maskedAction == MotionEvent.ACTION_DOWN) {
|
| - mFlinging = false;
|
| - InputEvent inputEvent = createGestureEvent(event);
|
| - inputEvent.type = EventType.GESTURE_FLING_CANCEL;
|
| - mListener.onGestureEvent(inputEvent);
|
| - }
|
| -
|
| - mDetector.onTouchEvent(event);
|
| - }
|
| -
|
| - @Override
|
| - public boolean onDown(MotionEvent event) {
|
| - InputEvent inputEvent = createGestureEvent(event);
|
| - inputEvent.type = EventType.GESTURE_TAP_DOWN;
|
| - mListener.onGestureEvent(inputEvent);
|
| - return true;
|
| - }
|
| -
|
| - @Override
|
| - public boolean onFling(MotionEvent e1, MotionEvent e2,
|
| - float velocityX, float velocityY) {
|
| - mFlinging = true;
|
| -
|
| - // Use the first event as a scroll start (for the target hit-test)
|
| - InputEvent inputEvent = createGestureEvent(e1);
|
| - inputEvent.gestureData.velocityX = velocityX;
|
| - inputEvent.gestureData.velocityY = velocityY;
|
| - inputEvent.type = EventType.GESTURE_FLING_START;
|
| -
|
| - mListener.onGestureEvent(inputEvent);
|
| - return true;
|
| - }
|
| -
|
| - @Override
|
| - public void onLongPress(MotionEvent event) {
|
| - InputEvent inputEvent = createGestureEvent(event);
|
| - inputEvent.type = EventType.GESTURE_LONG_PRESS;
|
| - mListener.onGestureEvent(inputEvent);
|
| - }
|
| -
|
| - @Override
|
| - public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
|
| - float distanceY) {
|
| - // Use the first event as a scroll start (for the target hit-test)
|
| - InputEvent inputEvent = createGestureEvent(e1);
|
| - inputEvent.gestureData.dx = distanceX;
|
| - inputEvent.gestureData.dy = -distanceY;
|
| -
|
| - // If we haven't started scrolling, send a scroll_begin.
|
| - if (!mScrolling) {
|
| - mScrolling = true;
|
| - inputEvent.type = EventType.GESTURE_SCROLL_BEGIN;
|
| - mListener.onGestureEvent(inputEvent);
|
| - }
|
| -
|
| - inputEvent.type = EventType.GESTURE_SCROLL_UPDATE;
|
| - mListener.onGestureEvent(inputEvent);
|
| - return true;
|
| - }
|
| -
|
| - @Override
|
| - public void onShowPress(MotionEvent event) {
|
| - InputEvent inputEvent = createGestureEvent(event);
|
| - inputEvent.type = EventType.GESTURE_SHOW_PRESS;
|
| - mListener.onGestureEvent(inputEvent);
|
| - }
|
| -
|
| - @Override
|
| - public boolean onSingleTapUp(MotionEvent event) {
|
| - InputEvent inputEvent = createGestureEvent(event);
|
| - inputEvent.type = EventType.GESTURE_TAP;
|
| - mListener.onGestureEvent(inputEvent);
|
| - return true;
|
| - }
|
| -}
|
|
|