Merge "SurfaceView: Clean up deferred-destroy-surface from UI thread" into rvc-dev
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user