ViewRoot: Check Surface validity before initializing renderer from draw().
Imagine we have a ViewRoot for a PopupWindow so it's view visibility will not directly be affected by the stopped state, but we still will end up destroying the surface. We could see a handler queue like this: ("handleStopped", "performTraversals"). If there were no size changes we won't call relayout and we won't notice we have lost the Surface and it seems there is nothing to prevent us from continuing in to draw. However, if we have handled STOP then the surface is now destroyed. Ensure we respect the stop signal and the released state it sets on the Surface. The original intent of this code-path should be preserved in the case that the client receives a new surface from relayout even if it hasn't yet received setWindowStopped(false). Bug: 62536731 Test: Manual Change-Id: I0eccd4dbfd00f9f61ad37086299f986463082a1f
Loading
Please register or sign in to comment