diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index b755f5325eeb8..ad3379f4c46e3 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -3500,7 +3500,9 @@ public final class ViewRootImpl implements ViewParent, } mPendingTransitions.clear(); } - performDraw(); + if (!performDraw() && mSyncBufferCallback != null) { + mSyncBufferCallback.onBufferReady(null); + } } if (mAttachInfo.mContentCaptureEvents != null) { @@ -4243,11 +4245,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; @@ -4331,6 +4333,7 @@ public final class ViewRootImpl implements ViewParent, if (mPerformContentCapture) { performContentCaptureInitialReport(); } + return true; } /**