From 00177cc4479c4309a0802c5ac3970b8ed3df3d8b Mon Sep 17 00:00:00 2001 From: Robert Carr Date: Mon, 15 May 2017 15:49:17 -0700 Subject: [PATCH] SurfaceView: Reset window stopped state when attaching to window. We may be stopped, removed from the view hierarchy, and then only attached again after the activity has been restarted, missing our WindowStopped callback to set mWindowStopped=false. At this point we are being added to a visible view, or in ViewRoot#performTraversals so we can assume we are not stopped. Test: Manual from bug. Bug: 37682805 Change-Id: Idf8e061fb7f83b00992a274c7dd704f9e0fcff5f --- core/java/android/view/SurfaceView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 2ade9b572a1ab..9cea4ed123926 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -245,6 +245,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb super.onAttachedToWindow(); getViewRootImpl().addWindowStoppedCallback(this); + mWindowStopped = false; mParent.requestTransparentRegion(this); mViewVisibility = getVisibility() == VISIBLE;