summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rob Carr <racarr@google.com> 2020-06-29 21:56:16 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-06-29 21:56:16 +0000
commit91ecb004c38a04bbdc08973e90d07b121eca0431 (patch)
treeabdaaf5ae385a1c4f13636c6674f97c2d063014a
parent9fb76d9bba15ac0d90faf57ec3530a240cf7ad76 (diff)
parent7f46d57c6799dc64971418de7a2553cabdacf3e2 (diff)
Merge "SurfaceView: Clean up deferred-destroy-surface from UI thread" into rvc-dev am: 9464091e72 am: 7f46d57c67
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12010092 Change-Id: I43f2bd15f8c215dcd6f21541179d3c85140fe3ed
-rw-r--r--core/java/android/view/SurfaceView.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index bb0de120dedc..f937bc9e84a9 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -471,6 +471,13 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
}
private void performDrawFinished() {
+ if (mDeferredDestroySurfaceControl != null) {
+ synchronized (mSurfaceControlLock) {
+ mTmpTransaction.remove(mDeferredDestroySurfaceControl).apply();
+ mDeferredDestroySurfaceControl = null;
+ }
+ }
+
if (mPendingReportDraws > 0) {
mDrawFinished = true;
if (mAttachedToWindow) {
@@ -1194,13 +1201,6 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
+ "finishedDrawing");
}
- if (mDeferredDestroySurfaceControl != null) {
- synchronized (mSurfaceControlLock) {
- mTmpTransaction.remove(mDeferredDestroySurfaceControl).apply();
- mDeferredDestroySurfaceControl = null;
- }
- }
-
runOnUiThread(this::performDrawFinished);
}