summaryrefslogtreecommitdiff
path: root/core/java/android/window/TaskFragmentInfo.java
Commit message (Collapse)AuthorAgeFilesLines
* Fixes app crash when starts activity with FLAG_ACTIVITY_REORDER_TO_FRONTLouis Chang2022-11-161-3/+19
| | | | | | | | | | | | | | | Application was crashed while starting an embedded Activity with FLAG_ACTIVITY_REORDER_TO_FRONT, because the embedded Activity was not the direct child of the Task. In this CL, the embedded activity is now moved to the top-most position of the Task and dismissed from being embedded in order to honer FLAG_ACTIVITY_REORDER_TO_FRONT. Bug: 255701223 Test: locally verified with app Test: atest TaskTests Change-Id: I491139e5e1d712993f1fef9aebbd75e9ccfc539e
* Add TaskFragmentParentInfoCharles Chen2022-09-211-0/+4
| | | | | | | | | | | | | | | This CL adds a TaskFragmentParentInfo class and extends onTaskFragmentParentInfoChanged to dispatch display ID and visibility of the parent Task. It makes SplitController able to track visibility and display changes and used to update SplitContainers if there's a folding state change. Test: atest SplitControllerTest TaskFragmentOrganizerControllerTest Bug: 243609832 Bug: 207494880 Change-Id: If3d5db621b20d4005ce0b60e46ac98e1d1e962e3
* Respect minimum dimensions for embedded ActivitiesCharles Chen2022-05-311-6/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this CL, minimum dimensions of Activity wasn't respected, that said, an Activity could be embedded in a TaskFragment of which bounds are smaller its minimum dimensions. This CL add the minimum dimensions on several places: WM core: 1. Verify minimum dimension requirement before adding an Activity to a TaskFragment. It'll be early return if the requirement is not satisfied. 2. Propagate the minimum dimensions to the client side through TaskFragmentInfo to notify the requirement. 3. If TaskFragmentOrganizer tries to shrink a TaskFragment to the bounds that smaller than minimum dimensions of its children Activity, switch to match the parent bounds. AndroidX Window extensions: 1. Early return if TaskFragment is resized to the bounds that smaller than minimum dimensions which dispatched from the server side. 2. When organizer tries to show Activities side-by-side, verify if minimum dimensions requirement of the primary Activiy. If the requirement is not satisfied, show Activities in fullscreen instead. TODO: Add an API to check if an Activity intent is allowed to embed in a TaskFragment. Bug: 232871351 Test: atest TaskFragmentOrganizerControllerTest Test: atest TaskFragmentOrganizerTest TaskFragmentOrganizerPolicyTest Test: atest SplitActivityLifecycleTest Test: atest CtsWindowManagerJetpackTestCases Test: atest WmJetpackUnitTests Change-Id: Ib46c2cec2a0735b9e3f3420f2cb94754801b86b9
* Notify organizer when the last activity in TaskFragment enter PiPChris Li2022-04-131-12/+20
| | | | | | | | | | | When the Task contains multiple activities, activity entering PiP will be reparented to a new PiP Task. In this case, we should notify the organizer about the behavior, and prevent the dependents from closing as a result of an empty TaskFragment. Bug: 225371112 Test: atest WmTests:TaskFragmentTest Change-Id: I6f0138c0532d2d0249de38fd84d1a4690f266c07
* Update toString methods for various Embedding...Shivam Agrawal2021-11-091-0/+1
| | | | | | | | ...Reference Implementation classes Bug: b/204193051 Test: manual Change-Id: I79e94feb002dadc2219ccc7604843a3c61b91057
* Not removing primary TaskFragment when clear taskLouis Chang2021-09-091-2/+18
| | | | | | | | | | | | | | | | | | Placeholder activity was finished while starting the task root activity from launcher because the task root activity was set as singleTask launch mode. Meanwhile, the primary TaskFragment was also removed because of the split-rule finishPrimaryWithSecondary. Sending the information of whether the last activity on the TaskFragment was finished due to launch other activity to client. So that the organizer can decide whether the primary TaskFragment should removed. Bug: 196179714 Test: relaunch singleTask activity with placeholder Change-Id: I9a0369285adfbdef1edc5a7f2af944ec5b434566
* Finish the primary container while secondary exitedLouis Chang2021-09-011-9/+13
| | | | | | | | | | | | | | When finishing a placeholder activity, the secondary container was clean up, and the primary activity was also finished. However, the primary container didn't remove and therefore was expanded to fullscreen before the activity within completely being removed. Which resulted in TRANSIT_OLD_TASK_FRAGMENT_CHANGE transition after commit 118428b merged. Bug: 198228078 Test: finishing placeholder activity and back to launcher Change-Id: I3d55f0be8c7f6ab3970450d7b90dd95f3cfdd463
* Promote TaskFragment APIs to TestAPiCharles Chen2021-07-261-0/+10
| | | | | | | | | | | ... to verify their behaviors in CTS Also wraps ITaskFragmentOrganizer to TaskFragmentOrganizerToken because we cannot make .aidl a TestApi. Test: presubmit Bug: 192442647 Change-Id: I848a33340449189af7d9d66a6468a9e397a0f53a
* Add hasRunningActivity in TaskFragmentInfoCharles Chen2021-07-211-5/+17
| | | | | | | | | ... for TaskFragmentOrganizer to finish adjacent Activities altogether. Test: presubmit Bug: 189386466 Change-Id: I1fddd9c6708bc9eabec3186433f5ccb34a1e6c2c
* Add default implementation of TaskFragmentOrganizerChris Li2021-07-191-8/+22
| | | | | | Bug: 190433398 Test: N/A Change-Id: I84fdba974ef308aebe19348fa76f565311e06f2e
* Include the list of child Activities in TaskFragmentInfoChris Li2021-07-121-2/+20
| | | | | | | | | When we get a call to start activity to side, we can check the list to know which TaskFragment it belongs to. Bug: 190433129 Test: N/A Change-Id: I7fc5772769bf9971c3e21723f9d4c09a183bac31
* Embedded Activities in TaskFragmentsJeff Chang2021-07-081-21/+3
| | | | | | | | | | | | - Adding TaskFragments into the leaf Task to embed activities when activity started to the side. - Delete TaskFragment - Reparent TaskFragments Bug: 189385246 Bug: 190433129 Test: wm presubmit and have test case in updating CL. Change-Id: I7e7f5109457dd083d3b148d3ce676ad9aa5ad89f
* Notify TaskFragmentOrganizer onConfigurationChangedChris Li2021-06-241-0/+25
| | | | | | | Bug: 190433129 Bug: 190433500 Test: N/A Change-Id: I383a434d536ac08f7cf82dfd87cd24bfc53a6d58
* Add TaskFragmentOrganizer APIChris Li2021-06-221-0/+3
| | | | | | | | Mainly the API surface. Bug: 190433129 Test: N/A Change-Id: I426b7fdbe62d58213c5e49a4773dd5fda0eb4dfe
* Add WindowContainerTransaction APIs for create/deleteTaskFragmentChris Li2021-06-221-0/+142
This change contains mainly the function signatures and data classes. The actual implemenation will come in a separate cl. Bug: 190433129 Test: N/A Change-Id: I4f9695cea270cc06f2f6b1a2c56245cd2a43b9fd