Refactor heads up view binding
As part of deprecating row.freeContentViewWhenSafe, this CL
replaces/removes all remaining calls. In addition, we create a
shared class called HeadsUpViewBinder that binds/unbinds the heads
up view and is used by both the old and new pipeline.
In the new pipeline, HeadsUpCoordinator uses this class to
bind/unbind heads up views in response to notification collection
events and heads up ending. This also fully puts heads up in the control
of the HeadsUpCoordinator instead of partially intruding on
PreparationCoordinator
In the old pipeline, HeadsUpViewController effectively acts as the
HeadsUpCoordinator equivalent in response to NotificationEntryManager
events. Notably, it takes control of calling heads up view inflation
instead of NotificationRowBinderImpl which also decouples the
row binder from as much business logic.
Bug: 112656837
Test: atest SystemUITests
Test: heads up notification smoke test
Test: heap dump heads up notification after and see view is freed
Change-Id: Ifb3a9ff753bc0670601763cb18d6ca54fbff52c5
15 files changed