summaryrefslogtreecommitdiff
path: root/core/java/android/view/ViewRootImpl.java
diff options
context:
space:
mode:
authorSiarhei Vishniakou <svv@google.com>2021-04-14 06:26:45 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-04-14 06:26:45 +0000
commitf3779061f48c4cff0330042c53813a613f8871ee (patch)
tree37a393279a7786a650cd404e8c5c5647a26aa184 /core/java/android/view/ViewRootImpl.java
parent9dfb804a4e1d6529046c5e7b16c7588018b3069c (diff)
parent35fccc4535dd8eedd5e60af21651e20215ef4768 (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.java22
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;