diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index b977d66eb608d..bf00b16cb61b1 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -3503,7 +3503,9 @@ public final class ViewRootImpl implements ViewParent, } mPendingTransitions.clear(); } - performDraw(); + if (!performDraw() && mSyncBufferCallback != null) { + mSyncBufferCallback.onBufferReady(null); + } } if (mAttachInfo.mContentCaptureEvents != null) { @@ -4246,11 +4248,11 @@ public final class ViewRootImpl implements ViewParent, }); } - private void performDraw() { + private boolean performDraw() { if (mAttachInfo.mDisplayState == Display.STATE_OFF && !mReportNextDraw) { - return; + return false; } else if (mView == null) { - return; + return false; } final boolean fullRedrawNeeded = mFullRedrawNeeded || mSyncBufferCallback != null; @@ -4334,6 +4336,7 @@ public final class ViewRootImpl implements ViewParent, if (mPerformContentCapture) { performContentCaptureInitialReport(); } + return true; } /**