Replace ShadeStateEvents.onPanelCollapsingChanged with a flow

Adds ShadeAnimationInteractor to tell dependents about non-manual shade
animations. "Closing" is used instead of "Collapsing" because the
replaced event fired only when going from QS to Gone/Keyguard but not
from QS to Shade (go/shade-glossary).

Bug: 300245110
Test: updated and ran existing tests
Test: added tests for ShadeAnimationInteractor
Test: manual. Held shade mostly closed then lifted finger.
Flag: ACONFIG com.android.systemui.scene_container DEVELOPMENT
Change-Id: Id5165770f16aa1566f45936c092529a0c31b4a21
17 files changed