Add WindowDecorViewHost and WindowDecorViewHostSupplier
Creates an abstraction for creating, updating and releasing the surface
and view hierarchy drawn by the WindowDecoration (aka the caption bar).
Also provides a default implementation that supports rendering the view
hierarchy synchronously and asynchronously.
There's no behavioral effects in this change, it just moves the "async"
ability to the base WindowDecoration class from the
DesktopModeWindowDecoration, and it sets up the decorations to allow
swapping the default implementation with a new (and flagged)
WindowDecorViewHost that allows warming up the view host and a new
WindowDecorViewHostSupplier implementation that allows caching/reusing
WindowDecorViewHosts, which will be introduced in a follow up change.
Bug: 360452034
Flag: EXEMPT refactor
Test: m WMShellUnitTests
Change-Id: Iae7589879d56d802c85b8c4a72a8dcc9b20d6afb
14 files changed