summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/view/SurfaceView.java7
-rw-r--r--core/java/android/view/ViewRootImpl.java8
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() {