tree 0067bfe2fea4999d20144ee2dd0fd2edb979a2af
parent a38ea7e70d047eb5557e3b3425fd45bb4ca5c6a9
author Lloyd Pique <lpique@google.com> 1555530512 -0700
committer Lloyd Pique <lpique@google.com> 1569442189 -0700

CE: Move knowledge of the OutputLayers out of Output

This separates knowledge of the type and management of OutputLayers from
the implementation of the Output class.

1) getOutputLayersOrderedByZ() is now a non-virtual function which
returns a helper object for iterating over all the layers in the Output,
with only minor code changes to the callers. Internally the helper
object uses a pair of virtual functions to get the count and access a
layer by index. The old interface fixed both the type of the layer and
the type of container it was stored in, which was problematic.

2) When rebuilding the layer stack, the implementation now uses
additional abstract interface functions that allow the layer stack to be
maniupluated without the caller having to own even temporarily instances
of the OutputLayer type.

3) The Output interface has been cleaned up to remove functions that
were no longer needed in the public interface, and to introduce a few
others such as injectOutputLayerForTest() and clearOutputLayers() for
performing special layer manipulations.

Test: atest libsurfaceflinger_unittest libcompositionengine_test
Test: go/wm-smoke
Bug: 121291683
Change-Id: I636cfaea7254c7e164837ef8b441932f364808f3
