Commit Graph

4866 Commits

Author SHA1 Message Date
Chilun Huang
e9f622dc90 Merge "Reuse tasks in background in priority for split screen" into tm-qpr-dev 2022-09-26 04:35:45 +00:00
Mady Mellor
c423e60ae5 Merge "Allow floating tasks to be shown as bubbles (behind a sysui flag)" into tm-qpr-dev 2022-09-23 15:13:03 +00:00
Chris Li
fcfa500483 Merge "Polish ActivityEmbedding Shell animation when open a split pair" into tm-qpr-dev 2022-09-23 05:31:41 +00:00
Hongwei Wang
12415a30ea Propagate PiP param change on RemoteAction update
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
2022-09-22 15:49:16 -07:00
Mady Mellor
3b9ef3fee1 Allow floating tasks to be shown as bubbles (behind a sysui flag)
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
2022-09-22 12:11:28 -07:00
Bill Yi
d4b3adfee9 Merge "Import translations. DO NOT MERGE ANYWHERE" into tm-qpr-dev 2022-09-22 17:43:17 +00:00
Mady Mellor
2b9353ffbc Merge "Support for a floating task window (behind a sysui flag)" into tm-qpr-dev 2022-09-22 14:58:12 +00:00
Bill Yi
e9ffcf62f9 Merge "Import translations. DO NOT MERGE ANYWHERE" into tm-qpr-dev 2022-09-22 14:30:33 +00:00
Chilun Huang
8e89deb761 Reuse tasks in background in priority for split screen
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
2022-09-22 16:38:19 +08:00
Chris Li
646b0c13e6 Merge "Skip ActivityEmbedding animation if it is behind an app starting window" into tm-qpr-dev 2022-09-22 08:14:08 +00:00
Tony Huang
7914d7de84 Merge "Skip enter split expanding animation by drag" into tm-qpr-dev 2022-09-22 05:43:54 +00:00
Chris Li
6a3dfb250a Skip ActivityEmbedding animation if it is behind an app starting window
Bug: 207070762
Test: atest WMShellUnitTests:ActivityEmbeddingAnimationRunnerTests
Test: atest WmTests:TransitionTests
Change-Id: I602201646040f3358a688dcb6ec779f8244953ac
2022-09-22 11:25:38 +08:00
Jerry Chang
f3e52f55a6 Merge "Fix not able to start a shortcut into split" into tm-qpr-dev 2022-09-22 01:34:59 +00:00
Bill Yi
97319739a0 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Ibacf2a1ad142fc07f6a7582c0c38df63155b54e8
2022-09-21 16:02:31 -07:00
Bill Yi
02767a7a9b Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I157d95437dbfd3396287edf78cbc99f30d998d0c
2022-09-21 16:01:18 -07:00
Bill Yi
11862c7b71 Merge "Import translations. DO NOT MERGE ANYWHERE" into tm-qpr-dev 2022-09-21 14:28:55 +00:00
Bill Yi
e195a360f5 Merge "Import translations. DO NOT MERGE ANYWHERE" into tm-qpr-dev 2022-09-21 14:28:55 +00:00
Jerry Chang
601373db16 Fix not able to start a shortcut into split
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
2022-09-21 12:54:06 +00:00
Chris Li
228e7e502e Polish ActivityEmbedding Shell animation when open a split pair
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
2022-09-21 15:26:49 +08:00
Mady Mellor
38edb219c0 Support for a floating task window (behind a sysui flag)
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
2022-09-21 02:12:46 +00:00
Tony Huang
d55d0b0047 Skip enter split expanding animation by drag
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
2022-09-21 01:40:50 +00:00
Vinit Nayak
fa3a8fafda Merge "Pass in enter reasons into SplitscreenEventLogger" into tm-qpr-dev 2022-09-20 21:55:30 +00:00
HQ Liu
51afb38bda Merge "Use RootTaskDisplayAreaOrganizer to change windowing mode" into tm-qpr-dev 2022-09-20 19:43:33 +00:00
Vinit Nayak
1ab928f8ad Pass in enter reasons into SplitscreenEventLogger
* 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
2022-09-20 10:28:44 -07:00
Evan Rosky
556ecc8da9 Merge "Adjust caption observer for desktop transition" into tm-qpr-dev 2022-09-20 16:39:57 +00:00
Mateusz Cicheński
56cf35b281 Merge "Move PiP swiftly in response to IME with keep clear areas flag enabled." into tm-qpr-dev 2022-09-20 13:48:33 +00:00
Tony Huang
1c2c0b5258 Merge "Reduce flicker when split pair switching" into tm-qpr-dev 2022-09-20 03:12:05 +00:00
TreeHugger Robot
d7e17f97c7 Merge "Allow background activity launch by drag notification" into tm-qpr-dev 2022-09-20 00:09:19 +00:00
Mateusz Cicheński
62f6fe2294 Move PiP swiftly in response to IME with keep clear areas flag enabled.
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
2022-09-19 21:03:44 +00:00
Evan Rosky
3b2eff1cc4 Adjust caption observer for desktop transition
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
2022-09-19 13:21:34 -07:00
Bill Yi
ec046d5524 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Ib67152acf0a47423a70bd77e679ab213ccbaab4c
2022-09-19 11:50:16 -07:00
Bill Yi
8987b22027 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: I78f3c92c22c56d0994ed23618ede089a92091e1a
2022-09-19 11:45:31 -07:00
Jeff Chang
09c0d6ef9e Allow background activity launch by drag notification
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
2022-09-18 23:06:12 +08:00
Ats Jenk
0a0969af1c Merge "Move active task tracking to a repository" into tm-qpr-dev 2022-09-17 00:16:33 +00:00
HQ Liu
e4ef661839 Use RootTaskDisplayAreaOrganizer to change windowing mode
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
2022-09-16 16:09:54 -07:00
Matt Sziklay
488a69bfc4 Merge "Show captions on tablets even when display windowing mode is fullscreen." into tm-qpr-dev 2022-09-16 22:39:07 +00:00
Ats Jenk
8a3cf44c9a Move active task tracking to a repository
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
2022-09-16 13:51:42 -07:00
Maryam Dehaini
b25a29ed88 Merge "Fixing UI Crash" into tm-qpr-dev 2022-09-16 19:58:36 +00:00
Evan Rosky
d6c6f5865f Merge "Use transition for desktop-mode switch when enabled" into tm-qpr-dev 2022-09-16 16:38:27 +00:00
mattsziklay
e4a9f82606 Show captions on tablets even when display windowing mode is fullscreen.
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
2022-09-16 09:26:48 -07:00
Mady Mellor
63caeaf9fa Merge "Expose getTaskInfo on TaskView" into tm-qpr-dev 2022-09-16 16:19:45 +00:00
Tony Huang
15bbf37379 Reduce flicker when split pair switching
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
2022-09-16 13:18:35 +08:00
Jerry Chang
b48c123b67 Merge "Fix timeout when dismissing split screen to two pane mode" into tm-qpr-dev 2022-09-16 00:51:43 +00:00
Evan Rosky
6a1363adc8 Use transition for desktop-mode switch when enabled
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
2022-09-16 00:26:59 +00:00
Chris Li
7eb3933a3e Merge "Only play ActivityEmbedding animation if there is AE split" into tm-qpr-dev 2022-09-15 23:31:24 +00:00
Chris Li
941a2e72f6 Merge "Play ActivityEmbedding animation if all changes in Task with embedded" into tm-qpr-dev 2022-09-15 23:31:09 +00:00
Maryam
1e45037d90 Fixing UI Crash
UI crashing due to null windowDecor object being passed into
FullscreenTaskListener#giveWindowDecoration
Test: Manual Testing
Bug: 246637353

Change-Id: Iaefee1993e1477cb88ed34d8e94b5f24120152f1
2022-09-15 16:19:48 -07:00
Mady Mellor
db23075abb Merge "Allow the dismiss target size to be overridden" into tm-qpr-dev 2022-09-15 22:32:54 +00:00
Evan Rosky
ccb00cdb19 Merge "Support display-rotation during a split-to-recents transition" into tm-qpr-dev 2022-09-15 22:15:26 +00:00
Mady Mellor
ca7e3d3001 Allow the dismiss target size to be overridden
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
2022-09-15 19:17:51 +00:00