Fix SurfaceView background layer leaks

The background layer was parented to the root sv layer but in blast
when recreating the sv surface, we were only cleaning up the blast
surface. This would leak the root container layer and the background
color layer that was parented to it.

Instead with blast enabled, we keep both the root and the blast layer
alive. If the surface needs to be recreated, we only recreate the
BlastBufferQueue adapter. This also simplifies the preserve old surface
logic because we no longer need to track the old surface control. The
blast layer will continue presenting the buffer from the old BBQ.

Test: -1 screen with video, check we are not leaking background layers
Test: go/wm-smoke
Fixes: 175743319
Change-Id: I0f5d57e512bfae4fff9cbcd52f6939103ad3a4b0
1 file changed