summaryrefslogtreecommitdiff
path: root/core/java/android/view/WindowContainerTransaction.java
Commit message (Collapse)AuthorAgeFilesLines
* Move some window related files to android.window packageWale Ogunwale2020-03-221-512/+0
| | | | | | | | | | | | | Window management files on the client side have normally been dumped in either android.view or android.app package. This CL starts to centralized them in android.window package so there is better separation. Test: they pass Bug: 147406652 Bug: 152113464 Bug: 152117221 Change-Id: I4d64bd256e9b3581af0ccf9396f7dd2454132719
* Add WCT call to set container hidden stateRobert Carr2020-03-131-1/+25
| | | | | | | | | - This can be used for SysUI to control container visibility without clobbering the system determined task visibility Bug: 139371701 Test: atest WmTests:TaskOrganizerTests Change-Id: I8f54b2c18dd99ab8de5184e27ca4698417a6701e
* WindowContainerTransaction: Support PIP TransitionRobert Carr2020-03-101-0/+42
| | | | | | | | | | | | | | | | We support the PIP transition by adding setChildWindowingMode and setWindowingMode primitives. This allows the organizer to replicate the old behavior during the enter pip animation of switching the Task to PIP but having the activity continue to render it's full-screen UI, or the opposite on the other transition. This is a temporary solution to handle the boundaries between Fullscreen and PIP states and the trade-off between TaskOrg and WindowManager. Once TaskOrganizer controls all windowing modes it won't be needed. Bug: 149947030 Test: TaskOrganizerTests Change-Id: I7eeb1b5fb8c5d00a00b6de976f61484f1d067048
* Fix config change on secondary split adjustmentEvan Rosky2020-03-061-1/+41
| | | | | | | | | | | | | | | This adds some more config controls to containerTransaction so that sysui divider can "freeze" the configuration w/h while it is offset for IME. Bug: 133381284 Bug: 149952263 Bug: 150400846 Test: Just after boot, open split with settings in secondary and open the search activity. This should show IME and not randomly hide it when background apps are started. Also added a wmtest. Change-Id: I731378f625079f8a1413469f71455650d9e59a50
* WindowContainerTransaction: Provide non-BLAST bounds change syncRobert Carr2020-02-201-6/+38
| | | | | | | | | | | | | | | | | | | This is to enable landing the SysUI driven PiP animation without BLAST. Without BLAST we can't support multi container sync, multi buffer sync, etc, but we can support the same sort of synchronization we've supported before. Let's recall how the old PIP animation works: At the end of the enter animation, or the beginning of the leave animation, the Surface changes size (When the Windowing mode changes). We detect this size change deep in the guts of WindowStateAnimator, and when we detect that we are called from "relayoutWindow" defer a transaction changing the PIP scaling factors. This approach is we simply allow SysUI to set a pending Transaction on a task via the WindowContainerTransaction API. The next BASE_APPLICATION window to resize in this task will consume this transaciton, and defer the transaction until the frame in which it resizes. Bug: 139371701 Bug: 139371701 Test: Manual test with pending SysUI branch Change-Id: I1e757d87e2f276db626de00685b0432508ac6d62
* Add hierarchy operations to container transactionEvan Rosky2020-02-061-0/+122
| | | | | | | | | | | | | | Also add a way to query for child containers of a container. Combined, these provide enough flexibility to re-arrange containers to system-ui. For now, it is locked-down a bit so it only provides children of TaskTiles and can only reparent ActivityStacks. Eventually, this can be expanded for nested tasks or display areas. Bug: 133381284 Test: Added TaskTileTest#testHierarchyTransaction Change-Id: Id0e89a4e4b9352d9392349c4e1fe7d69b4f9f212
* Add TaskTile concept to Window ManagerEvan Rosky2020-01-311-0/+11
| | | | | | | | | | | | | | | This adds the concept of a TaskTile to the WM. Due to complexities in the current Stack/Task relationship, tiles can't actually be part of the hierarchy, so the Stack level has to internally resolve configurations as if they were. The TaskTiles themselves *are* ActivityStacks though from the client/sysui perspective, though. Bug: 133381284 Test: Added TaskTileTests Change-Id: I9baad5ec899b4fab323a36c1533a40081727a2f7
* Add focusability into the hierarchy and Container transactionEvan Rosky2020-01-131-0/+35
| | | | | | | | | | | | | | | | Split-screen will eventually be replaced by a hierarchical mechinasm. This means the RAC.mIsDockMinimized and primary split checking will go away. In its place, add focusable to windowcontainer and have it override all children's focusability. Also, fixes a bug where activity configuration wasn't updated properly after a WC transaction. Bug: 133381284 Test: added wmtest Change-Id: I35ed1561cc32785528854a8a53e52a13144f31c1
* Introduce TaskOrganizerRobert Carr2020-01-091-0/+33
| | | | | | | | | | | | A first take at the TaskOrganizer API for allowing SysUI to control task presentation. In this CL we introduce the first two primitives: 1. The interface itself for implementation by SysUI 2. Support for organizing a given windowing mode (but atm really only PIP) We include a sample app that manages the PIP from an APPLICATION_OVERLAY window. Bug: 139371701 Test: wmtests/TaskOrganizerTests. TaskOrganizerPipTest Change-Id: I44a8ed311bc5f06285bba2c6ff3b37a7d19a9190
* Add a remote control mechanism for window containersEvan Rosky2019-10-291-0/+173
This adds a "IWindowContainer" interface which is an opaque handle to a window-container in WM. It has very minimal functionality and is intended to be used mostly as an identifier. Along with this handle, there is a WindowContainerTransaction which can collect a set of container + configuration changess and apply them all together. This will be used for remote rotation control and other batched operations in the future. Bug: 124011688 Test: Added some wm/core tests. Change-Id: I691e7c11cd8c30f1a24fd64c6018a18933047847