diff --git a/native/android/surface_control.cpp b/native/android/surface_control.cpp index 6eff629a03f44..1ebdc273931b8 100644 --- a/native/android/surface_control.cpp +++ b/native/android/surface_control.cpp @@ -17,18 +17,15 @@ #include #include #include -#include - #include - #include #include #include #include #include - +#include +#include #include - #include using namespace android::hardware::configstore; @@ -671,7 +668,7 @@ void ASurfaceTransaction_setOnCommit(ASurfaceTransaction* aSurfaceTransaction, v void ASurfaceTransaction_setFrameTimeline(ASurfaceTransaction* aSurfaceTransaction, AVsyncId vsyncId) { CHECK_NOT_NULL(aSurfaceTransaction); - // TODO(b/210043506): Get start time from platform. + const auto startTime = AChoreographer_getStartTimeNanosForVsyncId(vsyncId); ASurfaceTransaction_to_Transaction(aSurfaceTransaction) - ->setFrameTimelineInfo({.vsyncId = vsyncId, .startTimeNanos = 0}); + ->setFrameTimelineInfo({.vsyncId = vsyncId, .startTimeNanos = startTime}); }