We used to only check title/contentDescription/actionIntent of
RemoteAction for uniqueness and ignore the isEnable/shouldShowIcon.
Bug: 234679022
Test: Verify the isEnabled change updates PiP menu
Change-Id: I769507253594b016802b71368ac4a9036f2ad21f
Special "app bubble" that is ordered at the front of the list unless
something else was selected. This is guarded behind the flag to
enable floating tasks, and a new flag to allow floating tasks to be
bubbles.
Test: manual - enable the flags and create a floating task
=> floating task appears in a bubble
Bug: 237678727
Change-Id: Ibf66e8bae07800b5f64598c9b50de7a7995d09e6
When dragging the same app to the other side, we will try to reuse the
task in background instead of directly launching a new instance.
Bug: 241181313
Test: atest WMShellUnitTests
Change-Id: Ifd1329ae0b634d8b27a6960e4500458a09cf69f4
Add back flags to allow start background activities since besides
drag-and-drop, start a shortcut into split also need these permission.
Fix: 243101552
Test: atest StageCoordinatorTests
Test: long press on a shortcut to enter split
Change-Id: I9159734836183c811642dffe1a9faebb2ccc23a5
Before, we are checking TransitionInfo.isIndependent, which is true when
the parent is TRANSIT_CHANGE. However, we already animate the change
parent here, so we should skip the child for such case.
Bug: 207070762
Test: manually verify the animation
Change-Id: I3d1342ef27c97b2c8bb7270975f1f089c4462d5b
Creates a new package within shell for floating tasks along with a
basic controller and interfaces for sysui and launcher to use to
manage floating tasks.
A single floating task is allowed at a time and they can only be
created if a sysui flag is turned on.
The floating task is backed by a TaskView, floats above all other
content, and can be moved via a handle at the top of the view. The
view sticks along the left and right edges of the screen, can be
stashed (similar to PIP), and can be removed by dragging to a dismiss
target in the middle of the screen (similar to PIP & bubbles).
The tests included trigger the sysui flag on and off to ensure the
flag behavior (i.e. that you can't create one unless the flag is on).
Test: atest FloatingTaskControllerTest
Bug: 237678727
Change-Id: I490c44685825e14166869b2cf7c2994ee0e30ba7
By our motion specs, drag drop to enter split case
should show split contents after drop rather than
run animation to enter split.
We already have a function for drag drop tell split
screen for logging events. Use this function to set
a flag to skip next time entering animation and reset
it after entering.
Fix: 247108671
Test: manual
Test: pass existing tests
Change-Id: Ie1a511bc4846021a79db726ef7a42590b33b8afb
* 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
WHen using shell-transitions, use a transition instead of
regular applyTransaction
Bug: 236047261
Test: use desktop-mode switch w/ shell-transit. observe an actual
transition.
Change-Id: I81f37d278420383f8b2b0f37cca8a398313705cb
UI crashing due to null windowDecor object being passed into
FullscreenTaskListener#giveWindowDecoration
Test: Manual Testing
Bug: 246637353
Change-Id: Iaefee1993e1477cb88ed34d8e94b5f24120152f1
For floating tasks the normal target size is too small to really
fit the task window, this allows the dismiss target to have a
different size set via a resource id.
Test: manual - override the size (in different CL), observe that
the target is at that size.
Bug: 237678727
Change-Id: I85edae739992662852d4cf40c250714a100a67bb