Fix wildcard edges by simulating TransitionSteps in KTI

Wildcard edges are broken because they miss events in STL which in the
past would have been KTF transitions. On closer inspection wildcard
edges with a KTF node are not broken because all transitions leading to
that edge will necessarily emit a KTF transition, even when its coming
from the outside (UNDEFINED). The same can't be said for wildcard edges
with STL nodes.

A transition() consumer passing Edge(from=Scenes.Gone) will receive
transition updates for AOD -> Scenes.Gone because KTF is involved but it
 will be completely unaware of Scenes.Bouncer -> Scenes.Gone which is
 both inconsistent and wrong.

This CL fixes this by constructing a flow of simulated TransitionSteps
based on STLs transition state (they never actually appear within KTF)
and returns it to only this specific consumers that pass a wildcard edge
 with a scene.

Bug: 330311871
Flag: com.android.systemui.scene_container
Test: added unit tests
Change-Id: I35bc1b0290108efc2280086b65870086418080a1
2 files changed