Update some policy around multi-window windowing mode
- Allow SysUI to start task in always-on-top mode to ensure
visibility and to allow SysUI to control the visibility using
the WCT setHidden call.
- Expose unregisterTaskOrganizer call for SysUI
- Skip dispatching status/nav bar insets for always on top mw
tasks. Since they are effectively floating, it doesn't make
sense for us to send bar insets
- Fix issue with preferred windowing mode being referenced too
early (before computeLaunchParams), and apply the windowing
mode to the root task when it is brought forward
Bug: 151392361
Test: atest WmTests:ActivityOptionsTest
Test: atest InsetsStateControllerTest
Change-Id: Ia3d8a369c902928e8de51a6b7479b10848ebe44a
diff --git a/services/core/java/com/android/server/wm/TaskOrganizerController.java b/services/core/java/com/android/server/wm/TaskOrganizerController.java
index 8f09f3f..cc52cb4 100644
--- a/services/core/java/com/android/server/wm/TaskOrganizerController.java
+++ b/services/core/java/com/android/server/wm/TaskOrganizerController.java
@@ -231,7 +231,8 @@
}
}
- void unregisterTaskOrganizer(ITaskOrganizer organizer) {
+ @Override
+ public void unregisterTaskOrganizer(ITaskOrganizer organizer) {
final TaskOrganizerState state = mTaskOrganizerStates.get(organizer.asBinder());
state.unlinkDeath();
if (mTaskOrganizersForWindowingMode.get(state.mWindowingMode) == state) {