summaryrefslogtreecommitdiff
path: root/core/java/android/window/TaskOrganizer.java
Commit message (Collapse)AuthorAgeFilesLines
* Force Kids app to use LANDSCAPE when in REVERSE_LANDSCAPEMassimo Carli2023-03-171-6/+13
| | | | | | | | | | | | | | | | | | A few apps in Kids Space request "reverseLandscape" orientation when Display#getRotation returns ROTATION_270 expecting it to correspond to the seascape display orientation while it may correspond to the landscape one when config_reverseDefaultRotation is set to true. This CL overrides the "reverseLandscape" orientation with "landscape" in the context of apps running in the Kids space when config_reverseDefaultRotation is set to true Fixes: 265589619 Test: Run `atest WmTests:WindowManagerServiceTests` Run `atest WMShellUnitTests:KidsModeTaskOrganizerTest` Run `atest WmTests:LetterboxUiControllerTest` Change-Id: I85688413571478f5acaa340624bb470f5aeb422f
* Ignore task view task when loadAnimationTony Huang2023-01-111-3/+19
| | | | | | | | | | | | | | Task view task should animate itself so we should avoid load animation in core. Also add a new create root task api for auto to create a task with removeWithTaskOrganizer flag to be determined as task view task. Bug: 263199423 Test: manual Test: pass existing tests Change-Id: Ib49afc71b04c66a346147d1af2207dc0dcdf5018
* Exception for Kids Mode from ignoreOrientationRequest.Mariia Sandrikova2022-04-241-0/+18
| | | | | | Fix: 229304143 Test: manual and DisplayContentTests Change-Id: I3136db620afdf016a900f3441ee3010ae9662f0f
* Support to get the exact task which IME is attached toJerry Chang2022-03-021-1/+1
| | | | | | | | | | | | To distinguish which side of the split that IME panel is attached to after having a single-top root task for split screen, update getImeTarget API to return the exact task that IME panel is attached to. Bug: 207185041 Test: WMShellUnitTests Test: enter split in portrait, toggle IME panel on the bottom split and verified split layout will be push up as expectedly. Change-Id: Ib6ba74ecb1b844bb408475d5b6c28dd5816a8e29
* [2/n] Camera Compat UI: Add interfaces for client-server communication.Mariia Sandrikova2021-12-171-0/+15
| | | | | | | | | | | | | | Changes: - Listens to changes from the client coming through IActivityClientController#requestCompatCameraControl to ActivityRecord#updateCameraCompatState - ActivityRecord#updateCameraCompatState sends updated state via TaskInfo to WM Shell - ITaskOrganizerController#updateCameraCompatControlState to dispatch the user interactions with the control from WM Shell triggers callback to ActivityRecord#updateCameraCompatStateFromUser - ActivityRecord#updateCameraCompatStateFromUser remembers the user's choice and asks client to apply treatment through ICompatCameraControlCallback Feature is guarded with config_isCameraCompatControlForStretchedIssuesEnabled Test: atest WMShellUnitTests:ShellTaskOrganizerTests, atest WmTests:ActivityRecordTests Bug: 206602997 Change-Id: I083aa6718bd67456bedd9444e9b78740c041f870
* Fix snapshot starting window stuck if the task never gain focuswilsonshih2021-10-051-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | The tasksnapshot starting window could stuck on task if the task never gain focus, this could happen when launch multiple tasks to front, e.g. split screen, or add snapshot starting window to a pip task. As using task focus to judge the task snapshot removal may error-prone. (i.e. unexpected window focus in/lost, non-focusable task window..) To ensure the tasksnapshot removal works stable, extanding MAX_DELAY_REMOVAL_TIME_IME_VISIBLE timeout from 450ms to 600ms and also reference mayImeShowOnLaunchingActivity to know whether IME showing on this activity. Bug: 199377815 Bug: 201264769 Bug: 200778734 Test: atest ActivityRecordTests StartingSurfaceDrawerTests SplashscreenTests Test: manual launch apps with IME from Recents. Test: enter pip, power on/off, verify starting window is removed. Test: manual enter split screen, verify starting window is removed. Change-Id: I81b048a655124923a5f19e7f236511502bbf4c91 (cherry picked from commit a4f760bee7d86d8d68d155dc256f984f1b3d7478)
* More improve IME transition during task switchMing-Shin Lu2021-09-131-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL aims to optimize the previous CL[1] to schedule removing tasksnapshot after a fixed timeout according the tasksnapshot: - With IME snapshot: 350ms - Without IME snapshot: 100ms As the previous approach has some cons espically when the tasksnapshot has IME shown: 1) It lacks a signal or callback to notify WmShell to dismiss tasksnapshot when IME is actually drawn on the task and always dismissed after the timeout. 2) The timing to schedule tasksnapsit removal is when ActivityRecord#onWindowFirstDrawn, which is much eariler than the window focused (about 100-150ms), and it may easier to see flickering when the task is showing IME. The reason is that IME is drawn after window focused and started input connection. Also, starts from R, IME insets visiblity is handled by the app's UI thread, so if the schedule removal timing been triggered too early and if IME / App takes more time to handle IME surface layout, then user might aware the app task flickering when tasksnapshot dismissed, since IME is not yet be drawn and then it show up again when the next layout finished. In this CL, we made the following changes to improve the above cons - Postpone the schedule removing tasksnapshot (with IME) timing to after the app task has focused. - Modify the tasksnapshot removal timeout (with IME) from 350ms to 450ms (with renaming to MAX_DELAY_REMOVAL_TIME_IME_VISIBLE), in case some edge cases may take longer time to process IME layout. - add ITaskOrganizer#onImeDrawnOnTask(taskId) to notify the shell task organizer to properly remove the tasksnapshot without waiting until the max timeout. [1]: I5fb0fa3a1e6a5e6210d3baf400a84c5892bd2e34 Fix: 192065018 Test: ateset StartingSurfaceDrawerTests#\ testRemoveTaskSnapshotWithImeSurfaceWhenOnImeDrawn Test: manual tests by 1) launching Android Message with focusing an editor 2) swiping out to home and launch another apps (e.g. chrome) 3) swiping up to overview, tapping Android Message task 4) verify if IME is flickering after switched back. Change-Id: I81031f64966b1aeb55cc09f381d4d83ec3460dc9
* Allow TaskFragmentOrganizer to apply WCT without permissionChris Li2021-07-151-0/+1
| | | | | | | | | | TaskFragmentOrganizer will be used by regular apps without the permission to manage Task. We are allow it to apply transactions if it is operating on TaskFragment that is organized by itself. Bug: 193191599 Test: atest WmTests:TaskFragmentOrganizerControllerTest Change-Id: I82e5d49260680bd496ff184c6795ec817c65d858
* Remove TaskInfo#topActivityToken usage in size compat for securityChris Li2021-07-071-0/+14
| | | | | | | | | | | Security report shows that this can cause leak token of different app. Replace the functionality with a callback to the TaskOrganizerController to restart activity when size compat restart button is clicked. Bug: 186776724 Test: manually verify the restart button still works Change-Id: I097b9f02e8435e6765695b9d5a531a4e165bac66
* Release the SurfacePackageViewHost on splash screen removedVadim Caen2021-06-151-1/+16
| | | | | | | | | | | | | | | | | | | | | | The SurfacePackageViewHost was never release, leading to a leak of its surfaces. This CL ensure it is released: - Directly in the shell if the SplashScreenView was not copied - From the client, through the window manger and then to the shell if the splash screen was copied in the client process Test: Manually tested with app setting by checking if the surfaces are actually removed (winscope + logs) in the following scenarios: - When the application registers an OnExitAnimationListener and calls remove(), - When the application registers an OnExitAnimationListener and dies without calling remove() - When the applicaiton does not register an OnExitAnimationListener and the shell removes the splash screen Bug: 189759180 Change-Id: Ib68bfffad6720911368739d7dd87d8a03034c589
* Implement default exit animation for splash screen.(9/N)wilsonshih2021-03-121-4/+11
| | | | | | | | | | | | | | | | | | | | Implement default exit animation on the view of splash screen, there will be a two layers switch happen when playing exit animation. For the detail please reference go/improved_app_launch_animations and go/app-startup Note: For this version we skip shift-up animation, need to fix the flicker test so we can enable it. Note2: Fix the possible missing splash screen view issue, but could make the first window draw slower, keep tracking. Bug: 73289295 Test: build/flash Test: check splash screen starting window. Test: atest StartingSurfaceDrawerTests ShellTaskOrganizerTests WindowOrganizerTests SplashscreenTests Change-Id: I796811d010ac70f256169dd03d5e05ef0ed79d28
* Starting window performance tuning.(8/N)wilsonshih2021-03-091-1/+1
| | | | | | | | | | | | | | | | | Create splashscreen thread with priority -10 in shell for starting window controller, the definition is moved from AMS#TOP_APP_PRIORITY_BOOST to Process#THREAD_PRIORITY_TOP_APP_BOOST. Create and set SplashScreenView object on the starting window after the first simple view on the starting window drawn, in this way the transition can be prepare early than wait the actually view was draw, which can save some time. Bug: 73289295 Bug: 131311659 Test: atest StartingSurfaceDrawerTests ShellTaskOrganizerTests Test: atest SplashscreenTests Change-Id: Ibb430a66d6b329e74d62de047fbf37205cb66a96
* Customizable exit splash screen animation.(2/N)wilsonshih2021-02-151-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce new APIs to customize exit splash screen animation. - SplashScreen This can be used for Activity to handle the exit splash screen animation. - SplashScreen#OnExitAnimationListener When receive onSplashScreenExit, the splash screen view will be on top of the activity. - SplashScreenView The view object which represents the view of current starting window. There are two APIs for developer to control it: - getIconView: get the icon view object. - remove: remove the view and release resources. If an Activity create a OnExitAnimationListener and set on SplashScreen, the core will request a copy of SplashScreenView from Shell, then send the parcelable information to client to reconstruct the view on top of the DecorView, then call onSplashScreenExit to let the listener able to operating this view. Bug: 73289295 Test: build/flash, check splash screen starting window. Test: atest StartingSurfaceDrawerTests ActivityRecordTests WindowOrganizerTests Test: atest CtsWindowManagerDeviceTestCases:SplashscreenTests Change-Id: I9f77fb4471bcf37a7f74d6c18a345ca56c05b716
* API: Suppress existing NullableCollections lints (TaskOrganizer)Adrian Roos2021-02-011-0/+3
| | | | | | Bug: 152525509 Test: make checkapi Change-Id: I5ce70d3e622fcdd13d63d47bf483507378a60e16
* Support WCT#reparentTasks and WCT#setLaunchRootWale Ogunwale2021-01-111-13/+0
| | | | | | | | | Allows for bulk reparenting of tasks from one container to another and also setting launch root in the same call to wm-core. Bug: 175416931 Test: CTS and split-screen tests pass! Change-Id: I362f89bc0ccc14e4152a2040a7198fd542ffe4d5
* Mirror TaskSnapshotSurface to WMShell(2/N)wilsonshih2020-12-171-7/+9
| | | | | | | | | | | | | | | | - Let WMShell able to draw task snapshot surface. - Create new class StartingWindowInfo to pass needed data from WM to Shell. - Rename TaskSnapshotSurface -> TaskSnapshotWindow in WMShell. - Mirror and modify a new TaskSnapshotWindowTest in WMShell. Bug: 131727939 Test: atest WindowOrganizerTests ActivityRecordTests TaskSnapshotWindowTest StartingSurfaceDrawerTests Test: build and flash, check shell able to show/remove TaskSnapshotWindow Change-Id: I70dec8ce2bf1ed7d876657324e51357690c8b396
* Use shell executor for TaskViewMady Mellor2020-12-101-0/+9
| | | | | | Bug: 161980186 Test: atest TaskViewTest Change-Id: I85764463ada847e2f0c8e82c5744212ee8bb2a9d
* 1/ Initial preparation for separate shell main threadWinson Chung2020-12-031-2/+2
| | | | | | | | | | | | | - Add @BinderThread/@ShellMainThread/@SysUIMainThread annotations for some common shell classes and callbacks - Add mechanism to inject shell-anim/shell-main/sysui-main/etc executors (removed AnimationThread static instance) (Note: The shell main thread will still be the sysui main thread) Bug: 161979899 Test: atest WMShellUnitTests Change-Id: I4adfeaebe5b79fab7c9451eef7b54fcdf4d8d40a
* Delegate splash screen starting window to SystemUI(1/N)wilsonshih2020-11-101-0/+28
| | | | | | | | | | | | | | | | | | | | | | | Mirror PhoneWindowManager#addSplashScreen to StartingSurfaceDrawer, which make WMShell able to draw the splash screen starting window. - Use StartingSurfaceController#DEBUG_ENABLE_SHELL_DRAWER to switch drawer when developing this feature. - Temporarily put StartingSurfaceDrawer in ShellTaskOrganizer, the drawer should be controlled by a controller which should be create while porting ActivityRecord#addStartingWindow to Shell. Ref doc: go/delegate_starting_window Bug: 131727939 Test: atest AppWindowTokenTests WindowOrganizerTests ActivityStackTests Test: atest WMShellTest ShellTaskOrganizerTests StartingSurfaceDrawerTests Test: check from winscope that the splash screen window can attach to/detach from the ActivityRecord. Change-Id: I6dfc9ff75807e2f9479149d14f219c91a6527393
* Deprecate MANAGE_ACTIVITY_STACKS permissionLouis Chang2020-10-281-9/+9
| | | | | | | | | | | Adding MANAGE_ACTIVITY_TASKS permission as the replacement, but still grant the deprecated MANAGE_ACTIVITY_STACKS permission for app compatibility. Bug: 157876448 Test: presubmit Change-Id: I894ee66e058b1024a731d3be4b33b69626451f08
* Changed createRootTask task to be completely asyncWale Ogunwale2020-10-261-3/+10
| | | | | | | | | | | | | | | | Currently some of the information about a task created by createRootTask is returned with the method and the rest like leash is return in onTaskAppear. Mixing both async and sync infromation return styles complicates the mental model for this. So, we will have this be completely aync for now. Also, fixed an issue where the windowing mode for organizer created task was not set correctly before the organizer gets the first task appear signal. Bug: 169266958 Test: Split-screen works! Change-Id: Ia4180d5a42838bf566fbf75f40466dfd8237e0f1
* Revert "Have createRootTask return TaskAppearInfo"Wei Sheng Shih2020-10-221-1/+1
| | | | | | | | | | | | | | | Revert "ARC++ changes to mirror changes to createRootTask" Revert submission 12855635-create-root-task Reason for revert: b/171369770 Reverted Changes: Iabf090caa:ARC++ changes to mirror changes to createRootTask I5948e6234:Have createRootTask return TaskAppearInfo Fixes: 171369770 Bug: 169266958 Change-Id: Iee1cf0b30e368987931f928de8c691640e18286a
* Made ShellTaskOrganizer thread safeWale Ogunwale2020-10-211-7/+12
| | | | | | | | | - Post callbacks from WM Core on executor. - Added lock to protect critical sections. Bug: 171384876 Test: They pass! Change-Id: Ia1808b66104c2a1e6efb9f43c31e6a3a2f67a952
* Have createRootTask return TaskAppearInfoWale Ogunwale2020-10-201-1/+1
| | | | | | | | | | | | | We return TaskAppearInfo on TaskOrganizer#createRootTask so it doesn't have to wait for taskAppeared signal to take action. Also, added createRootTask(..., listener) method to ShellTaskOrganizer so that a specific listener can be associated with a root task we are creating. Bug: 169266958 Test: split-screen works. Change-Id: I5948e623481deadb0aa5fc99b9941914f44a68e2
* Return the existing tasks when registering an organizerWinson Chung2020-10-131-3/+10
| | | | | | | | | | | | | | - Existing tasks for supported windowing modes are returned when registering the organizer and the organizer will not receive onTaskAppeared() for these tasks. For now, the shell task organizer will keep these tasks for reporting task appeared when individual components add listeners for their windowing modes. - Fixed some tests now that we organize fullscreen tasks Bug: 162028888 Test: atest WindowOrganizerTests Test: atest ShellTaskOrganizerTests Change-Id: Iedc5f58fbfa819e753a5dcea7a8eb9dee8b6843b
* Added WindowManagerWrapper#setProvidesInsetsTypesWale Ogunwale2020-10-021-2/+3
| | | | | | | | | | Allows launcher to set providesInsetsType on a window Also, cleaned up ctor for ShellTaskOrganizer to reduce duplicate code. Bug: 169054709 Test: builds Change-Id: I9e1f4a27b924013c0b6b17f0a5e10ac3411cbf4e
* Make WindowOrganizer and TaskOrganizer non-staticHongwei Wang2020-09-021-30/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to allow unit test against TaskOrganizer, WindowOrganizer for interations between Shell and WM core. To test on WM side ``` when(mWindowOrganizer.getWindowOrganizerController()) .thenReturn(mockedWindowOrganizerController); when(mockedWindowOrganizerController.getTaskOrganizerController()) .thenReturn(mockedTaskOrganizerController) doSomeTest(); verify(mockedWindowOrganizerController).somethingHappended(); verify(mockedTaskOrganizerController).somethingHappended(); ``` To test on Shell side ``` ShellTaskOrganizer organizer = new ShellTaskOrganizer( mockedTaskOrganizerController) doSomeTest() verify(mockedTaskOrganizerController).somethingHappended(); ``` Removed also - Singleton pattern in TaskOrganizer and DisplayAreaOrganizer as it's redundant to what's in WindowOrganizer - static getController methods in both TaskOrganizer and DisplayAreaOrganizer as we prefer non-static for testability - static methods in TaskOrganizer in general - static methods in WindowManagerProxy in general Bug: 161711455 Bug: 149338177 Test: make sure everything still works Test: atest WmTests:WindowOrganizerTests \ WmTests:DisplayAreaOrganizerTest Change-Id: I978d20c7b87e73d0f6d22f7ab08188e4d12d745c
* Revert "Snap for 6792834 from edbf3411d2c91f38a1a5d93b9e5b338052..."Bill Rassieur2020-08-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert "Snap for 6792834 from 5b681187dce32555f398c1b823b82be3a4..." Revert "Snap for 6792834 from ff268453a3067874ebba3646e8e9fdbc04..." Revert "Snap for 6792834 from 035f3eaa19b160a5f89cf5ba1328de6e34..." Revert "Snap for 6792834 from 38626f86b924625d27d752950ce04045e6..." Revert "Snap for 6792834 from a2cb05379b86f00033bd19912e1d6031f6..." Revert "Snap for 6792834 from f1e69b45bde30a055d37260012df8e951b..." Revert "Snap for 6792834 from 9215e252c9daaad53a18582afe5478eb6c..." Revert "Snap for 6792834 from c9d246d88c86368fddcaa9f58d6eec740f..." Revert "Snap for 6792834 from f0ebc39aedd8f83938f5053e87b1f42331..." Revert "Snap for 6792834 from d6d5105b22925ff168be784af9fb044fdd..." Revert "Snap for 6792834 from e8dc6bf8735df45be9eb7867921243d83d..." Revert "Snap for 6792834 from de2e193ad770855a0cdc7b96d91a13929b..." Revert "Snap for 6792834 from 5e0116a4a17307df9c303b1ea4f8857dc7..." Revert "Snap for 6792834 from 1529174442dc31e0036c58fba7a90184ee..." Revert "Snap for 6792834 from 14f7794f2150fc246f5c5003dc4d953019..." Revert "Snap for 6792834 from 1a8f386df1be8e4692c00dda348f4addfb..." Revert "Snap for 6792834 from d5d749da0ba5e53684535fae5eb76c085f..." Revert "Snap for 6792834 from bc7dc6f5c75789d25879762854a071bd1b..." Revert "Snap for 6792834 from d5031fd6172a4ee4a774ca7ad3df331300..." Revert "Snap for 6792834 from bdbd076341f75ed0416f4cda0a98fc6f54..." Revert "Snap for 6792834 from 201eaa68fcc0781df6f7713901fd5a0862..." Revert "Snap for 6792834 from 7fcd3459496d859d2d03dcd23d9d5db563..." Revert "Snap for 6792834 from 82eecc9b3c895d356fca70f4b8def94600..." Revert "Snap for 6792834 from 95c6fcdbcd91cf6e409f8e50f8d33be247..." Revert "Snap for 6792834 from 4b73f247850059a4312525662991d73359..." Revert submission 12462888-release-request-aa3875fd-ef4c-4f66-9a1c-b0b05058d091-for-git_main-busytown-release-6792834 Reason for revert: Bad snap due to branch misconfig. Reverted Changes: I950c3960b:Snap for 6792834 from de2e193ad770855a0cdc7b96d91a... Ie6452b91a:Snap for 6792834 from c9d246d88c86368fddcaa9f58d6e... I6b98cb766:Snap for 6792834 from 7fcd3459496d859d2d03dcd23d9d... Ie5e19aaef:Snap for 6792834 from edbf3411d2c91f38a1a5d93b9e5b... I35385da96:Snap for 6792834 from 4b73f247850059a4312525662991... I1a59949e5:Snap for 6792834 from d5031fd6172a4ee4a774ca7ad3df... I2c40ffbc2:Snap for 6792834 from f0ebc39aedd8f83938f5053e87b1... I24c147f50:Snap for 6792834 from ff268453a3067874ebba3646e8e9... Iabb2fe4c1:Snap for 6792834 from 5e0116a4a17307df9c303b1ea4f8... I92bfbb5d5:Snap for 6792834 from 0ad493cce4f8f187dc37671b45d5... I2e92b2d5d:Snap for 6792834 from f1e69b45bde30a055d37260012df... I0fdb356fa:Snap for 6792834 from a2cb05379b86f00033bd19912e1d... I9b19f9bdc:Snap for 6792834 from 95c6fcdbcd91cf6e409f8e50f8d3... Ie88e387a6:Snap for 6792834 from 9215e252c9daaad53a18582afe54... Idc1ae35dd:Snap for 6792834 from 201eaa68fcc0781df6f7713901fd... Ib16deadd9:Snap for 6792834 from 1a8f386df1be8e4692c00dda348f... I744f889d3:Snap for 6792834 from d5d749da0ba5e53684535fae5eb7... Ib6e060e44:Snap for 6792834 from bdbd076341f75ed0416f4cda0a98... Iab587ff78:Snap for 6792834 from e8dc6bf8735df45be9eb78679212... Ia1f4ef82f:Snap for 6792834 from 14f7794f2150fc246f5c5003dc4d... Ief930c2b5:Snap for 6792834 from 5b681187dce32555f398c1b823b8... Ia71445b6a:Snap for 6792834 from 38626f86b924625d27d752950ce0... Ia95c82cfc:Snap for 6792834 from 1529174442dc31e0036c58fba7a9... If1e1b5e35:Snap for 6792834 from bc7dc6f5c75789d25879762854a0... I98959e228:Snap for 6792834 from 1e7f83c953b7571dceabd5d7f6a2... I321c4cb8b:Snap for 6792834 from d6d5105b22925ff168be784af9fb... I3ed2d46ee:Snap for 6792834 from 035f3eaa19b160a5f89cf5ba1328... Id4a7f102c:Snap for 6792834 from 82eecc9b3c895d356fca70f4b8de... Change-Id: I4b944b89f3c581fbd67f5952d9ec413d02756abc
* Add mechanism to register single task organizerWinson Chung2020-08-181-5/+3
| | | | | | | | | | | | - Create a single task organizer in SysUI which registers as an organizer for multiple windowing modes internally in TaskOrgController. Bug: 161980327 Test: atest WindowOrganizerTests Test: atest SplitScreenTests Test: atest PinnedStackTests Test: atest ShellTaskOrganizerTests Change-Id: Ic9dfbd6bcd75d9317e5a3aeb695afdff7e869d35
* Mirror task visibility on task org leashWinson Chung2020-05-291-0/+5
| | | | | | | | | | | | | - Depending on the navigation mode, the task is either visible or not when entering PIP, and if it is not visible, initially hide the leash so that SysUI can control it's visibilty to prevent a flash Bug: 156941210 Test: Introduce artificial delay on sysui taskAppeared() and verify that we don't see the task when entering pip in gesture nav (and that it still works in 3 button) Change-Id: I291afd209af118ac178f8a6421d7df25974315f0
* Remove getLeash from WindowContainerTokenchaviw2020-04-291-3/+5
| | | | | | | | | | | | | | | | 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-4/+9
| | | | | | | | | | | | | - 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/+188
Enables testing the API surfaces from CTS. Bug: 149338177 Test: they pass! Change-Id: I7e1f2852585a10c20d299bd87e9a87f828d06d6a