summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
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 dd34bcb018b9..95149deb41f6 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();
}
@@ -8147,7 +8143,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 =
@@ -8172,12 +8167,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
@@ -8190,17 +8191,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;