summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vishnu Nair <vishnun@google.com> 2023-10-27 13:52:35 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-10-27 13:52:35 +0000
commit82516899d89a26e7a45696592b5fb37f387e0b83 (patch)
treed9dff9adbe2454d4713324f0016dcd20db0bd492
parent304fa942b40c7e987b24704584bc9b5856dd313d (diff)
parentb81abc6a1fed32ff4991f9385aa81aa2803dbf87 (diff)
Merge "Call mergeWithNextTransaction in registerCallbacksForSync" into main
-rw-r--r--core/java/android/view/ViewRootImpl.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index be4693bc0377..4da02f902e60 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -11612,7 +11612,14 @@ public final class ViewRootImpl implements ViewParent,
Log.d(mTag, "registerCallbacksForSync syncBuffer=" + syncBuffer);
}
- surfaceSyncGroup.addTransaction(mPendingTransaction);
+ final Transaction t;
+ if (mHasPendingTransactions) {
+ t = new Transaction();
+ t.merge(mPendingTransaction);
+ } else {
+ t = null;
+ }
+
mAttachInfo.mThreadedRenderer.registerRtFrameCallback(new FrameDrawingCallback() {
@Override
public void onFrameDraw(long frame) {
@@ -11625,6 +11632,9 @@ public final class ViewRootImpl implements ViewParent,
"Received frameDrawingCallback syncResult=" + syncResult + " frameNum="
+ frame + ".");
}
+ if (t != null) {
+ mergeWithNextTransaction(t, frame);
+ }
// If the syncResults are SYNC_LOST_SURFACE_REWARD_IF_FOUND or
// SYNC_CONTEXT_IS_STOPPED it means nothing will draw. There's no need to set up