summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-03-24 07:56:25 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-03-24 07:56:25 +0000
commitaec6f5f6fa75a50720479f5cc003bf2d527fa527 (patch)
tree5b2aae78b9e4ef2e096a950793814d54ec66cfcd /core/java/android/view/ViewRootImpl.java
parentd55054d4082861558f9cd55af4f4d3bced7b15c8 (diff)
parent423346e7e295b61a699691e9f7690e3f228d7e35 (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.java32
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;