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/core/java/android/app/ITaskOrganizerController.aidl b/core/java/android/app/ITaskOrganizerController.aidl
index 9d6c3d6..a448e13 100644
--- a/core/java/android/app/ITaskOrganizerController.aidl
+++ b/core/java/android/app/ITaskOrganizerController.aidl
@@ -32,6 +32,11 @@
void registerTaskOrganizer(ITaskOrganizer organizer, int windowingMode);
/**
+ * Unregisters a previously registered task organizer.
+ */
+ void unregisterTaskOrganizer(ITaskOrganizer organizer);
+
+ /**
* Apply multiple WindowContainer operations at once.
* @param organizer If non-null this transaction will use the synchronization
* scheme described in BLASTSyncEngine.java. The SurfaceControl transaction