Merge "SurfaceView: Clean up deferred-destroy-surface from UI thread" into rvc-dev am: 9464091e72
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12010092 Change-Id: Icee6625c7731850fce224e6d693d43244968ca98
This commit is contained in:
@@ -471,6 +471,13 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void performDrawFinished() {
|
private void performDrawFinished() {
|
||||||
|
if (mDeferredDestroySurfaceControl != null) {
|
||||||
|
synchronized (mSurfaceControlLock) {
|
||||||
|
mTmpTransaction.remove(mDeferredDestroySurfaceControl).apply();
|
||||||
|
mDeferredDestroySurfaceControl = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (mPendingReportDraws > 0) {
|
if (mPendingReportDraws > 0) {
|
||||||
mDrawFinished = true;
|
mDrawFinished = true;
|
||||||
if (mAttachedToWindow) {
|
if (mAttachedToWindow) {
|
||||||
@@ -1194,13 +1201,6 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall
|
|||||||
+ "finishedDrawing");
|
+ "finishedDrawing");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mDeferredDestroySurfaceControl != null) {
|
|
||||||
synchronized (mSurfaceControlLock) {
|
|
||||||
mTmpTransaction.remove(mDeferredDestroySurfaceControl).apply();
|
|
||||||
mDeferredDestroySurfaceControl = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
runOnUiThread(this::performDrawFinished);
|
runOnUiThread(this::performDrawFinished);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user