Commit Graph

403 Commits

Author SHA1 Message Date
Jeremy Sim 1cfe6d490a Update calculation method for Overview UI placement on tablets
This update slightly changes the calculation method for Overview UI placement, in order to line up better with spec. (The previous calculation caused a small 30dp divergence on tablets.)

Bug: 236760307
Test: Manual by measuring pixels and comparing to spec
Change-Id: I94e9e7b5a6a24c37693425ac8ec71cd066003658
2022-07-28 14:05:24 -07:00
vadimt f6ef879cf4 Moving all sources that are shared between Launcher and TAPL in one directory
This will help SysUI test team (who uses TAPL) to set up Gradle build for their tests.

Bug: 202567877, 234414088
Test: presubmit
Change-Id: I3d923ea4b54d1a4c3d2b345be09692727d30433e
2022-07-27 20:18:46 +00:00
Jeremy Sim e5ba8fa7a5 Update animations for TM-QPR: OverviewSplitSelect > Home transition
The animation from OverviewSplitSelect to Home is now updated to the latest spec. See bug for details.
- New timings
- FloatingTaskView now translates out, instead of fading
- FloatingTaskView and SplitInstructionsView now disappear concurrently with the rest of Overview, instead of afterward

Fixes: 236761067
Test: Manual on tablet and phone
Change-Id: Iaa1c804a60859232f331950098b67968cc187e82
2022-07-21 20:46:43 -07:00
Sebastian Franco 5cba476362 Adding test for the Widgets reordering.
TAPL design chagnes at https://docs.google.com/document/d/1PdJZZIn-85-UMRFGZuqj-tJgruIWcg31lZnrb34iBTY/edit?resourcekey=0-uAZuiLCDFV9YhOtLB7wQHQ

The tests consist of a board representing the widgets on
the CellLayout a position to move the main widget (m) to
and the resulting board.

iiiii    iiiii
-----    --x--
-xxx- -> -xmx-
--m--    -----
-----    -----

Move m to 2,2.

Then whe make sure the device corresponds with the resulting
board.

I had to add the event TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "Widgets.onLongClick");
on ItemLongClickListener because the tests where not expecting
a long press on a widget after is being place on the
workspace.

Also, I needed to add the option to drag a widget
to a specific point instead of the previous option
of only dragging to the workspace.

Fix: 231449779
Test: Run the test and make sure they pass.
Change-Id: I58183b7ce2ca64c999e21073cce5e0ba6e6f3a9e
2022-07-18 11:52:12 -07:00
Jeremy Sim 96c2aad623 Prevents split thumbnails from flipping when entering Overview in fake seascape
Fixes a bug where the user would see the splitscreen thumbnails swap position when entering Overview from fake seascape.

The bug arose because Overview's layout in fake seascape previously respected the primary-top secondary-bottom rule for placing splitscreen thumbnails. Actually, this needs to be flipped to preserve left-right orientation: If the user sees Task A on the left, it should always be on the left no matter how they rotate their device.

Fixed by swapping thumbnail and icon positions in SeascapePagedViewHandler#setSplitTaskSwipeRect() and setSplitIconParams(). Fake seascape will now show primary thumbnail on the "bottom" of the screen and secondary on "top."

This patch also corrects a minor calculation bug affecting icon alignment.

Fixes: 221133532
Test: Manual
Change-Id: Id587cf3815e64792d758d0e352da1e1e38cb4348
2022-06-27 22:33:30 +00:00
Luca Zuccarini c703f3a3e0 Unify the source of truth for NORMAL <> ALL_APPS transitions.
Bug: 231682175
Bug: 234812580
Test: manual
Change-Id: I5b66735474915d7a59bda337f67df37ff397908a
2022-06-16 16:40:26 +00:00
Vinit Nayak 5424fca602 Rename split classes/variables for consistency
* Use "select" when in the split screen
invocation process
* Drop usage of "staged" except when defining
constants

Fixes: 233006032
Change-Id: I809f0e1e9742aa6b6b09ad8731896ad3f0c9deb0
2022-06-06 14:02:15 -07:00
Luca Zuccarini 42947ea17f Merge "Update the workspace and background scale interpolators." into tm-dev am: a6c36eb4d0 am: 2cc475dcf1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/18660446

Change-Id: Ia1e2cd5472bb0b423cf3446574984253019c6b4c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-01 17:41:31 +00:00
Luca Zuccarini a6c36eb4d0 Merge "Update the workspace and background scale interpolators." into tm-dev 2022-06-01 16:51:42 +00:00
Luca Zuccarini 728e234120 Merge "Remove workspace fade from ALL_APPS > NORMAL transition." into tm-dev am: 46338b09e3 am: 9e50fc0ade
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/18670230

Change-Id: I8cf3773dff04ced9335355f9f99311df1a9bd97f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-01 10:17:35 +00:00
Luca Zuccarini a36af25ab7 Remove workspace fade from ALL_APPS > NORMAL transition.
This applies to phones only for the one-off transition (Home gesture or
swipe back. See before and after videos in the bug.

Bug: 234359814
Test: manual
Change-Id: I8f4fc9ec40687b641a721bd28b32fcf50514861f
2022-05-31 15:46:28 +00:00
Luca Zuccarini 7ee40a4190 Update the workspace and background scale interpolators.
The spec had a typo (EMPHASIZED_DECELERATE instead of
EMPHASIZED_ACCELERATE). In addition, we're now using LINEAR for the
background since the feel is smoother this way. Cleared with motion
(simonroberts@).

Bug: 232418544
Test: manual
Change-Id: I492dbe8008856d331836793177f1dd58c3265ca2
2022-05-30 09:47:40 +00:00
Vinit Nayak 1eb79473aa Merge "Limit starting bounds of swipe to animation start rect" into tm-dev am: e8a4e0e2dc am: e9e0800fd7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/18607508

Change-Id: I7b4afd0d4eae8853e15c06c8f7f6472ef5035bf0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 03:29:15 +00:00
Vinit Nayak f7b4e7f497 Limit starting bounds of swipe to animation start rect
* If the starting point is greater than that of the current
device's width (in either positive or negative direction),
reset the starting rect to be fullscreen task bounds
* More details at b/228829958#comment12

Fixes: 228829958
Test: Reboot device and swipe up from home immediately,
app doesn't fling from the side.
Tested with portrait and landscape launcher.
Tested with fake landscape launcher.

Change-Id: I6ea24e30e9de5716b7830f487b2ed63f56598c50
2022-05-26 14:43:26 -07:00
Jeremy Sim b0cce86385 Implement non-disappearing View for split staging instructions
The instructions for how to perform a splitscreen operation, previously conveyed through a disappearing Toast, are now conveyed through a custom View object.

Fixes: 219987907
Test: Manual
Change-Id: Iff2bb6e334e0325e8a091d76a5f9b8767071365f
2022-05-23 21:23:22 +00:00
Luca Zuccarini 175fc66aa8 Merge "Additional polish for the NORMAL<->ALL_APPS transitions." into tm-dev 2022-05-18 14:21:27 +00:00
Luca Zuccarini 3eb149b055 Merge "Update the NORMAL<->ALL_APPS swipe transitions on phones." into tm-dev 2022-05-17 16:06:27 +00:00
Pinyao Ting 6a41d56b50 Log the reason why a WorkspaceItemInfo was removed
In the past we've seen a WorkspaceItem disappeared from the workspace
but wasn't able to determine why it was removed. This CL includes the
reason why it was removed in the error log, which hopefully would help
us debugging similar issues in the future.

Bug: 231239260
Test: make
Change-Id: Iba3d57568c9b3e011a6b65b26f0d4170d42fe1a5
2022-05-16 20:17:47 +00:00
Luca Zuccarini 1c89ee8cb1 Additional polish for the NORMAL<->ALL_APPS transitions.
The depth of ALL_APPS is set to 2 because in the legacy transitions the
swap happens at 0.5. The depth controller bounds the value to 1, so for
the second half of the animation the value is always 1. Because of this,
in order to have the right timing during the blur and scale we cap the
interpolator to 0.5.

Workspace fade is also removed, per spec.

Bug: 232418544
Test: manual
Change-Id: Idfd92c8b2b571ad911a0a5a59d39c5911e4131e4
2022-05-13 22:23:42 +00:00
Luca Zuccarini ea948c2b33 Update the NORMAL<->ALL_APPS swipe transitions on phones.
Bug: 144877924
Test: manual
Change-Id: I47d4cdedea69b921711c33e2905bc429e7d1db35
2022-05-13 19:09:17 +00:00
Sunny Goyal f0ff70a2a5 Adding support for easily extending Launcher DragAndDrop support
Bug: 232165524
Test: Verified locally
Change-Id: I3b4f37bc9914de55330662edd678e6fdd0eafece
2022-05-11 21:34:08 +00:00
Luca Zuccarini e75b1c8a19 Merge "Update the NORMAL->ALL_APPS transition when tapping on QSB on phones." into tm-dev 2022-05-10 22:35:02 +00:00
Luca Zuccarini ef006c7603 Update the NORMAL->ALL_APPS transition when tapping on QSB on phones.
- New interpolators
- New duration
- Removed workspace translation
- Removed overlapping fades -- are now sequential

See video in the bug.

Bug: 227745955
Test: manual
Change-Id: I19fa19a3806e963a04c5e694a52d3c1b921cf51f
2022-05-06 16:07:17 +00:00
Alex Chau a70e23384f Fix overview and quickswitch gesture logging
- Log Home -> Overview gesture
- Log Home -> quickswitch as LAUNCHER_QUICKSWITCH_RIGHT

Bug: 219686410
Test: Local log in StatsLogCompatManager
Change-Id: Ic88fefd5af58dc03779f77b12611843c40706b1c
2022-05-05 14:33:27 +01:00
Sihua Ma da8759ae29 Showing alert dialog when shortcut version higher than the App
Creating an AlertDialog when the disabled reason of the shortcut is DISABLED_REASON_VERSION_LOWER, which happens when the backed-up shortcut was created from an application that has a version higher than the one installed on the device. The AlertDialog will direct the user to the play store and update the application.

Test: Manual
Fix: 224796975
Change-Id: I0125fada60b48176775de6782ba03ee6790904aa
2022-04-14 01:34:44 -07:00
Shikha Malhotra f78da1bae3 Review comments followup
These are review comments followup from ag/17399997

Bug: b/218187058
Test: manually test thet Launcher3 features work correctly
Change-Id: I9865a37c1ed663370dc28e7678994f3d961e3cd1
2022-04-12 14:33:07 +00:00
Jeremy Sim 5d2a1f47c0 Merge "Fix placement bug with split staging icon in RtL" into tm-dev 2022-04-10 01:48:53 +00:00
Jeremy Sim e15927eec7 Merge "Implement splitting from Taskbar long-press" into tm-dev 2022-04-09 01:21:14 +00:00
Jeremy Sim 43c79704ed Fix placement bug with split staging icon in RtL
Fixes a bug where switching the phone to RtL caused Overview's split staging icon to be placed incorrectly.

The bug was caused by the fact that FrameLayout margins were not working consistently in RtL. This may be another bug; more investigation required (b/201920967).

This fix makes it so that the icon is positioned using setX and setY rather than margins.

Fixes: 227372971
Test: Manual
Change-Id: I6e5371d20e8e2e4e6f41ba93d0dfa36ed085c103
2022-04-08 18:05:05 -07:00
Jeremy Sim abdf25d226 Implement splitting from Taskbar long-press
Implements the ability to split the screen by long-pressing a Taskbar icon.

Bug: 217964720
Test: Manual
Change-Id: I5d324d8ca912c10cc3c3de21cae98fad546b85ac
2022-04-08 12:15:16 -07:00
Alex Chau c83ea5f8fb Make AllApps bottom sheet follow finger and snap after 30% progress
Bug: 220336617
Test: manual
Change-Id: I0b6296cf5abf0f0a5f34fc2a0b5be93dc93ebf3f
2022-04-06 13:30:41 +01:00
Vinit Nayak 1322fc3710 Fix translation for secondary split thumbnail in RTL
Fix: 225157531
Test: Swipe up in RTL shows both thumbnails
were expected.

Change-Id: I87d286b6ce6542c7cffadf86e3d4d99a3618f984
2022-03-30 10:32:51 -07:00
Jeremy Sim b8eeb41ee0 Fix issue with camera overlapping split staging UI
Fixes an issue on some devices where initiating a split in Overview would cause an icon to be placed partly under the camera cutout.

Fixed by adding some padding to FloatingTaskView#mSplitPlaceHolderView, so that it always respects the device's insets.

Fixes: 220997064
Test: Manual
Change-Id: I7270bde3320f562519ea8e36a38e49609e0d6cd7
2022-03-25 16:31:46 -07:00
Tracy Zhou 8d06bb8991 Merge "Update initial staged split UX." into tm-dev 2022-03-22 22:44:33 +00:00
Tracy Zhou 4ff3615b23 Update initial staged split UX.
- Introduce inset to the staged split view
- Update width of the staged split view
- Introduce rounded corners to staged split view. It's tricky to animate it in with smooth transition considering the rounded corners. The best way to handle it is to draw content as if part of it is off the screen, so that when it's animated in, the rounded corners can slide in onto the screen correctly.

Fixes: 219085340
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/09a99b75-3614-4d20-b6d4-a78108f769d8

Change-Id: I24d90cc9e2695d822cb2de8b21e2d5519f2e344d
2022-03-21 21:21:42 -07:00
Jeremy Sim c0422b8a48 Merge "Fix issue with split thumbnails overflowing during rotation" into tm-dev 2022-03-22 00:17:43 +00:00
Jeremy Sim 8746367f40 Merge "Fix paired icon placement in landscape/seascape" into tm-dev 2022-03-22 00:17:43 +00:00
Jeremy Sim bf6f171f84 Fix issue with split thumbnails overflowing during rotation
Fixes a set of issues in Overview where you could cause split thumbnails to overflow their contents into each other by rotating the phone in certain ways.

The issue occurred because StagedSplitBounds objects have their height and width assigned differently depending on if they were created while the phone was in portrait or landscape.

Fixed by adding a conditional check in PortraitPagedViewHandler#setSplitTaskSwipeRect and LandscapePagedViewHandler#setSplitTaskSwipeRect.

Fixes: 218784856
Fixes: 218779313

Test: Manual on local devices
Change-Id: I04b4f4344250da34616ab1744af22fa41b9aba9b
(cherry picked from commit 1d6b7f2abf)
2022-03-19 00:10:54 +00:00
Jeremy Sim b42345273c Fix paired icon placement in landscape/seascape
In grouped task view, paired icons will now align better with task thumbnails.

Fixes: 218783211

Test: Extensive manual testing on local device(s).
Change-Id: I372d2ee90302a8d96ace048ff4f82126d9b2b363
(cherry picked from commit d6826c74a4)
2022-03-19 00:10:16 +00:00
Jeremy Sim 3b687a5092 Fix small positioning bug with DWB banner in landscape
The DWB banner is now positioned correctly when the task thumbnail is set as a secondary split view.

Fixes: 220637396
Test: Manual testing on local Pixel 6
Change-Id: I3bcb0eb09d2a607b2891bc9f63f3a0b03668f48e
(cherry picked from commit 87fad7b984)
2022-03-19 00:09:22 +00:00
Sunny Goyal ed6d3a47c0 Merge "Separating refresh rate tracking to a separate class" into tm-dev 2022-03-03 23:00:29 +00:00
Alex Chau 031a77022b Intercept workspace touch when Launcher is in AllApps bottom sheet
Fix: 217571715
Test: Can't scroll workspace when AllApps bottomsheet is up
Test: Can still scroll AllApps bottomsheet down
Change-Id: I116f082ec6a6892cf5c7d0e1388a5771e6fdc4a6
2022-03-01 20:00:36 +00:00
Sunny Goyal 6bc4257d86 Separating refresh rate tracking to a separate class
Bug: 221961069
Test: Presubmit
Change-Id: I04091ebc9f3d88d2dbbde1bf0d5390c815e026d1
2022-02-28 17:13:00 -08:00
TreeHugger Robot 094a4bdd48 Merge "Removing some unnecessary layout calls in TaskView" into tm-dev 2022-02-28 22:16:30 +00:00
Sunny Goyal d4c4ad9212 Removing some unnecessary layout calls in TaskView
Bug: 221095750
Test: Presubmit
Change-Id: I277c1350109ce3bd0b29502c588482c737ab1e3d
2022-02-23 13:06:46 -08:00
Alex Chau b8c22e1155 Tune AllApps bottom sheet VisD and motion
- Make AllApps bottom sheet solid and appears from bottom
- Teleport AllApps bottom sheet as user drag to reduce drag range
  - Consider teleport interpolation for state transition sdetection
- Tuned workspace motions for AllApps bottom sheet (no translate, shrink)
- Add portrait vertical translate for tablet portrait including taskbar AllApps
- Updated bottom sheet handle and created common variables for other bottom sheets

Bug: 208599118
Test: manual on tablet AllApps, taskbar Allapps and handheld AllApps
Change-Id: I69dba5f155914cd012cc8ef3be1ef71fb2be5a40
2022-02-23 17:08:06 +00:00
Tracy Zhou 0551313a9b Correct order of split action buttons
Fixes: 219988163
Fixes: 217965089
Test: https://screenshot.googleplex.com/8LNMBeEQhMVnDSm
Change-Id: I760c0b8085069181d9a1cdc582ac7d58a08f4724
2022-02-17 00:14:50 -08:00
Jeremy Sim c78ac6277c Fix DWB placement in grouped task view
In grouped task view, DWB banners will now rotate properly when phone is
in landscape or seascape orientation. Also fixes a couple of minor
existing issues with the bottom task not displaying correctly in the
first place.

Fixes: 208357326
Fixes: 216218406

Test: Tested locally on Pixel 6, using landscape, seascape, and
portrait. Double-checked with task proportions changed, RtL/LtR, and
split top/split left/split right initialization.

Change-Id: I945f9937d2d4d784c0c74a006c7d0680daf628c2
2022-02-11 00:13:13 +00:00
Alex Chau 391bb2dd93 Log LAUNCHER_ALLAPPS_CLOSE_TAP when dismissing via touching scrim
Bug: 208599118
Test: Check StatsLog
Change-Id: Id3ec0650555072985df742cd1e8b020186e81959
2022-02-02 18:30:41 +00:00
Alex Chau 65dd83817c Merge "Remove ENABLE_OVERVIEW_GRID feature flag" 2022-01-28 23:14:23 +00:00