diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 8808af04e21f..f06387ceab04 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -245,8 +245,10 @@ public final class ViewRootImpl implements ViewParent, // Input event queue. QueuedInputEvent mFirstPendingInputEvent; + int mPendingInputEventCount; QueuedInputEvent mCurrentInputEvent; boolean mProcessInputEventsScheduled; + String mPendingInputEventQueueLengthCounterName = "pq"; boolean mWindowAttributesChanged = false; int mWindowAttributesChangesFlag = 0; @@ -642,6 +644,8 @@ public final class ViewRootImpl implements ViewParent, if (view.getImportantForAccessibility() == View.IMPORTANT_FOR_ACCESSIBILITY_AUTO) { view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES); } + + mPendingInputEventQueueLengthCounterName = "pq:" + attrs.getTitle(); } } } @@ -4427,6 +4431,9 @@ public final class ViewRootImpl implements ViewParent, } last.mNext = q; } + mPendingInputEventCount += 1; + Trace.traceCounter(Trace.TRACE_TAG_INPUT, mPendingInputEventQueueLengthCounterName, + mPendingInputEventCount); if (processImmediately) { doProcessInputEvents(); @@ -4451,6 +4458,10 @@ public final class ViewRootImpl implements ViewParent, q.mNext = null; mCurrentInputEvent = q; + mPendingInputEventCount -= 1; + Trace.traceCounter(Trace.TRACE_TAG_INPUT, mPendingInputEventQueueLengthCounterName, + mPendingInputEventCount); + final int result = deliverInputEvent(q); if (result != EVENT_IN_PROGRESS) { finishCurrentInputEvent(result == EVENT_HANDLED); |
