Loading core/java/android/view/ViewRootImpl.java +9 −13 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); } } } } Loading Loading @@ -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); } Loading Loading @@ -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]; Loading @@ -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; Loading Loading
core/java/android/view/ViewRootImpl.java +9 −13 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); } } } } Loading Loading @@ -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); } Loading Loading @@ -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]; Loading @@ -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; Loading