Commit Graph

604 Commits

Author SHA1 Message Date
Presubmit Automerger Backend 21e44c56bb [automerge] Prevent lingering divider animators in AbsSwipeUpHandler 2p: 7faaffa56a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/16693066

Bug: 213403679
Change-Id: I628b14fb01461a103dd0cdd7168835197a28f1c5
Merged-In: I078a7d0f22c2ef2ba847796ec79e740c789ce1ae
2022-02-16 17:13:58 +00:00
Winson Chung 7faaffa56a 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
Merged-In: I078a7d0f22c2ef2ba847796ec79e740c789ce1ae
2022-02-16 17:13:48 +00: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 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
Alex Chau 402252f4b6 Merge "Align OverviewActionsView for 3 button taskbar" into sc-v2-dev 2021-12-03 12:30:49 +00:00
Alex Chau b31176c83b Merge "Fix switch access for overview grid" into sc-v2-dev 2021-12-02 22:32:01 +00:00
Alex Chau a307492525 Removed onBackPressed handling in SplitSCreenSelectState
- So it'll have exact same behavior as OverviewState to exit overview when going back
- Also removed RecentsView.cancelSplitSelect as it's longer needed

Fix: 181707736
Test: manual
Change-Id: Ide4dfc64680ecc9adfe245ae2de1463735b0490e
2021-12-01 16:24:10 +00:00
Fedor Kudasov d6a28fe202 Merge "Separate getTaskViewAt usage" into sc-v2-dev 2021-12-01 10:08:06 +00:00
Vinit Nayak 6e906f3436 Align OverviewActionsView for 3 button taskbar
Bug: 189807374
Change-Id: I3c7ec5f8c7b588032ff83ca7ab461d2aac7bfa35
2021-11-30 16:24:12 -08:00
Tracy Zhou a56dc760dd Reset live tile params along with resetTaskVisuals
The dismissal animation doesn't return the translationY to 0, but resetTaskVisuals does.

Fixes: 207782306
Test: Drag live tile to dismiss lightly so it doesn't succeed. When it comes back, make sure it matches the cutout.
Change-Id: I64ee06ad72c403ab4fdd4671d08b1843a3e89253
2021-11-30 00:49:02 +00:00
Alex Chau 9ead9ca226 Fix switch access for overview grid
- Removed overscroll checking in switch access, as overscroll isn't supported via snapToPage
- Don't show forward/backward action if no further scroll is possible
- When scrolling right in overveiw grid, snap to the next non-fully visible task
- When scrolling left in overview grid, snap to a position that next non-fully visible task is on the left of the screen

Fix: 204162346
Test: Use switch action in Workspace/Recents with and w/o RTL
Change-Id: I0d4f201edf2da543703e88420e6f3255fb2ba16f
2021-11-26 17:51:32 +00:00
Alex Chau b3a9386556 Use alternative way to fix split select page snapping issue
- Reverted to before ag/16095449 where reset() is called after state transition completed
- Call pageBeginTransition in dismiss animation to make sure onPageEndTransition is triggered to clear mCurrentPageScrollDiff properly
- Fixed a condition in resetFromSplitSelectionState ot use DeviceProfile.overviewShowAsGrid, as when state is in transition, showAsGrid() would be false

Fix: 207744890
Test: manual
Change-Id: I5a812a7ee26df2f953f7fed0155880620d2c4e66
2021-11-25 16:48:39 +00:00
Fedor Kudasov 4e678ff6d5 Separate getTaskViewAt usage
getTaskViewAt is used in two different contexts with different
assumptions:
1. In the context of iterating over the all TaskViews, where
the valid tasks indices are know.
2. In the context of requesting some TaskView by index, where
the caller expects null when the input index is invalid.
The nullability status of the method differs in these contexts
and therefore getTaskViewAt usage can be separated into two
different methods.

Bug: 205828770
Test: m LauncherGoResLib
Change-Id: I42c04c115c309f1849f9dfbb05c74b9b080acf13
(cherry picked from commit 4da3b4bddd)
2021-11-24 21:19:22 +00:00
Alex Chau 226bd5b973 Merge "Fix grid layout problem after going back from split select" into sc-v2-dev 2021-11-24 10:32:46 +00:00
TreeHugger Robot db5f5f05e7 Merge "Add scrim below TaskMenu" into sc-v2-dev 2021-11-23 19:29:00 +00:00
Alex Chau 460638e5ef Fix grid layout problem after going back from split select
- Don't reset mFocusedTaskViewId when focused task become split, so it's reset properly when it's added back to RecentsView
- Moved applySplitScrollOffset to RecentsViewStateController to be called after mSplitHiddenTaskView is added back to RecentsView
- Update scroll after going back from split
- Don't reset mSplitHiddenTaskView's translation as it'll clear the grid translations

Test: manual
Bug: 181707736
Change-Id: I4bd204fc537ee520216f875b3eddf4dc94f7bfd8
2021-11-23 16:07:25 +00:00
Thales Lima f316a267d8 Add scrim below TaskMenu
When opening a menu, a scrim with 80% alpha should be shown on top of
Recents view.

Align task menu second row with icon: when the menu shows up in the
bottom row in landscape, the menu should be aligned on the second row.

TODO: there is a RTL bug that I'm waiting because it also affects other
parts, not only this menu.

Bug: 193432925
Test: open Overview and tap the app icon
Change-Id: I6846ee937cb5e739e8be64d17045bc3b32e28e46
2021-11-23 09:13:25 -03:00
Alex Chau 48644c75b3 Merge "Consider launching task's position on screen in pivot calculation" into sc-v2-dev 2021-11-22 21:07:41 +00:00
Winson Chung a5960223cf Set sync applier on the transform params for the glued targets
Bug: 199043513
Test: Swipe up with split task and scroll really quickly
Change-Id: Ie10b27457903d8db4d4c973ab5b7e669da2c4998
2021-11-19 19:33:54 +00:00
Alex Chau 6499e83c57 Consider launching task's position on screen in pivot calculation
- Instead of using RecentsViewScroll, put task's position offset versus current scroll as TaskRect calculation, so it's considered when calculating for putting task to full screen
- Revert back RecentsViewScroll to apply before RecentsViewScale
- Added new property in PagedOrientationHandler to apply both primary/secondary param without clearing the other, and renamed an existing method

Fix: 206972618
Test: Quick switching
Test: Launch task from grid, launch side task from carousel overview
Change-Id: I5977975ed1e930ad70b81d83513d8f3a00c0aed4
2021-11-19 14:42:20 +00:00
TreeHugger Robot 84b64d7910 Merge "Reset split selection state when RecentsView resets" into sc-v2-dev 2021-11-18 23:51:47 +00:00
Vinit Nayak 97f9bd575a Reset split selection state when RecentsView resets
* We weren't calling reset on the views
involved in split selection when recents view gets
a reset call (oops)
* Use device theme for split placeholder theme instead
of hardcoding to white

Fixes: 206155455
Change-Id: I3768fd574cb21eec9562d89c1a93eaa3f53d5ff1
2021-11-18 14:06:27 -08:00
Alex Chau 7c9055fc6b Merge "Fix launch animation from bottom row and end of grid" into sc-v2-dev 2021-11-17 21:02:16 +00:00
Tracy Zhou a37f8baa1d Merge "Refine when to move live tile app below recents view" into sc-v2-dev 2021-11-17 19:53:14 +00:00
Winson Chung 0e1cd933ba Merge "Fix issue with grouped task rects being calculated slightly off" into sc-v2-dev 2021-11-17 19:42:53 +00:00
Winson Chung 9304879387 Fix issue with grouped task rects being calculated slightly off
- This was causing bleed through between split tasks and perhaps
  some rounded corners to be calculated incorrectly
- Also reset the translation after it is adjusted for dismissing
  in case the dismiss gesture is canceled.  This doesn't fix the
  issue with bleed through between the task views (to be fixed
  separately), but makes sure it isn't permanently set on the task

Bug: 206739664
Test: Split tasks, swipe up and check the bounds

Change-Id: I34430e958ca7a75f48621bc27a281e93fdf97179
2021-11-17 17:40:58 +00:00
Fedor Kudasov 3256e1e744 Add some more @Nullable annotations
Bug: 205828770
Test: m LauncherGoResLib
Change-Id: I6d2f269c4ec5f6cdee31ad68545c2720fbf1d8fc
(cherry picked from commit 9385170c1b)
2021-11-17 08:40:17 +00:00
Tracy Zhou a4edc07ec8 Refine when to move live tile app below recents view
- We will still need to figure out why, but currently the overview scrim blocks the cut out during transition. To go around this, we need to move live tile app after the overview transition animation is over
- Some of the logic in RecentsView is no longer necessary since we are no longer reusing live tile params and simulator, but assign new targets each time

Fixes: 205587164
Test: manual
Change-Id: Icadf26182112bba544a4103b626effa37d4028b5
2021-11-16 21:17:19 -08:00
Alex Chau 04309940c0 If hometask is last task to be dismissed, show empty recents instead of home screen
- http://ag/16221737 ensure homescren stub is always added if tasks hasn't been loaded in RecentsView. This introduced an edge case that after dismissing home task view, no task remains in overview and it get dismissed
- The fix is to show empty recents instead of home screen if last task dismissed is a home task (showing empty recents isn't always correct, as there might be unloaded tasks, but it's better than dismissing overview)
- Also tuned the timing of when mLoadPlanEverApplied is set

Fix: 206462357
Test: FallbackRecentsTest.goToOverviewFromHome
Change-Id: I0f395639f57a1a57fddf750623a8a74b8ede8555
2021-11-16 18:48:28 +00:00
Alex Chau b7abf7e96d Fix launch animation from bottom row and end of grid
- Apply gridTranslationY when calculating taskRect so it's used to calculate RecnetsView pivot
- Moved recentsViewScroll to RecentsView group and applied after recentsViewScale
- Before: http://dr/file/d/1-Nrqa80J4FRbjcdZ3GZSeKwfQF8fN9a1/view?resourcekey=0-gYT9z1HA0YksW5Ujbzsmeg
- After: http://dr/file/d/1-DpZrg5_nFeUKS-8APnLvG8SJVvke9BU/view?resourcekey=0-p59hm-abzpU7Y7tqWyneTQ

Fix: 200813202
Test: Launch task from grid from top/bottom/left/right/focus
Test: Launch task from left/middle/right in small screen
Change-Id: I814512c02611f59a5a6d1f53411d42cf4f0f26b3
2021-11-16 13:55:38 +00:00
Fedor Kudasov 3a0f8a90bd Annotate RecentsView with @Nullable
Bug: 205828770
Test: m LauncherGoResLib
Change-Id: I44a4f7ce4258e54d43ca2c5a3937c81a4a686f80
(cherry picked from commit ac9cee5a7c)
2021-11-15 20:39:07 +00:00
Alex Chau f75725830a Fix launch animation from grid
- Fixed calculateGridTaskSize to algin to taskRect instead of gridRect
- Extracted end of grid's scroll diff calculation to getOffsetFromScrollPosition to accurately calculate end of grid task's offset between its scroll and visual position (End of grid task's scroll is all the same at the position where ClearAllButton is just invisible)
- Extracted isGridTask in TaskView so TaskViewSimualtor can use the correct task size depedning if it's grid task or not

Bug: 200813202
Test: manual
Change-Id: I11a980345aee2680abf1c2563baadd9718a40192
2021-11-12 16:13:47 +00:00
Vinit Nayak 2db58f68ee Finish recents animation for app-icon tap
* There is a layering issue w/ live tile
* Also, order tasks for app-pair when binding

Bug: 205354856
Change-Id: I4fb5b9ed070e96299fd4b58d172ebba93789d009
2021-11-10 10:21:02 -08:00
Winson Chung 7ce4af988b Merge "Support multiple tasks in recentsaninmation onTaskAppeared" into sc-v2-dev 2021-11-10 17:05:46 +00:00