This CL implements SplitController#set(clear)SplitAttributesCalculator,
and also invokes #computeSplitAttributesForParams
in #computeSplitAttributes to compute the split attributes based
on the current device state.
fixes: 241043111
fixes: 241043028
Bug: 207494880
Test: atest WMJetpackUnitTests
Change-Id: I0e3aadba451f2e585b048bfe2417239ed2f3ba3c
This CL introduces SplitLayout and update bounds computation methods
to support horizontal layout. It also introduces #computeSplitLayout
to compute the current split layout, which always returns the default
splitLayout currently. #computeSplitLayout will extend to consider
SplitLayoutCalculator in later CL.
fixes: 241042437
Bug: 241043028
Bug: 207494880
Test: atest SplitPresenterTest
Change-Id: I037a2b2fa38d05c4fe97e4734cc044148ad15806
This CL enables to update the current top SplitContainer if
there's a folding state change.
Test: manual - following CLs use this CL
Bug: 207494880
Bug: 241043111
Change-Id: Ia4d08d7f71d935101f3aeda94384295db2fa2214
As we add visibility info in TaskFragmentParentInfo, we can update
the parent Task visibility in onTaskFragmentParentInfoChanged.
It can be furthur used in update SplitContainers of visible containers.
Test: atest WMJetpackUnitTests
Bug: 243609832
Bug: 207494880
Change-Id: Iad4b8d46bad75c352fc6a1a732ef796cdbfad4f9
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
* Multi-instance reason is kind of a default reason
if the enterSessionId hasn't been set.
* Explicitly set Launcher enter reasons so we don't
rely on Launcher being a default enter reason
Bug: 231369744
Test: Enter split screen from launcher, chrome new
window multi instance, and notification drag.
Logged enter reason when logging to verify.
Change-Id: I7af3b2c2b8c067ca4e6eadff037582d340cad0f5
If the keep clear algorithm is enabled, PiP window will avoid the
keep clear areas and move away from occluding keyboard.
When IME is shown, we trigger the movement right away, for a smoother
experience.
If there is another animation ongoing, we delay moving PiP again, so
that it's more smooth overall.
Finally, we always apply gravity bottom with keep clear areas flag on,
so that it goes back down after IME dismiss.
Test: manually, http://recall/-/blXo3gy66k4fDYh7gFkrpe
Bug: 183746978
Change-Id: I32c52e4b6dd3c083b2168fda6a8b3b13facdac69
Instead of specific transition types, just try to get captions
and if it doesn't exist, make one. As we add more "source"
windowing modes, we'll have to just check more listeners. This
should hold-over until there's a centralized task-state manager.
Also, try to create captions on "warm-starts" (TO_FRONT) so that
apps that are in history before desktop-mode will get a caption.
Bug: 246851689
Bug: 246637353
Test: enable shell-transitions and switch into/out-of desktop
mode with varying sets of warm/cold-start apps
Change-Id: If9e1ad35692b63bf8abd6185b037715b285645c9
Drag notification to launch activity is aborted since the app is not
visible.
This CL adds the background activity allowed flag to make activity
launches successful.
Bug: 237985674
Test: Drag the notification to home. Check the activity is launched.
Change-Id: I6513e7d5d7b17c4a41c32316fd7504fe1bf2e793
In core, windowing mode is being set in TDA with ag/19902621. Thus, set
windowing mode with RooTaskDisplayAreaOrganizer instead of
RootDisplayAreaOrganizer.
Bug: b/241168290
Test: services/tests/wmtests
Change-Id: Ib7e6701839f83ab4125a9630d20203f8c5e415ba
We were tracking active freeform tasks in the RecentTasksController.
This causes some issues when we want to share that information to other
controllers like DesktopModeController.
Move tracking of active tasks to a separate repository that controllers
can query and listen for updates.
Bug: 244348395
Test: atest DesktopModeTaskRepositoryTest RecentTasksControllerTest
Change-Id: I7a460020f6b2133225e292a04f29ae1dd27e964b
Changes the criteria for showing caption on fullscreen tasks to check
if the device is a tablet based on screen size rather than using display
windowing mode.
Bug: 243671025
Test: Manual testing; launched fullscreen tasks on multiple devices with
and without desktop mode flag enabled.
Change-Id: I4550f040daef9c55edaaf42bcfc2004a23e6924f
Checked this issue by winscope and found home task leash under
RecentsAnimationSplitTasks will become off screen bewteen the
transition, it lead to task thumbnail invisible and wallpaper show
then cause flicker.
Home suface going to off screen is caused by we will remove previous
RecentsAnimationSplitTasks when re-create it whether going to recents
or starting split.
Fix this by seperate mSplitTasksContainerLayer to two differents
surface for going to recents and starting split cases.
Fix: 246664520
Test: manual
Test: pass existing tests
Change-Id: I492cc8b82a15cc5abec06118b54232b355e880a0