Enable WindowContext to move to another display

This refactors the way the ShadeWindow is moved between display using WindowContext.updateDisplay instead of using a MutableContextWrapper.

This approach is better as it automatically updates existing resource instances that might have been cached, and the configuration change is propagated to the root view without the need to rely on ComponentCallbacks.

Bug: 362719719
Bug: 374267505
Test: ShadeDisplaysInteractorTest, WindowContextTest
Flag: com.android.systemui.shade_window_goes_around
Change-Id: Ib1070f30a50c3ec5c85596cbbb9c15ad69319c8d
5 files changed