diff --git a/android/view/ViewFrameInfo.java b/android/view/ViewFrameInfo.java
new file mode 100644
index 0000000..36bf532
--- /dev/null
+++ b/android/view/ViewFrameInfo.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view;
+
+import android.graphics.FrameInfo;
+import android.os.IInputConstants;
+
+/**
+ * The timing information of events taking place in ViewRootImpl
+ * @hide
+ */
+public class ViewFrameInfo {
+    public long drawStart;
+
+
+    // Various flags set to provide extra metadata about the current frame. See flag definitions
+    // inside FrameInfo.
+    // @see android.graphics.FrameInfo.FLAG_WINDOW_LAYOUT_CHANGED
+    public long flags;
+
+    private int mInputEventId;
+
+    /**
+     * Populate the missing fields using the data from ViewFrameInfo
+     * @param frameInfo : the structure FrameInfo object to populate
+     */
+    public void populateFrameInfo(FrameInfo frameInfo) {
+        frameInfo.frameInfo[FrameInfo.FLAGS] |= flags;
+        frameInfo.frameInfo[FrameInfo.DRAW_START] = drawStart;
+        frameInfo.frameInfo[FrameInfo.INPUT_EVENT_ID] = mInputEventId;
+    }
+
+    /**
+     * Reset this data. Should typically be invoked after calling "populateFrameInfo".
+     */
+    public void reset() {
+        drawStart = 0;
+        mInputEventId = IInputConstants.INVALID_INPUT_EVENT_ID;
+        flags = 0;
+    }
+
+    /**
+     * Record the current time, and store it in 'drawStart'
+     */
+    public void markDrawStart() {
+        drawStart = System.nanoTime();
+    }
+
+    /**
+     * Assign the value for input event id
+     * @param eventId the id of the input event
+     */
+    public void setInputEvent(int eventId) {
+        mInputEventId = eventId;
+    }
+}
