diff options
| author | Siarhei Vishniakou <svv@google.com> | 2021-04-14 06:26:45 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-04-14 06:26:45 +0000 |
| commit | f3779061f48c4cff0330042c53813a613f8871ee (patch) | |
| tree | 37a393279a7786a650cd404e8c5c5647a26aa184 /core/java/android/view/ViewRootImpl.java | |
| parent | 9dfb804a4e1d6529046c5e7b16c7588018b3069c (diff) | |
| parent | 35fccc4535dd8eedd5e60af21651e20215ef4768 (diff) | |
Merge "Revert "Check mInputEventReceiver before sending timeline"" into sc-dev
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 8c9c6bd8feeb..e8a4bb78b399 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1200,7 +1200,8 @@ public final class ViewRootImpl implements ViewParent, Looper.myLooper()); if (mAttachInfo.mThreadedRenderer != null) { - InputMetricsListener listener = new InputMetricsListener(); + InputMetricsListener listener = + new InputMetricsListener(mInputEventReceiver); mHardwareRendererObserver = new HardwareRendererObserver( listener, listener.data, mHandler, true /*waitForPresentTime*/); mAttachInfo.mThreadedRenderer.addObserver(mHardwareRendererObserver); @@ -1396,9 +1397,6 @@ public final class ViewRootImpl implements ViewParent, if (mAttachInfo.mThreadedRenderer != null) { mAttachInfo.mHardwareAccelerated = mAttachInfo.mHardwareAccelerationRequested = true; - if (mHardwareRendererObserver != null) { - mAttachInfo.mThreadedRenderer.addObserver(mHardwareRendererObserver); - } } } } @@ -8083,9 +8081,6 @@ public final class ViewRootImpl implements ViewParent, ThreadedRenderer hardwareRenderer = mAttachInfo.mThreadedRenderer; if (hardwareRenderer != null) { - if (mHardwareRendererObserver != null) { - hardwareRenderer.removeObserver(mHardwareRendererObserver); - } if (mView != null) { hardwareRenderer.destroyHardwareResources(mView); } @@ -8587,12 +8582,18 @@ public final class ViewRootImpl implements ViewParent, super.dispose(); } } - private WindowInputEventReceiver mInputEventReceiver; + WindowInputEventReceiver mInputEventReceiver; final class InputMetricsListener implements HardwareRendererObserver.OnFrameMetricsAvailableListener { public long[] data = new long[FrameMetrics.Index.FRAME_STATS_COUNT]; + private InputEventReceiver mReceiver; + + InputMetricsListener(InputEventReceiver receiver) { + mReceiver = receiver; + } + @Override public void onFrameMetricsAvailable(int dropCountSinceLastInvocation) { final int inputEventId = (int) data[FrameMetrics.Index.INPUT_EVENT_ID]; @@ -8605,11 +8606,6 @@ public final class ViewRootImpl implements ViewParent, // available, we cannot compute end-to-end input latency metrics. return; } - final long gpuCompletedTime = data[FrameMetrics.Index.GPU_COMPLETED]; - if (mInputEventReceiver == null) { - return; - } - mInputEventReceiver.reportTimeline(inputEventId, gpuCompletedTime, presentTime); } } HardwareRendererObserver mHardwareRendererObserver; |
