From a59c3a5a3a218573fd293d5f3494c6f17903a1b4 Mon Sep 17 00:00:00 2001 From: Karthik Ravi Shankar Date: Mon, 11 Sep 2017 17:36:25 -0700 Subject: [PATCH] Fix window visibility during layout Avoid the conditional requestTransparentRegion() and make it more precise in onAttachedToWindow(). Testing: 20 attempts to launch in TreasureHunt, never results in black screen as compared to 2-3 attempts to get into black screen before. Bug: 62235292 Suggested-By: racarr@google.com Change-Id: If04c97670f24c10bf9e4ce95b9d33fb750053323 --- core/java/android/view/SurfaceView.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index cac27afa72cb7..462dad3fad7ad 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -231,6 +231,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb updateRequestedVisibility(); mAttachedToWindow = true; + mParent.requestTransparentRegion(SurfaceView.this); if (!mGlobalListenersAdded) { ViewTreeObserver observer = getViewTreeObserver(); observer.addOnScrollChangedListener(mScrollChangedListener); @@ -269,8 +270,6 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb if (mPendingReportDraws > 0) { mDrawFinished = true; if (mAttachedToWindow) { - mParent.requestTransparentRegion(SurfaceView.this); - notifyDrawFinished(); invalidate(); }