Commit Graph

634 Commits

Author SHA1 Message Date
Vinit Nayak 9ef75227c0 Merge "Revert "Animate overivew actions view hiding on scroll."" into tm-dev 2022-04-08 22:12:46 +00:00
Vinit Nayak f5f14acba3 Revert "Animate overivew actions view hiding on scroll."
This reverts commit 458dcdbe1e.

Reason for revert: b/228137694

Change-Id: I6992b380d9cacee2afa98e02ba406793a440e703
2022-04-08 17:26:46 +00:00
Wei Sheng Shih 342446d105 Merge "Update orientation state while gesture animation start." into tm-dev 2022-04-08 00:39:04 +00:00
Pat Manning 10b77ab7e7 Merge "Animate overivew actions view hiding on scroll." into tm-dev 2022-04-04 18:43:08 +00:00
Pat Manning 458dcdbe1e Animate overivew actions view hiding on scroll.
Test: manual
Fix: 221113300
Change-Id: Ie21343e280639e027f012d9c734b798f4dc4e71a
2022-04-04 17:10:27 +01:00
wilsonshih 64cfa05d59 Update orientation state while gesture animation start.
While quickswitch in landscape mode, the orientation handler would be
update to LandscapePagedViewHandler when receive onLauncherStart,
however, it might be too late because the VelocityTracker can already
tracking with PortraitPagedViewHandler at
AbsSwipeUpHandler#setupRecentsViewUi, which leads the wrong
judgement while PagedView#onTouchEvent handling the ACTION_UP that
the velocity can nearly 0 from mOrientationHandler.getPrimaryVelocity.

By update the orientation handler earlier at onGestureAnimationStart,
the velocity tracking result should stay consistent from ACTION_DOWN
till ACTION_UP.

Bug: 213867585
Bug: 209936664
Bug: 221805258
Test: run below tests w/o shell transition.
atest FlickerTests:QuickSwitchBetweenTwoAppsForwardTest
atest FlickerTests:QuickSwitchBetweenTwoAppsBackTest

Change-Id: If73fa8d88cc372b6f783fb6cdda4148d11a2ee19
2022-03-31 13:03:39 +08:00
Hongwei Wang b46d6ebc01 Handle shadow radius for auto-pip in Launcher
Bug: 206508708
Test: Verify the auto-enter-pip transition
Change-Id: I1e99c3e1ce890885d95006293a1469491c5c6672
2022-03-28 16:44:28 -07:00
Hongwei Wang ca9f9ebec5 Merge "Hide the Taskbar when user leaves PiP mode" into tm-dev 2022-03-23 22:38:48 +00:00
Vinit Nayak 1d6058c2cd Null out mRemoteTargetHandles when swiping to home
* Also all null check when trying to show divider
after swipe down animation from overview

Fixes: 223946009
Test: Steps in bug no longer cause crash
Change-Id: I2c8484c37b863c4cb6aba7e274c1eb76bce92b4a
2022-03-22 20:47:54 -07:00
Hongwei Wang 808d568367 Hide the Taskbar when user leaves PiP mode
This is to prevent the Taskbar from flickering when the app settles in
full-screen mode.

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/dIgvinb9yEB8MYfYDx0Ijy
Bug: 218450853
Test: see video
Change-Id: I9cfb0ca151dea6951561f78798bb16bafa48eba0
2022-03-22 18:45:31 -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
Alex Chau c9f3cc36bb Merge "Update overview grid icon sizes and paddings" into tm-dev 2022-03-21 17:08:31 +00:00
Alex Chau 8cee1ebed0 Fix splitPrimaryScrollOffset in RTL
Fix: 225165124
Test: split select in RTL and non-RTL, check min/max scroll
Change-Id: I5fb13e39560d9dceb4a53c9c79a355f72faf3dba
2022-03-17 14:55:14 +00:00
Alex Chau 2e48760e97 Update overview grid icon sizes and paddings
- Introduced additional page spacign for clear all button to match mocks

Fix: 222664142
Test: Quick switch to last task and immediately enter overview
Test: Dismiss last task in overview grid
Change-Id: I4d2f93d843c50b10051f3fb17027cd06e86707e1
2022-03-17 13:44:21 +00:00
Tracy Zhou 6416cea0e5 Merge "Support launching an intent and a task from the same app as multi-instance" into tm-dev 2022-03-10 02:09:53 +00:00
Tracy Zhou fec75c5a0e Merge "Fix wrong initial staged split position" into tm-dev 2022-03-10 01:47:53 +00:00
Tracy Zhou d9cb8cfa0d Support launching an intent and a task from the same app as multi-instance
Similar to ag/16820166, add FLAG_ACTIVITY_MULTIPLE_TASK to the fillInIntent

Fixes: 222583964
Fixes: 217965464
Fixes: 221415250
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/7606236a-3350-49d6-bfad-9e6a609413d1
Change-Id: I676358ef1cbff8317995430de961a0a3242c0cbf
2022-03-09 15:21:45 -08:00
Tracy Zhou dd2bea9e70 Fix wrong initial staged split position
This is caused by having set a wrong animation duration in the 3 button case. Before this change we have a fixed duration of 370ms which happens to be almost match the Overview transtion duration in gesture nav. However the transition duration in 3-button is set to 250ms. After the transition duration, any unfinished animation is cancelled including this one, resulting in the wrong staged split position. Instead this change pulls the transition duration of toState from the caller = RecentsViewStateController.

Fixes: 222210349
Test: manual
Change-Id: Ie2f3dbe38bb6df33961e2ee78b8a55d0e925501f
2022-03-09 14:44:35 -08:00
TreeHugger Robot 94a54982b9 Merge "Remove stale log statement for b/195430732" into tm-dev 2022-03-09 22:22:15 +00:00
Vinit Nayak 824d036378 Remove stale log statement for b/195430732
Fixes: 195430732
Change-Id: I29e2ea3930238da4fe37f73a1368c4d233841cd0
2022-03-08 17:24:38 -08:00
Tracy Zhou 26f5393db3 Improve the staged split animation
- Introduce rounded corners (since we scale x and y differently, we can't use outline since it doesn't support rx and ry. It's achieved by custom drawing).
- Make sure the thumbnail content doesn't shift during the transition (we use custom cropping for TaskThumbnailView, and we have to do it accordingly here)

TODO: update UX of the initial split view (b/219085340)

Fixes: 194414938
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/64953aa7-62ea-427c-8ec0-5f2bd96e4762
Change-Id: Id9a5d2f0f41cb4d619c8b3bd3a83c633e3d1f2de
2022-02-28 21:12:16 -08:00
Winson Chung 3516ecc534 Allow split with an existing split task
- Determine the task in the group being clicked in split-select mode
  and launch split using that selected task
- Also make sure we don't handle drag cancel twice when we are animating
  the return of the drag surface

Bug: 219060441
Test: Split from home/overview with fullscreen+fullscreen task, and with
      fullscreen+split task

Change-Id: I48ec0a82812197803ff4b3698830a9cb705719e3
2022-02-18 17:49:59 +00:00
Vinit Nayak 95686cd9be Merge "Ensure starting split animation scale is always 1" 2022-02-16 18:49:40 +00:00
TreeHugger Robot 940e5c7328 Merge "Cover thumbnail view instead of TaskView for split animation" 2022-02-15 23:22:32 +00:00
TreeHugger Robot 451e468678 Merge changes from topic "presubmit-am-cc24ad26c93446a690f8a34ffde58aa3" into sc-v2-dev-plus-aosp am: 3a6a78f7b0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16828915

Change-Id: Icfc37fdb5858352e77628959ed7e627712620cdd
2022-02-15 22:32:43 +00:00
Vinit Nayak 12a24dca8d Cover thumbnail view instead of TaskView for split animation
Fixes: 219622592
Test: Slowed down animation and verified same as before
refactor was done.

Change-Id: Iec8dc9ea1d7925575c3a3b84e12653829a00d8dd
2022-02-15 12:41:11 -08:00
Vinit Nayak 181f4b2c40 Ensure starting split animation scale is always 1
Bug: 194414938
Test: After second app selected, first split placeholder
view doesn't jumpcut to arbitrary Y bounds.

Change-Id: Ic8b809f147bf38f78198ef4224d810faf5e3c5ba
2022-02-15 12:01:37 -08:00
Vinit Nayak 90e0fe3923 Add null check for mRemoteTargetHandles for side task launch
* Other checks haven't changed, only pulled them out into
separate block

Fixes: 215699962
Test: Unable to repro the crash, I tried ending the
activity and starting via adb shell, but I was never
able to get into the original if-block that triggered the NPE

Change-Id: I83320634f1d059de610176f9031682ca287bd589
2022-02-09 15:30:19 -08:00
Winson Chung b4bbec80b8 Merge "Prevent lingering divider animators in AbsSwipeUpHandler" 2022-02-07 17:09:49 +00:00
Winson Chung 26031b0dd2 Prevent lingering divider animators in AbsSwipeUpHandler
- Refactor the util method to create the animator and track the existing
  animation in AbsSwipeUpHandler to be able to cancel it if another call
  to change the visbility comes in.  Note that this doesn't address
  the case where the launch animation overlaps with swipe up (though that
  hopefully shouldn't happen in normal usage)

Bug: 213403679
Test: Tap in the gesture space while split
Change-Id: I078a7d0f22c2ef2ba847796ec79e740c789ce1ae
2022-02-05 04:55:52 +00:00
Tracy Zhou a0d4720815 Initial implementation of split from workspace and all apps
Bug: 216829535
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/feb5db9c-9429-42c2-a124-777e66fd5f0b
Change-Id: I34118975d0d7e15eb46b483f5a05447f5391e6fd
2022-02-02 13:37:47 -08:00
Alex Chau 635b3abcf1 Remove ENABLE_OVERVIEW_GRID feature flag
- Use isTablet directly instead of overviewShowAsGrid
- Tablet/landscape resoruces can now be overriden via xml
- Use Landscape resources in tablet in additional to vertical bar layout
  - For resources overwritten in values-land that was intended for vertical bar layout, override them in sw600dp for tablet landscape

Bug: 210597891
Test: manual
Change-Id: I19eac935a5fb1a420485408aa8b4774632726af1
2022-01-27 11:28:35 +00:00
Winson Chung 6751202328 Skip animation if there are no targets
Bug: 210118444
Test: Manual
Change-Id: I362ca30d0e00b647d84b5df38b35b924d5ccfb33
2022-01-20 21:32:45 +00:00
TreeHugger Robot c0a6d3fc8f Merge "TalkBack doesn't announce when a task has being closed." into sc-v2-dev 2022-01-13 20:36:44 +00:00
Vinit Nayak 2c97c4ab19 Remove code that assumes single GroupedTaskView
* Old code assumes there will only be a single
GroupedTaskView, removing those code paths helps
consolidate single and grouped task code flows
* Correctly check when we need to add a stub
taskView for GroupedTaskViews by checking each
individual taskId

Test: Swiping with multiple split pairs doesn't
cause a cycle
Fixes: 213355942

Change-Id: Ibb98ae0dfcd4f52b762685aec9d2ee6445b9ef54
2022-01-10 15:59:33 -08:00
Vinit Nayak 1465a5af7b Handle split selection when animation is disabled
* Consolidate setState() and setStateWithAnimation()
to be handled in the same manner
* If no animation, we run the created
PendingAnimation right away

Fixes: 209935590
Test: Tested w/ and w/o animation
Change-Id: I1d6fdba21761b6721e6bd52234016178547cd437
2022-01-05 12:19:11 -08:00
Tony Huang fc6fc6d651 Merge "Animate split divider" into sc-v2-dev 2021-12-22 02:47:05 +00:00
Tony Wickham 36e5f812d5 Merge "Don't clobber in progress page transition in applyLoadPlan()" into sc-v2-dev 2021-12-14 16:18:39 +00:00
Tony Wickham db34fba43f Don't clobber in progress page transition in applyLoadPlan()
Also only reloadIfNeeded() instead of always reloading in showCurrentTask(), which is called twice as the gesture starts and could contribute to jank.

Test: quickly quick switch from app A to B, ensure no jumpcut back to A
Bug: 205499708
Change-Id: I516020551d3f76eb4025df848bf4c88adf5499b7
2021-12-14 00:25:08 +00:00
Alex Chau 9ef8e2dcee Don't snap to focused task in split select
- In split select there is no overview actions, and focused task's snappign position is not centered, it's weird to snap so avoid it
- Follow-up of ag/16378986

Bug: 208644826
Test: manual
Change-Id: I260b5c6164db562717346396b1830af02d408944
2021-12-10 15:27:17 +00:00
Alex Chau b6ad9dfaf5 Allow snapping to focused task in overview grid
Fix: 208644826
Test: manual
Change-Id: Ia6fb2ae44209042f6d40bf8db5d1f43b3b6a27ee
2021-12-10 12:07:21 +00:00
Vinit Nayak 2a93bc5b30 Add split support for 3P launcher
* Copied logic mostly from
Base/RecentsViewStateController
* There's one KI crash specific to 3P
(b/209694087)
* Swipe to home animation is TODO, but
then again it also seems incorrect for
full-screen app. 3P has many cosmetic issues
throughout.

Bug: 195607777
Test: Tested w/ Nova launcher with grid
and non-grid, able to invoke split screen with
same animations as 1P launcher

Change-Id: I35a1bc92a51caccac4214289e614000cd47bb503
2021-12-09 12:52:04 -08:00
Sebastian Franco 411b71bf09 TalkBack doesn't announce when a task has being closed.
Adding announceForAccessibility() in createTaskDismissAnimation()
to announce the task has being closed.

Test: Manually tested
Fix: 186744160
Change-Id: I71f57e7ba03a61b2ced7e338da4251637e89bd16
2021-12-09 20:27:51 +00:00
Tony Wickham b5a051ca0b Merge changes I6cf84ec7,Iea599651,If3238286 into sc-v2-dev
* changes:
  Improve quick switch from home to taskbar
  Cleanup some taskbar/hotseat handoff issues
  Fix taskbar stash misalignment when going from app to overview
2021-12-08 17:42:54 +00:00
Alex Chau 86ef5e924a Handle split select rotation
- Update floatingTaskView, apply splitsSelectTranslation and splitPrimaryScorllOffest when rotating while in split select
- Moved getSplitSelectTranslation to RecentsView
- When in portrait, treat STAGE_POSITION_BOTTOM_OR_RIGHT as STAGE_POSITION_TOP_OR_LEFT in split translation calculation
- Apply splitsSelectTranslation for portrait grid too

Fix: 201721153
Test: manual
Change-Id: I768a3b15de4d434674058b274c368798f5852917
2021-12-08 11:35:02 +00:00
Tony Wickham 24675d36b7 Improve quick switch from home to taskbar
- Add LauncherState#isTaskbarAlignedWithHotseat() which defaults to !isTaskbarStashed(), but is always false for quick switch from home
- Replaced FLAG_TRANSITION_STATE_START_STASHED and FLAG_TRANSITION_STATE_COMMITTED_STASHED with FLAG_STATE_TRANSITION_RUNNING and a reference to mLauncherState. STATE_START is equivalent to TRANSITION_RUNNING changing to true, and STATE_COMMITTED is equivalent to TRANSITION_RUNNING changing to false. Then can get details from the state such as whether taskbar is stashed and icon alignment from mLauncherState

Test: quick switch from home, both with taskbar stashed in apps and not
Fixes: 194728611
Bug: 204657916
Change-Id: I6cf84ec73a4036e14cc7268667c6f62100884c27
2021-12-07 13:13:48 -08:00
Vinit Nayak 0d40e19c4a Animate split divider
* TODO currently it doesn't animate when
dragging a split task back down because we need
to sync that with the other task scaling
animation playback controllers.
* It also doesn't animate in when opening a
split pair from overview because I think shell
is setting it to be visible before the divider
leash even makes it to launcher

Bug: 202914644

Change-Id: I6c60cffdb63aa262d0b547f85acc604c0c8a3637
2021-12-07 11:20:30 -08:00
TreeHugger Robot 79b56b0659 Merge "Revert "Align OverviewActionsView for 3 button taskbar"" into sc-v2-dev 2021-12-03 18:40:37 +00:00
Alex Chau 149acef8d7 Revert "Align OverviewActionsView for 3 button taskbar"
This reverts commit 6e906f3436.

Reason for revert: b/204891006
Bug: 189807374
Change-Id: I1b3f93d44b1691aa3d2cc90222ac93067a5cf6b4
2021-12-03 15:17:51 +00:00