diff options
Diffstat (limited to 'core/java/android/view/ViewRootImpl.java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 228ee3c76b14..f1f6786aa43e 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1375,6 +1375,7 @@ public final class ViewRootImpl implements ViewParent, final boolean translucent = attrs.format != PixelFormat.OPAQUE || hasSurfaceInsets; mAttachInfo.mThreadedRenderer = ThreadedRenderer.create(mContext, translucent, attrs.getTitle().toString()); + mAttachInfo.mThreadedRenderer.setSurfaceControl(mSurfaceControl); updateColorModeIfNeeded(attrs.getColorMode()); updateForceDarkMode(); if (mAttachInfo.mThreadedRenderer != null) { @@ -1941,6 +1942,10 @@ public final class ViewRootImpl implements ViewParent, mBlastBufferQueue.destroy(); mBlastBufferQueue = null; } + + if (mAttachInfo.mThreadedRenderer != null) { + mAttachInfo.mThreadedRenderer.setSurfaceControl(null); + } } /** @@ -7651,6 +7656,9 @@ public final class ViewRootImpl implements ViewParent, mSurface.transferFrom(blastSurface); } } + if (mAttachInfo.mThreadedRenderer != null) { + mAttachInfo.mThreadedRenderer.setSurfaceControl(mSurfaceControl); + } } else { destroySurface(); } |
