diff options
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/view/InputEventReceiver.java | 12 | ||||
-rw-r--r-- | core/java/android/view/ViewRootImpl.java | 6 |
2 files changed, 11 insertions, 7 deletions
diff --git a/core/java/android/view/InputEventReceiver.java b/core/java/android/view/InputEventReceiver.java index 6a457ec..9c56782 100644 --- a/core/java/android/view/InputEventReceiver.java +++ b/core/java/android/view/InputEventReceiver.java @@ -46,7 +46,8 @@ public abstract class InputEventReceiver { InputChannel inputChannel, MessageQueue messageQueue); private static native void nativeDispose(int receiverPtr); private static native void nativeFinishInputEvent(int receiverPtr, int seq, boolean handled); - private static native void nativeConsumeBatchedInputEvents(int receiverPtr); + private static native void nativeConsumeBatchedInputEvents(int receiverPtr, + long frameTimeNanos); /** * Creates an input event receiver bound to the specified input channel. @@ -114,7 +115,7 @@ public abstract class InputEventReceiver { * immediately (such as a pointer up event). */ public void onBatchedInputEventPending() { - consumeBatchedInputEvents(); + consumeBatchedInputEvents(-1); } /** @@ -150,13 +151,16 @@ public abstract class InputEventReceiver { * * This method forces all batched input events to be delivered immediately. * Should be called just before animating or drawing a new frame in the UI. + * + * @param frameTimeNanos The time in the {@link System#nanoTime()} time base + * when the current display frame started rendering, or -1 if unknown. */ - public final void consumeBatchedInputEvents() { + public final void consumeBatchedInputEvents(long frameTimeNanos) { if (mReceiverPtr == 0) { Log.w(TAG, "Attempted to consume batched input events but the input event " + "receiver has already been disposed."); } else { - nativeConsumeBatchedInputEvents(mReceiverPtr); + nativeConsumeBatchedInputEvents(mReceiverPtr, frameTimeNanos); } } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index afa9b12..1ee7934 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -4204,11 +4204,11 @@ public final class ViewRootImpl implements ViewParent, } } - void doConsumeBatchedInput() { + void doConsumeBatchedInput(long frameTimeNanos) { if (mConsumeBatchedInputScheduled) { mConsumeBatchedInputScheduled = false; if (mInputEventReceiver != null) { - mInputEventReceiver.consumeBatchedInputEvents(); + mInputEventReceiver.consumeBatchedInputEvents(frameTimeNanos); } doProcessInputEvents(); } @@ -4248,7 +4248,7 @@ public final class ViewRootImpl implements ViewParent, final class ConsumeBatchedInputRunnable implements Runnable { @Override public void run() { - doConsumeBatchedInput(); + doConsumeBatchedInput(mChoreographer.getFrameTimeNanos()); } } final ConsumeBatchedInputRunnable mConsumedBatchedInputRunnable = |