summaryrefslogtreecommitdiff
path: root/core/java/android/window/WindowContainerToken.java
Commit message (Collapse)AuthorAgeFilesLines
* Add @Nullable annotation to the parameter of Object.equals() methods.Roman Kalukiewicz2020-10-151-1/+2
| | | | | | | | | | | | | | | | | | Those annotations could be inferred by some tools (like Kotlin), but the https://checkerframework.org/ doesn't check inherited annotations complaining about all equals() invocations that get nullable argument. The change was generated by running find . -name \*.java | xargs sed -i 's/public boolean equals(Object /public boolean equals(@Nullable Object /' in the frameworks/base directory and by automatically adding and formatting required imports if needed. No manual edits. Bug: 170883422 Test: Annotation change only. Should have not impact. Exempt-From-Owner-Approval: Mechanical change not specific to any component. Change-Id: I5eedb571c9d78862115dfdc5dae1cf2a35343580
* Scaffolding for Shell TransitionsEvan Rosky2020-09-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial rough implementation of Shell Transitions. Shell Transitions can be enabled by setting ENABLE_SHELL_TRANSITIONS via `adb shell setprop persist.debug.shell_transit 1` The main structure behind this is: - TransitionController in Core responsible for handling the collection of transition participants and communicating with the TransitionPlayer in Shell. - Transitions in Shell responsible for starting transitions and playing associated animations. This initial version only supports task open/show/close and does a simple fade. The flow is: 1. activityStarter calls to Transitions.requestStartTransition 2. Transitions will prepare to start and then call WindowOrganizerController.startTransition(). 2. Various operations in Core call TransitionController.collect() to track participants. This collect() acts as a replacement for adding to mOpening/ClosingApps. 3. The legacy executeAppTransition() is wired into TransitionController.setReady() for now. This signal is used to ready a BLASTSyncEngine. 4. When all participants are done drawing, TransitionController will commit any showing visibility changes and then will construct a TransitionInfo object summarizing all the changes needed for animation. This gets sent to Transitions.onTransitionReady() 5. Transitions then plays the transition animation and on completion will call WindowOrganizerController.finishTransition() which will tell TransitionController to do any finishing work (like commiting deferred hide changes). Bug: 161980187 Test: enable the flag and try opening/closing tasks. Also added TransitionControllerTests Change-Id: I80c3a241fc12004a894c26523a1e5828e0c533ff
* Remove getLeash from WindowContainerTokenchaviw2020-04-291-13/+0
| | | | | | | | | | | | | | | | If the WindowContainer was revoked from a registered organizer, the client could still call getLeash to system server and control the leash for the WindowContainer. Instead, pass the leash back to the client in onTaskAppeared and onDisplayAreaAppeared. Once the WindowContainer is revoked from the client, the leash will reference the old WindowContainer SurfaceControl and will not be able to control the WindowContainer anymore. Test: Split screen Test: DisplayAreaOrganizerTest Test: WindowOrganizerTest Bug: 154558563 Change-Id: I1f6eb987a2a3fecfef912a3009ee52989c85ff4b
* Send task description changed though task org taskInfoChangedWinson Chung2020-04-111-0/+13
| | | | | | | | | | | | | - This removes the need for a separate task stack listener and aligns with other task info change properties - Also implement equals/hashCode for the token so we can use it in containers Bug: 148977538 Test: atest TaskOrganizerTests Signed-off-by: Winson Chung <winsonc@google.com> Change-Id: Ie035e6389fdbdc374c1a4b4a684758efa0cb7a9e
* Add TestApi interfaces for window organizersWale Ogunwale2020-04-011-0/+87
Enables testing the API surfaces from CTS. Bug: 149338177 Test: they pass! Change-Id: I7e1f2852585a10c20d299bd87e9a87f828d06d6a