diff options
| -rw-r--r-- | core/java/android/view/SurfaceView.java | 7 | ||||
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 8 |
2 files changed, 8 insertions, 7 deletions
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index e38376d7d4a1..c64a2e8e4a4f 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -1122,14 +1122,15 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall * @hide */ @Override - public void surfaceSyncStarted() { + public void vriDrawStarted(boolean isWmSync) { ViewRootImpl viewRoot = getViewRootImpl(); - if (viewRoot != null) { - synchronized (mSyncGroups) { + synchronized (mSyncGroups) { + if (isWmSync && viewRoot != null) { for (SurfaceSyncGroup syncGroup : mSyncGroups) { viewRoot.addToSync(syncGroup); } } + mSyncGroups.clear(); } } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index c0f4731aeaf4..3d1a1dde9c8f 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -2115,7 +2115,7 @@ public final class ViewRootImpl implements ViewParent, void surfaceCreated(Transaction t); void surfaceReplaced(Transaction t); void surfaceDestroyed(); - default void surfaceSyncStarted() {}; + default void vriDrawStarted(boolean isWmSync) {}; } private final ArrayList<SurfaceChangedCallback> mSurfaceChangedCallbacks = new ArrayList<>(); @@ -2150,9 +2150,9 @@ public final class ViewRootImpl implements ViewParent, } } - private void notifySurfaceSyncStarted() { + private void notifyDrawStarted(boolean isWmSync) { for (int i = 0; i < mSurfaceChangedCallbacks.size(); i++) { - mSurfaceChangedCallbacks.get(i).surfaceSyncStarted(); + mSurfaceChangedCallbacks.get(i).vriDrawStarted(isWmSync); } } @@ -3664,6 +3664,7 @@ public final class ViewRootImpl implements ViewParent, } createSyncIfNeeded(); + notifyDrawStarted(isInWMSRequestedSync()); mDrewOnceForSync = true; } @@ -3737,7 +3738,6 @@ public final class ViewRootImpl implements ViewParent, mWmsRequestSyncGroup.addToSync(this); Trace.traceEnd(Trace.TRACE_TAG_VIEW); - notifySurfaceSyncStarted(); } private void notifyContentCatpureEvents() { |