diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2020-03-24 07:56:25 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-03-24 07:56:25 +0000 |
| commit | aec6f5f6fa75a50720479f5cc003bf2d527fa527 (patch) | |
| tree | 5b2aae78b9e4ef2e096a950793814d54ec66cfcd /core/java/android/view/ViewRootImpl.java | |
| parent | d55054d4082861558f9cd55af4f4d3bced7b15c8 (diff) | |
| parent | 423346e7e295b61a699691e9f7690e3f228d7e35 (diff) | |
Merge "Pass source to dispatchBatchedInputEventPending (1/2)" into rvc-dev
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 218c9fb2fd4f..315c8777ca8f 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -504,7 +504,6 @@ public final class ViewRootImpl implements ViewParent, int mPendingInputEventCount; boolean mProcessInputEventsScheduled; boolean mUnbufferedInputDispatch; - boolean mUnbufferedInputDispatchBySource; @InputSourceClass int mUnbufferedInputSource = SOURCE_CLASS_NONE; @@ -1872,9 +1871,6 @@ public final class ViewRootImpl implements ViewParent, mTraversalBarrier = mHandler.getLooper().getQueue().postSyncBarrier(); mChoreographer.postCallback( Choreographer.CALLBACK_TRAVERSAL, mTraversalRunnable, null); - if (!mUnbufferedInputDispatch && !mUnbufferedInputDispatchBySource) { - scheduleConsumeBatchedInput(); - } notifyRendererOfFramePending(); pokeDrawLockIfNeeded(); } @@ -8156,7 +8152,6 @@ public final class ViewRootImpl implements ViewParent, @Override public void onInputEvent(InputEvent event) { Trace.traceBegin(Trace.TRACE_TAG_VIEW, "processInputEventForCompatibility"); - processUnbufferedRequest(event); List<InputEvent> processedEvents; try { processedEvents = @@ -8181,12 +8176,18 @@ public final class ViewRootImpl implements ViewParent, } @Override - public void onBatchedInputEventPending() { - if (mUnbufferedInputDispatch || mUnbufferedInputDispatchBySource) { - super.onBatchedInputEventPending(); - } else { - scheduleConsumeBatchedInput(); + public void onBatchedInputEventPending(int source) { + final boolean unbuffered = mUnbufferedInputDispatch + || (source & mUnbufferedInputSource) != SOURCE_CLASS_NONE; + if (unbuffered) { + if (mConsumeBatchedInputScheduled) { + unscheduleConsumeBatchedInput(); + } + // Consume event immediately if unbuffered input dispatch has been requested. + consumeBatchedInputEvents(-1); + return; } + scheduleConsumeBatchedInput(); } @Override @@ -8199,17 +8200,6 @@ public final class ViewRootImpl implements ViewParent, unscheduleConsumeBatchedInput(); super.dispose(); } - - private void processUnbufferedRequest(InputEvent event) { - if (!(event instanceof MotionEvent)) { - return; - } - mUnbufferedInputDispatchBySource = - (event.getSource() & mUnbufferedInputSource) != SOURCE_CLASS_NONE; - if (mUnbufferedInputDispatchBySource && mConsumeBatchedInputScheduled) { - scheduleConsumeBatchedInputImmediately(); - } - } } WindowInputEventReceiver mInputEventReceiver; |
