Commit Graph

4502 Commits

Author SHA1 Message Date
Hongwei Wang
cd2b77c796 Merge "Implement PiP custom close action on phone" into tm-dev am: 500043a457
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17716552

Change-Id: Ic1842e1427fbd4c5baba2f5b31d0ff6a3029bab1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 17:44:07 +00:00
Shawn Lin
feac07a0e9 Merge "Support scaled cutout & roundedcorners when resolution is overridden" into tm-dev am: 88ed5ca17a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17232290

Change-Id: Iac2cc1fa5bb1b41a9fc2ad630925a7cc69b7c795
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 17:42:19 +00:00
Hongwei Wang
500043a457 Merge "Implement PiP custom close action on phone" into tm-dev 2022-04-20 17:37:44 +00:00
Shawn Lin
88ed5ca17a Merge "Support scaled cutout & roundedcorners when resolution is overridden" into tm-dev 2022-04-20 16:56:28 +00:00
Chris Li
2973c26dbf Merge "Fix crash in getParentContainerBounds" into tm-dev am: 701b3f759c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17800407

Change-Id: I3be6d9f18f47ce92cdb756d243a843aa1ce40347
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 14:24:03 +00:00
Chilun Huang
b8a3a1987d Merge "Use the icon size of starting surface for split decor" into tm-dev am: dc7c91de99
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17750240

Change-Id: I0faa0eda566e3d4c06ab9639d1ec026ce688d650
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 14:23:19 +00:00
Chris Li
701b3f759c Merge "Fix crash in getParentContainerBounds" into tm-dev 2022-04-20 13:04:17 +00:00
Hongwei Wang
83c72ad868 Merge "Validate target view surface in PipDismissTargetHandler" into tm-dev am: 5cb6c5a9c9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17821975

Change-Id: Ia835ed023a0ea3ef64147f5c6499e2fee71822cb
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 12:48:21 +00:00
Mady Mellor
854d2116de Merge "Collapse bubbles when drag and drop is initiated" into tm-dev am: ef1cc8850f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17715693

Change-Id: I2894040d4913c26f480f874e2c8dc63f05c4ff0a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 12:36:33 +00:00
Chilun Huang
dc7c91de99 Merge "Use the icon size of starting surface for split decor" into tm-dev 2022-04-20 08:44:33 +00:00
Chris Li
e382326e3d Fix crash in getParentContainerBounds
Before, before TaskFragment appeared, the getTopNonFinishingActivity may
be null, and throw exception for no bounds found.
Now, make sure we always have Task bounds stored.

Bug: 228885031
Test: atest WMJetpackUnitTests:SplitControllerTest
Test: atest WMJetpackUnitTests:TaskContainerTest
Change-Id: I3744813a85f24941563c8ff8f284b2e45396f906
2022-04-20 15:45:09 +08:00
Hongwei Wang
dd51f86fd4 Implement PiP custom close action on phone
To use this new custom close action on Phone
- We expect app providing actions via
  PictureInPictureParams.Builder#setActions as they normally do
- We also expect app providing a custom close action via
  PictureInPictureParams.Builder#setCloseAction
- The custom close action is used on Phone only if it matches one of the
  actions listed in setActions (by comparing the PendingIntent)

SysUI will render the custom close action with a highlighted background
and ensures the PiP dismisses after certain timeout if the app fails to
respond in time.

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/fR0hxeorlYrxXyzfZ02btK
Bug: 223896879
Test: see video
Change-Id: I65c585ae3224061311e476753bc4c72f00c4fa33
2022-04-19 23:55:06 -07:00
shawnlin
bcea9fd89e Support scaled cutout & roundedcorners when resolution is overridden
In current desgin, the confgis for cutout and rounded corner are based
on the original display size. If the display resolution is overridden,
cutous and rounded corners will be drawn in incorrect places with
incorrect size.

We should load the cutout & rounded corners with the orignal display
size and then scale the results with the display ratio which is
calculated by dividing current size with original size.

Bug: 209592558
Test: manual:
      1. Go Settings-> Display-> Screen Resolution
      2. Switch between FHD+ and QHD+
      3. Check if the cutout and rounded corner looks the same as they
	 are in the original display size.
Test: manual:
      1. adb shell wm size 1080x2340
      2. Check if the cutout and rounded corner looks the same as they
         are in the original display size.
Test: atest DisplayCutoutTest LocalDisplayAdapterTest
          ScreenDecorationsTest RoundedCornerResDelegateTest
Change-Id: Iea42b73c0276b82983c1ddbce9455355afdc164d
2022-04-20 10:03:19 +08:00
Hongwei Wang
a6cf936798 Validate target view surface in PipDismissTargetHandler
Bug: 228969163
Test: N/A, will monitor the crash dashboard
Change-Id: I255c53c67b5e2df22a5049b43933aeb824b6fd45
2022-04-19 11:35:02 -07:00
Mady Mellor
ef1cc8850f Merge "Collapse bubbles when drag and drop is initiated" into tm-dev 2022-04-19 17:08:36 +00:00
Wei Sheng Shih
055bd999ed Merge "Do not show task snapshot window if task bounds has changed." into tm-dev am: a944a2c1ad
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17712244

Change-Id: I3fb10a69551d9077e66e87c473a3c941fc93f194
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-19 02:23:11 +00:00
Wei Sheng Shih
a944a2c1ad Merge "Do not show task snapshot window if task bounds has changed." into tm-dev 2022-04-19 02:07:46 +00:00
Mady Mellor
528db439de Collapse bubbles when drag and drop is initiated
Dragging a notification into split screen would fail if bubbles
were expanded while performing this action. I think it makes sense
to collapse the stack if its open when drag and drop for an app
starts.

Bug: 223909931
Test: atest DragAndDropControllerTest
Test: manual - have bubbles expanded
             - swipe down the shade, long press on a notification
               and drag it
             => bubbles are collapsed and the notif is able to be
                put into split screen.
Change-Id: Ib5160b3d772452f1cdd704926887bd38a5fd1ef1
2022-04-18 22:52:59 +00:00
Mady Mellor
286e08fee4 Merge "Fix drag to split in RTL" into tm-dev am: 1970f8ddd2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17725414

Change-Id: I62bdc4d02757fceed4354708d885dbd47441c444
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-18 17:23:27 +00:00
Mady Mellor
1970f8ddd2 Merge "Fix drag to split in RTL" into tm-dev 2022-04-18 17:11:23 +00:00
Chris Li
4382d8eed1 Merge "Allow delete empty TaskFragment in PiP" into tm-dev am: d41df35243
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17800404

Change-Id: I336537035a71563d3e4fbb1c90666cb69fe58ebc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-18 15:43:33 +00:00
Chris Li
d41df35243 Merge "Allow delete empty TaskFragment in PiP" into tm-dev 2022-04-18 15:26:56 +00:00
Chris Li
720ae87d6b Allow delete empty TaskFragment in PiP
We ignore WCT for TaskFragment in PiP, but in case the empty
TaskFragment is not removed before the Task enters PiP, we should allow
organizer to remove it.

Also make sure we have all requests in one WCT during
onTaskFragmentInfoChanged.

Bug: 225371112
Test: atest WmTests:TaskFragmentOrganizerControllerTest
Test: atest WMJetpackUnitTests:SplitControllerTest
Test: atest WMJetpackUnitTests:TaskFragmentContainerTest
Change-Id: I718bbb7f6c18c35048c671ed3c131eaf536cf265
2022-04-18 18:12:05 +08:00
Tony Huang
005adaef4f Merge "Fix recents thumbnail wrong while swipe up" into tm-dev am: 0b87da7195
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17767846

Change-Id: I56fe9748a90b97cc566cbe69c89d5215be51c419
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-18 04:02:49 +00:00
Shawn Lin
4ef7bb163e Merge "Update to use NAV_BAR_KIDS_MODE settings key for kids mode organizer" into tm-dev am: 8b8de88b3e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17665878

Change-Id: I74983e91a7d6215a7d317aec15d1ed7750d16fa1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-18 04:02:41 +00:00
Tony Huang
0b87da7195 Merge "Fix recents thumbnail wrong while swipe up" into tm-dev 2022-04-18 03:44:15 +00:00
Shawn Lin
8b8de88b3e Merge "Update to use NAV_BAR_KIDS_MODE settings key for kids mode organizer" into tm-dev 2022-04-18 03:41:27 +00:00
TreeHugger Robot
528ea61d07 Merge "Make BackEvent#getTouchX and BackEvent#getTouchY floats." into tm-dev am: e16244c3cd
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17650054

Change-Id: I86e622e8603d4fca97192b0a5f66834be6d0f42d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-16 02:29:40 +00:00
TreeHugger Robot
e16244c3cd Merge "Make BackEvent#getTouchX and BackEvent#getTouchY floats." into tm-dev 2022-04-16 01:51:10 +00:00
Hongwei Wang
3a7f5bf8b5 Merge "Reset PiP shadow radius in onTaskVanished" into tm-dev am: 4384a4b74c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17766824

Change-Id: If40fde640755803f05f7c614cccffb2fde1e3359
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-16 01:00:16 +00:00
Hongwei Wang
e4f4f107f3 Reset PiP shadow radius in onTaskVanished
This is a follow-up of ag/17527240 in which we do not cover the case
that a Task in pinned mode is directly removed via Task#moveTaskToBack

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/cMG5Uh1kLC7EyAs2EbDVkM
Bug: 228793904
Test: follow the reproduce step in bug, see video
Test: atest WMShellUnitTests:PipTaskOrganizerTest
Change-Id: Ib7472908a81d56d34216ca272afbd9f1a2668b89
2022-04-15 13:51:30 -07:00
Mady Mellor
8c7e52269f Merge "Skip onTaskMovedToFront if the bubble selection is animating" into tm-dev am: 4008e21f0a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17769043

Change-Id: I43af721bb799596e3575221018a626e2b4100f1e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-15 16:55:56 +00:00
Mady Mellor
4008e21f0a Merge "Skip onTaskMovedToFront if the bubble selection is animating" into tm-dev 2022-04-15 16:25:02 +00:00
Tony Huang
9220937682 Fix recents thumbnail wrong while swipe up
This bug occured when it has multiple visible app targets need to
show. If surface didn't have specific layer, their display order
will be determined by create timing. By such rule, we should create
their animation leash by down to top rather than top to down.

This patch also fix wrong logic to create RecentsAnimationSplitTasks,
we should only do that when split is active.

Fix: 223396876
Fix: 207390696
Test: manual
Test: pass existing tests
Change-Id: I74a33cdc28d370f1db3910ebda8577c72416bc97
2022-04-15 15:15:44 +08:00
TreeHugger Robot
930d5fc2b0 Merge "Fix bubble expanded view jumping to the left when switching bubbles" into tm-dev am: 3d69ea8e74
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17767631

Change-Id: I5af8053ea02b6bc151b81a4d7ec8a659b5e2fa03
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-15 04:46:05 +00:00
TreeHugger Robot
3d69ea8e74 Merge "Fix bubble expanded view jumping to the left when switching bubbles" into tm-dev 2022-04-15 04:41:57 +00:00
Wei Sheng Shih
63570b80b3 Merge "Clear the system bars color when removing the splash screen window." into tm-dev am: 2aac68104f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17493268

Change-Id: I2de9a89990809738a366a509541452bc1f4279ac
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-15 02:38:20 +00:00
Wei Sheng Shih
2aac68104f Merge "Clear the system bars color when removing the splash screen window." into tm-dev 2022-04-15 02:18:23 +00:00
Mady Mellor
6827e13a2d Skip onTaskMovedToFront if the bubble selection is animating
When a bubble gets dismissed while the stack is expanded, we should
select the next available bubble. Instead, we are collapsing.
This is because we get an onTaskMovedToFront event for the app
behind bubbles moving to the front, which causes the stack to
collapse. To fix this I add a check to see if the switch animation
is running, and if so we skip the collapse in onTaskMovedToFront.

Bug: 208648025
Test: manual - have multiple bubbles, expand the stack, visit each
               bubble
             - dismiss each bubble by dragging to dismiss target
             => observe that after dismissing each bubble, the next
                bubble is selected (if available)
Change-Id: If82c004ecd1ec8920e934dbae2107b4c37853cb5
2022-04-14 23:54:28 +00:00
Mady Mellor
81bd659c44 Fix bubble expanded view jumping to the left when switching bubbles
When the bubbles are shown vertically on the left side of the screen
and you tapped between them, the view would be misaligned for a bit
during the animation.

This was happening because the padding being applied to the view
didn't account for the space the pointer triangle took up.

The fix is to add the size of the pointer to the padding when
showing vertically on the left side.

Bug: 196444014
Test: manual - expand a bubble on a large screen on the left side
             - tap between the bubble and the overflow or other
               bubbles
            => observe that the expanded view doesn't jump a bit to
               the left
      manual - test switching between bubbles on phone, phone
               landscape (left & right sides), and tablet on the
               right side
            => observe that the animation looks correct
Change-Id: Icb3cd87843504ab31da8005fb72f36daae387d39
2022-04-14 21:42:11 +00:00
Shan Huang
316179540e Make BackEvent#getTouchX and BackEvent#getTouchY floats.
Bug: 228533817
Test: Try swipe back to home on Flag Flipper (with Predictive Back
Animation toggle enabled in Flipper) and make sure animation looks good.
Try in both landscape and portrait mode.

Change-Id: If2165827a0f66f8e0bd8f78483577c3ac4c9f213
2022-04-14 19:34:26 +00:00
Chilun Huang
2384beb3fa Use the icon size of starting surface for split decor
Use a fixed icon size and fit to centor scale for split decor to avoid
unexpected icon size. Also sync the same icon size to drop zone area.

Bug: 228928242
Test: Manual resize the split and check the icon size.
      Manual drag to split and check the icon size.
Change-Id: Idaf523810e3913a22787925817b6013464818147
2022-04-14 20:32:06 +08:00
Chris Li
3b0fca9fe9 Merge "Notify organizer when the last activity in TaskFragment enter PiP" into tm-dev am: 88671a050f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17713423

Change-Id: Ia63ce4abd675894b0dca95b96dbf3258fc6de74e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 10:47:43 +00:00
Chris Li
88671a050f Merge "Notify organizer when the last activity in TaskFragment enter PiP" into tm-dev 2022-04-14 10:22:10 +00:00
Tony Huang
c07825f6e7 Merge "Add error handling for start task and intent" into tm-dev am: 96770f2561
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17397155

Change-Id: I49515d95982f0a102821182a553238e7c10a4976
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 09:58:26 +00:00
Tony Huang
96770f2561 Merge "Add error handling for start task and intent" into tm-dev 2022-04-14 09:11:21 +00:00
Tony Huang
4ae839860f Add error handling for start task and intent
If user start task and intent with same app but not support
multi-instance, in this case it will only start one side split and
the other one show as black screen.
We should avoid such status and do some error handling, this patch
prevent it by exiting split immediately and expand the that app as
full screen.

Fix: 224888879
Test: manual
Test: pass existing tests
Change-Id: I827debb01f3a2fc8f04f4b1931084f2fa475f8a6
2022-04-14 14:40:13 +08:00
shawnlin
7439e38646 Update to use NAV_BAR_KIDS_MODE settings key for kids mode organizer
Bug: 228912892
Test: make
Change-Id: I14593e959487dae5c3dd3bf0dba95c4109eb0c67
2022-04-14 12:18:14 +08:00
Ryan Lin
1625012f97 Merge changes from topic "nodebounds" into tm-dev am: 565d2b1b85
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17045436

Change-Id: I10bfd10d0d28024af02b1685bbb9e011a672620b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-14 02:13:07 +00:00
Ryan Lin
565d2b1b85 Merge changes from topic "nodebounds" into tm-dev
* changes:
  remove embeddedMatrix usage for PIP menu
  Change node bounds procedure based on SufaceFlinger Callback
2022-04-14 01:55:04 +00:00