Example usage for com.facebook.react.common SystemClock nanoTime

List of usage examples for com.facebook.react.common SystemClock nanoTime

Introduction

In this page you can find the example usage for com.facebook.react.common SystemClock nanoTime.

Prototype

public static long nanoTime() 

Source Link

Usage

From source file:com.horcrux.svg.RNSVGSvgView.java

License:Open Source License

public void handleTouchEvent(MotionEvent ev, EventDispatcher eventDispatcher) {
    int action = ev.getAction() & MotionEvent.ACTION_MASK;
    if (action == MotionEvent.ACTION_DOWN) {
        eventDispatcher.dispatchEvent(TouchEvent.obtain(mTargetTag, SystemClock.nanoTime(),
                TouchEventType.START, ev, ev.getX(), ev.getX(), mTouchEventCoalescingKeyHelper));
    } else if (mTargetTag == -1) {
        // All the subsequent action types are expected to be called after ACTION_DOWN thus target
        // is supposed to be set for them.
        Log.e("error", "Unexpected state: received touch event but didn't get starting ACTION_DOWN for this "
                + "gesture before");
    } else if (action == MotionEvent.ACTION_UP) {
        // End of the gesture. We reset target tag to -1 and expect no further event associated with
        // this gesture.
        eventDispatcher.dispatchEvent(TouchEvent.obtain(mTargetTag, SystemClock.nanoTime(), TouchEventType.END,
                ev, ev.getX(), ev.getY(), mTouchEventCoalescingKeyHelper));
        mTargetTag = -1;/*from   w w  w . jav a 2s  . c  om*/
    } else if (action == MotionEvent.ACTION_MOVE) {
        // Update pointer position for current gesture
        eventDispatcher.dispatchEvent(TouchEvent.obtain(mTargetTag, SystemClock.nanoTime(), TouchEventType.MOVE,
                ev, ev.getX(), ev.getY(), mTouchEventCoalescingKeyHelper));
    } else if (action == MotionEvent.ACTION_POINTER_DOWN) {
        // New pointer goes down, this can only happen after ACTION_DOWN is sent for the first pointer
        eventDispatcher.dispatchEvent(TouchEvent.obtain(mTargetTag, SystemClock.nanoTime(),
                TouchEventType.START, ev, ev.getX(), ev.getY(), mTouchEventCoalescingKeyHelper));
    } else if (action == MotionEvent.ACTION_POINTER_UP) {
        // Exactly onw of the pointers goes up
        eventDispatcher.dispatchEvent(TouchEvent.obtain(mTargetTag, SystemClock.nanoTime(), TouchEventType.END,
                ev, ev.getX(), ev.getY(), mTouchEventCoalescingKeyHelper));
    } else if (action == MotionEvent.ACTION_CANCEL) {
        dispatchCancelEvent(ev, eventDispatcher);
        mTargetTag = -1;
    } else {
        Log.w("IGNORE", "Warning : touch event was ignored. Action=" + action + " Target=" + mTargetTag);
    }
}

From source file:com.horcrux.svg.RNSVGSvgView.java

License:Open Source License

private void dispatchCancelEvent(MotionEvent androidEvent, EventDispatcher eventDispatcher) {
    // This means the gesture has already ended, via some other CANCEL or UP event. This is not
    // expected to happen very often as it would mean some child View has decided to intercept the
    // touch stream and start a native gesture only upon receiving the UP/CANCEL event.
    if (mTargetTag == -1) {
        Log.w("error", "Can't cancel already finished gesture. Is a child View trying to start a gesture from "
                + "an UP/CANCEL event?");
        return;/*from  w  ww .  j  av  a  2  s.  c  o  m*/
    }

    Assertions.assertNotNull(eventDispatcher)
            .dispatchEvent(TouchEvent.obtain(mTargetTag, SystemClock.nanoTime(), TouchEventType.CANCEL,
                    androidEvent, androidEvent.getX(), androidEvent.getY(), mTouchEventCoalescingKeyHelper));
}

From source file:versioned.host.exp.exponent.modules.api.components.svg.RNSVGSvgView.java

License:Open Source License

private void dispatch(MotionEvent ev, TouchEventType type) {
    mEventDispatcher.dispatchEvent(TouchEvent.obtain(mTargetTag, SystemClock.nanoTime(), type, ev, ev.getX(),
            ev.getX(), mTouchEventCoalescingKeyHelper));
}