Commit Graph

1863 Commits

Author SHA1 Message Date
Ben Lin
06f8587f41 Revert "PiP: Recalculate size if too big/small on display change."
This reverts commit 4ef153a797.

Reason for revert: This fixes a foldable bug and so not really needed anymore for sc-v2. We'll leave it master only.

Bug: b/205761901
Bug: b/206644532
Change-Id: Ia50d491d89a4c9faaa49c3e2b9afe38f73bd7f57
2021-11-16 23:25:24 +00:00
Mady Mellor
509a29f8a0 Merge "Fix a security issue" into sc-v2-dev 2021-11-16 00:40:07 +00:00
Mady Mellor
05a043c911 Fix a security issue
This broadcast was only for a prototype so no harm to
remove the receiver.

Test: treehugger
Bug: 202756848
Bug: 173386799
Change-Id: Ia496570f4209e4019ecddd9731b6b9c303740f85
2021-11-15 14:34:12 -08:00
TreeHugger Robot
ba64f849cf Merge "Import translations. DO NOT MERGE ANYWHERE" into sc-v2-dev 2021-11-15 17:08:36 +00:00
TreeHugger Robot
985ac93b3a Merge "Import translations. DO NOT MERGE ANYWHERE" into sc-v2-dev 2021-11-15 17:08:28 +00:00
Hongwei Wang
8923d44570 Merge "Update PiP dismiss target on theme change" into sc-v2-dev 2021-11-13 00:48:37 +00:00
Winson Chung
b5c5258a65 Merge "Fix issue with provided options not being applied when launching split tasks" into sc-v2-dev 2021-11-12 20:51:15 +00:00
Winson Chung
83119e1bac Fix issue with provided options not being applied when launching split tasks
- Since SysUI/Shell is making the call to start the app pair tasks in a
  WCT, we also need to expand the restriction on who can freeze the
  list (to any caller with MANAGE_ACTIVITY_TASKS)

Bug: 206000278
Test: Quickswitch from app pair and back
Change-Id: I7f455fde87edfbcb7d856d842710c2a4542d7207
2021-11-12 05:38:10 +00:00
Hongwei Wang
abf3d3b948 Update PiP dismiss target on theme change
Re-initiate the DismissCircleView upon theme change to make sure the PiP
dismiss target inherits the right theme color.

Bug: 199359063
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/bIMe3fAFoW6Nw47Ye894MZ
Test: manually, see video
Change-Id: Ia65c633fd636114ddbdc2ff497245e2cb73f7745
2021-11-11 16:28:54 -08:00
Ben Lin
6d6a81b5e8 PiP: Enable enter split.
Bug: 202740657
Test: Enter PIP, open another app, tap "enter split"
Change-Id: Ifd30489705c8a928aa8e219cb0d88fdd2b932c6d
2021-11-11 14:01:14 -08:00
TreeHugger Robot
bcc3f65352 Merge "Revert^2 "PiP: support direct entering split from PiP."" into sc-v2-dev 2021-11-11 17:55:21 +00:00
Bill Yi
315af7ea6e Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: Iab7617678b40cfc269fc6a964c6a4332fe693614
2021-11-11 09:17:49 +00:00
Bill Yi
6f7dd6e6a7 Import translations. DO NOT MERGE ANYWHERE
Auto-generated-cl: translation import
Change-Id: If51c661d8516717b565cbddcb6464d4f469692bb
2021-11-11 09:09:29 +00:00
Hongwei Wang
5b3d8a3aaf Revert^2 "PiP: support direct entering split from PiP."
a6abf3067b

Change-Id: I1deddacd0ef7ba36b55d38d14718d0be90129866
2021-11-10 21:02:08 +00:00
Sergey Serokurov
b13cde5c9c Merge "Fix bubbles behavior in bedtime mode" into sc-v2-dev 2021-11-10 19:08:36 +00:00
Vinit Nayak
b63153fa3b Merge "Pass back split bounds and meta info with GroupedTaskInfo" into sc-v2-dev 2021-11-10 16:33:49 +00:00
Sergey Serokurov
1516eb0a39 Fix bubbles behavior in bedtime mode
Bug: 185083022
Test: atest SystemUITests
Test: screen recording https://drive.google.com/file/d/1jGHUaGoqtJIFcK439ZFBke_TKKdAGbKL/view?usp=sharing
Change-Id: Ida14930e50fb41bc5e2809b2b3127bb581a3bac0
2021-11-09 20:54:57 -08:00
Vinit Nayak
d3370c4082 Pass back split bounds and meta info with GroupedTaskInfo
* Compute and save a StagedSplitBounds object for every
pair to determine it's position, size, divider, etc.
* Moved GroupTask to Launcher
* Moved StagedSplitBounds from launcher to wm/shell
because sharing is caring.

Bug: 203006080
Change-Id: I8513e027f8c9606fbed1283013eafea2cf905f3f
2021-11-09 15:14:13 -08:00
Hongwei Wang
a6abf3067b Revert "PiP: support direct entering split from PiP."
Revert "Update PiP signatures"

Revert submission 16190721-pip-enter-split

Reason for revert: regression b/205639175
Reverted Changes:
I62d1617c1:Update PiP signatures
I0829c910b:PiP: support direct entering split from PiP.

Change-Id: I52fe160c50747a00e1d30b072ce07e67dae9c6de
2021-11-08 18:52:00 -08:00
Winson Chung
8f7d253431 Merge "Update recent tasks split pairs from split controller" into sc-v2-dev 2021-11-07 04:22:37 +00:00
Ben Lin
984af19cf9 Merge "PiP: Recalculate size if too big/small on display change." into sc-v2-dev 2021-11-06 07:39:00 +00:00
Winson Chung
6be95d2ffa Update recent tasks split pairs from split controller
- Add pairs for the top visible children when both roots are populated,
  and update when either side changes.
- Remove pairs if an activity is finished, or if the user dismisses
  split manually
- Remove pairs for associated tasks if they are made visible in fullscreen

Bug: 202740477
Test: atest WMShellUnitTests
Test: adb shell dumpsys activity service SystemUIService WMShell

Change-Id: I87c632dfd1a014d64ad8e25c9e68ea6ca230744e
2021-11-06 04:02:53 +00:00
Ben Lin
4ef153a797 PiP: Recalculate size if too big/small on display change.
On display changes, it is possible that the old bounds is now too big
or too small for the new display. This is especially like on foldables,
such as a min size on a folded state is too big when in an unfolded
state.

Bug: 198679951
Test: Fold, minimal size, then unfold - see size change, and resizing
now doesn't jump to from too small -> small

Change-Id: I5de64860f1fbb476ff1a6a8dd9a0c50fd3259a45
2021-11-05 18:00:24 -07:00
Winson Chung
cef0ca0a9b Add split exit reasons
- These map to logging states, but can be used to distinguish
  cases to retain/remove the splits in recents

Bug: 202740477
Test: atest WMShellUnitTests
Test: adb shell dumpsys activity service SystemUIService WMShell
Change-Id: Ie028f6a2cb63beda97482e86e2c60dbf8f81e625
2021-11-05 23:43:30 +00:00
Winson Chung
ca5598dd10 Move dagger modules into shell library for reuse
- Certain system ui implementations which use the shell don't depend on
  SystemUI-core, which means that the dagger modules for providing the
  core Shell components need to be copied (which makes it more cumbersome
  to make changes). Instead, move these modules back into the shell lib
  for any SysUI app to reference.

Bug: 205019015
Test: make SystemUIGoogle
Test: make CarSystemUI
Test: make ArcSystemUI
Change-Id: I8dc938a7695972f9d7b3d7ea8e3ce65a7b454b13
2021-11-05 12:53:14 -07:00
Ben Lin
5574121d03 Merge "PiP: support direct entering split from PiP." into sc-v2-dev 2021-11-05 17:42:02 +00:00
Tom Natan
6ee7e8b6b3 Merge "Update size compat restart button surface position after display insests changed" into sc-v2-dev 2021-11-05 10:07:15 +00:00
Winson Chung
5dbf72509d Merge "Add exit log for debugging auto dismissing bug" into sc-v2-dev 2021-11-05 04:20:27 +00:00
tomnatan
5cf6507e51 Update size compat restart button surface position after display insests changed
Fix: 204532180
Fix: 182905588
Test: atest WMShellUnitTests:SizeCompatUIControllerTest
Test: atest WMShellUnitTests:SizeCompatUILayoutTest
Change-Id: Icda54db231783f576832b22e4d286fe0524a2088
Merged-In: Icda54db231783f576832b22e4d286fe0524a2088
2021-11-05 02:14:10 +00:00
Sergey Serokurov
34ba68727c Merge "In overflow view, set bubble name TextView width to a fixed value" into sc-v2-dev 2021-11-04 23:34:25 +00:00
Ben Lin
0e40a98bc3 PiP: support direct entering split from PiP.
Add a new "enter split" button that allows user to go directly into
split screen on large screen devices from PiP.

- Add button
- Calculate split-screen location based on current PiP bounds
- Merge all WCT into one after animating

Video: http://recall/-/gu5DjQFZPMFpwgaXdl4cV3/gnNkSpC72tlTGP2mrKR07R

Bug: 202740657
Test: Enter PIP, open another app, tap "enter split"

Change-Id: I0829c910b2873ed4c4b0ea4fe0ca28b7f87736d8
2021-11-04 11:45:59 -07:00
Winson Chung
92a8e1a6ec Add shell recents interface
- Add a shell component and interface for Launcher to use to get recent
  tasks including paired splits (pending integration w/ split controller)

Bug: 202740477
Test: atest WMShellUnitTests:com.android.wm.shell.recents.RecentTasksControllerTest

Signed-off-by: Winson Chung <winsonc@google.com>
Change-Id: I34d834061ed2391d89cf56d6a2fd262868707674
Merged-In: I34d834061ed2391d89cf56d6a2fd262868707674
2021-11-04 18:42:20 +00:00
Tony Huang
880a19bed1 Add exit log for debugging auto dismissing bug
Add log when split exit for debugging some auto dismissing bug
which hard to repro locally.

Also add a check when exit split for avoiding exit run many times.

Bug: 204527184
Test: pass existing tests
Change-Id: Iaf98a7eb54a2988d13b3b8ca871c750f993fa8b4
2021-11-04 14:50:02 +08:00
Sergey Serokurov
c996d270b4 In overflow view, set bubble name TextView width to a fixed value
Bug: 198539434
Test: Manual, verified that bubbles in the overflow view are evenly spaced
Test: screeshot before the fix: https://screenshot.googleplex.com/6RRa6qoTbFrJfCC.png
Test: screeshot after the fix: https://screenshot.googleplex.com/BmdPN6AvXedYFNE.png
Change-Id: Icba048b65591e186d579a2c56685499fea316e9f
2021-11-03 21:16:40 -07:00
Evan Rosky
62924f1213 Merge "Boost remote-transition animator processes during animation" into sc-v2-dev 2021-11-03 20:59:07 +00:00
Mady Mellor
980e3e78f8 Merge "When a shortcut is deleted remove it from xml as well" into sc-v2-dev 2021-11-03 16:20:09 +00:00
Jerry Chang
cb5907cc57 Merge "Fix unable to drag notification to enter split screen" into sc-v2-dev 2021-11-03 08:45:41 +00:00
Winson Chung
3e90f3b5be Merge "Abstract out common code for managing a single instance remote callback" into sc-v2-dev 2021-11-03 03:04:18 +00:00
Wu Ahan
43f59bb11b Merge "Instrument jank of splash screen AVD and exit animation" into sc-v2-dev 2021-11-03 02:44:08 +00:00
Jerry Chang
4d61bbca3b Fix unable to drag notification to enter split screen
Fix exception when resetting adjacent launch root, dragging expandable
notification and logging unknown activity dragging event.

Fix: 202276040
Fix: 197968594
Fix: 204900540
Test: tests passed
Test: drag expandable notification to split won't fail
Change-Id: I4bb6c361df2034547079a6e9d932b0f5589b3e35
2021-11-03 10:22:26 +08:00
Jerry Chang
7d7857b2c5 Merge "Support to transfer freeform task into split screen" into sc-v2-dev 2021-11-03 00:39:26 +00:00
Mady Mellor
a542c24b6a When a shortcut is deleted remove it from xml as well
Bug: 204586850
Test: atest BubblesTest NewNotifPipelineBubblesTest
Change-Id: I99cfacf773a0aae7ebcf13830d24ff32c5c35b2b
2021-11-02 17:09:32 -07:00
Winson Chung
9f7ea0a38f Abstract out common code for managing a single instance remote callback
- Pull code that manages the lifecycle of the callback into its own
  class which takes care of cleaning up any callback references and also
  listening for when the binder dies
- Removing some boilerplate code

Bug: 202740477
Test: atest WMShellUnitTests
Change-Id: I7ff4c876fc14291d6523c2c62a7c453a01d96294
2021-11-02 17:04:03 -07:00
Tom Natan
2d213c397a Merge "Redesign the size compat restart button according to mocks." into sc-v2-dev 2021-11-02 15:22:05 +00:00
tomnatan
825e55ed60 Redesign the size compat restart button according to mocks.
The width of the hint is constant but the height changes with respect to the number of lines the text requires (see screenshots below). The X position of the hint is set programmatically so that the point's center will be aligned with the button's center.

Still need to add UI for different states of the button (pressed, focused, etc.) and maybe also the hint (since it's clickable). Mocks for this are still TBD.

Mocks: https://www.figma.com/file/fLAVOdDkg0lnFWiltSYbGA/Multitasking?node-id=2719%3A54196

Screenshots:
[default - 2 lines]    http://screen/4EtytFiKsY3Q5NE
[LTR language]         http://screen/9BSPipZYUd7UGPV
[short text - 1 line]  http://screen/AN5bds6rh5V55Bw
[large font - 3 lines] http://screen/6utG596y52LBDjX
[long text - 4 lines]  http://screen/7mBL2fXWy43UsTq

Bug: 198347324
Test: atest WMShellUnitTests:SizeCompatRestartButtonTest
Test: atest WMShellUnitTests:SizeCompatHintPopupTest
Test: atest atest WMShellUnitTests:SizeCompatUILayoutTest
Change-Id: Ida4c4171be94b60499cfe8acb6a2278f7e10a1f3
2021-11-02 13:17:19 +00:00
Jerry Chang
bd8b345337 Support to transfer freeform task into split screen
Clear overrided windowing mode and window bounds when a task vanished
from freeform task organizer to make sure the task can inherit config
from its new parent.

Fix: 204842882
Test: put a task in freeform, then trigger split screen with such task,
      observed it applied multi-window windowing mode and bounds
      properly.
Change-Id: Ifb100d17a83931237e58bcd774dce304a3fdb731
2021-11-02 16:50:18 +08:00
Sergey Serokurov
1837681488 Merge "Hide bubbles when focus mode is enabled" into sc-v2-dev 2021-11-02 00:31:23 +00:00
Evan Rosky
7ba314d658 Boost remote-transition animator processes during animation
This basically ties applicationthread binder token to remote
transitions. Shell is first boosted (to run the shell transition
logic) and if it then delegates to a remotetransition, it will
then request that process also be boosted.

Bug: 183993977
Test: add logging in WPC.setRunningRemoteAnimation and verify calls
      during transitions
Change-Id: I94babc327e935ea81271942287a83b948dd11f8b
2021-11-01 16:54:26 -07:00
Hongwei Wang
fdf6eedb10 Merge "Avoid conflict surface reset on auto-enter-pip" into sc-v2-dev 2021-11-01 20:51:41 +00:00
Jerry Chang
7b04c3ba76 Remove redundant operations of split screen
Make moveToSideStage doing reparent oeprations only and leave all the
other active operations to onStageHasChildren. Also make sure it evicts
original children.

Remove setLaunchRoot and setWindowingMode operations in MainStage since
it won't be set as launch root and won't change in between of fullscreen
and multi-window windowing mode anymore.

Fix: 204519739
Bug: 202740040
Test: atest WMShellUnitTests
Change-Id: I6199862502646056966412824a5be840a15e8726
2021-11-01 16:43:26 +08:00